/*
Copyright 2015 The Kubernetes Authors All rights reserved.

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"
	pkg7_fields "k8s.io/kubernetes/pkg/fields"
	pkg6_labels "k8s.io/kubernetes/pkg/labels"
	pkg8_runtime "k8s.io/kubernetes/pkg/runtime"
	pkg1_types "k8s.io/kubernetes/pkg/types"
	pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr"
	"reflect"
	"runtime"
	pkg4_inf "speter.net/go/exp/math/dec/inf"
	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 pkg7_fields.Selector
		var v3 pkg6_labels.Selector
		var v4 pkg8_runtime.Object
		var v5 pkg1_types.UID
		var v6 pkg5_intstr.IntOrString
		var v7 pkg4_inf.Dec
		var v8 time.Time
		_, _, _, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6, v7, v8
	}
}

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 [12]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
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(12)
			} 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_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym43 := z.DecBinary()
	_ = yym43
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct44 := r.ContainerType()
		if yyct44 == codecSelferValueTypeMap1234 {
			yyl44 := r.ReadMapStart()
			if yyl44 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl44, d)
			}
		} else if yyct44 == codecSelferValueTypeArray1234 {
			yyl44 := r.ReadArrayStart()
			if yyl44 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl44, 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 yys45Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys45Slc
	var yyhl45 bool = l >= 0
	for yyj45 := 0; ; yyj45++ {
		if yyhl45 {
			if yyj45 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys45Slc = r.DecodeBytes(yys45Slc, true, true)
		yys45 := string(yys45Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys45 {
		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 {
				yyv53 := &x.CreationTimestamp
				yym54 := z.DecBinary()
				_ = yym54
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv53) {
				} else if yym54 {
					z.DecBinaryUnmarshal(yyv53)
				} else if !yym54 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv53)
				} else {
					z.DecFallback(yyv53, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_unversioned.Time)
				}
				yym56 := z.DecBinary()
				_ = yym56
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym56 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym56 && 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)
				}
				yym58 := z.DecBinary()
				_ = yym58
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv59 := &x.Labels
				yym60 := z.DecBinary()
				_ = yym60
				if false {
				} else {
					z.F.DecMapStringStringX(yyv59, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv61 := &x.Annotations
				yym62 := z.DecBinary()
				_ = yym62
				if false {
				} else {
					z.F.DecMapStringStringX(yyv61, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys45)
		} // end switch yys45
	} // end for yyj45
	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 yyj63 int
	var yyb63 bool
	var yyhl63 bool = l >= 0
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv71 := &x.CreationTimestamp
		yym72 := z.DecBinary()
		_ = yym72
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv71) {
		} else if yym72 {
			z.DecBinaryUnmarshal(yyv71)
		} else if !yym72 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv71)
		} else {
			z.DecFallback(yyv71, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		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)
		}
		yym74 := z.DecBinary()
		_ = yym74
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym74 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym74 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		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)
		}
		yym76 := z.DecBinary()
		_ = yym76
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv77 := &x.Labels
		yym78 := z.DecBinary()
		_ = yym78
		if false {
		} else {
			z.F.DecMapStringStringX(yyv77, false, d)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv79 := &x.Annotations
		yym80 := z.DecBinary()
		_ = yym80
		if false {
		} else {
			z.F.DecMapStringStringX(yyv79, false, d)
		}
	}
	for {
		yyj63++
		if yyhl63 {
			yyb63 = yyj63 > l
		} else {
			yyb63 = r.CheckBreak()
		}
		if yyb63 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj63-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 {
		yym81 := z.EncBinary()
		_ = yym81
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep82 := !z.EncBinary()
			yy2arr82 := z.EncBasicHandle().StructToArray
			var yyq82 [18]bool
			_, _, _ = yysep82, yyq82, yy2arr82
			const yyr82 bool = false
			yyq82[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq82[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq82[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq82[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq82[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq82[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq82[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq82[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq82[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq82[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq82[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq82[12] = x.VolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq82[13] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq82[14] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq82[15] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq82[16] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq82[17] = x.VolumeSource.FC != nil && x.FC != nil
			var yynn82 int
			if yyr82 || yy2arr82 {
				r.EncodeArrayStart(18)
			} else {
				yynn82 = 1
				for _, b := range yyq82 {
					if b {
						yynn82++
					}
				}
				r.EncodeMapStart(yynn82)
				yynn82 = 0
			}
			if yyr82 || yy2arr82 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym84 := z.EncBinary()
				_ = yym84
				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)
				yym85 := z.EncBinary()
				_ = yym85
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn86 bool
			if x.VolumeSource.HostPath == nil {
				yyn86 = true
				goto LABEL86
			}
		LABEL86:
			if yyr82 || yy2arr82 {
				if yyn86 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn86 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn87 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn87 = true
				goto LABEL87
			}
		LABEL87:
			if yyr82 || yy2arr82 {
				if yyn87 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn87 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn88 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn88 = true
				goto LABEL88
			}
		LABEL88:
			if yyr82 || yy2arr82 {
				if yyn88 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn88 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn89 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn89 = true
				goto LABEL89
			}
		LABEL89:
			if yyr82 || yy2arr82 {
				if yyn89 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn89 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn90 bool
			if x.VolumeSource.GitRepo == nil {
				yyn90 = true
				goto LABEL90
			}
		LABEL90:
			if yyr82 || yy2arr82 {
				if yyn90 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn90 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn91 bool
			if x.VolumeSource.Secret == nil {
				yyn91 = true
				goto LABEL91
			}
		LABEL91:
			if yyr82 || yy2arr82 {
				if yyn91 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn91 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn92 bool
			if x.VolumeSource.NFS == nil {
				yyn92 = true
				goto LABEL92
			}
		LABEL92:
			if yyr82 || yy2arr82 {
				if yyn92 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn92 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn93 bool
			if x.VolumeSource.ISCSI == nil {
				yyn93 = true
				goto LABEL93
			}
		LABEL93:
			if yyr82 || yy2arr82 {
				if yyn93 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn93 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn94 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn94 = true
				goto LABEL94
			}
		LABEL94:
			if yyr82 || yy2arr82 {
				if yyn94 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn94 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn95 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn95 = true
				goto LABEL95
			}
		LABEL95:
			if yyr82 || yy2arr82 {
				if yyn95 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn95 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn96 bool
			if x.VolumeSource.RBD == nil {
				yyn96 = true
				goto LABEL96
			}
		LABEL96:
			if yyr82 || yy2arr82 {
				if yyn96 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn96 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn97 bool
			if x.VolumeSource.FlexVolume == nil {
				yyn97 = true
				goto LABEL97
			}
		LABEL97:
			if yyr82 || yy2arr82 {
				if yyn97 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[12] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn97 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn98 bool
			if x.VolumeSource.Cinder == nil {
				yyn98 = true
				goto LABEL98
			}
		LABEL98:
			if yyr82 || yy2arr82 {
				if yyn98 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[13] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn98 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn99 bool
			if x.VolumeSource.CephFS == nil {
				yyn99 = true
				goto LABEL99
			}
		LABEL99:
			if yyr82 || yy2arr82 {
				if yyn99 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[14] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn99 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn100 bool
			if x.VolumeSource.Flocker == nil {
				yyn100 = true
				goto LABEL100
			}
		LABEL100:
			if yyr82 || yy2arr82 {
				if yyn100 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[15] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn100 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn101 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn101 = true
				goto LABEL101
			}
		LABEL101:
			if yyr82 || yy2arr82 {
				if yyn101 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[16] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn101 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn102 bool
			if x.VolumeSource.FC == nil {
				yyn102 = true
				goto LABEL102
			}
		LABEL102:
			if yyr82 || yy2arr82 {
				if yyn102 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq82[17] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn102 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr82 || yy2arr82 {
				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
	yym103 := z.DecBinary()
	_ = yym103
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct104 := r.ContainerType()
		if yyct104 == codecSelferValueTypeMap1234 {
			yyl104 := r.ReadMapStart()
			if yyl104 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl104, d)
			}
		} else if yyct104 == codecSelferValueTypeArray1234 {
			yyl104 := r.ReadArrayStart()
			if yyl104 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl104, 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 yys105Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys105Slc
	var yyhl105 bool = l >= 0
	for yyj105 := 0; ; yyj105++ {
		if yyhl105 {
			if yyj105 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys105Slc = r.DecodeBytes(yys105Slc, true, true)
		yys105 := string(yys105Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys105 {
		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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys105)
		} // end switch yys105
	} // end for yyj105
	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 yyj124 int
	var yyb124 bool
	var yyhl124 bool = l >= 0
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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.FlexVolume == nil {
		x.VolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	yyj124++
	if yyhl124 {
		yyb124 = yyj124 > l
	} else {
		yyb124 = r.CheckBreak()
	}
	if yyb124 {
		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)
	}
	for {
		yyj124++
		if yyhl124 {
			yyb124 = yyj124 > l
		} else {
			yyb124 = r.CheckBreak()
		}
		if yyb124 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj124-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 {
		yym143 := z.EncBinary()
		_ = yym143
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep144 := !z.EncBinary()
			yy2arr144 := z.EncBasicHandle().StructToArray
			var yyq144 [17]bool
			_, _, _ = yysep144, yyq144, yy2arr144
			const yyr144 bool = false
			yyq144[0] = x.HostPath != nil
			yyq144[1] = x.EmptyDir != nil
			yyq144[2] = x.GCEPersistentDisk != nil
			yyq144[3] = x.AWSElasticBlockStore != nil
			yyq144[4] = x.GitRepo != nil
			yyq144[5] = x.Secret != nil
			yyq144[6] = x.NFS != nil
			yyq144[7] = x.ISCSI != nil
			yyq144[8] = x.Glusterfs != nil
			yyq144[9] = x.PersistentVolumeClaim != nil
			yyq144[10] = x.RBD != nil
			yyq144[11] = x.FlexVolume != nil
			yyq144[12] = x.Cinder != nil
			yyq144[13] = x.CephFS != nil
			yyq144[14] = x.Flocker != nil
			yyq144[15] = x.DownwardAPI != nil
			yyq144[16] = x.FC != nil
			var yynn144 int
			if yyr144 || yy2arr144 {
				r.EncodeArrayStart(17)
			} else {
				yynn144 = 0
				for _, b := range yyq144 {
					if b {
						yynn144++
					}
				}
				r.EncodeMapStart(yynn144)
				yynn144 = 0
			}
			if yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[11] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[11] {
					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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[12] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[12] {
					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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[13] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[13] {
					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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[14] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[14] {
					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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[15] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[15] {
					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 yyr144 || yy2arr144 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq144[16] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq144[16] {
					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 yyr144 || yy2arr144 {
				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
	yym162 := z.DecBinary()
	_ = yym162
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct163 := r.ContainerType()
		if yyct163 == codecSelferValueTypeMap1234 {
			yyl163 := r.ReadMapStart()
			if yyl163 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl163, d)
			}
		} else if yyct163 == codecSelferValueTypeArray1234 {
			yyl163 := r.ReadArrayStart()
			if yyl163 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl163, 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 yys164Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys164Slc
	var yyhl164 bool = l >= 0
	for yyj164 := 0; ; yyj164++ {
		if yyhl164 {
			if yyj164 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys164Slc = r.DecodeBytes(yys164Slc, true, true)
		yys164 := string(yys164Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys164 {
		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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys164)
		} // end switch yys164
	} // end for yyj164
	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 yyj182 int
	var yyb182 bool
	var yyhl182 bool = l >= 0
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	yyj182++
	if yyhl182 {
		yyb182 = yyj182 > l
	} else {
		yyb182 = r.CheckBreak()
	}
	if yyb182 {
		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)
	}
	for {
		yyj182++
		if yyhl182 {
			yyb182 = yyj182 > l
		} else {
			yyb182 = r.CheckBreak()
		}
		if yyb182 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj182-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 {
		yym200 := z.EncBinary()
		_ = yym200
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep201 := !z.EncBinary()
			yy2arr201 := z.EncBasicHandle().StructToArray
			var yyq201 [12]bool
			_, _, _ = yysep201, yyq201, yy2arr201
			const yyr201 bool = false
			yyq201[0] = x.GCEPersistentDisk != nil
			yyq201[1] = x.AWSElasticBlockStore != nil
			yyq201[2] = x.HostPath != nil
			yyq201[3] = x.Glusterfs != nil
			yyq201[4] = x.NFS != nil
			yyq201[5] = x.RBD != nil
			yyq201[6] = x.ISCSI != nil
			yyq201[7] = x.FlexVolume != nil
			yyq201[8] = x.Cinder != nil
			yyq201[9] = x.CephFS != nil
			yyq201[10] = x.FC != nil
			yyq201[11] = x.Flocker != nil
			var yynn201 int
			if yyr201 || yy2arr201 {
				r.EncodeArrayStart(12)
			} else {
				yynn201 = 0
				for _, b := range yyq201 {
					if b {
						yynn201++
					}
				}
				r.EncodeMapStart(yynn201)
				yynn201 = 0
			}
			if yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[6] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[6] {
					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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[7] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[7] {
					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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[8] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[8] {
					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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[9] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[9] {
					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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[10] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[10] {
					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 yyr201 || yy2arr201 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq201[11] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq201[11] {
					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 yyr201 || yy2arr201 {
				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
	yym214 := z.DecBinary()
	_ = yym214
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct215 := r.ContainerType()
		if yyct215 == codecSelferValueTypeMap1234 {
			yyl215 := r.ReadMapStart()
			if yyl215 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl215, d)
			}
		} else if yyct215 == codecSelferValueTypeArray1234 {
			yyl215 := r.ReadArrayStart()
			if yyl215 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl215, 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 yys216Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys216Slc
	var yyhl216 bool = l >= 0
	for yyj216 := 0; ; yyj216++ {
		if yyhl216 {
			if yyj216 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys216Slc = r.DecodeBytes(yys216Slc, true, true)
		yys216 := string(yys216Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys216 {
		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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys216)
		} // end switch yys216
	} // end for yyj216
	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 yyj229 int
	var yyb229 bool
	var yyhl229 bool = l >= 0
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	yyj229++
	if yyhl229 {
		yyb229 = yyj229 > l
	} else {
		yyb229 = r.CheckBreak()
	}
	if yyb229 {
		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)
	}
	for {
		yyj229++
		if yyhl229 {
			yyb229 = yyj229 > l
		} else {
			yyb229 = r.CheckBreak()
		}
		if yyb229 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj229-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 {
		yym242 := z.EncBinary()
		_ = yym242
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep243 := !z.EncBinary()
			yy2arr243 := z.EncBasicHandle().StructToArray
			var yyq243 [2]bool
			_, _, _ = yysep243, yyq243, yy2arr243
			const yyr243 bool = false
			yyq243[1] = x.ReadOnly != false
			var yynn243 int
			if yyr243 || yy2arr243 {
				r.EncodeArrayStart(2)
			} else {
				yynn243 = 1
				for _, b := range yyq243 {
					if b {
						yynn243++
					}
				}
				r.EncodeMapStart(yynn243)
				yynn243 = 0
			}
			if yyr243 || yy2arr243 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym245 := z.EncBinary()
				_ = yym245
				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)
				yym246 := z.EncBinary()
				_ = yym246
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr243 || yy2arr243 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq243[1] {
					yym248 := z.EncBinary()
					_ = yym248
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq243[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym249 := z.EncBinary()
					_ = yym249
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr243 || yy2arr243 {
				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
	yym250 := z.DecBinary()
	_ = yym250
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct251 := r.ContainerType()
		if yyct251 == codecSelferValueTypeMap1234 {
			yyl251 := r.ReadMapStart()
			if yyl251 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl251, d)
			}
		} else if yyct251 == codecSelferValueTypeArray1234 {
			yyl251 := r.ReadArrayStart()
			if yyl251 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl251, 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 yys252Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys252Slc
	var yyhl252 bool = l >= 0
	for yyj252 := 0; ; yyj252++ {
		if yyhl252 {
			if yyj252 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys252Slc = r.DecodeBytes(yys252Slc, true, true)
		yys252 := string(yys252Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys252 {
		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, yys252)
		} // end switch yys252
	} // end for yyj252
	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 yyj255 int
	var yyb255 bool
	var yyhl255 bool = l >= 0
	yyj255++
	if yyhl255 {
		yyb255 = yyj255 > l
	} else {
		yyb255 = r.CheckBreak()
	}
	if yyb255 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj255++
	if yyhl255 {
		yyb255 = yyj255 > l
	} else {
		yyb255 = r.CheckBreak()
	}
	if yyb255 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj255++
		if yyhl255 {
			yyb255 = yyj255 > l
		} else {
			yyb255 = r.CheckBreak()
		}
		if yyb255 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj255-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 {
		yym258 := z.EncBinary()
		_ = yym258
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep259 := !z.EncBinary()
			yy2arr259 := z.EncBasicHandle().StructToArray
			var yyq259 [5]bool
			_, _, _ = yysep259, yyq259, yy2arr259
			const yyr259 bool = false
			yyq259[0] = x.Kind != ""
			yyq259[1] = x.APIVersion != ""
			yyq259[2] = true
			yyq259[3] = true
			yyq259[4] = true
			var yynn259 int
			if yyr259 || yy2arr259 {
				r.EncodeArrayStart(5)
			} else {
				yynn259 = 0
				for _, b := range yyq259 {
					if b {
						yynn259++
					}
				}
				r.EncodeMapStart(yynn259)
				yynn259 = 0
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[0] {
					yym261 := z.EncBinary()
					_ = yym261
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq259[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym262 := z.EncBinary()
					_ = yym262
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[1] {
					yym264 := z.EncBinary()
					_ = yym264
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq259[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym265 := z.EncBinary()
					_ = yym265
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[2] {
					yy267 := &x.ObjectMeta
					yy267.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy268 := &x.ObjectMeta
					yy268.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[3] {
					yy270 := &x.Spec
					yy270.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy271 := &x.Spec
					yy271.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq259[4] {
					yy273 := &x.Status
					yy273.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq259[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy274 := &x.Status
					yy274.CodecEncodeSelf(e)
				}
			}
			if yyr259 || yy2arr259 {
				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
	yym275 := z.DecBinary()
	_ = yym275
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct276 := r.ContainerType()
		if yyct276 == codecSelferValueTypeMap1234 {
			yyl276 := r.ReadMapStart()
			if yyl276 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl276, d)
			}
		} else if yyct276 == codecSelferValueTypeArray1234 {
			yyl276 := r.ReadArrayStart()
			if yyl276 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl276, 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 yys277Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys277Slc
	var yyhl277 bool = l >= 0
	for yyj277 := 0; ; yyj277++ {
		if yyhl277 {
			if yyj277 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys277Slc = r.DecodeBytes(yys277Slc, true, true)
		yys277 := string(yys277Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys277 {
		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 {
				yyv280 := &x.ObjectMeta
				yyv280.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv281 := &x.Spec
				yyv281.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv282 := &x.Status
				yyv282.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys277)
		} // end switch yys277
	} // end for yyj277
	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 yyj283 int
	var yyb283 bool
	var yyhl283 bool = l >= 0
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv286 := &x.ObjectMeta
		yyv286.CodecDecodeSelf(d)
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv287 := &x.Spec
		yyv287.CodecDecodeSelf(d)
	}
	yyj283++
	if yyhl283 {
		yyb283 = yyj283 > l
	} else {
		yyb283 = r.CheckBreak()
	}
	if yyb283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv288 := &x.Status
		yyv288.CodecDecodeSelf(d)
	}
	for {
		yyj283++
		if yyhl283 {
			yyb283 = yyj283 > l
		} else {
			yyb283 = r.CheckBreak()
		}
		if yyb283 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj283-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 {
		yym289 := z.EncBinary()
		_ = yym289
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep290 := !z.EncBinary()
			yy2arr290 := z.EncBasicHandle().StructToArray
			var yyq290 [16]bool
			_, _, _ = yysep290, yyq290, yy2arr290
			const yyr290 bool = false
			yyq290[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq290[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq290[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq290[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq290[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq290[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq290[7] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq290[8] = x.PersistentVolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq290[9] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq290[10] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq290[11] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq290[12] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq290[13] = len(x.AccessModes) != 0
			yyq290[14] = x.ClaimRef != nil
			yyq290[15] = x.PersistentVolumeReclaimPolicy != ""
			var yynn290 int
			if yyr290 || yy2arr290 {
				r.EncodeArrayStart(16)
			} else {
				yynn290 = 1
				for _, b := range yyq290 {
					if b {
						yynn290++
					}
				}
				r.EncodeMapStart(yynn290)
				yynn290 = 0
			}
			if yyr290 || yy2arr290 {
				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 yyn292 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn292 = true
				goto LABEL292
			}
		LABEL292:
			if yyr290 || yy2arr290 {
				if yyn292 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn292 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn293 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn293 = true
				goto LABEL293
			}
		LABEL293:
			if yyr290 || yy2arr290 {
				if yyn293 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn293 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn294 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn294 = true
				goto LABEL294
			}
		LABEL294:
			if yyr290 || yy2arr290 {
				if yyn294 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn294 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn295 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn295 = true
				goto LABEL295
			}
		LABEL295:
			if yyr290 || yy2arr290 {
				if yyn295 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn295 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn296 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn296 = true
				goto LABEL296
			}
		LABEL296:
			if yyr290 || yy2arr290 {
				if yyn296 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn296 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn297 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn297 = true
				goto LABEL297
			}
		LABEL297:
			if yyr290 || yy2arr290 {
				if yyn297 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn297 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn298 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn298 = true
				goto LABEL298
			}
		LABEL298:
			if yyr290 || yy2arr290 {
				if yyn298 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[7] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn298 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn299 bool
			if x.PersistentVolumeSource.FlexVolume == nil {
				yyn299 = true
				goto LABEL299
			}
		LABEL299:
			if yyr290 || yy2arr290 {
				if yyn299 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[8] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn299 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn300 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn300 = true
				goto LABEL300
			}
		LABEL300:
			if yyr290 || yy2arr290 {
				if yyn300 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[9] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn300 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn301 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn301 = true
				goto LABEL301
			}
		LABEL301:
			if yyr290 || yy2arr290 {
				if yyn301 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[10] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn301 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn302 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn302 = true
				goto LABEL302
			}
		LABEL302:
			if yyr290 || yy2arr290 {
				if yyn302 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[11] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn302 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn303 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn303 = true
				goto LABEL303
			}
		LABEL303:
			if yyr290 || yy2arr290 {
				if yyn303 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq290[12] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq290[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn303 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[13] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym305 := z.EncBinary()
						_ = yym305
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq290[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym306 := z.EncBinary()
						_ = yym306
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[14] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq290[14] {
					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 yyr290 || yy2arr290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq290[15] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq290[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr290 || yy2arr290 {
				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
	yym309 := z.DecBinary()
	_ = yym309
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct310 := r.ContainerType()
		if yyct310 == codecSelferValueTypeMap1234 {
			yyl310 := r.ReadMapStart()
			if yyl310 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl310, d)
			}
		} else if yyct310 == codecSelferValueTypeArray1234 {
			yyl310 := r.ReadArrayStart()
			if yyl310 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl310, 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 yys311Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys311Slc
	var yyhl311 bool = l >= 0
	for yyj311 := 0; ; yyj311++ {
		if yyhl311 {
			if yyj311 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys311Slc = r.DecodeBytes(yys311Slc, true, true)
		yys311 := string(yys311Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys311 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv312 := &x.Capacity
				yyv312.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 "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 "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv325 := &x.AccessModes
				yym326 := z.DecBinary()
				_ = yym326
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv325), 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, yys311)
		} // end switch yys311
	} // end for yyj311
	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 yyj329 int
	var yyb329 bool
	var yyhl329 bool = l >= 0
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv330 := &x.Capacity
		yyv330.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.GCEPersistentDisk == nil {
		x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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.ISCSI == nil {
		x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv343 := &x.AccessModes
		yym344 := z.DecBinary()
		_ = yym344
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv343), d)
		}
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		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)
	}
	yyj329++
	if yyhl329 {
		yyb329 = yyj329 > l
	} else {
		yyb329 = r.CheckBreak()
	}
	if yyb329 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj329++
		if yyhl329 {
			yyb329 = yyj329 > l
		} else {
			yyb329 = r.CheckBreak()
		}
		if yyb329 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj329-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym347 := z.EncBinary()
	_ = yym347
	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
	yym348 := z.DecBinary()
	_ = yym348
	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 {
		yym349 := z.EncBinary()
		_ = yym349
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep350 := !z.EncBinary()
			yy2arr350 := z.EncBasicHandle().StructToArray
			var yyq350 [3]bool
			_, _, _ = yysep350, yyq350, yy2arr350
			const yyr350 bool = false
			yyq350[0] = x.Phase != ""
			yyq350[1] = x.Message != ""
			yyq350[2] = x.Reason != ""
			var yynn350 int
			if yyr350 || yy2arr350 {
				r.EncodeArrayStart(3)
			} else {
				yynn350 = 0
				for _, b := range yyq350 {
					if b {
						yynn350++
					}
				}
				r.EncodeMapStart(yynn350)
				yynn350 = 0
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[1] {
					yym353 := z.EncBinary()
					_ = yym353
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym354 := z.EncBinary()
					_ = yym354
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr350 || yy2arr350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq350[2] {
					yym356 := z.EncBinary()
					_ = yym356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq350[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym357 := z.EncBinary()
					_ = yym357
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr350 || yy2arr350 {
				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
	yym358 := z.DecBinary()
	_ = yym358
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct359 := r.ContainerType()
		if yyct359 == codecSelferValueTypeMap1234 {
			yyl359 := r.ReadMapStart()
			if yyl359 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl359, d)
			}
		} else if yyct359 == codecSelferValueTypeArray1234 {
			yyl359 := r.ReadArrayStart()
			if yyl359 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl359, 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 yys360Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys360Slc
	var yyhl360 bool = l >= 0
	for yyj360 := 0; ; yyj360++ {
		if yyhl360 {
			if yyj360 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys360Slc = r.DecodeBytes(yys360Slc, true, true)
		yys360 := string(yys360Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys360 {
		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, yys360)
		} // end switch yys360
	} // end for yyj360
	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 yyj364 int
	var yyb364 bool
	var yyhl364 bool = l >= 0
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj364++
	if yyhl364 {
		yyb364 = yyj364 > l
	} else {
		yyb364 = r.CheckBreak()
	}
	if yyb364 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj364++
		if yyhl364 {
			yyb364 = yyj364 > l
		} else {
			yyb364 = r.CheckBreak()
		}
		if yyb364 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj364-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 {
		yym368 := z.EncBinary()
		_ = yym368
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep369 := !z.EncBinary()
			yy2arr369 := z.EncBasicHandle().StructToArray
			var yyq369 [4]bool
			_, _, _ = yysep369, yyq369, yy2arr369
			const yyr369 bool = false
			yyq369[0] = x.Kind != ""
			yyq369[1] = x.APIVersion != ""
			yyq369[2] = true
			var yynn369 int
			if yyr369 || yy2arr369 {
				r.EncodeArrayStart(4)
			} else {
				yynn369 = 1
				for _, b := range yyq369 {
					if b {
						yynn369++
					}
				}
				r.EncodeMapStart(yynn369)
				yynn369 = 0
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[0] {
					yym371 := z.EncBinary()
					_ = yym371
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq369[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym372 := z.EncBinary()
					_ = yym372
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[1] {
					yym374 := z.EncBinary()
					_ = yym374
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq369[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym375 := z.EncBinary()
					_ = yym375
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq369[2] {
					yy377 := &x.ListMeta
					yym378 := z.EncBinary()
					_ = yym378
					if false {
					} else if z.HasExtensions() && z.EncExt(yy377) {
					} else {
						z.EncFallback(yy377)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq369[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy379 := &x.ListMeta
					yym380 := z.EncBinary()
					_ = yym380
					if false {
					} else if z.HasExtensions() && z.EncExt(yy379) {
					} else {
						z.EncFallback(yy379)
					}
				}
			}
			if yyr369 || yy2arr369 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym382 := z.EncBinary()
					_ = yym382
					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 {
					yym383 := z.EncBinary()
					_ = yym383
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yyr369 || yy2arr369 {
				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
	yym384 := z.DecBinary()
	_ = yym384
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct385 := r.ContainerType()
		if yyct385 == codecSelferValueTypeMap1234 {
			yyl385 := r.ReadMapStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl385, d)
			}
		} else if yyct385 == codecSelferValueTypeArray1234 {
			yyl385 := r.ReadArrayStart()
			if yyl385 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl385, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys386Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys386Slc
	var yyhl386 bool = l >= 0
	for yyj386 := 0; ; yyj386++ {
		if yyhl386 {
			if yyj386 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys386Slc = r.DecodeBytes(yys386Slc, true, true)
		yys386 := string(yys386Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys386 {
		case "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 {
				yyv389 := &x.ListMeta
				yym390 := z.DecBinary()
				_ = yym390
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv389) {
				} else {
					z.DecFallback(yyv389, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv391 := &x.Items
				yym392 := z.DecBinary()
				_ = yym392
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv391), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys386)
		} // end switch yys386
	} // end for yyj386
	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 yyj393 int
	var yyb393 bool
	var yyhl393 bool = l >= 0
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv396 := &x.ListMeta
		yym397 := z.DecBinary()
		_ = yym397
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv396) {
		} else {
			z.DecFallback(yyv396, false)
		}
	}
	yyj393++
	if yyhl393 {
		yyb393 = yyj393 > l
	} else {
		yyb393 = r.CheckBreak()
	}
	if yyb393 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv398 := &x.Items
		yym399 := z.DecBinary()
		_ = yym399
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv398), d)
		}
	}
	for {
		yyj393++
		if yyhl393 {
			yyb393 = yyj393 > l
		} else {
			yyb393 = r.CheckBreak()
		}
		if yyb393 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj393-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 {
		yym400 := z.EncBinary()
		_ = yym400
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep401 := !z.EncBinary()
			yy2arr401 := z.EncBasicHandle().StructToArray
			var yyq401 [5]bool
			_, _, _ = yysep401, yyq401, yy2arr401
			const yyr401 bool = false
			yyq401[0] = x.Kind != ""
			yyq401[1] = x.APIVersion != ""
			yyq401[2] = true
			yyq401[3] = true
			yyq401[4] = true
			var yynn401 int
			if yyr401 || yy2arr401 {
				r.EncodeArrayStart(5)
			} else {
				yynn401 = 0
				for _, b := range yyq401 {
					if b {
						yynn401++
					}
				}
				r.EncodeMapStart(yynn401)
				yynn401 = 0
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[0] {
					yym403 := z.EncBinary()
					_ = yym403
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq401[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym404 := z.EncBinary()
					_ = yym404
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[1] {
					yym406 := z.EncBinary()
					_ = yym406
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq401[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym407 := z.EncBinary()
					_ = yym407
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[2] {
					yy409 := &x.ObjectMeta
					yy409.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy410 := &x.ObjectMeta
					yy410.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[3] {
					yy412 := &x.Spec
					yy412.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy413 := &x.Spec
					yy413.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq401[4] {
					yy415 := &x.Status
					yy415.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq401[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy416 := &x.Status
					yy416.CodecEncodeSelf(e)
				}
			}
			if yyr401 || yy2arr401 {
				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
	yym417 := z.DecBinary()
	_ = yym417
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct418 := r.ContainerType()
		if yyct418 == codecSelferValueTypeMap1234 {
			yyl418 := r.ReadMapStart()
			if yyl418 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl418, d)
			}
		} else if yyct418 == codecSelferValueTypeArray1234 {
			yyl418 := r.ReadArrayStart()
			if yyl418 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl418, 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 yys419Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys419Slc
	var yyhl419 bool = l >= 0
	for yyj419 := 0; ; yyj419++ {
		if yyhl419 {
			if yyj419 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys419Slc = r.DecodeBytes(yys419Slc, true, true)
		yys419 := string(yys419Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys419 {
		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 {
				yyv422 := &x.ObjectMeta
				yyv422.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv423 := &x.Spec
				yyv423.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv424 := &x.Status
				yyv424.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys419)
		} // end switch yys419
	} // end for yyj419
	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 yyj425 int
	var yyb425 bool
	var yyhl425 bool = l >= 0
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv428 := &x.ObjectMeta
		yyv428.CodecDecodeSelf(d)
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv429 := &x.Spec
		yyv429.CodecDecodeSelf(d)
	}
	yyj425++
	if yyhl425 {
		yyb425 = yyj425 > l
	} else {
		yyb425 = r.CheckBreak()
	}
	if yyb425 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv430 := &x.Status
		yyv430.CodecDecodeSelf(d)
	}
	for {
		yyj425++
		if yyhl425 {
			yyb425 = yyj425 > l
		} else {
			yyb425 = r.CheckBreak()
		}
		if yyb425 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj425-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 {
		yym431 := z.EncBinary()
		_ = yym431
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep432 := !z.EncBinary()
			yy2arr432 := z.EncBasicHandle().StructToArray
			var yyq432 [4]bool
			_, _, _ = yysep432, yyq432, yy2arr432
			const yyr432 bool = false
			yyq432[0] = x.Kind != ""
			yyq432[1] = x.APIVersion != ""
			yyq432[2] = true
			var yynn432 int
			if yyr432 || yy2arr432 {
				r.EncodeArrayStart(4)
			} else {
				yynn432 = 1
				for _, b := range yyq432 {
					if b {
						yynn432++
					}
				}
				r.EncodeMapStart(yynn432)
				yynn432 = 0
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[0] {
					yym434 := z.EncBinary()
					_ = yym434
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq432[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym435 := z.EncBinary()
					_ = yym435
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[1] {
					yym437 := z.EncBinary()
					_ = yym437
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq432[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym438 := z.EncBinary()
					_ = yym438
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq432[2] {
					yy440 := &x.ListMeta
					yym441 := z.EncBinary()
					_ = yym441
					if false {
					} else if z.HasExtensions() && z.EncExt(yy440) {
					} else {
						z.EncFallback(yy440)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq432[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy442 := &x.ListMeta
					yym443 := z.EncBinary()
					_ = yym443
					if false {
					} else if z.HasExtensions() && z.EncExt(yy442) {
					} else {
						z.EncFallback(yy442)
					}
				}
			}
			if yyr432 || yy2arr432 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym445 := z.EncBinary()
					_ = yym445
					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 {
					yym446 := z.EncBinary()
					_ = yym446
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yyr432 || yy2arr432 {
				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
	yym447 := z.DecBinary()
	_ = yym447
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct448 := r.ContainerType()
		if yyct448 == codecSelferValueTypeMap1234 {
			yyl448 := r.ReadMapStart()
			if yyl448 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl448, d)
			}
		} else if yyct448 == codecSelferValueTypeArray1234 {
			yyl448 := r.ReadArrayStart()
			if yyl448 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl448, 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 yys449Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys449Slc
	var yyhl449 bool = l >= 0
	for yyj449 := 0; ; yyj449++ {
		if yyhl449 {
			if yyj449 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys449Slc = r.DecodeBytes(yys449Slc, true, true)
		yys449 := string(yys449Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys449 {
		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 {
				yyv452 := &x.ListMeta
				yym453 := z.DecBinary()
				_ = yym453
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv452) {
				} else {
					z.DecFallback(yyv452, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv454 := &x.Items
				yym455 := z.DecBinary()
				_ = yym455
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv454), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys449)
		} // end switch yys449
	} // end for yyj449
	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 yyj456 int
	var yyb456 bool
	var yyhl456 bool = l >= 0
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv459 := &x.ListMeta
		yym460 := z.DecBinary()
		_ = yym460
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv459) {
		} else {
			z.DecFallback(yyv459, false)
		}
	}
	yyj456++
	if yyhl456 {
		yyb456 = yyj456 > l
	} else {
		yyb456 = r.CheckBreak()
	}
	if yyb456 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv461 := &x.Items
		yym462 := z.DecBinary()
		_ = yym462
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv461), d)
		}
	}
	for {
		yyj456++
		if yyhl456 {
			yyb456 = yyj456 > l
		} else {
			yyb456 = r.CheckBreak()
		}
		if yyb456 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj456-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 {
		yym463 := z.EncBinary()
		_ = yym463
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep464 := !z.EncBinary()
			yy2arr464 := z.EncBasicHandle().StructToArray
			var yyq464 [3]bool
			_, _, _ = yysep464, yyq464, yy2arr464
			const yyr464 bool = false
			yyq464[0] = len(x.AccessModes) != 0
			yyq464[1] = true
			yyq464[2] = x.VolumeName != ""
			var yynn464 int
			if yyr464 || yy2arr464 {
				r.EncodeArrayStart(3)
			} else {
				yynn464 = 0
				for _, b := range yyq464 {
					if b {
						yynn464++
					}
				}
				r.EncodeMapStart(yynn464)
				yynn464 = 0
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym466 := z.EncBinary()
						_ = yym466
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq464[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym467 := z.EncBinary()
						_ = yym467
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[1] {
					yy469 := &x.Resources
					yy469.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq464[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy470 := &x.Resources
					yy470.CodecEncodeSelf(e)
				}
			}
			if yyr464 || yy2arr464 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq464[2] {
					yym472 := z.EncBinary()
					_ = yym472
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq464[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym473 := z.EncBinary()
					_ = yym473
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yyr464 || yy2arr464 {
				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
	yym474 := z.DecBinary()
	_ = yym474
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct475 := r.ContainerType()
		if yyct475 == codecSelferValueTypeMap1234 {
			yyl475 := r.ReadMapStart()
			if yyl475 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl475, d)
			}
		} else if yyct475 == codecSelferValueTypeArray1234 {
			yyl475 := r.ReadArrayStart()
			if yyl475 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl475, 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 yys476Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys476Slc
	var yyhl476 bool = l >= 0
	for yyj476 := 0; ; yyj476++ {
		if yyhl476 {
			if yyj476 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys476Slc = r.DecodeBytes(yys476Slc, true, true)
		yys476 := string(yys476Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys476 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv477 := &x.AccessModes
				yym478 := z.DecBinary()
				_ = yym478
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv477), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv479 := &x.Resources
				yyv479.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys476)
		} // end switch yys476
	} // end for yyj476
	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 yyj481 int
	var yyb481 bool
	var yyhl481 bool = l >= 0
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv482 := &x.AccessModes
		yym483 := z.DecBinary()
		_ = yym483
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv482), d)
		}
	}
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv484 := &x.Resources
		yyv484.CodecDecodeSelf(d)
	}
	yyj481++
	if yyhl481 {
		yyb481 = yyj481 > l
	} else {
		yyb481 = r.CheckBreak()
	}
	if yyb481 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj481++
		if yyhl481 {
			yyb481 = yyj481 > l
		} else {
			yyb481 = r.CheckBreak()
		}
		if yyb481 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj481-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 {
		yym486 := z.EncBinary()
		_ = yym486
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep487 := !z.EncBinary()
			yy2arr487 := z.EncBasicHandle().StructToArray
			var yyq487 [3]bool
			_, _, _ = yysep487, yyq487, yy2arr487
			const yyr487 bool = false
			yyq487[0] = x.Phase != ""
			yyq487[1] = len(x.AccessModes) != 0
			yyq487[2] = len(x.Capacity) != 0
			var yynn487 int
			if yyr487 || yy2arr487 {
				r.EncodeArrayStart(3)
			} else {
				yynn487 = 0
				for _, b := range yyq487 {
					if b {
						yynn487++
					}
				}
				r.EncodeMapStart(yynn487)
				yynn487 = 0
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq487[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym490 := z.EncBinary()
						_ = yym490
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq487[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym491 := z.EncBinary()
						_ = yym491
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr487 || yy2arr487 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq487[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq487[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 yyr487 || yy2arr487 {
				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
	yym493 := z.DecBinary()
	_ = yym493
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct494 := r.ContainerType()
		if yyct494 == codecSelferValueTypeMap1234 {
			yyl494 := r.ReadMapStart()
			if yyl494 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl494, d)
			}
		} else if yyct494 == codecSelferValueTypeArray1234 {
			yyl494 := r.ReadArrayStart()
			if yyl494 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl494, 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 yys495Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys495Slc
	var yyhl495 bool = l >= 0
	for yyj495 := 0; ; yyj495++ {
		if yyhl495 {
			if yyj495 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys495Slc = r.DecodeBytes(yys495Slc, true, true)
		yys495 := string(yys495Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys495 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv497 := &x.AccessModes
				yym498 := z.DecBinary()
				_ = yym498
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv497), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv499 := &x.Capacity
				yyv499.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys495)
		} // end switch yys495
	} // end for yyj495
	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 yyj500 int
	var yyb500 bool
	var yyhl500 bool = l >= 0
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv502 := &x.AccessModes
		yym503 := z.DecBinary()
		_ = yym503
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv502), d)
		}
	}
	yyj500++
	if yyhl500 {
		yyb500 = yyj500 > l
	} else {
		yyb500 = r.CheckBreak()
	}
	if yyb500 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv504 := &x.Capacity
		yyv504.CodecDecodeSelf(d)
	}
	for {
		yyj500++
		if yyhl500 {
			yyb500 = yyj500 > l
		} else {
			yyb500 = r.CheckBreak()
		}
		if yyb500 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj500-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym505 := z.EncBinary()
	_ = yym505
	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
	yym506 := z.DecBinary()
	_ = yym506
	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
	yym507 := z.EncBinary()
	_ = yym507
	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
	yym508 := z.DecBinary()
	_ = yym508
	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
	yym509 := z.EncBinary()
	_ = yym509
	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
	yym510 := z.DecBinary()
	_ = yym510
	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 {
		yym511 := z.EncBinary()
		_ = yym511
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep512 := !z.EncBinary()
			yy2arr512 := z.EncBasicHandle().StructToArray
			var yyq512 [1]bool
			_, _, _ = yysep512, yyq512, yy2arr512
			const yyr512 bool = false
			var yynn512 int
			if yyr512 || yy2arr512 {
				r.EncodeArrayStart(1)
			} else {
				yynn512 = 1
				for _, b := range yyq512 {
					if b {
						yynn512++
					}
				}
				r.EncodeMapStart(yynn512)
				yynn512 = 0
			}
			if yyr512 || yy2arr512 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym514 := z.EncBinary()
				_ = yym514
				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)
				yym515 := z.EncBinary()
				_ = yym515
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr512 || yy2arr512 {
				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
	yym516 := z.DecBinary()
	_ = yym516
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct517 := r.ContainerType()
		if yyct517 == codecSelferValueTypeMap1234 {
			yyl517 := r.ReadMapStart()
			if yyl517 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl517, d)
			}
		} else if yyct517 == codecSelferValueTypeArray1234 {
			yyl517 := r.ReadArrayStart()
			if yyl517 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl517, 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 yys518Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys518Slc
	var yyhl518 bool = l >= 0
	for yyj518 := 0; ; yyj518++ {
		if yyhl518 {
			if yyj518 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys518Slc = r.DecodeBytes(yys518Slc, true, true)
		yys518 := string(yys518Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys518 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys518)
		} // end switch yys518
	} // end for yyj518
	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 yyj520 int
	var yyb520 bool
	var yyhl520 bool = l >= 0
	yyj520++
	if yyhl520 {
		yyb520 = yyj520 > l
	} else {
		yyb520 = r.CheckBreak()
	}
	if yyb520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj520++
		if yyhl520 {
			yyb520 = yyj520 > l
		} else {
			yyb520 = r.CheckBreak()
		}
		if yyb520 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj520-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 {
		yym522 := z.EncBinary()
		_ = yym522
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep523 := !z.EncBinary()
			yy2arr523 := z.EncBasicHandle().StructToArray
			var yyq523 [1]bool
			_, _, _ = yysep523, yyq523, yy2arr523
			const yyr523 bool = false
			yyq523[0] = x.Medium != ""
			var yynn523 int
			if yyr523 || yy2arr523 {
				r.EncodeArrayStart(1)
			} else {
				yynn523 = 0
				for _, b := range yyq523 {
					if b {
						yynn523++
					}
				}
				r.EncodeMapStart(yynn523)
				yynn523 = 0
			}
			if yyr523 || yy2arr523 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq523[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq523[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yyr523 || yy2arr523 {
				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
	yym525 := z.DecBinary()
	_ = yym525
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct526 := r.ContainerType()
		if yyct526 == codecSelferValueTypeMap1234 {
			yyl526 := r.ReadMapStart()
			if yyl526 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl526, d)
			}
		} else if yyct526 == codecSelferValueTypeArray1234 {
			yyl526 := r.ReadArrayStart()
			if yyl526 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl526, 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 yys527Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys527Slc
	var yyhl527 bool = l >= 0
	for yyj527 := 0; ; yyj527++ {
		if yyhl527 {
			if yyj527 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys527Slc = r.DecodeBytes(yys527Slc, true, true)
		yys527 := string(yys527Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys527 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys527)
		} // end switch yys527
	} // end for yyj527
	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 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.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	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 StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym531 := z.EncBinary()
	_ = yym531
	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
	yym532 := z.DecBinary()
	_ = yym532
	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
	yym533 := z.EncBinary()
	_ = yym533
	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
	yym534 := z.DecBinary()
	_ = yym534
	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 {
		yym535 := z.EncBinary()
		_ = yym535
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep536 := !z.EncBinary()
			yy2arr536 := z.EncBasicHandle().StructToArray
			var yyq536 [4]bool
			_, _, _ = yysep536, yyq536, yy2arr536
			const yyr536 bool = false
			yyq536[1] = x.FSType != ""
			yyq536[2] = x.Partition != 0
			yyq536[3] = x.ReadOnly != false
			var yynn536 int
			if yyr536 || yy2arr536 {
				r.EncodeArrayStart(4)
			} else {
				yynn536 = 1
				for _, b := range yyq536 {
					if b {
						yynn536++
					}
				}
				r.EncodeMapStart(yynn536)
				yynn536 = 0
			}
			if yyr536 || yy2arr536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym538 := z.EncBinary()
				_ = yym538
				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)
				yym539 := z.EncBinary()
				_ = yym539
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr536 || yy2arr536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq536[1] {
					yym541 := z.EncBinary()
					_ = yym541
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq536[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym542 := z.EncBinary()
					_ = yym542
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr536 || yy2arr536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq536[2] {
					yym544 := z.EncBinary()
					_ = yym544
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq536[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym545 := z.EncBinary()
					_ = yym545
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr536 || yy2arr536 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq536[3] {
					yym547 := z.EncBinary()
					_ = yym547
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq536[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym548 := z.EncBinary()
					_ = yym548
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr536 || yy2arr536 {
				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
	yym549 := z.DecBinary()
	_ = yym549
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct550 := r.ContainerType()
		if yyct550 == codecSelferValueTypeMap1234 {
			yyl550 := r.ReadMapStart()
			if yyl550 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl550, d)
			}
		} else if yyct550 == codecSelferValueTypeArray1234 {
			yyl550 := r.ReadArrayStart()
			if yyl550 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl550, 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 yys551Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys551Slc
	var yyhl551 bool = l >= 0
	for yyj551 := 0; ; yyj551++ {
		if yyhl551 {
			if yyj551 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys551Slc = r.DecodeBytes(yys551Slc, true, true)
		yys551 := string(yys551Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys551 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys551)
		} // end switch yys551
	} // end for yyj551
	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 yyj556 int
	var yyb556 bool
	var yyhl556 bool = l >= 0
	yyj556++
	if yyhl556 {
		yyb556 = yyj556 > l
	} else {
		yyb556 = r.CheckBreak()
	}
	if yyb556 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj556++
	if yyhl556 {
		yyb556 = yyj556 > l
	} else {
		yyb556 = r.CheckBreak()
	}
	if yyb556 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj556++
	if yyhl556 {
		yyb556 = yyj556 > l
	} else {
		yyb556 = r.CheckBreak()
	}
	if yyb556 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj556++
	if yyhl556 {
		yyb556 = yyj556 > l
	} else {
		yyb556 = r.CheckBreak()
	}
	if yyb556 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj556++
		if yyhl556 {
			yyb556 = yyj556 > l
		} else {
			yyb556 = r.CheckBreak()
		}
		if yyb556 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj556-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 {
		yym561 := z.EncBinary()
		_ = yym561
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep562 := !z.EncBinary()
			yy2arr562 := z.EncBasicHandle().StructToArray
			var yyq562 [6]bool
			_, _, _ = yysep562, yyq562, yy2arr562
			const yyr562 bool = false
			yyq562[0] = x.TargetPortal != ""
			yyq562[1] = x.IQN != ""
			yyq562[2] = x.Lun != 0
			yyq562[3] = x.ISCSIInterface != ""
			yyq562[4] = x.FSType != ""
			yyq562[5] = x.ReadOnly != false
			var yynn562 int
			if yyr562 || yy2arr562 {
				r.EncodeArrayStart(6)
			} else {
				yynn562 = 0
				for _, b := range yyq562 {
					if b {
						yynn562++
					}
				}
				r.EncodeMapStart(yynn562)
				yynn562 = 0
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[0] {
					yym564 := z.EncBinary()
					_ = yym564
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq562[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym565 := z.EncBinary()
					_ = yym565
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				}
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[1] {
					yym567 := z.EncBinary()
					_ = yym567
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq562[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iqn"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym568 := z.EncBinary()
					_ = yym568
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				}
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[2] {
					yym570 := z.EncBinary()
					_ = yym570
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq562[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lun"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym571 := z.EncBinary()
					_ = yym571
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				}
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[3] {
					yym573 := z.EncBinary()
					_ = yym573
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq562[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsiInterface"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym574 := z.EncBinary()
					_ = yym574
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				}
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[4] {
					yym576 := z.EncBinary()
					_ = yym576
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq562[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym577 := z.EncBinary()
					_ = yym577
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr562 || yy2arr562 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq562[5] {
					yym579 := z.EncBinary()
					_ = yym579
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq562[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym580 := z.EncBinary()
					_ = yym580
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr562 || yy2arr562 {
				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
	yym581 := z.DecBinary()
	_ = yym581
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct582 := r.ContainerType()
		if yyct582 == codecSelferValueTypeMap1234 {
			yyl582 := r.ReadMapStart()
			if yyl582 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl582, d)
			}
		} else if yyct582 == codecSelferValueTypeArray1234 {
			yyl582 := r.ReadArrayStart()
			if yyl582 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl582, 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 yys583Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys583Slc
	var yyhl583 bool = l >= 0
	for yyj583 := 0; ; yyj583++ {
		if yyhl583 {
			if yyj583 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys583Slc = r.DecodeBytes(yys583Slc, true, true)
		yys583 := string(yys583Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys583 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys583)
		} // end switch yys583
	} // end for yyj583
	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 yyj590 int
	var yyb590 bool
	var yyhl590 bool = l >= 0
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ISCSIInterface = ""
	} else {
		x.ISCSIInterface = string(r.DecodeString())
	}
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj590++
	if yyhl590 {
		yyb590 = yyj590 > l
	} else {
		yyb590 = r.CheckBreak()
	}
	if yyb590 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj590++
		if yyhl590 {
			yyb590 = yyj590 > l
		} else {
			yyb590 = r.CheckBreak()
		}
		if yyb590 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj590-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 {
		yym597 := z.EncBinary()
		_ = yym597
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep598 := !z.EncBinary()
			yy2arr598 := z.EncBasicHandle().StructToArray
			var yyq598 [4]bool
			_, _, _ = yysep598, yyq598, yy2arr598
			const yyr598 bool = false
			yyq598[3] = x.ReadOnly != false
			var yynn598 int
			if yyr598 || yy2arr598 {
				r.EncodeArrayStart(4)
			} else {
				yynn598 = 3
				for _, b := range yyq598 {
					if b {
						yynn598++
					}
				}
				r.EncodeMapStart(yynn598)
				yynn598 = 0
			}
			if yyr598 || yy2arr598 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym600 := z.EncBinary()
					_ = yym600
					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 {
					yym601 := z.EncBinary()
					_ = yym601
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr598 || yy2arr598 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy603 := *x.Lun
					yym604 := z.EncBinary()
					_ = yym604
					if false {
					} else {
						r.EncodeInt(int64(yy603))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy605 := *x.Lun
					yym606 := z.EncBinary()
					_ = yym606
					if false {
					} else {
						r.EncodeInt(int64(yy605))
					}
				}
			}
			if yyr598 || yy2arr598 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym608 := z.EncBinary()
				_ = yym608
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym609 := z.EncBinary()
				_ = yym609
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr598 || yy2arr598 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq598[3] {
					yym611 := z.EncBinary()
					_ = yym611
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq598[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym612 := z.EncBinary()
					_ = yym612
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr598 || yy2arr598 {
				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
	yym613 := z.DecBinary()
	_ = yym613
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct614 := r.ContainerType()
		if yyct614 == codecSelferValueTypeMap1234 {
			yyl614 := r.ReadMapStart()
			if yyl614 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl614, d)
			}
		} else if yyct614 == codecSelferValueTypeArray1234 {
			yyl614 := r.ReadArrayStart()
			if yyl614 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl614, 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 yys615Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys615Slc
	var yyhl615 bool = l >= 0
	for yyj615 := 0; ; yyj615++ {
		if yyhl615 {
			if yyj615 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys615Slc = r.DecodeBytes(yys615Slc, true, true)
		yys615 := string(yys615Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys615 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv616 := &x.TargetWWNs
				yym617 := z.DecBinary()
				_ = yym617
				if false {
				} else {
					z.F.DecSliceStringX(yyv616, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int)
				}
				yym619 := z.DecBinary()
				_ = yym619
				if false {
				} else {
					*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
				}
			}
		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, yys615)
		} // end switch yys615
	} // end for yyj615
	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 yyj622 int
	var yyb622 bool
	var yyhl622 bool = l >= 0
	yyj622++
	if yyhl622 {
		yyb622 = yyj622 > l
	} else {
		yyb622 = r.CheckBreak()
	}
	if yyb622 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv623 := &x.TargetWWNs
		yym624 := z.DecBinary()
		_ = yym624
		if false {
		} else {
			z.F.DecSliceStringX(yyv623, false, d)
		}
	}
	yyj622++
	if yyhl622 {
		yyb622 = yyj622 > l
	} else {
		yyb622 = r.CheckBreak()
	}
	if yyb622 {
		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(int)
		}
		yym626 := z.DecBinary()
		_ = yym626
		if false {
		} else {
			*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
		}
	}
	yyj622++
	if yyhl622 {
		yyb622 = yyj622 > l
	} else {
		yyb622 = r.CheckBreak()
	}
	if yyb622 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj622++
	if yyhl622 {
		yyb622 = yyj622 > l
	} else {
		yyb622 = r.CheckBreak()
	}
	if yyb622 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj622++
		if yyhl622 {
			yyb622 = yyj622 > l
		} else {
			yyb622 = r.CheckBreak()
		}
		if yyb622 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj622-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 {
		yym629 := z.EncBinary()
		_ = yym629
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep630 := !z.EncBinary()
			yy2arr630 := z.EncBasicHandle().StructToArray
			var yyq630 [5]bool
			_, _, _ = yysep630, yyq630, yy2arr630
			const yyr630 bool = false
			yyq630[1] = x.FSType != ""
			yyq630[2] = x.SecretRef != nil
			yyq630[3] = x.ReadOnly != false
			yyq630[4] = len(x.Options) != 0
			var yynn630 int
			if yyr630 || yy2arr630 {
				r.EncodeArrayStart(5)
			} else {
				yynn630 = 1
				for _, b := range yyq630 {
					if b {
						yynn630++
					}
				}
				r.EncodeMapStart(yynn630)
				yynn630 = 0
			}
			if yyr630 || yy2arr630 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym632 := z.EncBinary()
				_ = yym632
				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)
				yym633 := z.EncBinary()
				_ = yym633
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			}
			if yyr630 || yy2arr630 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq630[1] {
					yym635 := z.EncBinary()
					_ = yym635
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq630[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym636 := z.EncBinary()
					_ = yym636
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr630 || yy2arr630 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq630[2] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq630[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 yyr630 || yy2arr630 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq630[3] {
					yym639 := z.EncBinary()
					_ = yym639
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq630[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym640 := z.EncBinary()
					_ = yym640
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr630 || yy2arr630 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq630[4] {
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym642 := z.EncBinary()
						_ = yym642
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq630[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("options"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym643 := z.EncBinary()
						_ = yym643
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				}
			}
			if yyr630 || yy2arr630 {
				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
	yym644 := z.DecBinary()
	_ = yym644
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct645 := r.ContainerType()
		if yyct645 == codecSelferValueTypeMap1234 {
			yyl645 := r.ReadMapStart()
			if yyl645 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl645, d)
			}
		} else if yyct645 == codecSelferValueTypeArray1234 {
			yyl645 := r.ReadArrayStart()
			if yyl645 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl645, 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 yys646Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys646Slc
	var yyhl646 bool = l >= 0
	for yyj646 := 0; ; yyj646++ {
		if yyhl646 {
			if yyj646 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys646Slc = r.DecodeBytes(yys646Slc, true, true)
		yys646 := string(yys646Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys646 {
		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 {
				yyv651 := &x.Options
				yym652 := z.DecBinary()
				_ = yym652
				if false {
				} else {
					z.F.DecMapStringStringX(yyv651, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys646)
		} // end switch yys646
	} // end for yyj646
	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 yyj653 int
	var yyb653 bool
	var yyhl653 bool = l >= 0
	yyj653++
	if yyhl653 {
		yyb653 = yyj653 > l
	} else {
		yyb653 = r.CheckBreak()
	}
	if yyb653 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Driver = ""
	} else {
		x.Driver = string(r.DecodeString())
	}
	yyj653++
	if yyhl653 {
		yyb653 = yyj653 > l
	} else {
		yyb653 = r.CheckBreak()
	}
	if yyb653 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj653++
	if yyhl653 {
		yyb653 = yyj653 > l
	} else {
		yyb653 = r.CheckBreak()
	}
	if yyb653 {
		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)
	}
	yyj653++
	if yyhl653 {
		yyb653 = yyj653 > l
	} else {
		yyb653 = r.CheckBreak()
	}
	if yyb653 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj653++
	if yyhl653 {
		yyb653 = yyj653 > l
	} else {
		yyb653 = r.CheckBreak()
	}
	if yyb653 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Options = nil
	} else {
		yyv658 := &x.Options
		yym659 := z.DecBinary()
		_ = yym659
		if false {
		} else {
			z.F.DecMapStringStringX(yyv658, false, d)
		}
	}
	for {
		yyj653++
		if yyhl653 {
			yyb653 = yyj653 > l
		} else {
			yyb653 = r.CheckBreak()
		}
		if yyb653 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj653-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 {
		yym660 := z.EncBinary()
		_ = yym660
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep661 := !z.EncBinary()
			yy2arr661 := z.EncBasicHandle().StructToArray
			var yyq661 [4]bool
			_, _, _ = yysep661, yyq661, yy2arr661
			const yyr661 bool = false
			yyq661[1] = x.FSType != ""
			yyq661[2] = x.Partition != 0
			yyq661[3] = x.ReadOnly != false
			var yynn661 int
			if yyr661 || yy2arr661 {
				r.EncodeArrayStart(4)
			} else {
				yynn661 = 1
				for _, b := range yyq661 {
					if b {
						yynn661++
					}
				}
				r.EncodeMapStart(yynn661)
				yynn661 = 0
			}
			if yyr661 || yy2arr661 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym663 := z.EncBinary()
				_ = yym663
				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)
				yym664 := z.EncBinary()
				_ = yym664
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr661 || yy2arr661 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq661[1] {
					yym666 := z.EncBinary()
					_ = yym666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq661[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym667 := z.EncBinary()
					_ = yym667
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr661 || yy2arr661 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq661[2] {
					yym669 := z.EncBinary()
					_ = yym669
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq661[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym670 := z.EncBinary()
					_ = yym670
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr661 || yy2arr661 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq661[3] {
					yym672 := z.EncBinary()
					_ = yym672
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq661[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym673 := z.EncBinary()
					_ = yym673
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr661 || yy2arr661 {
				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
	yym674 := z.DecBinary()
	_ = yym674
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct675 := r.ContainerType()
		if yyct675 == codecSelferValueTypeMap1234 {
			yyl675 := r.ReadMapStart()
			if yyl675 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl675, d)
			}
		} else if yyct675 == codecSelferValueTypeArray1234 {
			yyl675 := r.ReadArrayStart()
			if yyl675 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl675, 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 yys676Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys676Slc
	var yyhl676 bool = l >= 0
	for yyj676 := 0; ; yyj676++ {
		if yyhl676 {
			if yyj676 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys676Slc = r.DecodeBytes(yys676Slc, true, true)
		yys676 := string(yys676Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys676 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys676)
		} // end switch yys676
	} // end for yyj676
	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 yyj681 int
	var yyb681 bool
	var yyhl681 bool = l >= 0
	yyj681++
	if yyhl681 {
		yyb681 = yyj681 > l
	} else {
		yyb681 = r.CheckBreak()
	}
	if yyb681 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj681++
	if yyhl681 {
		yyb681 = yyj681 > l
	} else {
		yyb681 = r.CheckBreak()
	}
	if yyb681 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj681++
	if yyhl681 {
		yyb681 = yyj681 > l
	} else {
		yyb681 = r.CheckBreak()
	}
	if yyb681 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj681++
	if yyhl681 {
		yyb681 = yyj681 > l
	} else {
		yyb681 = r.CheckBreak()
	}
	if yyb681 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj681++
		if yyhl681 {
			yyb681 = yyj681 > l
		} else {
			yyb681 = r.CheckBreak()
		}
		if yyb681 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj681-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 {
		yym686 := z.EncBinary()
		_ = yym686
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep687 := !z.EncBinary()
			yy2arr687 := z.EncBasicHandle().StructToArray
			var yyq687 [3]bool
			_, _, _ = yysep687, yyq687, yy2arr687
			const yyr687 bool = false
			yyq687[1] = x.Revision != ""
			yyq687[2] = x.Directory != ""
			var yynn687 int
			if yyr687 || yy2arr687 {
				r.EncodeArrayStart(3)
			} else {
				yynn687 = 1
				for _, b := range yyq687 {
					if b {
						yynn687++
					}
				}
				r.EncodeMapStart(yynn687)
				yynn687 = 0
			}
			if yyr687 || yy2arr687 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym689 := z.EncBinary()
				_ = yym689
				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)
				yym690 := z.EncBinary()
				_ = yym690
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr687 || yy2arr687 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq687[1] {
					yym692 := z.EncBinary()
					_ = yym692
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq687[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("revision"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym693 := z.EncBinary()
					_ = yym693
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				}
			}
			if yyr687 || yy2arr687 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq687[2] {
					yym695 := z.EncBinary()
					_ = yym695
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq687[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("directory"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym696 := z.EncBinary()
					_ = yym696
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				}
			}
			if yyr687 || yy2arr687 {
				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
	yym697 := z.DecBinary()
	_ = yym697
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct698 := r.ContainerType()
		if yyct698 == codecSelferValueTypeMap1234 {
			yyl698 := r.ReadMapStart()
			if yyl698 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl698, d)
			}
		} else if yyct698 == codecSelferValueTypeArray1234 {
			yyl698 := r.ReadArrayStart()
			if yyl698 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl698, 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 yys699Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys699Slc
	var yyhl699 bool = l >= 0
	for yyj699 := 0; ; yyj699++ {
		if yyhl699 {
			if yyj699 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys699Slc = r.DecodeBytes(yys699Slc, true, true)
		yys699 := string(yys699Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys699 {
		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, yys699)
		} // end switch yys699
	} // end for yyj699
	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 yyj703 int
	var yyb703 bool
	var yyhl703 bool = l >= 0
	yyj703++
	if yyhl703 {
		yyb703 = yyj703 > l
	} else {
		yyb703 = r.CheckBreak()
	}
	if yyb703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj703++
	if yyhl703 {
		yyb703 = yyj703 > l
	} else {
		yyb703 = r.CheckBreak()
	}
	if yyb703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	yyj703++
	if yyhl703 {
		yyb703 = yyj703 > l
	} else {
		yyb703 = r.CheckBreak()
	}
	if yyb703 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Directory = ""
	} else {
		x.Directory = string(r.DecodeString())
	}
	for {
		yyj703++
		if yyhl703 {
			yyb703 = yyj703 > l
		} else {
			yyb703 = r.CheckBreak()
		}
		if yyb703 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj703-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 {
		yym707 := z.EncBinary()
		_ = yym707
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep708 := !z.EncBinary()
			yy2arr708 := z.EncBasicHandle().StructToArray
			var yyq708 [1]bool
			_, _, _ = yysep708, yyq708, yy2arr708
			const yyr708 bool = false
			yyq708[0] = x.SecretName != ""
			var yynn708 int
			if yyr708 || yy2arr708 {
				r.EncodeArrayStart(1)
			} else {
				yynn708 = 0
				for _, b := range yyq708 {
					if b {
						yynn708++
					}
				}
				r.EncodeMapStart(yynn708)
				yynn708 = 0
			}
			if yyr708 || yy2arr708 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq708[0] {
					yym710 := z.EncBinary()
					_ = yym710
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq708[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym711 := z.EncBinary()
					_ = yym711
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				}
			}
			if yyr708 || yy2arr708 {
				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
	yym712 := z.DecBinary()
	_ = yym712
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct713 := r.ContainerType()
		if yyct713 == codecSelferValueTypeMap1234 {
			yyl713 := r.ReadMapStart()
			if yyl713 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl713, d)
			}
		} else if yyct713 == codecSelferValueTypeArray1234 {
			yyl713 := r.ReadArrayStart()
			if yyl713 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl713, 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 yys714Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys714Slc
	var yyhl714 bool = l >= 0
	for yyj714 := 0; ; yyj714++ {
		if yyhl714 {
			if yyj714 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys714Slc = r.DecodeBytes(yys714Slc, true, true)
		yys714 := string(yys714Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys714 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys714)
		} // end switch yys714
	} // end for yyj714
	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 yyj716 int
	var yyb716 bool
	var yyhl716 bool = l >= 0
	yyj716++
	if yyhl716 {
		yyb716 = yyj716 > l
	} else {
		yyb716 = r.CheckBreak()
	}
	if yyb716 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	for {
		yyj716++
		if yyhl716 {
			yyb716 = yyj716 > l
		} else {
			yyb716 = r.CheckBreak()
		}
		if yyb716 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj716-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 {
		yym718 := z.EncBinary()
		_ = yym718
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep719 := !z.EncBinary()
			yy2arr719 := z.EncBasicHandle().StructToArray
			var yyq719 [3]bool
			_, _, _ = yysep719, yyq719, yy2arr719
			const yyr719 bool = false
			yyq719[2] = x.ReadOnly != false
			var yynn719 int
			if yyr719 || yy2arr719 {
				r.EncodeArrayStart(3)
			} else {
				yynn719 = 2
				for _, b := range yyq719 {
					if b {
						yynn719++
					}
				}
				r.EncodeMapStart(yynn719)
				yynn719 = 0
			}
			if yyr719 || yy2arr719 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym721 := z.EncBinary()
				_ = yym721
				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)
				yym722 := z.EncBinary()
				_ = yym722
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr719 || yy2arr719 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym724 := z.EncBinary()
				_ = yym724
				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)
				yym725 := z.EncBinary()
				_ = yym725
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr719 || yy2arr719 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq719[2] {
					yym727 := z.EncBinary()
					_ = yym727
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq719[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym728 := z.EncBinary()
					_ = yym728
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr719 || yy2arr719 {
				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
	yym729 := z.DecBinary()
	_ = yym729
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct730 := r.ContainerType()
		if yyct730 == codecSelferValueTypeMap1234 {
			yyl730 := r.ReadMapStart()
			if yyl730 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl730, d)
			}
		} else if yyct730 == codecSelferValueTypeArray1234 {
			yyl730 := r.ReadArrayStart()
			if yyl730 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl730, 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 yys731Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys731Slc
	var yyhl731 bool = l >= 0
	for yyj731 := 0; ; yyj731++ {
		if yyhl731 {
			if yyj731 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys731Slc = r.DecodeBytes(yys731Slc, true, true)
		yys731 := string(yys731Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys731 {
		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, yys731)
		} // end switch yys731
	} // end for yyj731
	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 yyj735 int
	var yyb735 bool
	var yyhl735 bool = l >= 0
	yyj735++
	if yyhl735 {
		yyb735 = yyj735 > l
	} else {
		yyb735 = r.CheckBreak()
	}
	if yyb735 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj735++
	if yyhl735 {
		yyb735 = yyj735 > l
	} else {
		yyb735 = r.CheckBreak()
	}
	if yyb735 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj735++
	if yyhl735 {
		yyb735 = yyj735 > l
	} else {
		yyb735 = r.CheckBreak()
	}
	if yyb735 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj735++
		if yyhl735 {
			yyb735 = yyj735 > l
		} else {
			yyb735 = r.CheckBreak()
		}
		if yyb735 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj735-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 {
		yym739 := z.EncBinary()
		_ = yym739
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep740 := !z.EncBinary()
			yy2arr740 := z.EncBasicHandle().StructToArray
			var yyq740 [3]bool
			_, _, _ = yysep740, yyq740, yy2arr740
			const yyr740 bool = false
			yyq740[2] = x.ReadOnly != false
			var yynn740 int
			if yyr740 || yy2arr740 {
				r.EncodeArrayStart(3)
			} else {
				yynn740 = 2
				for _, b := range yyq740 {
					if b {
						yynn740++
					}
				}
				r.EncodeMapStart(yynn740)
				yynn740 = 0
			}
			if yyr740 || yy2arr740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym742 := z.EncBinary()
				_ = yym742
				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)
				yym743 := z.EncBinary()
				_ = yym743
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr740 || yy2arr740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym745 := z.EncBinary()
				_ = yym745
				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)
				yym746 := z.EncBinary()
				_ = yym746
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr740 || yy2arr740 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq740[2] {
					yym748 := z.EncBinary()
					_ = yym748
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq740[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym749 := z.EncBinary()
					_ = yym749
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr740 || yy2arr740 {
				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
	yym750 := z.DecBinary()
	_ = yym750
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct751 := r.ContainerType()
		if yyct751 == codecSelferValueTypeMap1234 {
			yyl751 := r.ReadMapStart()
			if yyl751 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl751, d)
			}
		} else if yyct751 == codecSelferValueTypeArray1234 {
			yyl751 := r.ReadArrayStart()
			if yyl751 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl751, 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 yys752Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys752Slc
	var yyhl752 bool = l >= 0
	for yyj752 := 0; ; yyj752++ {
		if yyhl752 {
			if yyj752 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys752Slc = r.DecodeBytes(yys752Slc, true, true)
		yys752 := string(yys752Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys752 {
		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, yys752)
		} // end switch yys752
	} // end for yyj752
	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 yyj756 int
	var yyb756 bool
	var yyhl756 bool = l >= 0
	yyj756++
	if yyhl756 {
		yyb756 = yyj756 > l
	} else {
		yyb756 = r.CheckBreak()
	}
	if yyb756 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj756++
	if yyhl756 {
		yyb756 = yyj756 > l
	} else {
		yyb756 = r.CheckBreak()
	}
	if yyb756 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj756++
	if yyhl756 {
		yyb756 = yyj756 > l
	} else {
		yyb756 = r.CheckBreak()
	}
	if yyb756 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj756++
		if yyhl756 {
			yyb756 = yyj756 > l
		} else {
			yyb756 = r.CheckBreak()
		}
		if yyb756 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj756-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 {
		yym760 := z.EncBinary()
		_ = yym760
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep761 := !z.EncBinary()
			yy2arr761 := z.EncBasicHandle().StructToArray
			var yyq761 [8]bool
			_, _, _ = yysep761, yyq761, yy2arr761
			const yyr761 bool = false
			yyq761[2] = x.FSType != ""
			yyq761[7] = x.ReadOnly != false
			var yynn761 int
			if yyr761 || yy2arr761 {
				r.EncodeArrayStart(8)
			} else {
				yynn761 = 6
				for _, b := range yyq761 {
					if b {
						yynn761++
					}
				}
				r.EncodeMapStart(yynn761)
				yynn761 = 0
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym763 := z.EncBinary()
					_ = yym763
					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 {
					yym764 := z.EncBinary()
					_ = yym764
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym766 := z.EncBinary()
				_ = yym766
				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)
				yym767 := z.EncBinary()
				_ = yym767
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq761[2] {
					yym769 := z.EncBinary()
					_ = yym769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq761[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym770 := z.EncBinary()
					_ = yym770
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym772 := z.EncBinary()
				_ = yym772
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pool"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym773 := z.EncBinary()
				_ = yym773
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym775 := z.EncBinary()
				_ = yym775
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("user"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym776 := z.EncBinary()
				_ = yym776
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym778 := z.EncBinary()
				_ = yym778
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("keyring"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym779 := z.EncBinary()
				_ = yym779
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			}
			if yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			} else {
				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 yyr761 || yy2arr761 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq761[7] {
					yym782 := z.EncBinary()
					_ = yym782
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq761[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym783 := z.EncBinary()
					_ = yym783
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr761 || yy2arr761 {
				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
	yym784 := z.DecBinary()
	_ = yym784
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct785 := r.ContainerType()
		if yyct785 == codecSelferValueTypeMap1234 {
			yyl785 := r.ReadMapStart()
			if yyl785 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl785, d)
			}
		} else if yyct785 == codecSelferValueTypeArray1234 {
			yyl785 := r.ReadArrayStart()
			if yyl785 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl785, 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 yys786Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys786Slc
	var yyhl786 bool = l >= 0
	for yyj786 := 0; ; yyj786++ {
		if yyhl786 {
			if yyj786 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys786Slc = r.DecodeBytes(yys786Slc, true, true)
		yys786 := string(yys786Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys786 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv787 := &x.CephMonitors
				yym788 := z.DecBinary()
				_ = yym788
				if false {
				} else {
					z.F.DecSliceStringX(yyv787, 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, yys786)
		} // end switch yys786
	} // end for yyj786
	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 yyj796 int
	var yyb796 bool
	var yyhl796 bool = l >= 0
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv797 := &x.CephMonitors
		yym798 := z.DecBinary()
		_ = yym798
		if false {
		} else {
			z.F.DecSliceStringX(yyv797, false, d)
		}
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		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)
	}
	yyj796++
	if yyhl796 {
		yyb796 = yyj796 > l
	} else {
		yyb796 = r.CheckBreak()
	}
	if yyb796 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj796++
		if yyhl796 {
			yyb796 = yyj796 > l
		} else {
			yyb796 = r.CheckBreak()
		}
		if yyb796 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj796-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 {
		yym806 := z.EncBinary()
		_ = yym806
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep807 := !z.EncBinary()
			yy2arr807 := z.EncBasicHandle().StructToArray
			var yyq807 [3]bool
			_, _, _ = yysep807, yyq807, yy2arr807
			const yyr807 bool = false
			yyq807[1] = x.FSType != ""
			yyq807[2] = x.ReadOnly != false
			var yynn807 int
			if yyr807 || yy2arr807 {
				r.EncodeArrayStart(3)
			} else {
				yynn807 = 1
				for _, b := range yyq807 {
					if b {
						yynn807++
					}
				}
				r.EncodeMapStart(yynn807)
				yynn807 = 0
			}
			if yyr807 || yy2arr807 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym809 := z.EncBinary()
				_ = yym809
				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)
				yym810 := z.EncBinary()
				_ = yym810
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr807 || yy2arr807 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq807[1] {
					yym812 := z.EncBinary()
					_ = yym812
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq807[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym813 := z.EncBinary()
					_ = yym813
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr807 || yy2arr807 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq807[2] {
					yym815 := z.EncBinary()
					_ = yym815
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq807[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym816 := z.EncBinary()
					_ = yym816
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr807 || yy2arr807 {
				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
	yym817 := z.DecBinary()
	_ = yym817
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct818 := r.ContainerType()
		if yyct818 == codecSelferValueTypeMap1234 {
			yyl818 := r.ReadMapStart()
			if yyl818 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl818, d)
			}
		} else if yyct818 == codecSelferValueTypeArray1234 {
			yyl818 := r.ReadArrayStart()
			if yyl818 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl818, 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 yys819Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys819Slc
	var yyhl819 bool = l >= 0
	for yyj819 := 0; ; yyj819++ {
		if yyhl819 {
			if yyj819 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys819Slc = r.DecodeBytes(yys819Slc, true, true)
		yys819 := string(yys819Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys819 {
		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, yys819)
		} // end switch yys819
	} // end for yyj819
	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 yyj823 int
	var yyb823 bool
	var yyhl823 bool = l >= 0
	yyj823++
	if yyhl823 {
		yyb823 = yyj823 > l
	} else {
		yyb823 = r.CheckBreak()
	}
	if yyb823 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj823++
	if yyhl823 {
		yyb823 = yyj823 > l
	} else {
		yyb823 = r.CheckBreak()
	}
	if yyb823 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj823++
	if yyhl823 {
		yyb823 = yyj823 > l
	} else {
		yyb823 = r.CheckBreak()
	}
	if yyb823 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj823++
		if yyhl823 {
			yyb823 = yyj823 > l
		} else {
			yyb823 = r.CheckBreak()
		}
		if yyb823 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj823-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 {
		yym827 := z.EncBinary()
		_ = yym827
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep828 := !z.EncBinary()
			yy2arr828 := z.EncBasicHandle().StructToArray
			var yyq828 [5]bool
			_, _, _ = yysep828, yyq828, yy2arr828
			const yyr828 bool = false
			yyq828[1] = x.User != ""
			yyq828[2] = x.SecretFile != ""
			yyq828[3] = x.SecretRef != nil
			yyq828[4] = x.ReadOnly != false
			var yynn828 int
			if yyr828 || yy2arr828 {
				r.EncodeArrayStart(5)
			} else {
				yynn828 = 1
				for _, b := range yyq828 {
					if b {
						yynn828++
					}
				}
				r.EncodeMapStart(yynn828)
				yynn828 = 0
			}
			if yyr828 || yy2arr828 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym830 := z.EncBinary()
					_ = yym830
					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 {
					yym831 := z.EncBinary()
					_ = yym831
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr828 || yy2arr828 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq828[1] {
					yym833 := z.EncBinary()
					_ = yym833
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq828[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym834 := z.EncBinary()
					_ = yym834
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr828 || yy2arr828 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq828[2] {
					yym836 := z.EncBinary()
					_ = yym836
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq828[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym837 := z.EncBinary()
					_ = yym837
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr828 || yy2arr828 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq828[3] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq828[3] {
					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 yyr828 || yy2arr828 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq828[4] {
					yym840 := z.EncBinary()
					_ = yym840
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq828[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym841 := z.EncBinary()
					_ = yym841
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr828 || yy2arr828 {
				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
	yym842 := z.DecBinary()
	_ = yym842
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct843 := r.ContainerType()
		if yyct843 == codecSelferValueTypeMap1234 {
			yyl843 := r.ReadMapStart()
			if yyl843 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl843, d)
			}
		} else if yyct843 == codecSelferValueTypeArray1234 {
			yyl843 := r.ReadArrayStart()
			if yyl843 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl843, 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 yys844Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys844Slc
	var yyhl844 bool = l >= 0
	for yyj844 := 0; ; yyj844++ {
		if yyhl844 {
			if yyj844 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys844Slc = r.DecodeBytes(yys844Slc, true, true)
		yys844 := string(yys844Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys844 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv845 := &x.Monitors
				yym846 := z.DecBinary()
				_ = yym846
				if false {
				} else {
					z.F.DecSliceStringX(yyv845, false, d)
				}
			}
		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, yys844)
		} // end switch yys844
	} // end for yyj844
	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 yyj851 int
	var yyb851 bool
	var yyhl851 bool = l >= 0
	yyj851++
	if yyhl851 {
		yyb851 = yyj851 > l
	} else {
		yyb851 = r.CheckBreak()
	}
	if yyb851 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv852 := &x.Monitors
		yym853 := z.DecBinary()
		_ = yym853
		if false {
		} else {
			z.F.DecSliceStringX(yyv852, false, d)
		}
	}
	yyj851++
	if yyhl851 {
		yyb851 = yyj851 > l
	} else {
		yyb851 = r.CheckBreak()
	}
	if yyb851 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj851++
	if yyhl851 {
		yyb851 = yyj851 > l
	} else {
		yyb851 = r.CheckBreak()
	}
	if yyb851 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj851++
	if yyhl851 {
		yyb851 = yyj851 > l
	} else {
		yyb851 = r.CheckBreak()
	}
	if yyb851 {
		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)
	}
	yyj851++
	if yyhl851 {
		yyb851 = yyj851 > l
	} else {
		yyb851 = r.CheckBreak()
	}
	if yyb851 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj851++
		if yyhl851 {
			yyb851 = yyj851 > l
		} else {
			yyb851 = r.CheckBreak()
		}
		if yyb851 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj851-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 {
		yym858 := z.EncBinary()
		_ = yym858
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep859 := !z.EncBinary()
			yy2arr859 := z.EncBasicHandle().StructToArray
			var yyq859 [1]bool
			_, _, _ = yysep859, yyq859, yy2arr859
			const yyr859 bool = false
			var yynn859 int
			if yyr859 || yy2arr859 {
				r.EncodeArrayStart(1)
			} else {
				yynn859 = 1
				for _, b := range yyq859 {
					if b {
						yynn859++
					}
				}
				r.EncodeMapStart(yynn859)
				yynn859 = 0
			}
			if yyr859 || yy2arr859 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym861 := z.EncBinary()
				_ = yym861
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym862 := z.EncBinary()
				_ = yym862
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			}
			if yyr859 || yy2arr859 {
				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
	yym863 := z.DecBinary()
	_ = yym863
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct864 := r.ContainerType()
		if yyct864 == codecSelferValueTypeMap1234 {
			yyl864 := r.ReadMapStart()
			if yyl864 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl864, d)
			}
		} else if yyct864 == codecSelferValueTypeArray1234 {
			yyl864 := r.ReadArrayStart()
			if yyl864 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl864, 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 yys865Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys865Slc
	var yyhl865 bool = l >= 0
	for yyj865 := 0; ; yyj865++ {
		if yyhl865 {
			if yyj865 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys865Slc = r.DecodeBytes(yys865Slc, true, true)
		yys865 := string(yys865Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys865 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys865)
		} // end switch yys865
	} // end for yyj865
	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 yyj867 int
	var yyb867 bool
	var yyhl867 bool = l >= 0
	yyj867++
	if yyhl867 {
		yyb867 = yyj867 > l
	} else {
		yyb867 = r.CheckBreak()
	}
	if yyb867 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	for {
		yyj867++
		if yyhl867 {
			yyb867 = yyj867 > l
		} else {
			yyb867 = r.CheckBreak()
		}
		if yyb867 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj867-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 {
		yym869 := z.EncBinary()
		_ = yym869
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep870 := !z.EncBinary()
			yy2arr870 := z.EncBasicHandle().StructToArray
			var yyq870 [1]bool
			_, _, _ = yysep870, yyq870, yy2arr870
			const yyr870 bool = false
			yyq870[0] = len(x.Items) != 0
			var yynn870 int
			if yyr870 || yy2arr870 {
				r.EncodeArrayStart(1)
			} else {
				yynn870 = 0
				for _, b := range yyq870 {
					if b {
						yynn870++
					}
				}
				r.EncodeMapStart(yynn870)
				yynn870 = 0
			}
			if yyr870 || yy2arr870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq870[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym872 := z.EncBinary()
						_ = yym872
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq870[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym873 := z.EncBinary()
						_ = yym873
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yyr870 || yy2arr870 {
				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
	yym874 := z.DecBinary()
	_ = yym874
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct875 := r.ContainerType()
		if yyct875 == codecSelferValueTypeMap1234 {
			yyl875 := r.ReadMapStart()
			if yyl875 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl875, d)
			}
		} else if yyct875 == codecSelferValueTypeArray1234 {
			yyl875 := r.ReadArrayStart()
			if yyl875 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl875, 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 yys876Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys876Slc
	var yyhl876 bool = l >= 0
	for yyj876 := 0; ; yyj876++ {
		if yyhl876 {
			if yyj876 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys876Slc = r.DecodeBytes(yys876Slc, true, true)
		yys876 := string(yys876Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys876 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv877 := &x.Items
				yym878 := z.DecBinary()
				_ = yym878
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv877), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys876)
		} // end switch yys876
	} // end for yyj876
	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 yyj879 int
	var yyb879 bool
	var yyhl879 bool = l >= 0
	yyj879++
	if yyhl879 {
		yyb879 = yyj879 > l
	} else {
		yyb879 = r.CheckBreak()
	}
	if yyb879 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv880 := &x.Items
		yym881 := z.DecBinary()
		_ = yym881
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv880), d)
		}
	}
	for {
		yyj879++
		if yyhl879 {
			yyb879 = yyj879 > l
		} else {
			yyb879 = r.CheckBreak()
		}
		if yyb879 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj879-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 {
		yym882 := z.EncBinary()
		_ = yym882
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep883 := !z.EncBinary()
			yy2arr883 := z.EncBasicHandle().StructToArray
			var yyq883 [2]bool
			_, _, _ = yysep883, yyq883, yy2arr883
			const yyr883 bool = false
			var yynn883 int
			if yyr883 || yy2arr883 {
				r.EncodeArrayStart(2)
			} else {
				yynn883 = 2
				for _, b := range yyq883 {
					if b {
						yynn883++
					}
				}
				r.EncodeMapStart(yynn883)
				yynn883 = 0
			}
			if yyr883 || yy2arr883 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym885 := z.EncBinary()
				_ = yym885
				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)
				yym886 := z.EncBinary()
				_ = yym886
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr883 || yy2arr883 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy888 := &x.FieldRef
				yy888.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy889 := &x.FieldRef
				yy889.CodecEncodeSelf(e)
			}
			if yyr883 || yy2arr883 {
				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
	yym890 := z.DecBinary()
	_ = yym890
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct891 := r.ContainerType()
		if yyct891 == codecSelferValueTypeMap1234 {
			yyl891 := r.ReadMapStart()
			if yyl891 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl891, d)
			}
		} else if yyct891 == codecSelferValueTypeArray1234 {
			yyl891 := r.ReadArrayStart()
			if yyl891 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl891, 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 yys892Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys892Slc
	var yyhl892 bool = l >= 0
	for yyj892 := 0; ; yyj892++ {
		if yyhl892 {
			if yyj892 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys892Slc = r.DecodeBytes(yys892Slc, true, true)
		yys892 := string(yys892Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys892 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				x.FieldRef = ObjectFieldSelector{}
			} else {
				yyv894 := &x.FieldRef
				yyv894.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys892)
		} // end switch yys892
	} // end for yyj892
	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 yyj895 int
	var yyb895 bool
	var yyhl895 bool = l >= 0
	yyj895++
	if yyhl895 {
		yyb895 = yyj895 > l
	} else {
		yyb895 = r.CheckBreak()
	}
	if yyb895 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj895++
	if yyhl895 {
		yyb895 = yyj895 > l
	} else {
		yyb895 = r.CheckBreak()
	}
	if yyb895 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldRef = ObjectFieldSelector{}
	} else {
		yyv897 := &x.FieldRef
		yyv897.CodecDecodeSelf(d)
	}
	for {
		yyj895++
		if yyhl895 {
			yyb895 = yyj895 > l
		} else {
			yyb895 = r.CheckBreak()
		}
		if yyb895 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj895-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym898 := z.EncBinary()
		_ = yym898
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep899 := !z.EncBinary()
			yy2arr899 := z.EncBasicHandle().StructToArray
			var yyq899 [5]bool
			_, _, _ = yysep899, yyq899, yy2arr899
			const yyr899 bool = false
			yyq899[0] = x.Name != ""
			yyq899[1] = x.HostPort != 0
			yyq899[3] = x.Protocol != ""
			yyq899[4] = x.HostIP != ""
			var yynn899 int
			if yyr899 || yy2arr899 {
				r.EncodeArrayStart(5)
			} else {
				yynn899 = 1
				for _, b := range yyq899 {
					if b {
						yynn899++
					}
				}
				r.EncodeMapStart(yynn899)
				yynn899 = 0
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq899[0] {
					yym901 := z.EncBinary()
					_ = yym901
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq899[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym902 := z.EncBinary()
					_ = yym902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq899[1] {
					yym904 := z.EncBinary()
					_ = yym904
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq899[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym905 := z.EncBinary()
					_ = yym905
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym907 := z.EncBinary()
				_ = yym907
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym908 := z.EncBinary()
				_ = yym908
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq899[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq899[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr899 || yy2arr899 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq899[4] {
					yym911 := z.EncBinary()
					_ = yym911
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq899[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym912 := z.EncBinary()
					_ = yym912
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr899 || yy2arr899 {
				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
	yym913 := z.DecBinary()
	_ = yym913
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct914 := r.ContainerType()
		if yyct914 == codecSelferValueTypeMap1234 {
			yyl914 := r.ReadMapStart()
			if yyl914 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl914, d)
			}
		} else if yyct914 == codecSelferValueTypeArray1234 {
			yyl914 := r.ReadArrayStart()
			if yyl914 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl914, 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 yys915Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys915Slc
	var yyhl915 bool = l >= 0
	for yyj915 := 0; ; yyj915++ {
		if yyhl915 {
			if yyj915 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys915Slc = r.DecodeBytes(yys915Slc, true, true)
		yys915 := string(yys915Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys915 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys915)
		} // end switch yys915
	} // end for yyj915
	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 yyj921 int
	var yyb921 bool
	var yyhl921 bool = l >= 0
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj921++
		if yyhl921 {
			yyb921 = yyj921 > l
		} else {
			yyb921 = r.CheckBreak()
		}
		if yyb921 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj921-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 {
		yym927 := z.EncBinary()
		_ = yym927
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep928 := !z.EncBinary()
			yy2arr928 := z.EncBasicHandle().StructToArray
			var yyq928 [3]bool
			_, _, _ = yysep928, yyq928, yy2arr928
			const yyr928 bool = false
			yyq928[1] = x.ReadOnly != false
			var yynn928 int
			if yyr928 || yy2arr928 {
				r.EncodeArrayStart(3)
			} else {
				yynn928 = 2
				for _, b := range yyq928 {
					if b {
						yynn928++
					}
				}
				r.EncodeMapStart(yynn928)
				yynn928 = 0
			}
			if yyr928 || yy2arr928 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym930 := z.EncBinary()
				_ = yym930
				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)
				yym931 := z.EncBinary()
				_ = yym931
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr928 || yy2arr928 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq928[1] {
					yym933 := z.EncBinary()
					_ = yym933
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq928[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym934 := z.EncBinary()
					_ = yym934
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr928 || yy2arr928 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym936 := z.EncBinary()
				_ = yym936
				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)
				yym937 := z.EncBinary()
				_ = yym937
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yyr928 || yy2arr928 {
				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
	yym938 := z.DecBinary()
	_ = yym938
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct939 := r.ContainerType()
		if yyct939 == codecSelferValueTypeMap1234 {
			yyl939 := r.ReadMapStart()
			if yyl939 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl939, d)
			}
		} else if yyct939 == codecSelferValueTypeArray1234 {
			yyl939 := r.ReadArrayStart()
			if yyl939 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl939, 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 yys940Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys940Slc
	var yyhl940 bool = l >= 0
	for yyj940 := 0; ; yyj940++ {
		if yyhl940 {
			if yyj940 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys940Slc = r.DecodeBytes(yys940Slc, true, true)
		yys940 := string(yys940Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys940 {
		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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys940)
		} // end switch yys940
	} // end for yyj940
	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 yyj944 int
	var yyb944 bool
	var yyhl944 bool = l >= 0
	yyj944++
	if yyhl944 {
		yyb944 = yyj944 > l
	} else {
		yyb944 = r.CheckBreak()
	}
	if yyb944 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj944++
	if yyhl944 {
		yyb944 = yyj944 > l
	} else {
		yyb944 = r.CheckBreak()
	}
	if yyb944 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj944++
	if yyhl944 {
		yyb944 = yyj944 > l
	} else {
		yyb944 = r.CheckBreak()
	}
	if yyb944 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	for {
		yyj944++
		if yyhl944 {
			yyb944 = yyj944 > l
		} else {
			yyb944 = r.CheckBreak()
		}
		if yyb944 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj944-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 {
		yym948 := z.EncBinary()
		_ = yym948
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep949 := !z.EncBinary()
			yy2arr949 := z.EncBasicHandle().StructToArray
			var yyq949 [3]bool
			_, _, _ = yysep949, yyq949, yy2arr949
			const yyr949 bool = false
			yyq949[1] = x.Value != ""
			yyq949[2] = x.ValueFrom != nil
			var yynn949 int
			if yyr949 || yy2arr949 {
				r.EncodeArrayStart(3)
			} else {
				yynn949 = 1
				for _, b := range yyq949 {
					if b {
						yynn949++
					}
				}
				r.EncodeMapStart(yynn949)
				yynn949 = 0
			}
			if yyr949 || yy2arr949 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym951 := z.EncBinary()
				_ = yym951
				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)
				yym952 := z.EncBinary()
				_ = yym952
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr949 || yy2arr949 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq949[1] {
					yym954 := z.EncBinary()
					_ = yym954
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq949[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym955 := z.EncBinary()
					_ = yym955
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr949 || yy2arr949 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq949[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq949[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 yyr949 || yy2arr949 {
				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
	yym957 := z.DecBinary()
	_ = yym957
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct958 := r.ContainerType()
		if yyct958 == codecSelferValueTypeMap1234 {
			yyl958 := r.ReadMapStart()
			if yyl958 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl958, d)
			}
		} else if yyct958 == codecSelferValueTypeArray1234 {
			yyl958 := r.ReadArrayStart()
			if yyl958 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl958, 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 yys959Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys959Slc
	var yyhl959 bool = l >= 0
	for yyj959 := 0; ; yyj959++ {
		if yyhl959 {
			if yyj959 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys959Slc = r.DecodeBytes(yys959Slc, true, true)
		yys959 := string(yys959Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys959 {
		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, yys959)
		} // end switch yys959
	} // end for yyj959
	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 yyj963 int
	var yyb963 bool
	var yyhl963 bool = l >= 0
	yyj963++
	if yyhl963 {
		yyb963 = yyj963 > l
	} else {
		yyb963 = r.CheckBreak()
	}
	if yyb963 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj963++
	if yyhl963 {
		yyb963 = yyj963 > l
	} else {
		yyb963 = r.CheckBreak()
	}
	if yyb963 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj963++
	if yyhl963 {
		yyb963 = yyj963 > l
	} else {
		yyb963 = r.CheckBreak()
	}
	if yyb963 {
		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 {
		yyj963++
		if yyhl963 {
			yyb963 = yyj963 > l
		} else {
			yyb963 = r.CheckBreak()
		}
		if yyb963 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj963-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 {
		yym967 := z.EncBinary()
		_ = yym967
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep968 := !z.EncBinary()
			yy2arr968 := z.EncBasicHandle().StructToArray
			var yyq968 [3]bool
			_, _, _ = yysep968, yyq968, yy2arr968
			const yyr968 bool = false
			yyq968[0] = x.FieldRef != nil
			yyq968[1] = x.ConfigMapKeyRef != nil
			yyq968[2] = x.SecretKeyRef != nil
			var yynn968 int
			if yyr968 || yy2arr968 {
				r.EncodeArrayStart(3)
			} else {
				yynn968 = 0
				for _, b := range yyq968 {
					if b {
						yynn968++
					}
				}
				r.EncodeMapStart(yynn968)
				yynn968 = 0
			}
			if yyr968 || yy2arr968 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq968[0] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq968[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 yyr968 || yy2arr968 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq968[1] {
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq968[1] {
					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 yyr968 || yy2arr968 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq968[2] {
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq968[2] {
					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 yyr968 || yy2arr968 {
				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
	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 *EnvVarSource) 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 "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 "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, yys974)
		} // end switch yys974
	} // end for yyj974
	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 yyj978 int
	var yyb978 bool
	var yyhl978 bool = l >= 0
	yyj978++
	if yyhl978 {
		yyb978 = yyj978 > l
	} else {
		yyb978 = r.CheckBreak()
	}
	if yyb978 {
		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)
	}
	yyj978++
	if yyhl978 {
		yyb978 = yyj978 > l
	} else {
		yyb978 = r.CheckBreak()
	}
	if yyb978 {
		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)
	}
	yyj978++
	if yyhl978 {
		yyb978 = yyj978 > l
	} else {
		yyb978 = r.CheckBreak()
	}
	if yyb978 {
		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 {
		yyj978++
		if yyhl978 {
			yyb978 = yyj978 > l
		} else {
			yyb978 = r.CheckBreak()
		}
		if yyb978 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj978-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 {
		yym982 := z.EncBinary()
		_ = yym982
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep983 := !z.EncBinary()
			yy2arr983 := z.EncBasicHandle().StructToArray
			var yyq983 [2]bool
			_, _, _ = yysep983, yyq983, yy2arr983
			const yyr983 bool = false
			var yynn983 int
			if yyr983 || yy2arr983 {
				r.EncodeArrayStart(2)
			} else {
				yynn983 = 2
				for _, b := range yyq983 {
					if b {
						yynn983++
					}
				}
				r.EncodeMapStart(yynn983)
				yynn983 = 0
			}
			if yyr983 || yy2arr983 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym985 := z.EncBinary()
				_ = yym985
				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)
				yym986 := z.EncBinary()
				_ = yym986
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr983 || yy2arr983 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym988 := z.EncBinary()
				_ = yym988
				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)
				yym989 := z.EncBinary()
				_ = yym989
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yyr983 || yy2arr983 {
				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
	yym990 := z.DecBinary()
	_ = yym990
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct991 := r.ContainerType()
		if yyct991 == codecSelferValueTypeMap1234 {
			yyl991 := r.ReadMapStart()
			if yyl991 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl991, d)
			}
		} else if yyct991 == codecSelferValueTypeArray1234 {
			yyl991 := r.ReadArrayStart()
			if yyl991 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl991, 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 yys992Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys992Slc
	var yyhl992 bool = l >= 0
	for yyj992 := 0; ; yyj992++ {
		if yyhl992 {
			if yyj992 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys992Slc = r.DecodeBytes(yys992Slc, true, true)
		yys992 := string(yys992Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys992 {
		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, yys992)
		} // end switch yys992
	} // end for yyj992
	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 yyj995 int
	var yyb995 bool
	var yyhl995 bool = l >= 0
	yyj995++
	if yyhl995 {
		yyb995 = yyj995 > l
	} else {
		yyb995 = r.CheckBreak()
	}
	if yyb995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj995++
	if yyhl995 {
		yyb995 = yyj995 > l
	} else {
		yyb995 = r.CheckBreak()
	}
	if yyb995 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj995++
		if yyhl995 {
			yyb995 = yyj995 > l
		} else {
			yyb995 = r.CheckBreak()
		}
		if yyb995 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj995-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 {
		yym998 := z.EncBinary()
		_ = yym998
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep999 := !z.EncBinary()
			yy2arr999 := z.EncBasicHandle().StructToArray
			var yyq999 [2]bool
			_, _, _ = yysep999, yyq999, yy2arr999
			const yyr999 bool = false
			var yynn999 int
			if yyr999 || yy2arr999 {
				r.EncodeArrayStart(2)
			} else {
				yynn999 = 2
				for _, b := range yyq999 {
					if b {
						yynn999++
					}
				}
				r.EncodeMapStart(yynn999)
				yynn999 = 0
			}
			if yyr999 || yy2arr999 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1001 := z.EncBinary()
				_ = yym1001
				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)
				yym1002 := z.EncBinary()
				_ = yym1002
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr999 || yy2arr999 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1004 := z.EncBinary()
				_ = yym1004
				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)
				yym1005 := z.EncBinary()
				_ = yym1005
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr999 || yy2arr999 {
				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
	yym1006 := z.DecBinary()
	_ = yym1006
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1007 := r.ContainerType()
		if yyct1007 == codecSelferValueTypeMap1234 {
			yyl1007 := r.ReadMapStart()
			if yyl1007 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1007, d)
			}
		} else if yyct1007 == codecSelferValueTypeArray1234 {
			yyl1007 := r.ReadArrayStart()
			if yyl1007 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1007, 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 yys1008Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1008Slc
	var yyhl1008 bool = l >= 0
	for yyj1008 := 0; ; yyj1008++ {
		if yyhl1008 {
			if yyj1008 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1008Slc = r.DecodeBytes(yys1008Slc, true, true)
		yys1008 := string(yys1008Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1008 {
		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, yys1008)
		} // end switch yys1008
	} // end for yyj1008
	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 yyj1011 int
	var yyb1011 bool
	var yyhl1011 bool = l >= 0
	yyj1011++
	if yyhl1011 {
		yyb1011 = yyj1011 > l
	} else {
		yyb1011 = r.CheckBreak()
	}
	if yyb1011 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1011++
	if yyhl1011 {
		yyb1011 = yyj1011 > l
	} else {
		yyb1011 = r.CheckBreak()
	}
	if yyb1011 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1011++
		if yyhl1011 {
			yyb1011 = yyj1011 > l
		} else {
			yyb1011 = r.CheckBreak()
		}
		if yyb1011 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1011-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 {
		yym1014 := z.EncBinary()
		_ = yym1014
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1015 := !z.EncBinary()
			yy2arr1015 := z.EncBasicHandle().StructToArray
			var yyq1015 [2]bool
			_, _, _ = yysep1015, yyq1015, yy2arr1015
			const yyr1015 bool = false
			var yynn1015 int
			if yyr1015 || yy2arr1015 {
				r.EncodeArrayStart(2)
			} else {
				yynn1015 = 2
				for _, b := range yyq1015 {
					if b {
						yynn1015++
					}
				}
				r.EncodeMapStart(yynn1015)
				yynn1015 = 0
			}
			if yyr1015 || yy2arr1015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1017 := z.EncBinary()
				_ = yym1017
				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)
				yym1018 := z.EncBinary()
				_ = yym1018
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1015 || yy2arr1015 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1020 := z.EncBinary()
				_ = yym1020
				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)
				yym1021 := z.EncBinary()
				_ = yym1021
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1015 || yy2arr1015 {
				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
	yym1022 := z.DecBinary()
	_ = yym1022
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1023 := r.ContainerType()
		if yyct1023 == codecSelferValueTypeMap1234 {
			yyl1023 := r.ReadMapStart()
			if yyl1023 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1023, d)
			}
		} else if yyct1023 == codecSelferValueTypeArray1234 {
			yyl1023 := r.ReadArrayStart()
			if yyl1023 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1023, 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 yys1024Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1024Slc
	var yyhl1024 bool = l >= 0
	for yyj1024 := 0; ; yyj1024++ {
		if yyhl1024 {
			if yyj1024 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1024Slc = r.DecodeBytes(yys1024Slc, true, true)
		yys1024 := string(yys1024Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1024 {
		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, yys1024)
		} // end switch yys1024
	} // end for yyj1024
	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 yyj1027 int
	var yyb1027 bool
	var yyhl1027 bool = l >= 0
	yyj1027++
	if yyhl1027 {
		yyb1027 = yyj1027 > l
	} else {
		yyb1027 = r.CheckBreak()
	}
	if yyb1027 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1027++
	if yyhl1027 {
		yyb1027 = yyj1027 > l
	} else {
		yyb1027 = r.CheckBreak()
	}
	if yyb1027 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1027++
		if yyhl1027 {
			yyb1027 = yyj1027 > l
		} else {
			yyb1027 = r.CheckBreak()
		}
		if yyb1027 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1027-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 {
		yym1030 := z.EncBinary()
		_ = yym1030
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1031 := !z.EncBinary()
			yy2arr1031 := z.EncBasicHandle().StructToArray
			var yyq1031 [4]bool
			_, _, _ = yysep1031, yyq1031, yy2arr1031
			const yyr1031 bool = false
			yyq1031[0] = x.Path != ""
			yyq1031[1] = true
			yyq1031[2] = x.Host != ""
			yyq1031[3] = x.Scheme != ""
			var yynn1031 int
			if yyr1031 || yy2arr1031 {
				r.EncodeArrayStart(4)
			} else {
				yynn1031 = 0
				for _, b := range yyq1031 {
					if b {
						yynn1031++
					}
				}
				r.EncodeMapStart(yynn1031)
				yynn1031 = 0
			}
			if yyr1031 || yy2arr1031 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1031[0] {
					yym1033 := z.EncBinary()
					_ = yym1033
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1031[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1034 := z.EncBinary()
					_ = yym1034
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr1031 || yy2arr1031 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1031[1] {
					yy1036 := &x.Port
					yym1037 := z.EncBinary()
					_ = yym1037
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1036) {
					} else if !yym1037 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1036)
					} else {
						z.EncFallback(yy1036)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1031[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1038 := &x.Port
					yym1039 := z.EncBinary()
					_ = yym1039
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1038) {
					} else if !yym1039 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1038)
					} else {
						z.EncFallback(yy1038)
					}
				}
			}
			if yyr1031 || yy2arr1031 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1031[2] {
					yym1041 := z.EncBinary()
					_ = yym1041
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1031[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1042 := z.EncBinary()
					_ = yym1042
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr1031 || yy2arr1031 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1031[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1031[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yyr1031 || yy2arr1031 {
				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
	yym1044 := z.DecBinary()
	_ = yym1044
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1045 := r.ContainerType()
		if yyct1045 == codecSelferValueTypeMap1234 {
			yyl1045 := r.ReadMapStart()
			if yyl1045 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1045, d)
			}
		} else if yyct1045 == codecSelferValueTypeArray1234 {
			yyl1045 := r.ReadArrayStart()
			if yyl1045 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1045, 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 yys1046Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1046Slc
	var yyhl1046 bool = l >= 0
	for yyj1046 := 0; ; yyj1046++ {
		if yyhl1046 {
			if yyj1046 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1046Slc = r.DecodeBytes(yys1046Slc, true, true)
		yys1046 := string(yys1046Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1046 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_intstr.IntOrString{}
			} else {
				yyv1048 := &x.Port
				yym1049 := z.DecBinary()
				_ = yym1049
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1048) {
				} else if !yym1049 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1048)
				} else {
					z.DecFallback(yyv1048, 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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1046)
		} // end switch yys1046
	} // end for yyj1046
	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 yyj1052 int
	var yyb1052 bool
	var yyhl1052 bool = l >= 0
	yyj1052++
	if yyhl1052 {
		yyb1052 = yyj1052 > l
	} else {
		yyb1052 = r.CheckBreak()
	}
	if yyb1052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1052++
	if yyhl1052 {
		yyb1052 = yyj1052 > l
	} else {
		yyb1052 = r.CheckBreak()
	}
	if yyb1052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg5_intstr.IntOrString{}
	} else {
		yyv1054 := &x.Port
		yym1055 := z.DecBinary()
		_ = yym1055
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1054) {
		} else if !yym1055 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1054)
		} else {
			z.DecFallback(yyv1054, false)
		}
	}
	yyj1052++
	if yyhl1052 {
		yyb1052 = yyj1052 > l
	} else {
		yyb1052 = r.CheckBreak()
	}
	if yyb1052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj1052++
	if yyhl1052 {
		yyb1052 = yyj1052 > l
	} else {
		yyb1052 = r.CheckBreak()
	}
	if yyb1052 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	for {
		yyj1052++
		if yyhl1052 {
			yyb1052 = yyj1052 > l
		} else {
			yyb1052 = r.CheckBreak()
		}
		if yyb1052 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1052-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1058 := z.EncBinary()
	_ = yym1058
	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
	yym1059 := z.DecBinary()
	_ = yym1059
	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 {
		yym1060 := z.EncBinary()
		_ = yym1060
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1061 := !z.EncBinary()
			yy2arr1061 := z.EncBasicHandle().StructToArray
			var yyq1061 [1]bool
			_, _, _ = yysep1061, yyq1061, yy2arr1061
			const yyr1061 bool = false
			yyq1061[0] = true
			var yynn1061 int
			if yyr1061 || yy2arr1061 {
				r.EncodeArrayStart(1)
			} else {
				yynn1061 = 0
				for _, b := range yyq1061 {
					if b {
						yynn1061++
					}
				}
				r.EncodeMapStart(yynn1061)
				yynn1061 = 0
			}
			if yyr1061 || yy2arr1061 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1061[0] {
					yy1063 := &x.Port
					yym1064 := z.EncBinary()
					_ = yym1064
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1063) {
					} else if !yym1064 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1063)
					} else {
						z.EncFallback(yy1063)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1061[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1065 := &x.Port
					yym1066 := z.EncBinary()
					_ = yym1066
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1065) {
					} else if !yym1066 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1065)
					} else {
						z.EncFallback(yy1065)
					}
				}
			}
			if yyr1061 || yy2arr1061 {
				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
	yym1067 := z.DecBinary()
	_ = yym1067
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1068 := r.ContainerType()
		if yyct1068 == codecSelferValueTypeMap1234 {
			yyl1068 := r.ReadMapStart()
			if yyl1068 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1068, d)
			}
		} else if yyct1068 == codecSelferValueTypeArray1234 {
			yyl1068 := r.ReadArrayStart()
			if yyl1068 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1068, 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 yys1069Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1069Slc
	var yyhl1069 bool = l >= 0
	for yyj1069 := 0; ; yyj1069++ {
		if yyhl1069 {
			if yyj1069 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1069Slc = r.DecodeBytes(yys1069Slc, true, true)
		yys1069 := string(yys1069Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1069 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_intstr.IntOrString{}
			} else {
				yyv1070 := &x.Port
				yym1071 := z.DecBinary()
				_ = yym1071
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1070) {
				} else if !yym1071 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1070)
				} else {
					z.DecFallback(yyv1070, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1069)
		} // end switch yys1069
	} // end for yyj1069
	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 yyj1072 int
	var yyb1072 bool
	var yyhl1072 bool = l >= 0
	yyj1072++
	if yyhl1072 {
		yyb1072 = yyj1072 > l
	} else {
		yyb1072 = r.CheckBreak()
	}
	if yyb1072 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg5_intstr.IntOrString{}
	} else {
		yyv1073 := &x.Port
		yym1074 := z.DecBinary()
		_ = yym1074
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1073) {
		} else if !yym1074 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1073)
		} else {
			z.DecFallback(yyv1073, false)
		}
	}
	for {
		yyj1072++
		if yyhl1072 {
			yyb1072 = yyj1072 > l
		} else {
			yyb1072 = r.CheckBreak()
		}
		if yyb1072 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1072-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 {
		yym1075 := z.EncBinary()
		_ = yym1075
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1076 := !z.EncBinary()
			yy2arr1076 := z.EncBasicHandle().StructToArray
			var yyq1076 [1]bool
			_, _, _ = yysep1076, yyq1076, yy2arr1076
			const yyr1076 bool = false
			yyq1076[0] = len(x.Command) != 0
			var yynn1076 int
			if yyr1076 || yy2arr1076 {
				r.EncodeArrayStart(1)
			} else {
				yynn1076 = 0
				for _, b := range yyq1076 {
					if b {
						yynn1076++
					}
				}
				r.EncodeMapStart(yynn1076)
				yynn1076 = 0
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1076[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1078 := z.EncBinary()
						_ = yym1078
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1076[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1079 := z.EncBinary()
						_ = yym1079
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1076 || yy2arr1076 {
				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
	yym1080 := z.DecBinary()
	_ = yym1080
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1081 := r.ContainerType()
		if yyct1081 == codecSelferValueTypeMap1234 {
			yyl1081 := r.ReadMapStart()
			if yyl1081 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1081, d)
			}
		} else if yyct1081 == codecSelferValueTypeArray1234 {
			yyl1081 := r.ReadArrayStart()
			if yyl1081 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1081, 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 yys1082Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1082Slc
	var yyhl1082 bool = l >= 0
	for yyj1082 := 0; ; yyj1082++ {
		if yyhl1082 {
			if yyj1082 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1082Slc = r.DecodeBytes(yys1082Slc, true, true)
		yys1082 := string(yys1082Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1082 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1083 := &x.Command
				yym1084 := z.DecBinary()
				_ = yym1084
				if false {
				} else {
					z.F.DecSliceStringX(yyv1083, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1082)
		} // end switch yys1082
	} // end for yyj1082
	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 yyj1085 int
	var yyb1085 bool
	var yyhl1085 bool = l >= 0
	yyj1085++
	if yyhl1085 {
		yyb1085 = yyj1085 > l
	} else {
		yyb1085 = r.CheckBreak()
	}
	if yyb1085 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1086 := &x.Command
		yym1087 := z.DecBinary()
		_ = yym1087
		if false {
		} else {
			z.F.DecSliceStringX(yyv1086, false, d)
		}
	}
	for {
		yyj1085++
		if yyhl1085 {
			yyb1085 = yyj1085 > l
		} else {
			yyb1085 = r.CheckBreak()
		}
		if yyb1085 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1085-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 {
		yym1088 := z.EncBinary()
		_ = yym1088
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1089 := !z.EncBinary()
			yy2arr1089 := z.EncBasicHandle().StructToArray
			var yyq1089 [8]bool
			_, _, _ = yysep1089, yyq1089, yy2arr1089
			const yyr1089 bool = false
			yyq1089[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq1089[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq1089[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq1089[3] = x.InitialDelaySeconds != 0
			yyq1089[4] = x.TimeoutSeconds != 0
			yyq1089[5] = x.PeriodSeconds != 0
			yyq1089[6] = x.SuccessThreshold != 0
			yyq1089[7] = x.FailureThreshold != 0
			var yynn1089 int
			if yyr1089 || yy2arr1089 {
				r.EncodeArrayStart(8)
			} else {
				yynn1089 = 0
				for _, b := range yyq1089 {
					if b {
						yynn1089++
					}
				}
				r.EncodeMapStart(yynn1089)
				yynn1089 = 0
			}
			var yyn1090 bool
			if x.Handler.Exec == nil {
				yyn1090 = true
				goto LABEL1090
			}
		LABEL1090:
			if yyr1089 || yy2arr1089 {
				if yyn1090 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1089[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1089[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1090 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1091 bool
			if x.Handler.HTTPGet == nil {
				yyn1091 = true
				goto LABEL1091
			}
		LABEL1091:
			if yyr1089 || yy2arr1089 {
				if yyn1091 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1089[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1089[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1091 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1092 bool
			if x.Handler.TCPSocket == nil {
				yyn1092 = true
				goto LABEL1092
			}
		LABEL1092:
			if yyr1089 || yy2arr1089 {
				if yyn1092 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1089[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1089[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1092 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1089[3] {
					yym1094 := z.EncBinary()
					_ = yym1094
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1089[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1095 := z.EncBinary()
					_ = yym1095
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1089[4] {
					yym1097 := z.EncBinary()
					_ = yym1097
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1089[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1098 := z.EncBinary()
					_ = yym1098
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1089[5] {
					yym1100 := z.EncBinary()
					_ = yym1100
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1089[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1101 := z.EncBinary()
					_ = yym1101
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1089[6] {
					yym1103 := z.EncBinary()
					_ = yym1103
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1089[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1104 := z.EncBinary()
					_ = yym1104
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1089[7] {
					yym1106 := z.EncBinary()
					_ = yym1106
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1089[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1107 := z.EncBinary()
					_ = yym1107
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yyr1089 || yy2arr1089 {
				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
	yym1108 := z.DecBinary()
	_ = yym1108
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1109 := r.ContainerType()
		if yyct1109 == codecSelferValueTypeMap1234 {
			yyl1109 := r.ReadMapStart()
			if yyl1109 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1109, d)
			}
		} else if yyct1109 == codecSelferValueTypeArray1234 {
			yyl1109 := r.ReadArrayStart()
			if yyl1109 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1109, 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 yys1110Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1110Slc
	var yyhl1110 bool = l >= 0
	for yyj1110 := 0; ; yyj1110++ {
		if yyhl1110 {
			if yyj1110 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1110Slc = r.DecodeBytes(yys1110Slc, true, true)
		yys1110 := string(yys1110Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1110 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1110)
		} // end switch yys1110
	} // end for yyj1110
	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 yyj1119 int
	var yyb1119 bool
	var yyhl1119 bool = l >= 0
	if x.Handler.Exec == nil {
		x.Handler.Exec = new(ExecAction)
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		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)
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		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)
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		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)
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1119++
	if yyhl1119 {
		yyb1119 = yyj1119 > l
	} else {
		yyb1119 = r.CheckBreak()
	}
	if yyb1119 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj1119++
		if yyhl1119 {
			yyb1119 = yyj1119 > l
		} else {
			yyb1119 = r.CheckBreak()
		}
		if yyb1119 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1119-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1128 := z.EncBinary()
	_ = yym1128
	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
	yym1129 := z.DecBinary()
	_ = yym1129
	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
	yym1130 := z.EncBinary()
	_ = yym1130
	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
	yym1131 := z.DecBinary()
	_ = yym1131
	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 {
		yym1132 := z.EncBinary()
		_ = yym1132
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1133 := !z.EncBinary()
			yy2arr1133 := z.EncBasicHandle().StructToArray
			var yyq1133 [2]bool
			_, _, _ = yysep1133, yyq1133, yy2arr1133
			const yyr1133 bool = false
			yyq1133[0] = len(x.Add) != 0
			yyq1133[1] = len(x.Drop) != 0
			var yynn1133 int
			if yyr1133 || yy2arr1133 {
				r.EncodeArrayStart(2)
			} else {
				yynn1133 = 0
				for _, b := range yyq1133 {
					if b {
						yynn1133++
					}
				}
				r.EncodeMapStart(yynn1133)
				yynn1133 = 0
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1135 := z.EncBinary()
						_ = yym1135
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1136 := z.EncBinary()
						_ = yym1136
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1138 := z.EncBinary()
						_ = yym1138
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1139 := z.EncBinary()
						_ = yym1139
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				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
	yym1140 := z.DecBinary()
	_ = yym1140
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1141 := r.ContainerType()
		if yyct1141 == codecSelferValueTypeMap1234 {
			yyl1141 := r.ReadMapStart()
			if yyl1141 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1141, d)
			}
		} else if yyct1141 == codecSelferValueTypeArray1234 {
			yyl1141 := r.ReadArrayStart()
			if yyl1141 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1141, 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 yys1142Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1142Slc
	var yyhl1142 bool = l >= 0
	for yyj1142 := 0; ; yyj1142++ {
		if yyhl1142 {
			if yyj1142 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1142Slc = r.DecodeBytes(yys1142Slc, true, true)
		yys1142 := string(yys1142Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1142 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1143 := &x.Add
				yym1144 := z.DecBinary()
				_ = yym1144
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1143), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1145 := &x.Drop
				yym1146 := z.DecBinary()
				_ = yym1146
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1145), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1142)
		} // end switch yys1142
	} // end for yyj1142
	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 yyj1147 int
	var yyb1147 bool
	var yyhl1147 bool = l >= 0
	yyj1147++
	if yyhl1147 {
		yyb1147 = yyj1147 > l
	} else {
		yyb1147 = r.CheckBreak()
	}
	if yyb1147 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1148 := &x.Add
		yym1149 := z.DecBinary()
		_ = yym1149
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1148), d)
		}
	}
	yyj1147++
	if yyhl1147 {
		yyb1147 = yyj1147 > l
	} else {
		yyb1147 = r.CheckBreak()
	}
	if yyb1147 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1150 := &x.Drop
		yym1151 := z.DecBinary()
		_ = yym1151
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1150), d)
		}
	}
	for {
		yyj1147++
		if yyhl1147 {
			yyb1147 = yyj1147 > l
		} else {
			yyb1147 = r.CheckBreak()
		}
		if yyb1147 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1147-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 {
		yym1152 := z.EncBinary()
		_ = yym1152
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1153 := !z.EncBinary()
			yy2arr1153 := z.EncBasicHandle().StructToArray
			var yyq1153 [2]bool
			_, _, _ = yysep1153, yyq1153, yy2arr1153
			const yyr1153 bool = false
			yyq1153[0] = len(x.Limits) != 0
			yyq1153[1] = len(x.Requests) != 0
			var yynn1153 int
			if yyr1153 || yy2arr1153 {
				r.EncodeArrayStart(2)
			} else {
				yynn1153 = 0
				for _, b := range yyq1153 {
					if b {
						yynn1153++
					}
				}
				r.EncodeMapStart(yynn1153)
				yynn1153 = 0
			}
			if yyr1153 || yy2arr1153 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1153[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1153[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 yyr1153 || yy2arr1153 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1153[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1153[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 yyr1153 || yy2arr1153 {
				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
	yym1156 := z.DecBinary()
	_ = yym1156
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1157 := r.ContainerType()
		if yyct1157 == codecSelferValueTypeMap1234 {
			yyl1157 := r.ReadMapStart()
			if yyl1157 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1157, d)
			}
		} else if yyct1157 == codecSelferValueTypeArray1234 {
			yyl1157 := r.ReadArrayStart()
			if yyl1157 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1157, 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 yys1158Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1158Slc
	var yyhl1158 bool = l >= 0
	for yyj1158 := 0; ; yyj1158++ {
		if yyhl1158 {
			if yyj1158 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1158Slc = r.DecodeBytes(yys1158Slc, true, true)
		yys1158 := string(yys1158Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1158 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1159 := &x.Limits
				yyv1159.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1160 := &x.Requests
				yyv1160.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1158)
		} // end switch yys1158
	} // end for yyj1158
	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 yyj1161 int
	var yyb1161 bool
	var yyhl1161 bool = l >= 0
	yyj1161++
	if yyhl1161 {
		yyb1161 = yyj1161 > l
	} else {
		yyb1161 = r.CheckBreak()
	}
	if yyb1161 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1162 := &x.Limits
		yyv1162.CodecDecodeSelf(d)
	}
	yyj1161++
	if yyhl1161 {
		yyb1161 = yyj1161 > l
	} else {
		yyb1161 = r.CheckBreak()
	}
	if yyb1161 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1163 := &x.Requests
		yyv1163.CodecDecodeSelf(d)
	}
	for {
		yyj1161++
		if yyhl1161 {
			yyb1161 = yyj1161 > l
		} else {
			yyb1161 = r.CheckBreak()
		}
		if yyb1161 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1161-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 {
		yym1164 := z.EncBinary()
		_ = yym1164
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1165 := !z.EncBinary()
			yy2arr1165 := z.EncBasicHandle().StructToArray
			var yyq1165 [18]bool
			_, _, _ = yysep1165, yyq1165, yy2arr1165
			const yyr1165 bool = false
			yyq1165[2] = len(x.Command) != 0
			yyq1165[3] = len(x.Args) != 0
			yyq1165[4] = x.WorkingDir != ""
			yyq1165[5] = len(x.Ports) != 0
			yyq1165[6] = len(x.Env) != 0
			yyq1165[7] = true
			yyq1165[8] = len(x.VolumeMounts) != 0
			yyq1165[9] = x.LivenessProbe != nil
			yyq1165[10] = x.ReadinessProbe != nil
			yyq1165[11] = x.Lifecycle != nil
			yyq1165[12] = x.TerminationMessagePath != ""
			yyq1165[14] = x.SecurityContext != nil
			yyq1165[15] = x.Stdin != false
			yyq1165[16] = x.StdinOnce != false
			yyq1165[17] = x.TTY != false
			var yynn1165 int
			if yyr1165 || yy2arr1165 {
				r.EncodeArrayStart(18)
			} else {
				yynn1165 = 3
				for _, b := range yyq1165 {
					if b {
						yynn1165++
					}
				}
				r.EncodeMapStart(yynn1165)
				yynn1165 = 0
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1167 := z.EncBinary()
				_ = yym1167
				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)
				yym1168 := z.EncBinary()
				_ = yym1168
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1170 := z.EncBinary()
				_ = yym1170
				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)
				yym1171 := z.EncBinary()
				_ = yym1171
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1173 := z.EncBinary()
						_ = yym1173
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1174 := z.EncBinary()
						_ = yym1174
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1176 := z.EncBinary()
						_ = yym1176
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1177 := z.EncBinary()
						_ = yym1177
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[4] {
					yym1179 := z.EncBinary()
					_ = yym1179
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1165[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1180 := z.EncBinary()
					_ = yym1180
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1182 := z.EncBinary()
						_ = yym1182
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1183 := z.EncBinary()
						_ = yym1183
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1185 := z.EncBinary()
						_ = yym1185
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1186 := z.EncBinary()
						_ = yym1186
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[7] {
					yy1188 := &x.Resources
					yy1188.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1189 := &x.Resources
					yy1189.CodecEncodeSelf(e)
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1191 := z.EncBinary()
						_ = yym1191
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1192 := z.EncBinary()
						_ = yym1192
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[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 yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[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 yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[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 yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[12] {
					yym1197 := z.EncBinary()
					_ = yym1197
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1165[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1198 := z.EncBinary()
					_ = yym1198
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				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 yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1165[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 yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[15] {
					yym1202 := z.EncBinary()
					_ = yym1202
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1165[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1203 := z.EncBinary()
					_ = yym1203
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[16] {
					yym1205 := z.EncBinary()
					_ = yym1205
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1165[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1206 := z.EncBinary()
					_ = yym1206
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1165[17] {
					yym1208 := z.EncBinary()
					_ = yym1208
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1165[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1209 := z.EncBinary()
					_ = yym1209
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr1165 || yy2arr1165 {
				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
	yym1210 := z.DecBinary()
	_ = yym1210
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1211 := r.ContainerType()
		if yyct1211 == codecSelferValueTypeMap1234 {
			yyl1211 := r.ReadMapStart()
			if yyl1211 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1211, d)
			}
		} else if yyct1211 == codecSelferValueTypeArray1234 {
			yyl1211 := r.ReadArrayStart()
			if yyl1211 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1211, 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 yys1212Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1212Slc
	var yyhl1212 bool = l >= 0
	for yyj1212 := 0; ; yyj1212++ {
		if yyhl1212 {
			if yyj1212 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1212Slc = r.DecodeBytes(yys1212Slc, true, true)
		yys1212 := string(yys1212Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1212 {
		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 {
				yyv1215 := &x.Command
				yym1216 := z.DecBinary()
				_ = yym1216
				if false {
				} else {
					z.F.DecSliceStringX(yyv1215, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1217 := &x.Args
				yym1218 := z.DecBinary()
				_ = yym1218
				if false {
				} else {
					z.F.DecSliceStringX(yyv1217, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1220 := &x.Ports
				yym1221 := z.DecBinary()
				_ = yym1221
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1220), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1222 := &x.Env
				yym1223 := z.DecBinary()
				_ = yym1223
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1222), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1224 := &x.Resources
				yyv1224.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1225 := &x.VolumeMounts
				yym1226 := z.DecBinary()
				_ = yym1226
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1225), 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, yys1212)
		} // end switch yys1212
	} // end for yyj1212
	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 yyj1236 int
	var yyb1236 bool
	var yyhl1236 bool = l >= 0
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1239 := &x.Command
		yym1240 := z.DecBinary()
		_ = yym1240
		if false {
		} else {
			z.F.DecSliceStringX(yyv1239, false, d)
		}
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1241 := &x.Args
		yym1242 := z.DecBinary()
		_ = yym1242
		if false {
		} else {
			z.F.DecSliceStringX(yyv1241, false, d)
		}
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1244 := &x.Ports
		yym1245 := z.DecBinary()
		_ = yym1245
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1244), d)
		}
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1246 := &x.Env
		yym1247 := z.DecBinary()
		_ = yym1247
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1246), d)
		}
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1248 := &x.Resources
		yyv1248.CodecDecodeSelf(d)
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1249 := &x.VolumeMounts
		yym1250 := z.DecBinary()
		_ = yym1250
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1249), d)
		}
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		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)
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		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)
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		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)
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		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)
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1236++
	if yyhl1236 {
		yyb1236 = yyj1236 > l
	} else {
		yyb1236 = r.CheckBreak()
	}
	if yyb1236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1236++
		if yyhl1236 {
			yyb1236 = yyj1236 > l
		} else {
			yyb1236 = r.CheckBreak()
		}
		if yyb1236 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1236-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 {
		yym1260 := z.EncBinary()
		_ = yym1260
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1261 := !z.EncBinary()
			yy2arr1261 := z.EncBasicHandle().StructToArray
			var yyq1261 [3]bool
			_, _, _ = yysep1261, yyq1261, yy2arr1261
			const yyr1261 bool = false
			yyq1261[0] = x.Exec != nil
			yyq1261[1] = x.HTTPGet != nil
			yyq1261[2] = x.TCPSocket != nil
			var yynn1261 int
			if yyr1261 || yy2arr1261 {
				r.EncodeArrayStart(3)
			} else {
				yynn1261 = 0
				for _, b := range yyq1261 {
					if b {
						yynn1261++
					}
				}
				r.EncodeMapStart(yynn1261)
				yynn1261 = 0
			}
			if yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1261[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1261[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 yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1261[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1261[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 yyr1261 || yy2arr1261 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1261[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1261[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 yyr1261 || yy2arr1261 {
				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
	yym1265 := z.DecBinary()
	_ = yym1265
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1266 := r.ContainerType()
		if yyct1266 == codecSelferValueTypeMap1234 {
			yyl1266 := r.ReadMapStart()
			if yyl1266 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1266, d)
			}
		} else if yyct1266 == codecSelferValueTypeArray1234 {
			yyl1266 := r.ReadArrayStart()
			if yyl1266 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1266, 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 yys1267Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1267Slc
	var yyhl1267 bool = l >= 0
	for yyj1267 := 0; ; yyj1267++ {
		if yyhl1267 {
			if yyj1267 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1267Slc = r.DecodeBytes(yys1267Slc, true, true)
		yys1267 := string(yys1267Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1267 {
		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, yys1267)
		} // end switch yys1267
	} // end for yyj1267
	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 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.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.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.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.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.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.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 *Lifecycle) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1275 := z.EncBinary()
		_ = yym1275
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1276 := !z.EncBinary()
			yy2arr1276 := z.EncBasicHandle().StructToArray
			var yyq1276 [2]bool
			_, _, _ = yysep1276, yyq1276, yy2arr1276
			const yyr1276 bool = false
			yyq1276[0] = x.PostStart != nil
			yyq1276[1] = x.PreStop != nil
			var yynn1276 int
			if yyr1276 || yy2arr1276 {
				r.EncodeArrayStart(2)
			} else {
				yynn1276 = 0
				for _, b := range yyq1276 {
					if b {
						yynn1276++
					}
				}
				r.EncodeMapStart(yynn1276)
				yynn1276 = 0
			}
			if yyr1276 || yy2arr1276 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1276[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1276[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 yyr1276 || yy2arr1276 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1276[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1276[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 yyr1276 || yy2arr1276 {
				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
	yym1279 := z.DecBinary()
	_ = yym1279
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1280 := r.ContainerType()
		if yyct1280 == codecSelferValueTypeMap1234 {
			yyl1280 := r.ReadMapStart()
			if yyl1280 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1280, d)
			}
		} else if yyct1280 == codecSelferValueTypeArray1234 {
			yyl1280 := r.ReadArrayStart()
			if yyl1280 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1280, 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 yys1281Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1281Slc
	var yyhl1281 bool = l >= 0
	for yyj1281 := 0; ; yyj1281++ {
		if yyhl1281 {
			if yyj1281 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1281Slc = r.DecodeBytes(yys1281Slc, true, true)
		yys1281 := string(yys1281Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1281 {
		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, yys1281)
		} // end switch yys1281
	} // end for yyj1281
	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 yyj1284 int
	var yyb1284 bool
	var yyhl1284 bool = l >= 0
	yyj1284++
	if yyhl1284 {
		yyb1284 = yyj1284 > l
	} else {
		yyb1284 = r.CheckBreak()
	}
	if yyb1284 {
		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)
	}
	yyj1284++
	if yyhl1284 {
		yyb1284 = yyj1284 > l
	} else {
		yyb1284 = r.CheckBreak()
	}
	if yyb1284 {
		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 {
		yyj1284++
		if yyhl1284 {
			yyb1284 = yyj1284 > l
		} else {
			yyb1284 = r.CheckBreak()
		}
		if yyb1284 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1284-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1287 := z.EncBinary()
	_ = yym1287
	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
	yym1288 := z.DecBinary()
	_ = yym1288
	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 {
		yym1289 := z.EncBinary()
		_ = yym1289
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1290 := !z.EncBinary()
			yy2arr1290 := z.EncBasicHandle().StructToArray
			var yyq1290 [2]bool
			_, _, _ = yysep1290, yyq1290, yy2arr1290
			const yyr1290 bool = false
			yyq1290[0] = x.Reason != ""
			yyq1290[1] = x.Message != ""
			var yynn1290 int
			if yyr1290 || yy2arr1290 {
				r.EncodeArrayStart(2)
			} else {
				yynn1290 = 0
				for _, b := range yyq1290 {
					if b {
						yynn1290++
					}
				}
				r.EncodeMapStart(yynn1290)
				yynn1290 = 0
			}
			if yyr1290 || yy2arr1290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1290[0] {
					yym1292 := z.EncBinary()
					_ = yym1292
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1290[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1293 := z.EncBinary()
					_ = yym1293
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1290 || yy2arr1290 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1290[1] {
					yym1295 := z.EncBinary()
					_ = yym1295
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1290[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1296 := z.EncBinary()
					_ = yym1296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1290 || yy2arr1290 {
				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
	yym1297 := z.DecBinary()
	_ = yym1297
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1298 := r.ContainerType()
		if yyct1298 == codecSelferValueTypeMap1234 {
			yyl1298 := r.ReadMapStart()
			if yyl1298 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1298, d)
			}
		} else if yyct1298 == codecSelferValueTypeArray1234 {
			yyl1298 := r.ReadArrayStart()
			if yyl1298 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1298, 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 yys1299Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1299Slc
	var yyhl1299 bool = l >= 0
	for yyj1299 := 0; ; yyj1299++ {
		if yyhl1299 {
			if yyj1299 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1299Slc = r.DecodeBytes(yys1299Slc, true, true)
		yys1299 := string(yys1299Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1299 {
		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, yys1299)
		} // end switch yys1299
	} // end for yyj1299
	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 yyj1302 int
	var yyb1302 bool
	var yyhl1302 bool = l >= 0
	yyj1302++
	if yyhl1302 {
		yyb1302 = yyj1302 > l
	} else {
		yyb1302 = r.CheckBreak()
	}
	if yyb1302 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1302++
	if yyhl1302 {
		yyb1302 = yyj1302 > l
	} else {
		yyb1302 = r.CheckBreak()
	}
	if yyb1302 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1302++
		if yyhl1302 {
			yyb1302 = yyj1302 > l
		} else {
			yyb1302 = r.CheckBreak()
		}
		if yyb1302 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1302-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 {
		yym1305 := z.EncBinary()
		_ = yym1305
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1306 := !z.EncBinary()
			yy2arr1306 := z.EncBasicHandle().StructToArray
			var yyq1306 [1]bool
			_, _, _ = yysep1306, yyq1306, yy2arr1306
			const yyr1306 bool = false
			yyq1306[0] = true
			var yynn1306 int
			if yyr1306 || yy2arr1306 {
				r.EncodeArrayStart(1)
			} else {
				yynn1306 = 0
				for _, b := range yyq1306 {
					if b {
						yynn1306++
					}
				}
				r.EncodeMapStart(yynn1306)
				yynn1306 = 0
			}
			if yyr1306 || yy2arr1306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1306[0] {
					yy1308 := &x.StartedAt
					yym1309 := z.EncBinary()
					_ = yym1309
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1308) {
					} else if yym1309 {
						z.EncBinaryMarshal(yy1308)
					} else if !yym1309 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1308)
					} else {
						z.EncFallback(yy1308)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1306[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1310 := &x.StartedAt
					yym1311 := z.EncBinary()
					_ = yym1311
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1310) {
					} else if yym1311 {
						z.EncBinaryMarshal(yy1310)
					} else if !yym1311 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1310)
					} else {
						z.EncFallback(yy1310)
					}
				}
			}
			if yyr1306 || yy2arr1306 {
				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
	yym1312 := z.DecBinary()
	_ = yym1312
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1313 := r.ContainerType()
		if yyct1313 == codecSelferValueTypeMap1234 {
			yyl1313 := r.ReadMapStart()
			if yyl1313 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1313, d)
			}
		} else if yyct1313 == codecSelferValueTypeArray1234 {
			yyl1313 := r.ReadArrayStart()
			if yyl1313 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1313, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1314Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1314Slc
	var yyhl1314 bool = l >= 0
	for yyj1314 := 0; ; yyj1314++ {
		if yyhl1314 {
			if yyj1314 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1314Slc = r.DecodeBytes(yys1314Slc, true, true)
		yys1314 := string(yys1314Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1314 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1315 := &x.StartedAt
				yym1316 := z.DecBinary()
				_ = yym1316
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1315) {
				} else if yym1316 {
					z.DecBinaryUnmarshal(yyv1315)
				} else if !yym1316 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1315)
				} else {
					z.DecFallback(yyv1315, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1314)
		} // end switch yys1314
	} // end for yyj1314
	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 yyj1317 int
	var yyb1317 bool
	var yyhl1317 bool = l >= 0
	yyj1317++
	if yyhl1317 {
		yyb1317 = yyj1317 > l
	} else {
		yyb1317 = r.CheckBreak()
	}
	if yyb1317 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1318 := &x.StartedAt
		yym1319 := z.DecBinary()
		_ = yym1319
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1318) {
		} else if yym1319 {
			z.DecBinaryUnmarshal(yyv1318)
		} else if !yym1319 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1318)
		} else {
			z.DecFallback(yyv1318, false)
		}
	}
	for {
		yyj1317++
		if yyhl1317 {
			yyb1317 = yyj1317 > l
		} else {
			yyb1317 = r.CheckBreak()
		}
		if yyb1317 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1317-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1320 := z.EncBinary()
		_ = yym1320
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1321 := !z.EncBinary()
			yy2arr1321 := z.EncBasicHandle().StructToArray
			var yyq1321 [7]bool
			_, _, _ = yysep1321, yyq1321, yy2arr1321
			const yyr1321 bool = false
			yyq1321[1] = x.Signal != 0
			yyq1321[2] = x.Reason != ""
			yyq1321[3] = x.Message != ""
			yyq1321[4] = true
			yyq1321[5] = true
			yyq1321[6] = x.ContainerID != ""
			var yynn1321 int
			if yyr1321 || yy2arr1321 {
				r.EncodeArrayStart(7)
			} else {
				yynn1321 = 1
				for _, b := range yyq1321 {
					if b {
						yynn1321++
					}
				}
				r.EncodeMapStart(yynn1321)
				yynn1321 = 0
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1323 := z.EncBinary()
				_ = yym1323
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1324 := z.EncBinary()
				_ = yym1324
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[1] {
					yym1326 := z.EncBinary()
					_ = yym1326
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1321[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1327 := z.EncBinary()
					_ = yym1327
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[2] {
					yym1329 := z.EncBinary()
					_ = yym1329
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1321[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1330 := z.EncBinary()
					_ = yym1330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[3] {
					yym1332 := z.EncBinary()
					_ = yym1332
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1321[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1333 := z.EncBinary()
					_ = yym1333
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[4] {
					yy1335 := &x.StartedAt
					yym1336 := z.EncBinary()
					_ = yym1336
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1335) {
					} else if yym1336 {
						z.EncBinaryMarshal(yy1335)
					} else if !yym1336 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1335)
					} else {
						z.EncFallback(yy1335)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1321[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1337 := &x.StartedAt
					yym1338 := z.EncBinary()
					_ = yym1338
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1337) {
					} else if yym1338 {
						z.EncBinaryMarshal(yy1337)
					} else if !yym1338 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1337)
					} else {
						z.EncFallback(yy1337)
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[5] {
					yy1340 := &x.FinishedAt
					yym1341 := z.EncBinary()
					_ = yym1341
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1340) {
					} else if yym1341 {
						z.EncBinaryMarshal(yy1340)
					} else if !yym1341 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1340)
					} else {
						z.EncFallback(yy1340)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1321[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1342 := &x.FinishedAt
					yym1343 := z.EncBinary()
					_ = yym1343
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1342) {
					} else if yym1343 {
						z.EncBinaryMarshal(yy1342)
					} else if !yym1343 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1342)
					} else {
						z.EncFallback(yy1342)
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1321[6] {
					yym1345 := z.EncBinary()
					_ = yym1345
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1321[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1346 := z.EncBinary()
					_ = yym1346
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1321 || yy2arr1321 {
				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
	yym1347 := z.DecBinary()
	_ = yym1347
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1348 := r.ContainerType()
		if yyct1348 == codecSelferValueTypeMap1234 {
			yyl1348 := r.ReadMapStart()
			if yyl1348 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1348, d)
			}
		} else if yyct1348 == codecSelferValueTypeArray1234 {
			yyl1348 := r.ReadArrayStart()
			if yyl1348 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1348, 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 yys1349Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1349Slc
	var yyhl1349 bool = l >= 0
	for yyj1349 := 0; ; yyj1349++ {
		if yyhl1349 {
			if yyj1349 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1349Slc = r.DecodeBytes(yys1349Slc, true, true)
		yys1349 := string(yys1349Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1349 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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 {
				yyv1354 := &x.StartedAt
				yym1355 := z.DecBinary()
				_ = yym1355
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1354) {
				} else if yym1355 {
					z.DecBinaryUnmarshal(yyv1354)
				} else if !yym1355 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1354)
				} else {
					z.DecFallback(yyv1354, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1356 := &x.FinishedAt
				yym1357 := z.DecBinary()
				_ = yym1357
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1356) {
				} else if yym1357 {
					z.DecBinaryUnmarshal(yyv1356)
				} else if !yym1357 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1356)
				} else {
					z.DecFallback(yyv1356, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1349)
		} // end switch yys1349
	} // end for yyj1349
	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 yyj1359 int
	var yyb1359 bool
	var yyhl1359 bool = l >= 0
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1364 := &x.StartedAt
		yym1365 := z.DecBinary()
		_ = yym1365
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1364) {
		} else if yym1365 {
			z.DecBinaryUnmarshal(yyv1364)
		} else if !yym1365 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1364)
		} else {
			z.DecFallback(yyv1364, false)
		}
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1366 := &x.FinishedAt
		yym1367 := z.DecBinary()
		_ = yym1367
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1366) {
		} else if yym1367 {
			z.DecBinaryUnmarshal(yyv1366)
		} else if !yym1367 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1366)
		} else {
			z.DecFallback(yyv1366, false)
		}
	}
	yyj1359++
	if yyhl1359 {
		yyb1359 = yyj1359 > l
	} else {
		yyb1359 = r.CheckBreak()
	}
	if yyb1359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1359++
		if yyhl1359 {
			yyb1359 = yyj1359 > l
		} else {
			yyb1359 = r.CheckBreak()
		}
		if yyb1359 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1359-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 {
		yym1369 := z.EncBinary()
		_ = yym1369
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1370 := !z.EncBinary()
			yy2arr1370 := z.EncBasicHandle().StructToArray
			var yyq1370 [3]bool
			_, _, _ = yysep1370, yyq1370, yy2arr1370
			const yyr1370 bool = false
			yyq1370[0] = x.Waiting != nil
			yyq1370[1] = x.Running != nil
			yyq1370[2] = x.Terminated != nil
			var yynn1370 int
			if yyr1370 || yy2arr1370 {
				r.EncodeArrayStart(3)
			} else {
				yynn1370 = 0
				for _, b := range yyq1370 {
					if b {
						yynn1370++
					}
				}
				r.EncodeMapStart(yynn1370)
				yynn1370 = 0
			}
			if yyr1370 || yy2arr1370 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1370[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1370[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 yyr1370 || yy2arr1370 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1370[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1370[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 yyr1370 || yy2arr1370 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1370[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1370[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 yyr1370 || yy2arr1370 {
				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
	yym1374 := z.DecBinary()
	_ = yym1374
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1375 := r.ContainerType()
		if yyct1375 == codecSelferValueTypeMap1234 {
			yyl1375 := r.ReadMapStart()
			if yyl1375 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1375, d)
			}
		} else if yyct1375 == codecSelferValueTypeArray1234 {
			yyl1375 := r.ReadArrayStart()
			if yyl1375 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1375, 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 yys1376Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1376Slc
	var yyhl1376 bool = l >= 0
	for yyj1376 := 0; ; yyj1376++ {
		if yyhl1376 {
			if yyj1376 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1376Slc = r.DecodeBytes(yys1376Slc, true, true)
		yys1376 := string(yys1376Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1376 {
		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, yys1376)
		} // end switch yys1376
	} // end for yyj1376
	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 yyj1380 int
	var yyb1380 bool
	var yyhl1380 bool = l >= 0
	yyj1380++
	if yyhl1380 {
		yyb1380 = yyj1380 > l
	} else {
		yyb1380 = r.CheckBreak()
	}
	if yyb1380 {
		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)
	}
	yyj1380++
	if yyhl1380 {
		yyb1380 = yyj1380 > l
	} else {
		yyb1380 = r.CheckBreak()
	}
	if yyb1380 {
		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)
	}
	yyj1380++
	if yyhl1380 {
		yyb1380 = yyj1380 > l
	} else {
		yyb1380 = r.CheckBreak()
	}
	if yyb1380 {
		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 {
		yyj1380++
		if yyhl1380 {
			yyb1380 = yyj1380 > l
		} else {
			yyb1380 = r.CheckBreak()
		}
		if yyb1380 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1380-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 {
		yym1384 := z.EncBinary()
		_ = yym1384
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1385 := !z.EncBinary()
			yy2arr1385 := z.EncBasicHandle().StructToArray
			var yyq1385 [8]bool
			_, _, _ = yysep1385, yyq1385, yy2arr1385
			const yyr1385 bool = false
			yyq1385[1] = true
			yyq1385[2] = true
			yyq1385[7] = x.ContainerID != ""
			var yynn1385 int
			if yyr1385 || yy2arr1385 {
				r.EncodeArrayStart(8)
			} else {
				yynn1385 = 5
				for _, b := range yyq1385 {
					if b {
						yynn1385++
					}
				}
				r.EncodeMapStart(yynn1385)
				yynn1385 = 0
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1387 := z.EncBinary()
				_ = yym1387
				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)
				yym1388 := z.EncBinary()
				_ = yym1388
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1385[1] {
					yy1390 := &x.State
					yy1390.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1385[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1391 := &x.State
					yy1391.CodecEncodeSelf(e)
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1385[2] {
					yy1393 := &x.LastTerminationState
					yy1393.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1385[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1394 := &x.LastTerminationState
					yy1394.CodecEncodeSelf(e)
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1396 := z.EncBinary()
				_ = yym1396
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1397 := z.EncBinary()
				_ = yym1397
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1399 := z.EncBinary()
				_ = yym1399
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1400 := z.EncBinary()
				_ = yym1400
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1402 := z.EncBinary()
				_ = yym1402
				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)
				yym1403 := z.EncBinary()
				_ = yym1403
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1405 := z.EncBinary()
				_ = yym1405
				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)
				yym1406 := z.EncBinary()
				_ = yym1406
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1385 || yy2arr1385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1385[7] {
					yym1408 := z.EncBinary()
					_ = yym1408
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1385[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1409 := z.EncBinary()
					_ = yym1409
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1385 || yy2arr1385 {
				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
	yym1410 := z.DecBinary()
	_ = yym1410
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1411 := r.ContainerType()
		if yyct1411 == codecSelferValueTypeMap1234 {
			yyl1411 := r.ReadMapStart()
			if yyl1411 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1411, d)
			}
		} else if yyct1411 == codecSelferValueTypeArray1234 {
			yyl1411 := r.ReadArrayStart()
			if yyl1411 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1411, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1412Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1412Slc
	var yyhl1412 bool = l >= 0
	for yyj1412 := 0; ; yyj1412++ {
		if yyhl1412 {
			if yyj1412 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1412Slc = r.DecodeBytes(yys1412Slc, true, true)
		yys1412 := string(yys1412Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1412 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1414 := &x.State
				yyv1414.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1415 := &x.LastTerminationState
				yyv1415.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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys1412)
		} // end switch yys1412
	} // end for yyj1412
	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 yyj1421 int
	var yyb1421 bool
	var yyhl1421 bool = l >= 0
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1423 := &x.State
		yyv1423.CodecDecodeSelf(d)
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1424 := &x.LastTerminationState
		yyv1424.CodecDecodeSelf(d)
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1421++
	if yyhl1421 {
		yyb1421 = yyj1421 > l
	} else {
		yyb1421 = r.CheckBreak()
	}
	if yyb1421 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1421++
		if yyhl1421 {
			yyb1421 = yyj1421 > l
		} else {
			yyb1421 = r.CheckBreak()
		}
		if yyb1421 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1421-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1430 := z.EncBinary()
	_ = yym1430
	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
	yym1431 := z.DecBinary()
	_ = yym1431
	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
	yym1432 := z.EncBinary()
	_ = yym1432
	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
	yym1433 := z.DecBinary()
	_ = yym1433
	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 {
		yym1434 := z.EncBinary()
		_ = yym1434
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1435 := !z.EncBinary()
			yy2arr1435 := z.EncBasicHandle().StructToArray
			var yyq1435 [6]bool
			_, _, _ = yysep1435, yyq1435, yy2arr1435
			const yyr1435 bool = false
			yyq1435[2] = true
			yyq1435[3] = true
			yyq1435[4] = x.Reason != ""
			yyq1435[5] = x.Message != ""
			var yynn1435 int
			if yyr1435 || yy2arr1435 {
				r.EncodeArrayStart(6)
			} else {
				yynn1435 = 2
				for _, b := range yyq1435 {
					if b {
						yynn1435++
					}
				}
				r.EncodeMapStart(yynn1435)
				yynn1435 = 0
			}
			if yyr1435 || yy2arr1435 {
				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 yyr1435 || yy2arr1435 {
				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 yyr1435 || yy2arr1435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1435[2] {
					yy1439 := &x.LastProbeTime
					yym1440 := z.EncBinary()
					_ = yym1440
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1439) {
					} else if yym1440 {
						z.EncBinaryMarshal(yy1439)
					} else if !yym1440 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1439)
					} else {
						z.EncFallback(yy1439)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1435[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1441 := &x.LastProbeTime
					yym1442 := z.EncBinary()
					_ = yym1442
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1441) {
					} else if yym1442 {
						z.EncBinaryMarshal(yy1441)
					} else if !yym1442 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1441)
					} else {
						z.EncFallback(yy1441)
					}
				}
			}
			if yyr1435 || yy2arr1435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1435[3] {
					yy1444 := &x.LastTransitionTime
					yym1445 := z.EncBinary()
					_ = yym1445
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1444) {
					} else if yym1445 {
						z.EncBinaryMarshal(yy1444)
					} else if !yym1445 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1444)
					} else {
						z.EncFallback(yy1444)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1435[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1446 := &x.LastTransitionTime
					yym1447 := z.EncBinary()
					_ = yym1447
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1446) {
					} else if yym1447 {
						z.EncBinaryMarshal(yy1446)
					} else if !yym1447 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1446)
					} else {
						z.EncFallback(yy1446)
					}
				}
			}
			if yyr1435 || yy2arr1435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1435[4] {
					yym1449 := z.EncBinary()
					_ = yym1449
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1435[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1450 := z.EncBinary()
					_ = yym1450
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1435 || yy2arr1435 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1435[5] {
					yym1452 := z.EncBinary()
					_ = yym1452
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1435[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1453 := z.EncBinary()
					_ = yym1453
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1435 || yy2arr1435 {
				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
	yym1454 := z.DecBinary()
	_ = yym1454
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1455 := r.ContainerType()
		if yyct1455 == codecSelferValueTypeMap1234 {
			yyl1455 := r.ReadMapStart()
			if yyl1455 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1455, d)
			}
		} else if yyct1455 == codecSelferValueTypeArray1234 {
			yyl1455 := r.ReadArrayStart()
			if yyl1455 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1455, 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 yys1456Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1456Slc
	var yyhl1456 bool = l >= 0
	for yyj1456 := 0; ; yyj1456++ {
		if yyhl1456 {
			if yyj1456 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1456Slc = r.DecodeBytes(yys1456Slc, true, true)
		yys1456 := string(yys1456Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1456 {
		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 {
				yyv1459 := &x.LastProbeTime
				yym1460 := z.DecBinary()
				_ = yym1460
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1459) {
				} else if yym1460 {
					z.DecBinaryUnmarshal(yyv1459)
				} else if !yym1460 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1459)
				} else {
					z.DecFallback(yyv1459, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1461 := &x.LastTransitionTime
				yym1462 := z.DecBinary()
				_ = yym1462
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1461) {
				} else if yym1462 {
					z.DecBinaryUnmarshal(yyv1461)
				} else if !yym1462 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1461)
				} else {
					z.DecFallback(yyv1461, 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, yys1456)
		} // end switch yys1456
	} // end for yyj1456
	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 yyj1465 int
	var yyb1465 bool
	var yyhl1465 bool = l >= 0
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1468 := &x.LastProbeTime
		yym1469 := z.DecBinary()
		_ = yym1469
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1468) {
		} else if yym1469 {
			z.DecBinaryUnmarshal(yyv1468)
		} else if !yym1469 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1468)
		} else {
			z.DecFallback(yyv1468, false)
		}
	}
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1470 := &x.LastTransitionTime
		yym1471 := z.DecBinary()
		_ = yym1471
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1470) {
		} else if yym1471 {
			z.DecBinaryUnmarshal(yyv1470)
		} else if !yym1471 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1470)
		} else {
			z.DecFallback(yyv1470, false)
		}
	}
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1465++
	if yyhl1465 {
		yyb1465 = yyj1465 > l
	} else {
		yyb1465 = r.CheckBreak()
	}
	if yyb1465 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1465++
		if yyhl1465 {
			yyb1465 = yyj1465 > l
		} else {
			yyb1465 = r.CheckBreak()
		}
		if yyb1465 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1465-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1474 := z.EncBinary()
	_ = yym1474
	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
	yym1475 := z.DecBinary()
	_ = yym1475
	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 {
		yym1476 := z.EncBinary()
		_ = yym1476
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1477 := !z.EncBinary()
			yy2arr1477 := z.EncBasicHandle().StructToArray
			var yyq1477 [4]bool
			_, _, _ = yysep1477, yyq1477, yy2arr1477
			const yyr1477 bool = false
			yyq1477[0] = x.Kind != ""
			yyq1477[1] = x.APIVersion != ""
			yyq1477[2] = true
			var yynn1477 int
			if yyr1477 || yy2arr1477 {
				r.EncodeArrayStart(4)
			} else {
				yynn1477 = 1
				for _, b := range yyq1477 {
					if b {
						yynn1477++
					}
				}
				r.EncodeMapStart(yynn1477)
				yynn1477 = 0
			}
			if yyr1477 || yy2arr1477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1477[0] {
					yym1479 := z.EncBinary()
					_ = yym1479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1477[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1480 := z.EncBinary()
					_ = yym1480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1477 || yy2arr1477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1477[1] {
					yym1482 := z.EncBinary()
					_ = yym1482
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1477[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1483 := z.EncBinary()
					_ = yym1483
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1477 || yy2arr1477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1477[2] {
					yy1485 := &x.ListMeta
					yym1486 := z.EncBinary()
					_ = yym1486
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1485) {
					} else {
						z.EncFallback(yy1485)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1477[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1487 := &x.ListMeta
					yym1488 := z.EncBinary()
					_ = yym1488
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1487) {
					} else {
						z.EncFallback(yy1487)
					}
				}
			}
			if yyr1477 || yy2arr1477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1490 := z.EncBinary()
					_ = yym1490
					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 {
					yym1491 := z.EncBinary()
					_ = yym1491
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yyr1477 || yy2arr1477 {
				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
	yym1492 := z.DecBinary()
	_ = yym1492
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1493 := r.ContainerType()
		if yyct1493 == codecSelferValueTypeMap1234 {
			yyl1493 := r.ReadMapStart()
			if yyl1493 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1493, d)
			}
		} else if yyct1493 == codecSelferValueTypeArray1234 {
			yyl1493 := r.ReadArrayStart()
			if yyl1493 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1493, 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 yys1494Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1494Slc
	var yyhl1494 bool = l >= 0
	for yyj1494 := 0; ; yyj1494++ {
		if yyhl1494 {
			if yyj1494 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1494Slc = r.DecodeBytes(yys1494Slc, true, true)
		yys1494 := string(yys1494Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1494 {
		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 {
				yyv1497 := &x.ListMeta
				yym1498 := z.DecBinary()
				_ = yym1498
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1497) {
				} else {
					z.DecFallback(yyv1497, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1499 := &x.Items
				yym1500 := z.DecBinary()
				_ = yym1500
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1499), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1494)
		} // end switch yys1494
	} // end for yyj1494
	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 yyj1501 int
	var yyb1501 bool
	var yyhl1501 bool = l >= 0
	yyj1501++
	if yyhl1501 {
		yyb1501 = yyj1501 > l
	} else {
		yyb1501 = r.CheckBreak()
	}
	if yyb1501 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1501++
	if yyhl1501 {
		yyb1501 = yyj1501 > l
	} else {
		yyb1501 = r.CheckBreak()
	}
	if yyb1501 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1501++
	if yyhl1501 {
		yyb1501 = yyj1501 > l
	} else {
		yyb1501 = r.CheckBreak()
	}
	if yyb1501 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1504 := &x.ListMeta
		yym1505 := z.DecBinary()
		_ = yym1505
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1504) {
		} else {
			z.DecFallback(yyv1504, false)
		}
	}
	yyj1501++
	if yyhl1501 {
		yyb1501 = yyj1501 > l
	} else {
		yyb1501 = r.CheckBreak()
	}
	if yyb1501 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1506 := &x.Items
		yym1507 := z.DecBinary()
		_ = yym1507
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1506), d)
		}
	}
	for {
		yyj1501++
		if yyhl1501 {
			yyb1501 = yyj1501 > l
		} else {
			yyb1501 = r.CheckBreak()
		}
		if yyb1501 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1501-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1508 := z.EncBinary()
	_ = yym1508
	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
	yym1509 := z.DecBinary()
	_ = yym1509
	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 {
		yym1510 := z.EncBinary()
		_ = yym1510
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1511 := !z.EncBinary()
			yy2arr1511 := z.EncBasicHandle().StructToArray
			var yyq1511 [11]bool
			_, _, _ = yysep1511, yyq1511, yy2arr1511
			const yyr1511 bool = false
			yyq1511[2] = x.RestartPolicy != ""
			yyq1511[3] = x.TerminationGracePeriodSeconds != nil
			yyq1511[4] = x.ActiveDeadlineSeconds != nil
			yyq1511[5] = x.DNSPolicy != ""
			yyq1511[6] = len(x.NodeSelector) != 0
			yyq1511[8] = x.NodeName != ""
			yyq1511[9] = x.SecurityContext != nil
			yyq1511[10] = len(x.ImagePullSecrets) != 0
			var yynn1511 int
			if yyr1511 || yy2arr1511 {
				r.EncodeArrayStart(11)
			} else {
				yynn1511 = 3
				for _, b := range yyq1511 {
					if b {
						yynn1511++
					}
				}
				r.EncodeMapStart(yynn1511)
				yynn1511 = 0
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym1513 := z.EncBinary()
					_ = yym1513
					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 {
					yym1514 := z.EncBinary()
					_ = yym1514
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1516 := z.EncBinary()
					_ = yym1516
					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 {
					yym1517 := z.EncBinary()
					_ = yym1517
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1511[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1520 := *x.TerminationGracePeriodSeconds
						yym1521 := z.EncBinary()
						_ = yym1521
						if false {
						} else {
							r.EncodeInt(int64(yy1520))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1511[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1522 := *x.TerminationGracePeriodSeconds
						yym1523 := z.EncBinary()
						_ = yym1523
						if false {
						} else {
							r.EncodeInt(int64(yy1522))
						}
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1525 := *x.ActiveDeadlineSeconds
						yym1526 := z.EncBinary()
						_ = yym1526
						if false {
						} else {
							r.EncodeInt(int64(yy1525))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1511[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1527 := *x.ActiveDeadlineSeconds
						yym1528 := z.EncBinary()
						_ = yym1528
						if false {
						} else {
							r.EncodeInt(int64(yy1527))
						}
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1511[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1531 := z.EncBinary()
						_ = yym1531
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1511[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1532 := z.EncBinary()
						_ = yym1532
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1534 := z.EncBinary()
				_ = yym1534
				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)
				yym1535 := z.EncBinary()
				_ = yym1535
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[8] {
					yym1537 := z.EncBinary()
					_ = yym1537
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1511[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1538 := z.EncBinary()
					_ = yym1538
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[9] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1511[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 yyr1511 || yy2arr1511 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1511[10] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1541 := z.EncBinary()
						_ = yym1541
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1511[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1542 := z.EncBinary()
						_ = yym1542
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr1511 || yy2arr1511 {
				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
	yym1543 := z.DecBinary()
	_ = yym1543
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1544 := r.ContainerType()
		if yyct1544 == codecSelferValueTypeMap1234 {
			yyl1544 := r.ReadMapStart()
			if yyl1544 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1544, d)
			}
		} else if yyct1544 == codecSelferValueTypeArray1234 {
			yyl1544 := r.ReadArrayStart()
			if yyl1544 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1544, 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 yys1545Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1545Slc
	var yyhl1545 bool = l >= 0
	for yyj1545 := 0; ; yyj1545++ {
		if yyhl1545 {
			if yyj1545 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1545Slc = r.DecodeBytes(yys1545Slc, true, true)
		yys1545 := string(yys1545Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1545 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv1546 := &x.Volumes
				yym1547 := z.DecBinary()
				_ = yym1547
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv1546), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv1548 := &x.Containers
				yym1549 := z.DecBinary()
				_ = yym1549
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv1548), 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)
				}
				yym1552 := z.DecBinary()
				_ = yym1552
				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)
				}
				yym1554 := z.DecBinary()
				_ = yym1554
				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 {
				yyv1556 := &x.NodeSelector
				yym1557 := z.DecBinary()
				_ = yym1557
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1556, 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 {
				yyv1561 := &x.ImagePullSecrets
				yym1562 := z.DecBinary()
				_ = yym1562
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1561), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1545)
		} // end switch yys1545
	} // end for yyj1545
	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 yyj1563 int
	var yyb1563 bool
	var yyhl1563 bool = l >= 0
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv1564 := &x.Volumes
		yym1565 := z.DecBinary()
		_ = yym1565
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv1564), d)
		}
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv1566 := &x.Containers
		yym1567 := z.DecBinary()
		_ = yym1567
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv1566), d)
		}
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		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)
		}
		yym1570 := z.DecBinary()
		_ = yym1570
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		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)
		}
		yym1572 := z.DecBinary()
		_ = yym1572
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv1574 := &x.NodeSelector
		yym1575 := z.DecBinary()
		_ = yym1575
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1574, false, d)
		}
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		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)
	}
	yyj1563++
	if yyhl1563 {
		yyb1563 = yyj1563 > l
	} else {
		yyb1563 = r.CheckBreak()
	}
	if yyb1563 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv1579 := &x.ImagePullSecrets
		yym1580 := z.DecBinary()
		_ = yym1580
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1579), d)
		}
	}
	for {
		yyj1563++
		if yyhl1563 {
			yyb1563 = yyj1563 > l
		} else {
			yyb1563 = r.CheckBreak()
		}
		if yyb1563 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1563-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 {
		yym1581 := z.EncBinary()
		_ = yym1581
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1582 := !z.EncBinary()
			yy2arr1582 := z.EncBasicHandle().StructToArray
			var yyq1582 [8]bool
			_, _, _ = yysep1582, yyq1582, yy2arr1582
			const yyr1582 bool = false
			yyq1582[0] = x.HostNetwork != false
			yyq1582[1] = x.HostPID != false
			yyq1582[2] = x.HostIPC != false
			yyq1582[3] = x.SELinuxOptions != nil
			yyq1582[4] = x.RunAsUser != nil
			yyq1582[5] = x.RunAsNonRoot != nil
			yyq1582[6] = len(x.SupplementalGroups) != 0
			yyq1582[7] = x.FSGroup != nil
			var yynn1582 int
			if yyr1582 || yy2arr1582 {
				r.EncodeArrayStart(8)
			} else {
				yynn1582 = 0
				for _, b := range yyq1582 {
					if b {
						yynn1582++
					}
				}
				r.EncodeMapStart(yynn1582)
				yynn1582 = 0
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[0] {
					yym1584 := z.EncBinary()
					_ = yym1584
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1582[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1585 := z.EncBinary()
					_ = yym1585
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[1] {
					yym1587 := z.EncBinary()
					_ = yym1587
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1582[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1588 := z.EncBinary()
					_ = yym1588
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[2] {
					yym1590 := z.EncBinary()
					_ = yym1590
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1582[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1591 := z.EncBinary()
					_ = yym1591
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[3] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1582[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 yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[4] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1594 := *x.RunAsUser
						yym1595 := z.EncBinary()
						_ = yym1595
						if false {
						} else {
							r.EncodeInt(int64(yy1594))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1582[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1596 := *x.RunAsUser
						yym1597 := z.EncBinary()
						_ = yym1597
						if false {
						} else {
							r.EncodeInt(int64(yy1596))
						}
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[5] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1599 := *x.RunAsNonRoot
						yym1600 := z.EncBinary()
						_ = yym1600
						if false {
						} else {
							r.EncodeBool(bool(yy1599))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1582[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1601 := *x.RunAsNonRoot
						yym1602 := z.EncBinary()
						_ = yym1602
						if false {
						} else {
							r.EncodeBool(bool(yy1601))
						}
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[6] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1604 := z.EncBinary()
						_ = yym1604
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1582[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1605 := z.EncBinary()
						_ = yym1605
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1582[7] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1607 := *x.FSGroup
						yym1608 := z.EncBinary()
						_ = yym1608
						if false {
						} else {
							r.EncodeInt(int64(yy1607))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1582[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1609 := *x.FSGroup
						yym1610 := z.EncBinary()
						_ = yym1610
						if false {
						} else {
							r.EncodeInt(int64(yy1609))
						}
					}
				}
			}
			if yyr1582 || yy2arr1582 {
				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
	yym1611 := z.DecBinary()
	_ = yym1611
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1612 := r.ContainerType()
		if yyct1612 == codecSelferValueTypeMap1234 {
			yyl1612 := r.ReadMapStart()
			if yyl1612 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1612, d)
			}
		} else if yyct1612 == codecSelferValueTypeArray1234 {
			yyl1612 := r.ReadArrayStart()
			if yyl1612 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1612, 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 yys1613Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1613Slc
	var yyhl1613 bool = l >= 0
	for yyj1613 := 0; ; yyj1613++ {
		if yyhl1613 {
			if yyj1613 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1613Slc = r.DecodeBytes(yys1613Slc, true, true)
		yys1613 := string(yys1613Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1613 {
		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)
				}
				yym1619 := z.DecBinary()
				_ = yym1619
				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)
				}
				yym1621 := z.DecBinary()
				_ = yym1621
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv1622 := &x.SupplementalGroups
				yym1623 := z.DecBinary()
				_ = yym1623
				if false {
				} else {
					z.F.DecSliceInt64X(yyv1622, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym1625 := z.DecBinary()
				_ = yym1625
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1613)
		} // end switch yys1613
	} // end for yyj1613
	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 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() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	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.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.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.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym1632 := z.DecBinary()
		_ = yym1632
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	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.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym1634 := z.DecBinary()
		_ = yym1634
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv1635 := &x.SupplementalGroups
		yym1636 := z.DecBinary()
		_ = yym1636
		if false {
		} else {
			z.F.DecSliceInt64X(yyv1635, false, 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.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym1638 := z.DecBinary()
		_ = yym1638
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	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 *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1639 := z.EncBinary()
		_ = yym1639
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1640 := !z.EncBinary()
			yy2arr1640 := z.EncBasicHandle().StructToArray
			var yyq1640 [8]bool
			_, _, _ = yysep1640, yyq1640, yy2arr1640
			const yyr1640 bool = false
			yyq1640[0] = x.Phase != ""
			yyq1640[1] = len(x.Conditions) != 0
			yyq1640[2] = x.Message != ""
			yyq1640[3] = x.Reason != ""
			yyq1640[4] = x.HostIP != ""
			yyq1640[5] = x.PodIP != ""
			yyq1640[6] = x.StartTime != nil
			yyq1640[7] = len(x.ContainerStatuses) != 0
			var yynn1640 int
			if yyr1640 || yy2arr1640 {
				r.EncodeArrayStart(8)
			} else {
				yynn1640 = 0
				for _, b := range yyq1640 {
					if b {
						yynn1640++
					}
				}
				r.EncodeMapStart(yynn1640)
				yynn1640 = 0
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1640[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1643 := z.EncBinary()
						_ = yym1643
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1640[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1644 := z.EncBinary()
						_ = yym1644
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[2] {
					yym1646 := z.EncBinary()
					_ = yym1646
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1640[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1647 := z.EncBinary()
					_ = yym1647
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[3] {
					yym1649 := z.EncBinary()
					_ = yym1649
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1640[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1650 := z.EncBinary()
					_ = yym1650
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[4] {
					yym1652 := z.EncBinary()
					_ = yym1652
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1640[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1653 := z.EncBinary()
					_ = yym1653
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[5] {
					yym1655 := z.EncBinary()
					_ = yym1655
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1640[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1656 := z.EncBinary()
					_ = yym1656
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1658 := z.EncBinary()
						_ = yym1658
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1658 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1658 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1640[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1659 := z.EncBinary()
						_ = yym1659
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1659 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1659 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1640[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1661 := z.EncBinary()
						_ = yym1661
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1640[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1662 := z.EncBinary()
						_ = yym1662
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yyr1640 || yy2arr1640 {
				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
	yym1663 := z.DecBinary()
	_ = yym1663
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1664 := r.ContainerType()
		if yyct1664 == codecSelferValueTypeMap1234 {
			yyl1664 := r.ReadMapStart()
			if yyl1664 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1664, d)
			}
		} else if yyct1664 == codecSelferValueTypeArray1234 {
			yyl1664 := r.ReadArrayStart()
			if yyl1664 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1664, 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 yys1665Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1665Slc
	var yyhl1665 bool = l >= 0
	for yyj1665 := 0; ; yyj1665++ {
		if yyhl1665 {
			if yyj1665 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1665Slc = r.DecodeBytes(yys1665Slc, true, true)
		yys1665 := string(yys1665Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1665 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv1667 := &x.Conditions
				yym1668 := z.DecBinary()
				_ = yym1668
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv1667), 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)
				}
				yym1674 := z.DecBinary()
				_ = yym1674
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym1674 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym1674 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv1675 := &x.ContainerStatuses
				yym1676 := z.DecBinary()
				_ = yym1676
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv1675), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1665)
		} // end switch yys1665
	} // end for yyj1665
	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 yyj1677 int
	var yyb1677 bool
	var yyhl1677 bool = l >= 0
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv1679 := &x.Conditions
		yym1680 := z.DecBinary()
		_ = yym1680
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv1679), d)
		}
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		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)
		}
		yym1686 := z.DecBinary()
		_ = yym1686
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym1686 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym1686 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj1677++
	if yyhl1677 {
		yyb1677 = yyj1677 > l
	} else {
		yyb1677 = r.CheckBreak()
	}
	if yyb1677 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv1687 := &x.ContainerStatuses
		yym1688 := z.DecBinary()
		_ = yym1688
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv1687), d)
		}
	}
	for {
		yyj1677++
		if yyhl1677 {
			yyb1677 = yyj1677 > l
		} else {
			yyb1677 = r.CheckBreak()
		}
		if yyb1677 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1677-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 {
		yym1689 := z.EncBinary()
		_ = yym1689
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1690 := !z.EncBinary()
			yy2arr1690 := z.EncBasicHandle().StructToArray
			var yyq1690 [4]bool
			_, _, _ = yysep1690, yyq1690, yy2arr1690
			const yyr1690 bool = false
			yyq1690[0] = x.Kind != ""
			yyq1690[1] = x.APIVersion != ""
			yyq1690[2] = true
			yyq1690[3] = true
			var yynn1690 int
			if yyr1690 || yy2arr1690 {
				r.EncodeArrayStart(4)
			} else {
				yynn1690 = 0
				for _, b := range yyq1690 {
					if b {
						yynn1690++
					}
				}
				r.EncodeMapStart(yynn1690)
				yynn1690 = 0
			}
			if yyr1690 || yy2arr1690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1690[0] {
					yym1692 := z.EncBinary()
					_ = yym1692
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1690[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1693 := z.EncBinary()
					_ = yym1693
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1690 || yy2arr1690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1690[1] {
					yym1695 := z.EncBinary()
					_ = yym1695
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1690[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1696 := z.EncBinary()
					_ = yym1696
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1690 || yy2arr1690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1690[2] {
					yy1698 := &x.ObjectMeta
					yy1698.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1690[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1699 := &x.ObjectMeta
					yy1699.CodecEncodeSelf(e)
				}
			}
			if yyr1690 || yy2arr1690 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1690[3] {
					yy1701 := &x.Status
					yy1701.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1690[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1702 := &x.Status
					yy1702.CodecEncodeSelf(e)
				}
			}
			if yyr1690 || yy2arr1690 {
				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
	yym1703 := z.DecBinary()
	_ = yym1703
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1704 := r.ContainerType()
		if yyct1704 == codecSelferValueTypeMap1234 {
			yyl1704 := r.ReadMapStart()
			if yyl1704 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1704, d)
			}
		} else if yyct1704 == codecSelferValueTypeArray1234 {
			yyl1704 := r.ReadArrayStart()
			if yyl1704 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1704, 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 yys1705Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1705Slc
	var yyhl1705 bool = l >= 0
	for yyj1705 := 0; ; yyj1705++ {
		if yyhl1705 {
			if yyj1705 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1705Slc = r.DecodeBytes(yys1705Slc, true, true)
		yys1705 := string(yys1705Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1705 {
		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 {
				yyv1708 := &x.ObjectMeta
				yyv1708.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1709 := &x.Status
				yyv1709.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1705)
		} // end switch yys1705
	} // end for yyj1705
	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 yyj1710 int
	var yyb1710 bool
	var yyhl1710 bool = l >= 0
	yyj1710++
	if yyhl1710 {
		yyb1710 = yyj1710 > l
	} else {
		yyb1710 = r.CheckBreak()
	}
	if yyb1710 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1710++
	if yyhl1710 {
		yyb1710 = yyj1710 > l
	} else {
		yyb1710 = r.CheckBreak()
	}
	if yyb1710 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1710++
	if yyhl1710 {
		yyb1710 = yyj1710 > l
	} else {
		yyb1710 = r.CheckBreak()
	}
	if yyb1710 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1713 := &x.ObjectMeta
		yyv1713.CodecDecodeSelf(d)
	}
	yyj1710++
	if yyhl1710 {
		yyb1710 = yyj1710 > l
	} else {
		yyb1710 = r.CheckBreak()
	}
	if yyb1710 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1714 := &x.Status
		yyv1714.CodecDecodeSelf(d)
	}
	for {
		yyj1710++
		if yyhl1710 {
			yyb1710 = yyj1710 > l
		} else {
			yyb1710 = r.CheckBreak()
		}
		if yyb1710 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1710-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 {
		yym1715 := z.EncBinary()
		_ = yym1715
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1716 := !z.EncBinary()
			yy2arr1716 := z.EncBasicHandle().StructToArray
			var yyq1716 [5]bool
			_, _, _ = yysep1716, yyq1716, yy2arr1716
			const yyr1716 bool = false
			yyq1716[0] = x.Kind != ""
			yyq1716[1] = x.APIVersion != ""
			yyq1716[2] = true
			yyq1716[3] = true
			yyq1716[4] = true
			var yynn1716 int
			if yyr1716 || yy2arr1716 {
				r.EncodeArrayStart(5)
			} else {
				yynn1716 = 0
				for _, b := range yyq1716 {
					if b {
						yynn1716++
					}
				}
				r.EncodeMapStart(yynn1716)
				yynn1716 = 0
			}
			if yyr1716 || yy2arr1716 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1716[0] {
					yym1718 := z.EncBinary()
					_ = yym1718
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1716[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1719 := z.EncBinary()
					_ = yym1719
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1716 || yy2arr1716 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1716[1] {
					yym1721 := z.EncBinary()
					_ = yym1721
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1716[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1722 := z.EncBinary()
					_ = yym1722
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1716 || yy2arr1716 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1716[2] {
					yy1724 := &x.ObjectMeta
					yy1724.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1716[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1725 := &x.ObjectMeta
					yy1725.CodecEncodeSelf(e)
				}
			}
			if yyr1716 || yy2arr1716 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1716[3] {
					yy1727 := &x.Spec
					yy1727.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1716[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1728 := &x.Spec
					yy1728.CodecEncodeSelf(e)
				}
			}
			if yyr1716 || yy2arr1716 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1716[4] {
					yy1730 := &x.Status
					yy1730.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1716[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1731 := &x.Status
					yy1731.CodecEncodeSelf(e)
				}
			}
			if yyr1716 || yy2arr1716 {
				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
	yym1732 := z.DecBinary()
	_ = yym1732
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1733 := r.ContainerType()
		if yyct1733 == codecSelferValueTypeMap1234 {
			yyl1733 := r.ReadMapStart()
			if yyl1733 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1733, d)
			}
		} else if yyct1733 == codecSelferValueTypeArray1234 {
			yyl1733 := r.ReadArrayStart()
			if yyl1733 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1733, 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 yys1734Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1734Slc
	var yyhl1734 bool = l >= 0
	for yyj1734 := 0; ; yyj1734++ {
		if yyhl1734 {
			if yyj1734 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1734Slc = r.DecodeBytes(yys1734Slc, true, true)
		yys1734 := string(yys1734Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1734 {
		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 {
				yyv1737 := &x.ObjectMeta
				yyv1737.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1738 := &x.Spec
				yyv1738.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1739 := &x.Status
				yyv1739.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1734)
		} // end switch yys1734
	} // end for yyj1734
	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 yyj1740 int
	var yyb1740 bool
	var yyhl1740 bool = l >= 0
	yyj1740++
	if yyhl1740 {
		yyb1740 = yyj1740 > l
	} else {
		yyb1740 = r.CheckBreak()
	}
	if yyb1740 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1740++
	if yyhl1740 {
		yyb1740 = yyj1740 > l
	} else {
		yyb1740 = r.CheckBreak()
	}
	if yyb1740 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1740++
	if yyhl1740 {
		yyb1740 = yyj1740 > l
	} else {
		yyb1740 = r.CheckBreak()
	}
	if yyb1740 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1743 := &x.ObjectMeta
		yyv1743.CodecDecodeSelf(d)
	}
	yyj1740++
	if yyhl1740 {
		yyb1740 = yyj1740 > l
	} else {
		yyb1740 = r.CheckBreak()
	}
	if yyb1740 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1744 := &x.Spec
		yyv1744.CodecDecodeSelf(d)
	}
	yyj1740++
	if yyhl1740 {
		yyb1740 = yyj1740 > l
	} else {
		yyb1740 = r.CheckBreak()
	}
	if yyb1740 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1745 := &x.Status
		yyv1745.CodecDecodeSelf(d)
	}
	for {
		yyj1740++
		if yyhl1740 {
			yyb1740 = yyj1740 > l
		} else {
			yyb1740 = r.CheckBreak()
		}
		if yyb1740 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1740-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 {
		yym1746 := z.EncBinary()
		_ = yym1746
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1747 := !z.EncBinary()
			yy2arr1747 := z.EncBasicHandle().StructToArray
			var yyq1747 [2]bool
			_, _, _ = yysep1747, yyq1747, yy2arr1747
			const yyr1747 bool = false
			yyq1747[0] = true
			yyq1747[1] = true
			var yynn1747 int
			if yyr1747 || yy2arr1747 {
				r.EncodeArrayStart(2)
			} else {
				yynn1747 = 0
				for _, b := range yyq1747 {
					if b {
						yynn1747++
					}
				}
				r.EncodeMapStart(yynn1747)
				yynn1747 = 0
			}
			if yyr1747 || yy2arr1747 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1747[0] {
					yy1749 := &x.ObjectMeta
					yy1749.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1747[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1750 := &x.ObjectMeta
					yy1750.CodecEncodeSelf(e)
				}
			}
			if yyr1747 || yy2arr1747 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1747[1] {
					yy1752 := &x.Spec
					yy1752.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1747[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1753 := &x.Spec
					yy1753.CodecEncodeSelf(e)
				}
			}
			if yyr1747 || yy2arr1747 {
				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
	yym1754 := z.DecBinary()
	_ = yym1754
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1755 := r.ContainerType()
		if yyct1755 == codecSelferValueTypeMap1234 {
			yyl1755 := r.ReadMapStart()
			if yyl1755 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1755, d)
			}
		} else if yyct1755 == codecSelferValueTypeArray1234 {
			yyl1755 := r.ReadArrayStart()
			if yyl1755 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1755, 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 yys1756Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1756Slc
	var yyhl1756 bool = l >= 0
	for yyj1756 := 0; ; yyj1756++ {
		if yyhl1756 {
			if yyj1756 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1756Slc = r.DecodeBytes(yys1756Slc, true, true)
		yys1756 := string(yys1756Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1756 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1757 := &x.ObjectMeta
				yyv1757.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1758 := &x.Spec
				yyv1758.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1756)
		} // end switch yys1756
	} // end for yyj1756
	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 yyj1759 int
	var yyb1759 bool
	var yyhl1759 bool = l >= 0
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1760 := &x.ObjectMeta
		yyv1760.CodecDecodeSelf(d)
	}
	yyj1759++
	if yyhl1759 {
		yyb1759 = yyj1759 > l
	} else {
		yyb1759 = r.CheckBreak()
	}
	if yyb1759 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1761 := &x.Spec
		yyv1761.CodecDecodeSelf(d)
	}
	for {
		yyj1759++
		if yyhl1759 {
			yyb1759 = yyj1759 > l
		} else {
			yyb1759 = r.CheckBreak()
		}
		if yyb1759 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1759-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 {
		yym1762 := z.EncBinary()
		_ = yym1762
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1763 := !z.EncBinary()
			yy2arr1763 := z.EncBasicHandle().StructToArray
			var yyq1763 [4]bool
			_, _, _ = yysep1763, yyq1763, yy2arr1763
			const yyr1763 bool = false
			yyq1763[0] = x.Kind != ""
			yyq1763[1] = x.APIVersion != ""
			yyq1763[2] = true
			yyq1763[3] = true
			var yynn1763 int
			if yyr1763 || yy2arr1763 {
				r.EncodeArrayStart(4)
			} else {
				yynn1763 = 0
				for _, b := range yyq1763 {
					if b {
						yynn1763++
					}
				}
				r.EncodeMapStart(yynn1763)
				yynn1763 = 0
			}
			if yyr1763 || yy2arr1763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1763[0] {
					yym1765 := z.EncBinary()
					_ = yym1765
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1763[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1766 := z.EncBinary()
					_ = yym1766
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1763 || yy2arr1763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1763[1] {
					yym1768 := z.EncBinary()
					_ = yym1768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1763[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1769 := z.EncBinary()
					_ = yym1769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1763 || yy2arr1763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1763[2] {
					yy1771 := &x.ObjectMeta
					yy1771.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1763[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1772 := &x.ObjectMeta
					yy1772.CodecEncodeSelf(e)
				}
			}
			if yyr1763 || yy2arr1763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1763[3] {
					yy1774 := &x.Template
					yy1774.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1763[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1775 := &x.Template
					yy1775.CodecEncodeSelf(e)
				}
			}
			if yyr1763 || yy2arr1763 {
				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
	yym1776 := z.DecBinary()
	_ = yym1776
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1777 := r.ContainerType()
		if yyct1777 == codecSelferValueTypeMap1234 {
			yyl1777 := r.ReadMapStart()
			if yyl1777 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1777, d)
			}
		} else if yyct1777 == codecSelferValueTypeArray1234 {
			yyl1777 := r.ReadArrayStart()
			if yyl1777 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1777, 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 yys1778Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1778Slc
	var yyhl1778 bool = l >= 0
	for yyj1778 := 0; ; yyj1778++ {
		if yyhl1778 {
			if yyj1778 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1778Slc = r.DecodeBytes(yys1778Slc, true, true)
		yys1778 := string(yys1778Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1778 {
		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 {
				yyv1781 := &x.ObjectMeta
				yyv1781.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv1782 := &x.Template
				yyv1782.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1778)
		} // end switch yys1778
	} // end for yyj1778
	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 yyj1783 int
	var yyb1783 bool
	var yyhl1783 bool = l >= 0
	yyj1783++
	if yyhl1783 {
		yyb1783 = yyj1783 > l
	} else {
		yyb1783 = r.CheckBreak()
	}
	if yyb1783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1783++
	if yyhl1783 {
		yyb1783 = yyj1783 > l
	} else {
		yyb1783 = r.CheckBreak()
	}
	if yyb1783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1783++
	if yyhl1783 {
		yyb1783 = yyj1783 > l
	} else {
		yyb1783 = r.CheckBreak()
	}
	if yyb1783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1786 := &x.ObjectMeta
		yyv1786.CodecDecodeSelf(d)
	}
	yyj1783++
	if yyhl1783 {
		yyb1783 = yyj1783 > l
	} else {
		yyb1783 = r.CheckBreak()
	}
	if yyb1783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv1787 := &x.Template
		yyv1787.CodecDecodeSelf(d)
	}
	for {
		yyj1783++
		if yyhl1783 {
			yyb1783 = yyj1783 > l
		} else {
			yyb1783 = r.CheckBreak()
		}
		if yyb1783 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1783-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 {
		yym1788 := z.EncBinary()
		_ = yym1788
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1789 := !z.EncBinary()
			yy2arr1789 := z.EncBasicHandle().StructToArray
			var yyq1789 [4]bool
			_, _, _ = yysep1789, yyq1789, yy2arr1789
			const yyr1789 bool = false
			yyq1789[0] = x.Kind != ""
			yyq1789[1] = x.APIVersion != ""
			yyq1789[2] = true
			var yynn1789 int
			if yyr1789 || yy2arr1789 {
				r.EncodeArrayStart(4)
			} else {
				yynn1789 = 1
				for _, b := range yyq1789 {
					if b {
						yynn1789++
					}
				}
				r.EncodeMapStart(yynn1789)
				yynn1789 = 0
			}
			if yyr1789 || yy2arr1789 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1789[0] {
					yym1791 := z.EncBinary()
					_ = yym1791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1789[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1792 := z.EncBinary()
					_ = yym1792
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1789 || yy2arr1789 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1789[1] {
					yym1794 := z.EncBinary()
					_ = yym1794
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1789[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1795 := z.EncBinary()
					_ = yym1795
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1789 || yy2arr1789 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1789[2] {
					yy1797 := &x.ListMeta
					yym1798 := z.EncBinary()
					_ = yym1798
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1797) {
					} else {
						z.EncFallback(yy1797)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1789[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1799 := &x.ListMeta
					yym1800 := z.EncBinary()
					_ = yym1800
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1799) {
					} else {
						z.EncFallback(yy1799)
					}
				}
			}
			if yyr1789 || yy2arr1789 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1802 := z.EncBinary()
					_ = yym1802
					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 {
					yym1803 := z.EncBinary()
					_ = yym1803
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yyr1789 || yy2arr1789 {
				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
	yym1804 := z.DecBinary()
	_ = yym1804
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1805 := r.ContainerType()
		if yyct1805 == codecSelferValueTypeMap1234 {
			yyl1805 := r.ReadMapStart()
			if yyl1805 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1805, d)
			}
		} else if yyct1805 == codecSelferValueTypeArray1234 {
			yyl1805 := r.ReadArrayStart()
			if yyl1805 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1805, 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 yys1806Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1806Slc
	var yyhl1806 bool = l >= 0
	for yyj1806 := 0; ; yyj1806++ {
		if yyhl1806 {
			if yyj1806 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1806Slc = r.DecodeBytes(yys1806Slc, true, true)
		yys1806 := string(yys1806Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1806 {
		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 {
				yyv1809 := &x.ListMeta
				yym1810 := z.DecBinary()
				_ = yym1810
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1809) {
				} else {
					z.DecFallback(yyv1809, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1811 := &x.Items
				yym1812 := z.DecBinary()
				_ = yym1812
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv1811), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1806)
		} // end switch yys1806
	} // end for yyj1806
	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 yyj1813 int
	var yyb1813 bool
	var yyhl1813 bool = l >= 0
	yyj1813++
	if yyhl1813 {
		yyb1813 = yyj1813 > l
	} else {
		yyb1813 = r.CheckBreak()
	}
	if yyb1813 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1813++
	if yyhl1813 {
		yyb1813 = yyj1813 > l
	} else {
		yyb1813 = r.CheckBreak()
	}
	if yyb1813 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1813++
	if yyhl1813 {
		yyb1813 = yyj1813 > l
	} else {
		yyb1813 = r.CheckBreak()
	}
	if yyb1813 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1816 := &x.ListMeta
		yym1817 := z.DecBinary()
		_ = yym1817
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1816) {
		} else {
			z.DecFallback(yyv1816, false)
		}
	}
	yyj1813++
	if yyhl1813 {
		yyb1813 = yyj1813 > l
	} else {
		yyb1813 = r.CheckBreak()
	}
	if yyb1813 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1818 := &x.Items
		yym1819 := z.DecBinary()
		_ = yym1819
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv1818), d)
		}
	}
	for {
		yyj1813++
		if yyhl1813 {
			yyb1813 = yyj1813 > l
		} else {
			yyb1813 = r.CheckBreak()
		}
		if yyb1813 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1813-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 {
		yym1820 := z.EncBinary()
		_ = yym1820
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1821 := !z.EncBinary()
			yy2arr1821 := z.EncBasicHandle().StructToArray
			var yyq1821 [3]bool
			_, _, _ = yysep1821, yyq1821, yy2arr1821
			const yyr1821 bool = false
			yyq1821[2] = x.Template != nil
			var yynn1821 int
			if yyr1821 || yy2arr1821 {
				r.EncodeArrayStart(3)
			} else {
				yynn1821 = 2
				for _, b := range yyq1821 {
					if b {
						yynn1821++
					}
				}
				r.EncodeMapStart(yynn1821)
				yynn1821 = 0
			}
			if yyr1821 || yy2arr1821 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1823 := z.EncBinary()
				_ = yym1823
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1824 := z.EncBinary()
				_ = yym1824
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1821 || yy2arr1821 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym1826 := z.EncBinary()
					_ = yym1826
					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 {
					yym1827 := z.EncBinary()
					_ = yym1827
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr1821 || yy2arr1821 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1821[2] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1821[2] {
					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 yyr1821 || yy2arr1821 {
				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
	yym1829 := z.DecBinary()
	_ = yym1829
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1830 := r.ContainerType()
		if yyct1830 == codecSelferValueTypeMap1234 {
			yyl1830 := r.ReadMapStart()
			if yyl1830 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1830, d)
			}
		} else if yyct1830 == codecSelferValueTypeArray1234 {
			yyl1830 := r.ReadArrayStart()
			if yyl1830 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1830, 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 yys1831Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1831Slc
	var yyhl1831 bool = l >= 0
	for yyj1831 := 0; ; yyj1831++ {
		if yyhl1831 {
			if yyj1831 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1831Slc = r.DecodeBytes(yys1831Slc, true, true)
		yys1831 := string(yys1831Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1831 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1833 := &x.Selector
				yym1834 := z.DecBinary()
				_ = yym1834
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1833, 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, yys1831)
		} // end switch yys1831
	} // end for yyj1831
	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 yyj1836 int
	var yyb1836 bool
	var yyhl1836 bool = l >= 0
	yyj1836++
	if yyhl1836 {
		yyb1836 = yyj1836 > l
	} else {
		yyb1836 = r.CheckBreak()
	}
	if yyb1836 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1836++
	if yyhl1836 {
		yyb1836 = yyj1836 > l
	} else {
		yyb1836 = r.CheckBreak()
	}
	if yyb1836 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1838 := &x.Selector
		yym1839 := z.DecBinary()
		_ = yym1839
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1838, false, d)
		}
	}
	yyj1836++
	if yyhl1836 {
		yyb1836 = yyj1836 > l
	} else {
		yyb1836 = r.CheckBreak()
	}
	if yyb1836 {
		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 {
		yyj1836++
		if yyhl1836 {
			yyb1836 = yyj1836 > l
		} else {
			yyb1836 = r.CheckBreak()
		}
		if yyb1836 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1836-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 {
		yym1841 := z.EncBinary()
		_ = yym1841
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1842 := !z.EncBinary()
			yy2arr1842 := z.EncBasicHandle().StructToArray
			var yyq1842 [2]bool
			_, _, _ = yysep1842, yyq1842, yy2arr1842
			const yyr1842 bool = false
			yyq1842[1] = x.ObservedGeneration != 0
			var yynn1842 int
			if yyr1842 || yy2arr1842 {
				r.EncodeArrayStart(2)
			} else {
				yynn1842 = 1
				for _, b := range yyq1842 {
					if b {
						yynn1842++
					}
				}
				r.EncodeMapStart(yynn1842)
				yynn1842 = 0
			}
			if yyr1842 || yy2arr1842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1844 := z.EncBinary()
				_ = yym1844
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1845 := z.EncBinary()
				_ = yym1845
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1842 || yy2arr1842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1842[1] {
					yym1847 := z.EncBinary()
					_ = yym1847
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1842[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1848 := z.EncBinary()
					_ = yym1848
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yyr1842 || yy2arr1842 {
				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
	yym1849 := z.DecBinary()
	_ = yym1849
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1850 := r.ContainerType()
		if yyct1850 == codecSelferValueTypeMap1234 {
			yyl1850 := r.ReadMapStart()
			if yyl1850 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1850, d)
			}
		} else if yyct1850 == codecSelferValueTypeArray1234 {
			yyl1850 := r.ReadArrayStart()
			if yyl1850 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1850, 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 yys1851Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1851Slc
	var yyhl1851 bool = l >= 0
	for yyj1851 := 0; ; yyj1851++ {
		if yyhl1851 {
			if yyj1851 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1851Slc = r.DecodeBytes(yys1851Slc, true, true)
		yys1851 := string(yys1851Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1851 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1851)
		} // end switch yys1851
	} // end for yyj1851
	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 yyj1854 int
	var yyb1854 bool
	var yyhl1854 bool = l >= 0
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	for {
		yyj1854++
		if yyhl1854 {
			yyb1854 = yyj1854 > l
		} else {
			yyb1854 = r.CheckBreak()
		}
		if yyb1854 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1854-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 {
		yym1857 := z.EncBinary()
		_ = yym1857
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1858 := !z.EncBinary()
			yy2arr1858 := z.EncBasicHandle().StructToArray
			var yyq1858 [5]bool
			_, _, _ = yysep1858, yyq1858, yy2arr1858
			const yyr1858 bool = false
			yyq1858[0] = x.Kind != ""
			yyq1858[1] = x.APIVersion != ""
			yyq1858[2] = true
			yyq1858[3] = true
			yyq1858[4] = true
			var yynn1858 int
			if yyr1858 || yy2arr1858 {
				r.EncodeArrayStart(5)
			} else {
				yynn1858 = 0
				for _, b := range yyq1858 {
					if b {
						yynn1858++
					}
				}
				r.EncodeMapStart(yynn1858)
				yynn1858 = 0
			}
			if yyr1858 || yy2arr1858 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1858[0] {
					yym1860 := z.EncBinary()
					_ = yym1860
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1858[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1861 := z.EncBinary()
					_ = yym1861
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1858 || yy2arr1858 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1858[1] {
					yym1863 := z.EncBinary()
					_ = yym1863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1858[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1864 := z.EncBinary()
					_ = yym1864
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1858 || yy2arr1858 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1858[2] {
					yy1866 := &x.ObjectMeta
					yy1866.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1858[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1867 := &x.ObjectMeta
					yy1867.CodecEncodeSelf(e)
				}
			}
			if yyr1858 || yy2arr1858 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1858[3] {
					yy1869 := &x.Spec
					yy1869.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1858[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1870 := &x.Spec
					yy1870.CodecEncodeSelf(e)
				}
			}
			if yyr1858 || yy2arr1858 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1858[4] {
					yy1872 := &x.Status
					yy1872.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1858[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1873 := &x.Status
					yy1873.CodecEncodeSelf(e)
				}
			}
			if yyr1858 || yy2arr1858 {
				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
	yym1874 := z.DecBinary()
	_ = yym1874
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1875 := r.ContainerType()
		if yyct1875 == codecSelferValueTypeMap1234 {
			yyl1875 := r.ReadMapStart()
			if yyl1875 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1875, d)
			}
		} else if yyct1875 == codecSelferValueTypeArray1234 {
			yyl1875 := r.ReadArrayStart()
			if yyl1875 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1875, 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 yys1876Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1876Slc
	var yyhl1876 bool = l >= 0
	for yyj1876 := 0; ; yyj1876++ {
		if yyhl1876 {
			if yyj1876 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1876Slc = r.DecodeBytes(yys1876Slc, true, true)
		yys1876 := string(yys1876Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1876 {
		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 {
				yyv1879 := &x.ObjectMeta
				yyv1879.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv1880 := &x.Spec
				yyv1880.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv1881 := &x.Status
				yyv1881.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1876)
		} // end switch yys1876
	} // end for yyj1876
	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 yyj1882 int
	var yyb1882 bool
	var yyhl1882 bool = l >= 0
	yyj1882++
	if yyhl1882 {
		yyb1882 = yyj1882 > l
	} else {
		yyb1882 = r.CheckBreak()
	}
	if yyb1882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1882++
	if yyhl1882 {
		yyb1882 = yyj1882 > l
	} else {
		yyb1882 = r.CheckBreak()
	}
	if yyb1882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1882++
	if yyhl1882 {
		yyb1882 = yyj1882 > l
	} else {
		yyb1882 = r.CheckBreak()
	}
	if yyb1882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1885 := &x.ObjectMeta
		yyv1885.CodecDecodeSelf(d)
	}
	yyj1882++
	if yyhl1882 {
		yyb1882 = yyj1882 > l
	} else {
		yyb1882 = r.CheckBreak()
	}
	if yyb1882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv1886 := &x.Spec
		yyv1886.CodecDecodeSelf(d)
	}
	yyj1882++
	if yyhl1882 {
		yyb1882 = yyj1882 > l
	} else {
		yyb1882 = r.CheckBreak()
	}
	if yyb1882 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv1887 := &x.Status
		yyv1887.CodecDecodeSelf(d)
	}
	for {
		yyj1882++
		if yyhl1882 {
			yyb1882 = yyj1882 > l
		} else {
			yyb1882 = r.CheckBreak()
		}
		if yyb1882 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1882-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 {
		yym1888 := z.EncBinary()
		_ = yym1888
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1889 := !z.EncBinary()
			yy2arr1889 := z.EncBasicHandle().StructToArray
			var yyq1889 [4]bool
			_, _, _ = yysep1889, yyq1889, yy2arr1889
			const yyr1889 bool = false
			yyq1889[0] = x.Kind != ""
			yyq1889[1] = x.APIVersion != ""
			yyq1889[2] = true
			var yynn1889 int
			if yyr1889 || yy2arr1889 {
				r.EncodeArrayStart(4)
			} else {
				yynn1889 = 1
				for _, b := range yyq1889 {
					if b {
						yynn1889++
					}
				}
				r.EncodeMapStart(yynn1889)
				yynn1889 = 0
			}
			if yyr1889 || yy2arr1889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1889[0] {
					yym1891 := z.EncBinary()
					_ = yym1891
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1889[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1892 := z.EncBinary()
					_ = yym1892
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1889 || yy2arr1889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1889[1] {
					yym1894 := z.EncBinary()
					_ = yym1894
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1889[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1895 := z.EncBinary()
					_ = yym1895
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1889 || yy2arr1889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1889[2] {
					yy1897 := &x.ListMeta
					yym1898 := z.EncBinary()
					_ = yym1898
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1897) {
					} else {
						z.EncFallback(yy1897)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1889[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1899 := &x.ListMeta
					yym1900 := z.EncBinary()
					_ = yym1900
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1899) {
					} else {
						z.EncFallback(yy1899)
					}
				}
			}
			if yyr1889 || yy2arr1889 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1902 := z.EncBinary()
					_ = yym1902
					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 {
					yym1903 := z.EncBinary()
					_ = yym1903
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yyr1889 || yy2arr1889 {
				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
	yym1904 := z.DecBinary()
	_ = yym1904
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1905 := r.ContainerType()
		if yyct1905 == codecSelferValueTypeMap1234 {
			yyl1905 := r.ReadMapStart()
			if yyl1905 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1905, d)
			}
		} else if yyct1905 == codecSelferValueTypeArray1234 {
			yyl1905 := r.ReadArrayStart()
			if yyl1905 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1905, 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 yys1906Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1906Slc
	var yyhl1906 bool = l >= 0
	for yyj1906 := 0; ; yyj1906++ {
		if yyhl1906 {
			if yyj1906 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1906Slc = r.DecodeBytes(yys1906Slc, true, true)
		yys1906 := string(yys1906Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1906 {
		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 {
				yyv1909 := &x.ListMeta
				yym1910 := z.DecBinary()
				_ = yym1910
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1909) {
				} else {
					z.DecFallback(yyv1909, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1911 := &x.Items
				yym1912 := z.DecBinary()
				_ = yym1912
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv1911), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1906)
		} // end switch yys1906
	} // end for yyj1906
	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 yyj1913 int
	var yyb1913 bool
	var yyhl1913 bool = l >= 0
	yyj1913++
	if yyhl1913 {
		yyb1913 = yyj1913 > l
	} else {
		yyb1913 = r.CheckBreak()
	}
	if yyb1913 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1913++
	if yyhl1913 {
		yyb1913 = yyj1913 > l
	} else {
		yyb1913 = r.CheckBreak()
	}
	if yyb1913 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1913++
	if yyhl1913 {
		yyb1913 = yyj1913 > l
	} else {
		yyb1913 = r.CheckBreak()
	}
	if yyb1913 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1916 := &x.ListMeta
		yym1917 := z.DecBinary()
		_ = yym1917
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1916) {
		} else {
			z.DecFallback(yyv1916, false)
		}
	}
	yyj1913++
	if yyhl1913 {
		yyb1913 = yyj1913 > l
	} else {
		yyb1913 = r.CheckBreak()
	}
	if yyb1913 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1918 := &x.Items
		yym1919 := z.DecBinary()
		_ = yym1919
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv1918), d)
		}
	}
	for {
		yyj1913++
		if yyhl1913 {
			yyb1913 = yyj1913 > l
		} else {
			yyb1913 = r.CheckBreak()
		}
		if yyb1913 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1913-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 {
		yym1920 := z.EncBinary()
		_ = yym1920
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1921 := !z.EncBinary()
			yy2arr1921 := z.EncBasicHandle().StructToArray
			var yyq1921 [4]bool
			_, _, _ = yysep1921, yyq1921, yy2arr1921
			const yyr1921 bool = false
			yyq1921[0] = x.Kind != ""
			yyq1921[1] = x.APIVersion != ""
			yyq1921[2] = true
			var yynn1921 int
			if yyr1921 || yy2arr1921 {
				r.EncodeArrayStart(4)
			} else {
				yynn1921 = 1
				for _, b := range yyq1921 {
					if b {
						yynn1921++
					}
				}
				r.EncodeMapStart(yynn1921)
				yynn1921 = 0
			}
			if yyr1921 || yy2arr1921 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1921[0] {
					yym1923 := z.EncBinary()
					_ = yym1923
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1921[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1924 := z.EncBinary()
					_ = yym1924
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1921 || yy2arr1921 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1921[1] {
					yym1926 := z.EncBinary()
					_ = yym1926
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1921[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1927 := z.EncBinary()
					_ = yym1927
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1921 || yy2arr1921 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1921[2] {
					yy1929 := &x.ListMeta
					yym1930 := z.EncBinary()
					_ = yym1930
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1929) {
					} else {
						z.EncFallback(yy1929)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1921[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1931 := &x.ListMeta
					yym1932 := z.EncBinary()
					_ = yym1932
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1931) {
					} else {
						z.EncFallback(yy1931)
					}
				}
			}
			if yyr1921 || yy2arr1921 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1934 := z.EncBinary()
					_ = yym1934
					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 {
					yym1935 := z.EncBinary()
					_ = yym1935
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yyr1921 || yy2arr1921 {
				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
	yym1936 := z.DecBinary()
	_ = yym1936
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1937 := r.ContainerType()
		if yyct1937 == codecSelferValueTypeMap1234 {
			yyl1937 := r.ReadMapStart()
			if yyl1937 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1937, d)
			}
		} else if yyct1937 == codecSelferValueTypeArray1234 {
			yyl1937 := r.ReadArrayStart()
			if yyl1937 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1937, 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 yys1938Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1938Slc
	var yyhl1938 bool = l >= 0
	for yyj1938 := 0; ; yyj1938++ {
		if yyhl1938 {
			if yyj1938 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1938Slc = r.DecodeBytes(yys1938Slc, true, true)
		yys1938 := string(yys1938Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1938 {
		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 {
				yyv1941 := &x.ListMeta
				yym1942 := z.DecBinary()
				_ = yym1942
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1941) {
				} else {
					z.DecFallback(yyv1941, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1943 := &x.Items
				yym1944 := z.DecBinary()
				_ = yym1944
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv1943), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1938)
		} // end switch yys1938
	} // end for yyj1938
	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 yyj1945 int
	var yyb1945 bool
	var yyhl1945 bool = l >= 0
	yyj1945++
	if yyhl1945 {
		yyb1945 = yyj1945 > l
	} else {
		yyb1945 = r.CheckBreak()
	}
	if yyb1945 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1945++
	if yyhl1945 {
		yyb1945 = yyj1945 > l
	} else {
		yyb1945 = r.CheckBreak()
	}
	if yyb1945 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1945++
	if yyhl1945 {
		yyb1945 = yyj1945 > l
	} else {
		yyb1945 = r.CheckBreak()
	}
	if yyb1945 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1948 := &x.ListMeta
		yym1949 := z.DecBinary()
		_ = yym1949
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1948) {
		} else {
			z.DecFallback(yyv1948, false)
		}
	}
	yyj1945++
	if yyhl1945 {
		yyb1945 = yyj1945 > l
	} else {
		yyb1945 = r.CheckBreak()
	}
	if yyb1945 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1950 := &x.Items
		yym1951 := z.DecBinary()
		_ = yym1951
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv1950), d)
		}
	}
	for {
		yyj1945++
		if yyhl1945 {
			yyb1945 = yyj1945 > l
		} else {
			yyb1945 = r.CheckBreak()
		}
		if yyb1945 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1945-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1952 := z.EncBinary()
	_ = yym1952
	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
	yym1953 := z.DecBinary()
	_ = yym1953
	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
	yym1954 := z.EncBinary()
	_ = yym1954
	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
	yym1955 := z.DecBinary()
	_ = yym1955
	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 {
		yym1956 := z.EncBinary()
		_ = yym1956
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1957 := !z.EncBinary()
			yy2arr1957 := z.EncBasicHandle().StructToArray
			var yyq1957 [1]bool
			_, _, _ = yysep1957, yyq1957, yy2arr1957
			const yyr1957 bool = false
			yyq1957[0] = true
			var yynn1957 int
			if yyr1957 || yy2arr1957 {
				r.EncodeArrayStart(1)
			} else {
				yynn1957 = 0
				for _, b := range yyq1957 {
					if b {
						yynn1957++
					}
				}
				r.EncodeMapStart(yynn1957)
				yynn1957 = 0
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1957[0] {
					yy1959 := &x.LoadBalancer
					yy1959.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1957[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1960 := &x.LoadBalancer
					yy1960.CodecEncodeSelf(e)
				}
			}
			if yyr1957 || yy2arr1957 {
				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
	yym1961 := z.DecBinary()
	_ = yym1961
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1962 := r.ContainerType()
		if yyct1962 == codecSelferValueTypeMap1234 {
			yyl1962 := r.ReadMapStart()
			if yyl1962 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1962, d)
			}
		} else if yyct1962 == codecSelferValueTypeArray1234 {
			yyl1962 := r.ReadArrayStart()
			if yyl1962 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1962, 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 yys1963Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1963Slc
	var yyhl1963 bool = l >= 0
	for yyj1963 := 0; ; yyj1963++ {
		if yyhl1963 {
			if yyj1963 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1963Slc = r.DecodeBytes(yys1963Slc, true, true)
		yys1963 := string(yys1963Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1963 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv1964 := &x.LoadBalancer
				yyv1964.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1963)
		} // end switch yys1963
	} // end for yyj1963
	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 yyj1965 int
	var yyb1965 bool
	var yyhl1965 bool = l >= 0
	yyj1965++
	if yyhl1965 {
		yyb1965 = yyj1965 > l
	} else {
		yyb1965 = r.CheckBreak()
	}
	if yyb1965 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv1966 := &x.LoadBalancer
		yyv1966.CodecDecodeSelf(d)
	}
	for {
		yyj1965++
		if yyhl1965 {
			yyb1965 = yyj1965 > l
		} else {
			yyb1965 = r.CheckBreak()
		}
		if yyb1965 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1965-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 {
		yym1967 := z.EncBinary()
		_ = yym1967
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1968 := !z.EncBinary()
			yy2arr1968 := z.EncBasicHandle().StructToArray
			var yyq1968 [1]bool
			_, _, _ = yysep1968, yyq1968, yy2arr1968
			const yyr1968 bool = false
			yyq1968[0] = len(x.Ingress) != 0
			var yynn1968 int
			if yyr1968 || yy2arr1968 {
				r.EncodeArrayStart(1)
			} else {
				yynn1968 = 0
				for _, b := range yyq1968 {
					if b {
						yynn1968++
					}
				}
				r.EncodeMapStart(yynn1968)
				yynn1968 = 0
			}
			if yyr1968 || yy2arr1968 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1968[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1970 := z.EncBinary()
						_ = yym1970
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1968[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1971 := z.EncBinary()
						_ = yym1971
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yyr1968 || yy2arr1968 {
				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
	yym1972 := z.DecBinary()
	_ = yym1972
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1973 := r.ContainerType()
		if yyct1973 == codecSelferValueTypeMap1234 {
			yyl1973 := r.ReadMapStart()
			if yyl1973 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1973, d)
			}
		} else if yyct1973 == codecSelferValueTypeArray1234 {
			yyl1973 := r.ReadArrayStart()
			if yyl1973 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1973, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1974Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1974Slc
	var yyhl1974 bool = l >= 0
	for yyj1974 := 0; ; yyj1974++ {
		if yyhl1974 {
			if yyj1974 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1974Slc = r.DecodeBytes(yys1974Slc, true, true)
		yys1974 := string(yys1974Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1974 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv1975 := &x.Ingress
				yym1976 := z.DecBinary()
				_ = yym1976
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1975), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1974)
		} // end switch yys1974
	} // end for yyj1974
	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 yyj1977 int
	var yyb1977 bool
	var yyhl1977 bool = l >= 0
	yyj1977++
	if yyhl1977 {
		yyb1977 = yyj1977 > l
	} else {
		yyb1977 = r.CheckBreak()
	}
	if yyb1977 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv1978 := &x.Ingress
		yym1979 := z.DecBinary()
		_ = yym1979
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1978), d)
		}
	}
	for {
		yyj1977++
		if yyhl1977 {
			yyb1977 = yyj1977 > l
		} else {
			yyb1977 = r.CheckBreak()
		}
		if yyb1977 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1977-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 {
		yym1980 := z.EncBinary()
		_ = yym1980
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1981 := !z.EncBinary()
			yy2arr1981 := z.EncBasicHandle().StructToArray
			var yyq1981 [2]bool
			_, _, _ = yysep1981, yyq1981, yy2arr1981
			const yyr1981 bool = false
			yyq1981[0] = x.IP != ""
			yyq1981[1] = x.Hostname != ""
			var yynn1981 int
			if yyr1981 || yy2arr1981 {
				r.EncodeArrayStart(2)
			} else {
				yynn1981 = 0
				for _, b := range yyq1981 {
					if b {
						yynn1981++
					}
				}
				r.EncodeMapStart(yynn1981)
				yynn1981 = 0
			}
			if yyr1981 || yy2arr1981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1981[0] {
					yym1983 := z.EncBinary()
					_ = yym1983
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1981[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1984 := z.EncBinary()
					_ = yym1984
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr1981 || yy2arr1981 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1981[1] {
					yym1986 := z.EncBinary()
					_ = yym1986
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1981[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1987 := z.EncBinary()
					_ = yym1987
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr1981 || yy2arr1981 {
				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
	yym1988 := z.DecBinary()
	_ = yym1988
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1989 := r.ContainerType()
		if yyct1989 == codecSelferValueTypeMap1234 {
			yyl1989 := r.ReadMapStart()
			if yyl1989 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1989, d)
			}
		} else if yyct1989 == codecSelferValueTypeArray1234 {
			yyl1989 := r.ReadArrayStart()
			if yyl1989 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1989, 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 yys1990Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1990Slc
	var yyhl1990 bool = l >= 0
	for yyj1990 := 0; ; yyj1990++ {
		if yyhl1990 {
			if yyj1990 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1990Slc = r.DecodeBytes(yys1990Slc, true, true)
		yys1990 := string(yys1990Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1990 {
		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, yys1990)
		} // end switch yys1990
	} // end for yyj1990
	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 yyj1993 int
	var yyb1993 bool
	var yyhl1993 bool = l >= 0
	yyj1993++
	if yyhl1993 {
		yyb1993 = yyj1993 > l
	} else {
		yyb1993 = r.CheckBreak()
	}
	if yyb1993 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj1993++
	if yyhl1993 {
		yyb1993 = yyj1993 > l
	} else {
		yyb1993 = r.CheckBreak()
	}
	if yyb1993 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	for {
		yyj1993++
		if yyhl1993 {
			yyb1993 = yyj1993 > l
		} else {
			yyb1993 = r.CheckBreak()
		}
		if yyb1993 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1993-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 {
		yym1996 := z.EncBinary()
		_ = yym1996
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1997 := !z.EncBinary()
			yy2arr1997 := z.EncBasicHandle().StructToArray
			var yyq1997 [7]bool
			_, _, _ = yysep1997, yyq1997, yy2arr1997
			const yyr1997 bool = false
			yyq1997[0] = x.Type != ""
			yyq1997[3] = x.ClusterIP != ""
			yyq1997[4] = len(x.ExternalIPs) != 0
			yyq1997[5] = x.LoadBalancerIP != ""
			yyq1997[6] = x.SessionAffinity != ""
			var yynn1997 int
			if yyr1997 || yy2arr1997 {
				r.EncodeArrayStart(7)
			} else {
				yynn1997 = 2
				for _, b := range yyq1997 {
					if b {
						yynn1997++
					}
				}
				r.EncodeMapStart(yynn1997)
				yynn1997 = 0
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1997[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1997[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2000 := z.EncBinary()
					_ = yym2000
					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 {
					yym2001 := z.EncBinary()
					_ = yym2001
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2003 := z.EncBinary()
					_ = yym2003
					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 {
					yym2004 := z.EncBinary()
					_ = yym2004
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1997[3] {
					yym2006 := z.EncBinary()
					_ = yym2006
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1997[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2007 := z.EncBinary()
					_ = yym2007
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1997[4] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2009 := z.EncBinary()
						_ = yym2009
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1997[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2010 := z.EncBinary()
						_ = yym2010
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1997[5] {
					yym2012 := z.EncBinary()
					_ = yym2012
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1997[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2013 := z.EncBinary()
					_ = yym2013
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr1997 || yy2arr1997 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1997[6] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1997[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr1997 || yy2arr1997 {
				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
	yym2015 := z.DecBinary()
	_ = yym2015
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2016 := r.ContainerType()
		if yyct2016 == codecSelferValueTypeMap1234 {
			yyl2016 := r.ReadMapStart()
			if yyl2016 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2016, d)
			}
		} else if yyct2016 == codecSelferValueTypeArray1234 {
			yyl2016 := r.ReadArrayStart()
			if yyl2016 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2016, 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 yys2017Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2017Slc
	var yyhl2017 bool = l >= 0
	for yyj2017 := 0; ; yyj2017++ {
		if yyhl2017 {
			if yyj2017 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2017Slc = r.DecodeBytes(yys2017Slc, true, true)
		yys2017 := string(yys2017Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2017 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2019 := &x.Ports
				yym2020 := z.DecBinary()
				_ = yym2020
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv2019), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2021 := &x.Selector
				yym2022 := z.DecBinary()
				_ = yym2022
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2021, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv2024 := &x.ExternalIPs
				yym2025 := z.DecBinary()
				_ = yym2025
				if false {
				} else {
					z.F.DecSliceStringX(yyv2024, 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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2017)
		} // end switch yys2017
	} // end for yyj2017
	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 yyj2028 int
	var yyb2028 bool
	var yyhl2028 bool = l >= 0
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2030 := &x.Ports
		yym2031 := z.DecBinary()
		_ = yym2031
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv2030), d)
		}
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2032 := &x.Selector
		yym2033 := z.DecBinary()
		_ = yym2033
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2032, false, d)
		}
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv2035 := &x.ExternalIPs
		yym2036 := z.DecBinary()
		_ = yym2036
		if false {
		} else {
			z.F.DecSliceStringX(yyv2035, false, d)
		}
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	yyj2028++
	if yyhl2028 {
		yyb2028 = yyj2028 > l
	} else {
		yyb2028 = r.CheckBreak()
	}
	if yyb2028 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	for {
		yyj2028++
		if yyhl2028 {
			yyb2028 = yyj2028 > l
		} else {
			yyb2028 = r.CheckBreak()
		}
		if yyb2028 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2028-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 {
		yym2039 := z.EncBinary()
		_ = yym2039
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2040 := !z.EncBinary()
			yy2arr2040 := z.EncBasicHandle().StructToArray
			var yyq2040 [5]bool
			_, _, _ = yysep2040, yyq2040, yy2arr2040
			const yyr2040 bool = false
			var yynn2040 int
			if yyr2040 || yy2arr2040 {
				r.EncodeArrayStart(5)
			} else {
				yynn2040 = 5
				for _, b := range yyq2040 {
					if b {
						yynn2040++
					}
				}
				r.EncodeMapStart(yynn2040)
				yynn2040 = 0
			}
			if yyr2040 || yy2arr2040 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2042 := z.EncBinary()
				_ = yym2042
				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)
				yym2043 := z.EncBinary()
				_ = yym2043
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2040 || yy2arr2040 {
				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 yyr2040 || yy2arr2040 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2046 := z.EncBinary()
				_ = yym2046
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2047 := z.EncBinary()
				_ = yym2047
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2040 || yy2arr2040 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2049 := &x.TargetPort
				yym2050 := z.EncBinary()
				_ = yym2050
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2049) {
				} else if !yym2050 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2049)
				} else {
					z.EncFallback(yy2049)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2051 := &x.TargetPort
				yym2052 := z.EncBinary()
				_ = yym2052
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2051) {
				} else if !yym2052 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2051)
				} else {
					z.EncFallback(yy2051)
				}
			}
			if yyr2040 || yy2arr2040 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2054 := z.EncBinary()
				_ = yym2054
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2055 := z.EncBinary()
				_ = yym2055
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			}
			if yyr2040 || yy2arr2040 {
				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
	yym2056 := z.DecBinary()
	_ = yym2056
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2057 := r.ContainerType()
		if yyct2057 == codecSelferValueTypeMap1234 {
			yyl2057 := r.ReadMapStart()
			if yyl2057 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2057, d)
			}
		} else if yyct2057 == codecSelferValueTypeArray1234 {
			yyl2057 := r.ReadArrayStart()
			if yyl2057 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2057, 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 yys2058Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2058Slc
	var yyhl2058 bool = l >= 0
	for yyj2058 := 0; ; yyj2058++ {
		if yyhl2058 {
			if yyj2058 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2058Slc = r.DecodeBytes(yys2058Slc, true, true)
		yys2058 := string(yys2058Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2058 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg5_intstr.IntOrString{}
			} else {
				yyv2062 := &x.TargetPort
				yym2063 := z.DecBinary()
				_ = yym2063
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2062) {
				} else if !yym2063 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2062)
				} else {
					z.DecFallback(yyv2062, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2058)
		} // end switch yys2058
	} // end for yyj2058
	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 yyj2065 int
	var yyb2065 bool
	var yyhl2065 bool = l >= 0
	yyj2065++
	if yyhl2065 {
		yyb2065 = yyj2065 > l
	} else {
		yyb2065 = r.CheckBreak()
	}
	if yyb2065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2065++
	if yyhl2065 {
		yyb2065 = yyj2065 > l
	} else {
		yyb2065 = r.CheckBreak()
	}
	if yyb2065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj2065++
	if yyhl2065 {
		yyb2065 = yyj2065 > l
	} else {
		yyb2065 = r.CheckBreak()
	}
	if yyb2065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj2065++
	if yyhl2065 {
		yyb2065 = yyj2065 > l
	} else {
		yyb2065 = r.CheckBreak()
	}
	if yyb2065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg5_intstr.IntOrString{}
	} else {
		yyv2069 := &x.TargetPort
		yym2070 := z.DecBinary()
		_ = yym2070
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2069) {
		} else if !yym2070 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2069)
		} else {
			z.DecFallback(yyv2069, false)
		}
	}
	yyj2065++
	if yyhl2065 {
		yyb2065 = yyj2065 > l
	} else {
		yyb2065 = r.CheckBreak()
	}
	if yyb2065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2065++
		if yyhl2065 {
			yyb2065 = yyj2065 > l
		} else {
			yyb2065 = r.CheckBreak()
		}
		if yyb2065 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2065-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 {
		yym2072 := z.EncBinary()
		_ = yym2072
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2073 := !z.EncBinary()
			yy2arr2073 := z.EncBasicHandle().StructToArray
			var yyq2073 [5]bool
			_, _, _ = yysep2073, yyq2073, yy2arr2073
			const yyr2073 bool = false
			yyq2073[0] = x.Kind != ""
			yyq2073[1] = x.APIVersion != ""
			yyq2073[2] = true
			yyq2073[3] = true
			yyq2073[4] = true
			var yynn2073 int
			if yyr2073 || yy2arr2073 {
				r.EncodeArrayStart(5)
			} else {
				yynn2073 = 0
				for _, b := range yyq2073 {
					if b {
						yynn2073++
					}
				}
				r.EncodeMapStart(yynn2073)
				yynn2073 = 0
			}
			if yyr2073 || yy2arr2073 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2073[0] {
					yym2075 := z.EncBinary()
					_ = yym2075
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2073[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2076 := z.EncBinary()
					_ = yym2076
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2073 || yy2arr2073 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2073[1] {
					yym2078 := z.EncBinary()
					_ = yym2078
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2073[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2079 := z.EncBinary()
					_ = yym2079
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2073 || yy2arr2073 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2073[2] {
					yy2081 := &x.ObjectMeta
					yy2081.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2073[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2082 := &x.ObjectMeta
					yy2082.CodecEncodeSelf(e)
				}
			}
			if yyr2073 || yy2arr2073 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2073[3] {
					yy2084 := &x.Spec
					yy2084.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2073[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2085 := &x.Spec
					yy2085.CodecEncodeSelf(e)
				}
			}
			if yyr2073 || yy2arr2073 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2073[4] {
					yy2087 := &x.Status
					yy2087.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2073[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2088 := &x.Status
					yy2088.CodecEncodeSelf(e)
				}
			}
			if yyr2073 || yy2arr2073 {
				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
	yym2089 := z.DecBinary()
	_ = yym2089
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2090 := r.ContainerType()
		if yyct2090 == codecSelferValueTypeMap1234 {
			yyl2090 := r.ReadMapStart()
			if yyl2090 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2090, d)
			}
		} else if yyct2090 == codecSelferValueTypeArray1234 {
			yyl2090 := r.ReadArrayStart()
			if yyl2090 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2090, 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 yys2091Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2091Slc
	var yyhl2091 bool = l >= 0
	for yyj2091 := 0; ; yyj2091++ {
		if yyhl2091 {
			if yyj2091 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2091Slc = r.DecodeBytes(yys2091Slc, true, true)
		yys2091 := string(yys2091Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2091 {
		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 {
				yyv2094 := &x.ObjectMeta
				yyv2094.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2095 := &x.Spec
				yyv2095.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2096 := &x.Status
				yyv2096.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2091)
		} // end switch yys2091
	} // end for yyj2091
	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 yyj2097 int
	var yyb2097 bool
	var yyhl2097 bool = l >= 0
	yyj2097++
	if yyhl2097 {
		yyb2097 = yyj2097 > l
	} else {
		yyb2097 = r.CheckBreak()
	}
	if yyb2097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2097++
	if yyhl2097 {
		yyb2097 = yyj2097 > l
	} else {
		yyb2097 = r.CheckBreak()
	}
	if yyb2097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2097++
	if yyhl2097 {
		yyb2097 = yyj2097 > l
	} else {
		yyb2097 = r.CheckBreak()
	}
	if yyb2097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2100 := &x.ObjectMeta
		yyv2100.CodecDecodeSelf(d)
	}
	yyj2097++
	if yyhl2097 {
		yyb2097 = yyj2097 > l
	} else {
		yyb2097 = r.CheckBreak()
	}
	if yyb2097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2101 := &x.Spec
		yyv2101.CodecDecodeSelf(d)
	}
	yyj2097++
	if yyhl2097 {
		yyb2097 = yyj2097 > l
	} else {
		yyb2097 = r.CheckBreak()
	}
	if yyb2097 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2102 := &x.Status
		yyv2102.CodecDecodeSelf(d)
	}
	for {
		yyj2097++
		if yyhl2097 {
			yyb2097 = yyj2097 > l
		} else {
			yyb2097 = r.CheckBreak()
		}
		if yyb2097 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2097-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 {
		yym2103 := z.EncBinary()
		_ = yym2103
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2104 := !z.EncBinary()
			yy2arr2104 := z.EncBasicHandle().StructToArray
			var yyq2104 [5]bool
			_, _, _ = yysep2104, yyq2104, yy2arr2104
			const yyr2104 bool = false
			yyq2104[0] = x.Kind != ""
			yyq2104[1] = x.APIVersion != ""
			yyq2104[2] = true
			yyq2104[4] = len(x.ImagePullSecrets) != 0
			var yynn2104 int
			if yyr2104 || yy2arr2104 {
				r.EncodeArrayStart(5)
			} else {
				yynn2104 = 1
				for _, b := range yyq2104 {
					if b {
						yynn2104++
					}
				}
				r.EncodeMapStart(yynn2104)
				yynn2104 = 0
			}
			if yyr2104 || yy2arr2104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2104[0] {
					yym2106 := z.EncBinary()
					_ = yym2106
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2104[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2107 := z.EncBinary()
					_ = yym2107
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2104 || yy2arr2104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2104[1] {
					yym2109 := z.EncBinary()
					_ = yym2109
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2104[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2110 := z.EncBinary()
					_ = yym2110
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2104 || yy2arr2104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2104[2] {
					yy2112 := &x.ObjectMeta
					yy2112.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2104[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2113 := &x.ObjectMeta
					yy2113.CodecEncodeSelf(e)
				}
			}
			if yyr2104 || yy2arr2104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2115 := z.EncBinary()
					_ = yym2115
					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 {
					yym2116 := z.EncBinary()
					_ = yym2116
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			}
			if yyr2104 || yy2arr2104 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2104[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2118 := z.EncBinary()
						_ = yym2118
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2104[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2119 := z.EncBinary()
						_ = yym2119
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2104 || yy2arr2104 {
				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
	yym2120 := z.DecBinary()
	_ = yym2120
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2121 := r.ContainerType()
		if yyct2121 == codecSelferValueTypeMap1234 {
			yyl2121 := r.ReadMapStart()
			if yyl2121 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2121, d)
			}
		} else if yyct2121 == codecSelferValueTypeArray1234 {
			yyl2121 := r.ReadArrayStart()
			if yyl2121 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2121, 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 yys2122Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2122Slc
	var yyhl2122 bool = l >= 0
	for yyj2122 := 0; ; yyj2122++ {
		if yyhl2122 {
			if yyj2122 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2122Slc = r.DecodeBytes(yys2122Slc, true, true)
		yys2122 := string(yys2122Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2122 {
		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 {
				yyv2125 := &x.ObjectMeta
				yyv2125.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2126 := &x.Secrets
				yym2127 := z.DecBinary()
				_ = yym2127
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2126), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2128 := &x.ImagePullSecrets
				yym2129 := z.DecBinary()
				_ = yym2129
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2128), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2122)
		} // end switch yys2122
	} // end for yyj2122
	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 yyj2130 int
	var yyb2130 bool
	var yyhl2130 bool = l >= 0
	yyj2130++
	if yyhl2130 {
		yyb2130 = yyj2130 > l
	} else {
		yyb2130 = r.CheckBreak()
	}
	if yyb2130 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2130++
	if yyhl2130 {
		yyb2130 = yyj2130 > l
	} else {
		yyb2130 = r.CheckBreak()
	}
	if yyb2130 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2130++
	if yyhl2130 {
		yyb2130 = yyj2130 > l
	} else {
		yyb2130 = r.CheckBreak()
	}
	if yyb2130 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2133 := &x.ObjectMeta
		yyv2133.CodecDecodeSelf(d)
	}
	yyj2130++
	if yyhl2130 {
		yyb2130 = yyj2130 > l
	} else {
		yyb2130 = r.CheckBreak()
	}
	if yyb2130 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2134 := &x.Secrets
		yym2135 := z.DecBinary()
		_ = yym2135
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2134), d)
		}
	}
	yyj2130++
	if yyhl2130 {
		yyb2130 = yyj2130 > l
	} else {
		yyb2130 = r.CheckBreak()
	}
	if yyb2130 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2136 := &x.ImagePullSecrets
		yym2137 := z.DecBinary()
		_ = yym2137
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2136), d)
		}
	}
	for {
		yyj2130++
		if yyhl2130 {
			yyb2130 = yyj2130 > l
		} else {
			yyb2130 = r.CheckBreak()
		}
		if yyb2130 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2130-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 {
		yym2138 := z.EncBinary()
		_ = yym2138
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2139 := !z.EncBinary()
			yy2arr2139 := z.EncBasicHandle().StructToArray
			var yyq2139 [4]bool
			_, _, _ = yysep2139, yyq2139, yy2arr2139
			const yyr2139 bool = false
			yyq2139[0] = x.Kind != ""
			yyq2139[1] = x.APIVersion != ""
			yyq2139[2] = true
			var yynn2139 int
			if yyr2139 || yy2arr2139 {
				r.EncodeArrayStart(4)
			} else {
				yynn2139 = 1
				for _, b := range yyq2139 {
					if b {
						yynn2139++
					}
				}
				r.EncodeMapStart(yynn2139)
				yynn2139 = 0
			}
			if yyr2139 || yy2arr2139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2139[0] {
					yym2141 := z.EncBinary()
					_ = yym2141
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2139[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2142 := z.EncBinary()
					_ = yym2142
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2139 || yy2arr2139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2139[1] {
					yym2144 := z.EncBinary()
					_ = yym2144
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2139[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2145 := z.EncBinary()
					_ = yym2145
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2139 || yy2arr2139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2139[2] {
					yy2147 := &x.ListMeta
					yym2148 := z.EncBinary()
					_ = yym2148
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2147) {
					} else {
						z.EncFallback(yy2147)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2139[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2149 := &x.ListMeta
					yym2150 := z.EncBinary()
					_ = yym2150
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2149) {
					} else {
						z.EncFallback(yy2149)
					}
				}
			}
			if yyr2139 || yy2arr2139 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2152 := z.EncBinary()
					_ = yym2152
					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 {
					yym2153 := z.EncBinary()
					_ = yym2153
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yyr2139 || yy2arr2139 {
				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
	yym2154 := z.DecBinary()
	_ = yym2154
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2155 := r.ContainerType()
		if yyct2155 == codecSelferValueTypeMap1234 {
			yyl2155 := r.ReadMapStart()
			if yyl2155 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2155, d)
			}
		} else if yyct2155 == codecSelferValueTypeArray1234 {
			yyl2155 := r.ReadArrayStart()
			if yyl2155 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2155, 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 yys2156Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2156Slc
	var yyhl2156 bool = l >= 0
	for yyj2156 := 0; ; yyj2156++ {
		if yyhl2156 {
			if yyj2156 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2156Slc = r.DecodeBytes(yys2156Slc, true, true)
		yys2156 := string(yys2156Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2156 {
		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 {
				yyv2159 := &x.ListMeta
				yym2160 := z.DecBinary()
				_ = yym2160
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2159) {
				} else {
					z.DecFallback(yyv2159, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2161 := &x.Items
				yym2162 := z.DecBinary()
				_ = yym2162
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2161), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2156)
		} // end switch yys2156
	} // end for yyj2156
	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 yyj2163 int
	var yyb2163 bool
	var yyhl2163 bool = l >= 0
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2166 := &x.ListMeta
		yym2167 := z.DecBinary()
		_ = yym2167
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2166) {
		} else {
			z.DecFallback(yyv2166, false)
		}
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2168 := &x.Items
		yym2169 := z.DecBinary()
		_ = yym2169
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2168), d)
		}
	}
	for {
		yyj2163++
		if yyhl2163 {
			yyb2163 = yyj2163 > l
		} else {
			yyb2163 = r.CheckBreak()
		}
		if yyb2163 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2163-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2170 := z.EncBinary()
		_ = yym2170
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2171 := !z.EncBinary()
			yy2arr2171 := z.EncBasicHandle().StructToArray
			var yyq2171 [4]bool
			_, _, _ = yysep2171, yyq2171, yy2arr2171
			const yyr2171 bool = false
			yyq2171[0] = x.Kind != ""
			yyq2171[1] = x.APIVersion != ""
			yyq2171[2] = true
			var yynn2171 int
			if yyr2171 || yy2arr2171 {
				r.EncodeArrayStart(4)
			} else {
				yynn2171 = 1
				for _, b := range yyq2171 {
					if b {
						yynn2171++
					}
				}
				r.EncodeMapStart(yynn2171)
				yynn2171 = 0
			}
			if yyr2171 || yy2arr2171 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2171[0] {
					yym2173 := z.EncBinary()
					_ = yym2173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2171[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2174 := z.EncBinary()
					_ = yym2174
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2171 || yy2arr2171 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2171[1] {
					yym2176 := z.EncBinary()
					_ = yym2176
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2171[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2177 := z.EncBinary()
					_ = yym2177
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2171 || yy2arr2171 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2171[2] {
					yy2179 := &x.ObjectMeta
					yy2179.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2171[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2180 := &x.ObjectMeta
					yy2180.CodecEncodeSelf(e)
				}
			}
			if yyr2171 || yy2arr2171 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2182 := z.EncBinary()
					_ = yym2182
					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 {
					yym2183 := z.EncBinary()
					_ = yym2183
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yyr2171 || yy2arr2171 {
				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
	yym2184 := z.DecBinary()
	_ = yym2184
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2185 := r.ContainerType()
		if yyct2185 == codecSelferValueTypeMap1234 {
			yyl2185 := r.ReadMapStart()
			if yyl2185 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2185, d)
			}
		} else if yyct2185 == codecSelferValueTypeArray1234 {
			yyl2185 := r.ReadArrayStart()
			if yyl2185 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2185, 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 yys2186Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2186Slc
	var yyhl2186 bool = l >= 0
	for yyj2186 := 0; ; yyj2186++ {
		if yyhl2186 {
			if yyj2186 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2186Slc = r.DecodeBytes(yys2186Slc, true, true)
		yys2186 := string(yys2186Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2186 {
		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 {
				yyv2189 := &x.ObjectMeta
				yyv2189.CodecDecodeSelf(d)
			}
		case "Subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2190 := &x.Subsets
				yym2191 := z.DecBinary()
				_ = yym2191
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2190), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2186)
		} // end switch yys2186
	} // end for yyj2186
	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 yyj2192 int
	var yyb2192 bool
	var yyhl2192 bool = l >= 0
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2195 := &x.ObjectMeta
		yyv2195.CodecDecodeSelf(d)
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2196 := &x.Subsets
		yym2197 := z.DecBinary()
		_ = yym2197
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2196), d)
		}
	}
	for {
		yyj2192++
		if yyhl2192 {
			yyb2192 = yyj2192 > l
		} else {
			yyb2192 = r.CheckBreak()
		}
		if yyb2192 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2192-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 {
		yym2198 := z.EncBinary()
		_ = yym2198
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2199 := !z.EncBinary()
			yy2arr2199 := z.EncBasicHandle().StructToArray
			var yyq2199 [3]bool
			_, _, _ = yysep2199, yyq2199, yy2arr2199
			const yyr2199 bool = false
			var yynn2199 int
			if yyr2199 || yy2arr2199 {
				r.EncodeArrayStart(3)
			} else {
				yynn2199 = 3
				for _, b := range yyq2199 {
					if b {
						yynn2199++
					}
				}
				r.EncodeMapStart(yynn2199)
				yynn2199 = 0
			}
			if yyr2199 || yy2arr2199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2201 := z.EncBinary()
					_ = yym2201
					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 {
					yym2202 := z.EncBinary()
					_ = yym2202
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			}
			if yyr2199 || yy2arr2199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2204 := z.EncBinary()
					_ = yym2204
					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 {
					yym2205 := z.EncBinary()
					_ = yym2205
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			}
			if yyr2199 || yy2arr2199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2207 := z.EncBinary()
					_ = yym2207
					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 {
					yym2208 := z.EncBinary()
					_ = yym2208
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			}
			if yyr2199 || yy2arr2199 {
				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
	yym2209 := z.DecBinary()
	_ = yym2209
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2210 := r.ContainerType()
		if yyct2210 == codecSelferValueTypeMap1234 {
			yyl2210 := r.ReadMapStart()
			if yyl2210 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2210, d)
			}
		} else if yyct2210 == codecSelferValueTypeArray1234 {
			yyl2210 := r.ReadArrayStart()
			if yyl2210 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2210, 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 yys2211Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2211Slc
	var yyhl2211 bool = l >= 0
	for yyj2211 := 0; ; yyj2211++ {
		if yyhl2211 {
			if yyj2211 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2211Slc = r.DecodeBytes(yys2211Slc, true, true)
		yys2211 := string(yys2211Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2211 {
		case "Addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2212 := &x.Addresses
				yym2213 := z.DecBinary()
				_ = yym2213
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2212), d)
				}
			}
		case "NotReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2214 := &x.NotReadyAddresses
				yym2215 := z.DecBinary()
				_ = yym2215
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2214), d)
				}
			}
		case "Ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2216 := &x.Ports
				yym2217 := z.DecBinary()
				_ = yym2217
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2216), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2211)
		} // end switch yys2211
	} // end for yyj2211
	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 yyj2218 int
	var yyb2218 bool
	var yyhl2218 bool = l >= 0
	yyj2218++
	if yyhl2218 {
		yyb2218 = yyj2218 > l
	} else {
		yyb2218 = r.CheckBreak()
	}
	if yyb2218 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2219 := &x.Addresses
		yym2220 := z.DecBinary()
		_ = yym2220
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2219), d)
		}
	}
	yyj2218++
	if yyhl2218 {
		yyb2218 = yyj2218 > l
	} else {
		yyb2218 = r.CheckBreak()
	}
	if yyb2218 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2221 := &x.NotReadyAddresses
		yym2222 := z.DecBinary()
		_ = yym2222
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2221), d)
		}
	}
	yyj2218++
	if yyhl2218 {
		yyb2218 = yyj2218 > l
	} else {
		yyb2218 = r.CheckBreak()
	}
	if yyb2218 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2223 := &x.Ports
		yym2224 := z.DecBinary()
		_ = yym2224
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2223), d)
		}
	}
	for {
		yyj2218++
		if yyhl2218 {
			yyb2218 = yyj2218 > l
		} else {
			yyb2218 = r.CheckBreak()
		}
		if yyb2218 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2218-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 {
		yym2225 := z.EncBinary()
		_ = yym2225
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2226 := !z.EncBinary()
			yy2arr2226 := z.EncBasicHandle().StructToArray
			var yyq2226 [2]bool
			_, _, _ = yysep2226, yyq2226, yy2arr2226
			const yyr2226 bool = false
			var yynn2226 int
			if yyr2226 || yy2arr2226 {
				r.EncodeArrayStart(2)
			} else {
				yynn2226 = 2
				for _, b := range yyq2226 {
					if b {
						yynn2226++
					}
				}
				r.EncodeMapStart(yynn2226)
				yynn2226 = 0
			}
			if yyr2226 || yy2arr2226 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2228 := z.EncBinary()
				_ = yym2228
				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)
				yym2229 := z.EncBinary()
				_ = yym2229
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2226 || yy2arr2226 {
				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 yyr2226 || yy2arr2226 {
				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
	yym2231 := z.DecBinary()
	_ = yym2231
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2232 := r.ContainerType()
		if yyct2232 == codecSelferValueTypeMap1234 {
			yyl2232 := r.ReadMapStart()
			if yyl2232 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2232, d)
			}
		} else if yyct2232 == codecSelferValueTypeArray1234 {
			yyl2232 := r.ReadArrayStart()
			if yyl2232 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2232, 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 yys2233Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2233Slc
	var yyhl2233 bool = l >= 0
	for yyj2233 := 0; ; yyj2233++ {
		if yyhl2233 {
			if yyj2233 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2233Slc = r.DecodeBytes(yys2233Slc, true, true)
		yys2233 := string(yys2233Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2233 {
		case "IP":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(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, yys2233)
		} // end switch yys2233
	} // end for yyj2233
	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 yyj2236 int
	var yyb2236 bool
	var yyhl2236 bool = l >= 0
	yyj2236++
	if yyhl2236 {
		yyb2236 = yyj2236 > l
	} else {
		yyb2236 = r.CheckBreak()
	}
	if yyb2236 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2236++
	if yyhl2236 {
		yyb2236 = yyj2236 > l
	} else {
		yyb2236 = r.CheckBreak()
	}
	if yyb2236 {
		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 {
		yyj2236++
		if yyhl2236 {
			yyb2236 = yyj2236 > l
		} else {
			yyb2236 = r.CheckBreak()
		}
		if yyb2236 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2236-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 {
		yym2239 := z.EncBinary()
		_ = yym2239
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2240 := !z.EncBinary()
			yy2arr2240 := z.EncBasicHandle().StructToArray
			var yyq2240 [3]bool
			_, _, _ = yysep2240, yyq2240, yy2arr2240
			const yyr2240 bool = false
			var yynn2240 int
			if yyr2240 || yy2arr2240 {
				r.EncodeArrayStart(3)
			} else {
				yynn2240 = 3
				for _, b := range yyq2240 {
					if b {
						yynn2240++
					}
				}
				r.EncodeMapStart(yynn2240)
				yynn2240 = 0
			}
			if yyr2240 || yy2arr2240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2242 := z.EncBinary()
				_ = yym2242
				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)
				yym2243 := z.EncBinary()
				_ = yym2243
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2240 || yy2arr2240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2245 := z.EncBinary()
				_ = yym2245
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2246 := z.EncBinary()
				_ = yym2246
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2240 || yy2arr2240 {
				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 yyr2240 || yy2arr2240 {
				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
	yym2248 := z.DecBinary()
	_ = yym2248
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2249 := r.ContainerType()
		if yyct2249 == codecSelferValueTypeMap1234 {
			yyl2249 := r.ReadMapStart()
			if yyl2249 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2249, d)
			}
		} else if yyct2249 == codecSelferValueTypeArray1234 {
			yyl2249 := r.ReadArrayStart()
			if yyl2249 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2249, 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 yys2250Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2250Slc
	var yyhl2250 bool = l >= 0
	for yyj2250 := 0; ; yyj2250++ {
		if yyhl2250 {
			if yyj2250 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2250Slc = r.DecodeBytes(yys2250Slc, true, true)
		yys2250 := string(yys2250Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2250 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "Protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2250)
		} // end switch yys2250
	} // end for yyj2250
	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 yyj2254 int
	var yyb2254 bool
	var yyhl2254 bool = l >= 0
	yyj2254++
	if yyhl2254 {
		yyb2254 = yyj2254 > l
	} else {
		yyb2254 = r.CheckBreak()
	}
	if yyb2254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2254++
	if yyhl2254 {
		yyb2254 = yyj2254 > l
	} else {
		yyb2254 = r.CheckBreak()
	}
	if yyb2254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj2254++
	if yyhl2254 {
		yyb2254 = yyj2254 > l
	} else {
		yyb2254 = r.CheckBreak()
	}
	if yyb2254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2254++
		if yyhl2254 {
			yyb2254 = yyj2254 > l
		} else {
			yyb2254 = r.CheckBreak()
		}
		if yyb2254 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2254-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 {
		yym2258 := z.EncBinary()
		_ = yym2258
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2259 := !z.EncBinary()
			yy2arr2259 := z.EncBasicHandle().StructToArray
			var yyq2259 [4]bool
			_, _, _ = yysep2259, yyq2259, yy2arr2259
			const yyr2259 bool = false
			yyq2259[0] = x.Kind != ""
			yyq2259[1] = x.APIVersion != ""
			yyq2259[2] = true
			var yynn2259 int
			if yyr2259 || yy2arr2259 {
				r.EncodeArrayStart(4)
			} else {
				yynn2259 = 1
				for _, b := range yyq2259 {
					if b {
						yynn2259++
					}
				}
				r.EncodeMapStart(yynn2259)
				yynn2259 = 0
			}
			if yyr2259 || yy2arr2259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2259[0] {
					yym2261 := z.EncBinary()
					_ = yym2261
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2259[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2262 := z.EncBinary()
					_ = yym2262
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2259 || yy2arr2259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2259[1] {
					yym2264 := z.EncBinary()
					_ = yym2264
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2259[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2265 := z.EncBinary()
					_ = yym2265
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2259 || yy2arr2259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2259[2] {
					yy2267 := &x.ListMeta
					yym2268 := z.EncBinary()
					_ = yym2268
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2267) {
					} else {
						z.EncFallback(yy2267)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2259[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2269 := &x.ListMeta
					yym2270 := z.EncBinary()
					_ = yym2270
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2269) {
					} else {
						z.EncFallback(yy2269)
					}
				}
			}
			if yyr2259 || yy2arr2259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2272 := z.EncBinary()
					_ = yym2272
					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 {
					yym2273 := z.EncBinary()
					_ = yym2273
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yyr2259 || yy2arr2259 {
				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
	yym2274 := z.DecBinary()
	_ = yym2274
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2275 := r.ContainerType()
		if yyct2275 == codecSelferValueTypeMap1234 {
			yyl2275 := r.ReadMapStart()
			if yyl2275 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2275, d)
			}
		} else if yyct2275 == codecSelferValueTypeArray1234 {
			yyl2275 := r.ReadArrayStart()
			if yyl2275 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2275, 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 yys2276Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2276Slc
	var yyhl2276 bool = l >= 0
	for yyj2276 := 0; ; yyj2276++ {
		if yyhl2276 {
			if yyj2276 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2276Slc = r.DecodeBytes(yys2276Slc, true, true)
		yys2276 := string(yys2276Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2276 {
		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 {
				yyv2279 := &x.ListMeta
				yym2280 := z.DecBinary()
				_ = yym2280
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2279) {
				} else {
					z.DecFallback(yyv2279, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2281 := &x.Items
				yym2282 := z.DecBinary()
				_ = yym2282
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2281), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2276)
		} // end switch yys2276
	} // end for yyj2276
	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 yyj2283 int
	var yyb2283 bool
	var yyhl2283 bool = l >= 0
	yyj2283++
	if yyhl2283 {
		yyb2283 = yyj2283 > l
	} else {
		yyb2283 = r.CheckBreak()
	}
	if yyb2283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2283++
	if yyhl2283 {
		yyb2283 = yyj2283 > l
	} else {
		yyb2283 = r.CheckBreak()
	}
	if yyb2283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2283++
	if yyhl2283 {
		yyb2283 = yyj2283 > l
	} else {
		yyb2283 = r.CheckBreak()
	}
	if yyb2283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2286 := &x.ListMeta
		yym2287 := z.DecBinary()
		_ = yym2287
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2286) {
		} else {
			z.DecFallback(yyv2286, false)
		}
	}
	yyj2283++
	if yyhl2283 {
		yyb2283 = yyj2283 > l
	} else {
		yyb2283 = r.CheckBreak()
	}
	if yyb2283 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2288 := &x.Items
		yym2289 := z.DecBinary()
		_ = yym2289
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2288), d)
		}
	}
	for {
		yyj2283++
		if yyhl2283 {
			yyb2283 = yyj2283 > l
		} else {
			yyb2283 = r.CheckBreak()
		}
		if yyb2283 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2283-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 {
		yym2290 := z.EncBinary()
		_ = yym2290
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2291 := !z.EncBinary()
			yy2arr2291 := z.EncBasicHandle().StructToArray
			var yyq2291 [4]bool
			_, _, _ = yysep2291, yyq2291, yy2arr2291
			const yyr2291 bool = false
			yyq2291[0] = x.PodCIDR != ""
			yyq2291[1] = x.ExternalID != ""
			yyq2291[2] = x.ProviderID != ""
			yyq2291[3] = x.Unschedulable != false
			var yynn2291 int
			if yyr2291 || yy2arr2291 {
				r.EncodeArrayStart(4)
			} else {
				yynn2291 = 0
				for _, b := range yyq2291 {
					if b {
						yynn2291++
					}
				}
				r.EncodeMapStart(yynn2291)
				yynn2291 = 0
			}
			if yyr2291 || yy2arr2291 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2291[0] {
					yym2293 := z.EncBinary()
					_ = yym2293
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2291[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2294 := z.EncBinary()
					_ = yym2294
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2291 || yy2arr2291 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2291[1] {
					yym2296 := z.EncBinary()
					_ = yym2296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2291[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2297 := z.EncBinary()
					_ = yym2297
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2291 || yy2arr2291 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2291[2] {
					yym2299 := z.EncBinary()
					_ = yym2299
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2291[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2300 := z.EncBinary()
					_ = yym2300
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2291 || yy2arr2291 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2291[3] {
					yym2302 := z.EncBinary()
					_ = yym2302
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2291[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2303 := z.EncBinary()
					_ = yym2303
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yyr2291 || yy2arr2291 {
				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
	yym2304 := z.DecBinary()
	_ = yym2304
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2305 := r.ContainerType()
		if yyct2305 == codecSelferValueTypeMap1234 {
			yyl2305 := r.ReadMapStart()
			if yyl2305 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2305, d)
			}
		} else if yyct2305 == codecSelferValueTypeArray1234 {
			yyl2305 := r.ReadArrayStart()
			if yyl2305 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2305, 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 yys2306Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2306Slc
	var yyhl2306 bool = l >= 0
	for yyj2306 := 0; ; yyj2306++ {
		if yyhl2306 {
			if yyj2306 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2306Slc = r.DecodeBytes(yys2306Slc, true, true)
		yys2306 := string(yys2306Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2306 {
		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, yys2306)
		} // end switch yys2306
	} // end for yyj2306
	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 yyj2311 int
	var yyb2311 bool
	var yyhl2311 bool = l >= 0
	yyj2311++
	if yyhl2311 {
		yyb2311 = yyj2311 > l
	} else {
		yyb2311 = r.CheckBreak()
	}
	if yyb2311 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodCIDR = ""
	} else {
		x.PodCIDR = string(r.DecodeString())
	}
	yyj2311++
	if yyhl2311 {
		yyb2311 = yyj2311 > l
	} else {
		yyb2311 = r.CheckBreak()
	}
	if yyb2311 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalID = ""
	} else {
		x.ExternalID = string(r.DecodeString())
	}
	yyj2311++
	if yyhl2311 {
		yyb2311 = yyj2311 > l
	} else {
		yyb2311 = r.CheckBreak()
	}
	if yyb2311 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ProviderID = ""
	} else {
		x.ProviderID = string(r.DecodeString())
	}
	yyj2311++
	if yyhl2311 {
		yyb2311 = yyj2311 > l
	} else {
		yyb2311 = r.CheckBreak()
	}
	if yyb2311 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	for {
		yyj2311++
		if yyhl2311 {
			yyb2311 = yyj2311 > l
		} else {
			yyb2311 = r.CheckBreak()
		}
		if yyb2311 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2311-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 {
		yym2316 := z.EncBinary()
		_ = yym2316
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2317 := !z.EncBinary()
			yy2arr2317 := z.EncBasicHandle().StructToArray
			var yyq2317 [1]bool
			_, _, _ = yysep2317, yyq2317, yy2arr2317
			const yyr2317 bool = false
			var yynn2317 int
			if yyr2317 || yy2arr2317 {
				r.EncodeArrayStart(1)
			} else {
				yynn2317 = 1
				for _, b := range yyq2317 {
					if b {
						yynn2317++
					}
				}
				r.EncodeMapStart(yynn2317)
				yynn2317 = 0
			}
			if yyr2317 || yy2arr2317 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2319 := z.EncBinary()
				_ = yym2319
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2320 := z.EncBinary()
				_ = yym2320
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2317 || yy2arr2317 {
				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
	yym2321 := z.DecBinary()
	_ = yym2321
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2322 := r.ContainerType()
		if yyct2322 == codecSelferValueTypeMap1234 {
			yyl2322 := r.ReadMapStart()
			if yyl2322 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2322, d)
			}
		} else if yyct2322 == codecSelferValueTypeArray1234 {
			yyl2322 := r.ReadArrayStart()
			if yyl2322 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2322, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2323Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2323Slc
	var yyhl2323 bool = l >= 0
	for yyj2323 := 0; ; yyj2323++ {
		if yyhl2323 {
			if yyj2323 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2323Slc = r.DecodeBytes(yys2323Slc, true, true)
		yys2323 := string(yys2323Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2323 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2323)
		} // end switch yys2323
	} // end for yyj2323
	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 yyj2325 int
	var yyb2325 bool
	var yyhl2325 bool = l >= 0
	yyj2325++
	if yyhl2325 {
		yyb2325 = yyj2325 > l
	} else {
		yyb2325 = r.CheckBreak()
	}
	if yyb2325 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2325++
		if yyhl2325 {
			yyb2325 = yyj2325 > l
		} else {
			yyb2325 = r.CheckBreak()
		}
		if yyb2325 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2325-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 {
		yym2327 := z.EncBinary()
		_ = yym2327
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2328 := !z.EncBinary()
			yy2arr2328 := z.EncBasicHandle().StructToArray
			var yyq2328 [1]bool
			_, _, _ = yysep2328, yyq2328, yy2arr2328
			const yyr2328 bool = false
			yyq2328[0] = true
			var yynn2328 int
			if yyr2328 || yy2arr2328 {
				r.EncodeArrayStart(1)
			} else {
				yynn2328 = 0
				for _, b := range yyq2328 {
					if b {
						yynn2328++
					}
				}
				r.EncodeMapStart(yynn2328)
				yynn2328 = 0
			}
			if yyr2328 || yy2arr2328 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2328[0] {
					yy2330 := &x.KubeletEndpoint
					yy2330.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2328[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2331 := &x.KubeletEndpoint
					yy2331.CodecEncodeSelf(e)
				}
			}
			if yyr2328 || yy2arr2328 {
				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
	yym2332 := z.DecBinary()
	_ = yym2332
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2333 := r.ContainerType()
		if yyct2333 == codecSelferValueTypeMap1234 {
			yyl2333 := r.ReadMapStart()
			if yyl2333 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2333, d)
			}
		} else if yyct2333 == codecSelferValueTypeArray1234 {
			yyl2333 := r.ReadArrayStart()
			if yyl2333 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2333, 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 yys2334Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2334Slc
	var yyhl2334 bool = l >= 0
	for yyj2334 := 0; ; yyj2334++ {
		if yyhl2334 {
			if yyj2334 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2334Slc = r.DecodeBytes(yys2334Slc, true, true)
		yys2334 := string(yys2334Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2334 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv2335 := &x.KubeletEndpoint
				yyv2335.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2334)
		} // end switch yys2334
	} // end for yyj2334
	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 yyj2336 int
	var yyb2336 bool
	var yyhl2336 bool = l >= 0
	yyj2336++
	if yyhl2336 {
		yyb2336 = yyj2336 > l
	} else {
		yyb2336 = r.CheckBreak()
	}
	if yyb2336 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv2337 := &x.KubeletEndpoint
		yyv2337.CodecDecodeSelf(d)
	}
	for {
		yyj2336++
		if yyhl2336 {
			yyb2336 = yyj2336 > l
		} else {
			yyb2336 = r.CheckBreak()
		}
		if yyb2336 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2336-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 {
		yym2338 := z.EncBinary()
		_ = yym2338
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2339 := !z.EncBinary()
			yy2arr2339 := z.EncBasicHandle().StructToArray
			var yyq2339 [8]bool
			_, _, _ = yysep2339, yyq2339, yy2arr2339
			const yyr2339 bool = false
			var yynn2339 int
			if yyr2339 || yy2arr2339 {
				r.EncodeArrayStart(8)
			} else {
				yynn2339 = 8
				for _, b := range yyq2339 {
					if b {
						yynn2339++
					}
				}
				r.EncodeMapStart(yynn2339)
				yynn2339 = 0
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2341 := z.EncBinary()
				_ = yym2341
				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)
				yym2342 := z.EncBinary()
				_ = yym2342
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2344 := z.EncBinary()
				_ = yym2344
				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)
				yym2345 := z.EncBinary()
				_ = yym2345
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2347 := z.EncBinary()
				_ = yym2347
				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)
				yym2348 := z.EncBinary()
				_ = yym2348
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2350 := z.EncBinary()
				_ = yym2350
				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)
				yym2351 := z.EncBinary()
				_ = yym2351
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2353 := z.EncBinary()
				_ = yym2353
				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)
				yym2354 := z.EncBinary()
				_ = yym2354
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2356 := z.EncBinary()
				_ = yym2356
				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)
				yym2357 := z.EncBinary()
				_ = yym2357
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2359 := z.EncBinary()
				_ = yym2359
				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)
				yym2360 := z.EncBinary()
				_ = yym2360
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr2339 || yy2arr2339 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2362 := z.EncBinary()
				_ = yym2362
				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)
				yym2363 := z.EncBinary()
				_ = yym2363
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yyr2339 || yy2arr2339 {
				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
	yym2364 := z.DecBinary()
	_ = yym2364
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2365 := r.ContainerType()
		if yyct2365 == codecSelferValueTypeMap1234 {
			yyl2365 := r.ReadMapStart()
			if yyl2365 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2365, d)
			}
		} else if yyct2365 == codecSelferValueTypeArray1234 {
			yyl2365 := r.ReadArrayStart()
			if yyl2365 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2365, 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 yys2366Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2366Slc
	var yyhl2366 bool = l >= 0
	for yyj2366 := 0; ; yyj2366++ {
		if yyhl2366 {
			if yyj2366 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2366Slc = r.DecodeBytes(yys2366Slc, true, true)
		yys2366 := string(yys2366Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2366 {
		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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2366)
		} // end switch yys2366
	} // end for yyj2366
	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 yyj2375 int
	var yyb2375 bool
	var yyhl2375 bool = l >= 0
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OSImage = ""
	} else {
		x.OSImage = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj2375++
	if yyhl2375 {
		yyb2375 = yyj2375 > l
	} else {
		yyb2375 = r.CheckBreak()
	}
	if yyb2375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	for {
		yyj2375++
		if yyhl2375 {
			yyb2375 = yyj2375 > l
		} else {
			yyb2375 = r.CheckBreak()
		}
		if yyb2375 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2375-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 {
		yym2384 := z.EncBinary()
		_ = yym2384
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2385 := !z.EncBinary()
			yy2arr2385 := z.EncBasicHandle().StructToArray
			var yyq2385 [8]bool
			_, _, _ = yysep2385, yyq2385, yy2arr2385
			const yyr2385 bool = false
			yyq2385[0] = len(x.Capacity) != 0
			yyq2385[1] = len(x.Allocatable) != 0
			yyq2385[2] = x.Phase != ""
			yyq2385[3] = len(x.Conditions) != 0
			yyq2385[4] = len(x.Addresses) != 0
			yyq2385[5] = true
			yyq2385[6] = true
			var yynn2385 int
			if yyr2385 || yy2arr2385 {
				r.EncodeArrayStart(8)
			} else {
				yynn2385 = 1
				for _, b := range yyq2385 {
					if b {
						yynn2385++
					}
				}
				r.EncodeMapStart(yynn2385)
				yynn2385 = 0
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[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 yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[1] {
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[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 yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[2] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2385[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2390 := z.EncBinary()
						_ = yym2390
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2391 := z.EncBinary()
						_ = yym2391
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[4] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2393 := z.EncBinary()
						_ = yym2393
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2394 := z.EncBinary()
						_ = yym2394
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[5] {
					yy2396 := &x.DaemonEndpoints
					yy2396.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2397 := &x.DaemonEndpoints
					yy2397.CodecEncodeSelf(e)
				}
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2385[6] {
					yy2399 := &x.NodeInfo
					yy2399.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2385[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2400 := &x.NodeInfo
					yy2400.CodecEncodeSelf(e)
				}
			}
			if yyr2385 || yy2arr2385 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Images == nil {
					r.EncodeNil()
				} else {
					yym2402 := z.EncBinary()
					_ = yym2402
					if false {
					} else {
						h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("images"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Images == nil {
					r.EncodeNil()
				} else {
					yym2403 := z.EncBinary()
					_ = yym2403
					if false {
					} else {
						h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
					}
				}
			}
			if yyr2385 || yy2arr2385 {
				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
	yym2404 := z.DecBinary()
	_ = yym2404
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2405 := r.ContainerType()
		if yyct2405 == codecSelferValueTypeMap1234 {
			yyl2405 := r.ReadMapStart()
			if yyl2405 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2405, d)
			}
		} else if yyct2405 == codecSelferValueTypeArray1234 {
			yyl2405 := r.ReadArrayStart()
			if yyl2405 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2405, 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 yys2406Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2406Slc
	var yyhl2406 bool = l >= 0
	for yyj2406 := 0; ; yyj2406++ {
		if yyhl2406 {
			if yyj2406 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2406Slc = r.DecodeBytes(yys2406Slc, true, true)
		yys2406 := string(yys2406Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2406 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2407 := &x.Capacity
				yyv2407.CodecDecodeSelf(d)
			}
		case "allocatable":
			if r.TryDecodeAsNil() {
				x.Allocatable = nil
			} else {
				yyv2408 := &x.Allocatable
				yyv2408.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2410 := &x.Conditions
				yym2411 := z.DecBinary()
				_ = yym2411
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv2410), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2412 := &x.Addresses
				yym2413 := z.DecBinary()
				_ = yym2413
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv2412), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv2414 := &x.DaemonEndpoints
				yyv2414.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv2415 := &x.NodeInfo
				yyv2415.CodecDecodeSelf(d)
			}
		case "images":
			if r.TryDecodeAsNil() {
				x.Images = nil
			} else {
				yyv2416 := &x.Images
				yym2417 := z.DecBinary()
				_ = yym2417
				if false {
				} else {
					h.decSliceContainerImage((*[]ContainerImage)(yyv2416), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2406)
		} // end switch yys2406
	} // end for yyj2406
	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 yyj2418 int
	var yyb2418 bool
	var yyhl2418 bool = l >= 0
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2419 := &x.Capacity
		yyv2419.CodecDecodeSelf(d)
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Allocatable = nil
	} else {
		yyv2420 := &x.Allocatable
		yyv2420.CodecDecodeSelf(d)
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2422 := &x.Conditions
		yym2423 := z.DecBinary()
		_ = yym2423
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv2422), d)
		}
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2424 := &x.Addresses
		yym2425 := z.DecBinary()
		_ = yym2425
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv2424), d)
		}
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv2426 := &x.DaemonEndpoints
		yyv2426.CodecDecodeSelf(d)
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv2427 := &x.NodeInfo
		yyv2427.CodecDecodeSelf(d)
	}
	yyj2418++
	if yyhl2418 {
		yyb2418 = yyj2418 > l
	} else {
		yyb2418 = r.CheckBreak()
	}
	if yyb2418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Images = nil
	} else {
		yyv2428 := &x.Images
		yym2429 := z.DecBinary()
		_ = yym2429
		if false {
		} else {
			h.decSliceContainerImage((*[]ContainerImage)(yyv2428), d)
		}
	}
	for {
		yyj2418++
		if yyhl2418 {
			yyb2418 = yyj2418 > l
		} else {
			yyb2418 = r.CheckBreak()
		}
		if yyb2418 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2418-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 {
		yym2430 := z.EncBinary()
		_ = yym2430
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2431 := !z.EncBinary()
			yy2arr2431 := z.EncBasicHandle().StructToArray
			var yyq2431 [2]bool
			_, _, _ = yysep2431, yyq2431, yy2arr2431
			const yyr2431 bool = false
			yyq2431[1] = x.Size != 0
			var yynn2431 int
			if yyr2431 || yy2arr2431 {
				r.EncodeArrayStart(2)
			} else {
				yynn2431 = 1
				for _, b := range yyq2431 {
					if b {
						yynn2431++
					}
				}
				r.EncodeMapStart(yynn2431)
				yynn2431 = 0
			}
			if yyr2431 || yy2arr2431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.RepoTags == nil {
					r.EncodeNil()
				} else {
					yym2433 := z.EncBinary()
					_ = yym2433
					if false {
					} else {
						z.F.EncSliceStringV(x.RepoTags, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("repoTags"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.RepoTags == nil {
					r.EncodeNil()
				} else {
					yym2434 := z.EncBinary()
					_ = yym2434
					if false {
					} else {
						z.F.EncSliceStringV(x.RepoTags, false, e)
					}
				}
			}
			if yyr2431 || yy2arr2431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2431[1] {
					yym2436 := z.EncBinary()
					_ = yym2436
					if false {
					} else {
						r.EncodeInt(int64(x.Size))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2431[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("size"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2437 := z.EncBinary()
					_ = yym2437
					if false {
					} else {
						r.EncodeInt(int64(x.Size))
					}
				}
			}
			if yyr2431 || yy2arr2431 {
				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
	yym2438 := z.DecBinary()
	_ = yym2438
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2439 := r.ContainerType()
		if yyct2439 == codecSelferValueTypeMap1234 {
			yyl2439 := r.ReadMapStart()
			if yyl2439 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2439, d)
			}
		} else if yyct2439 == codecSelferValueTypeArray1234 {
			yyl2439 := r.ReadArrayStart()
			if yyl2439 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2439, 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 yys2440Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2440Slc
	var yyhl2440 bool = l >= 0
	for yyj2440 := 0; ; yyj2440++ {
		if yyhl2440 {
			if yyj2440 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2440Slc = r.DecodeBytes(yys2440Slc, true, true)
		yys2440 := string(yys2440Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2440 {
		case "repoTags":
			if r.TryDecodeAsNil() {
				x.RepoTags = nil
			} else {
				yyv2441 := &x.RepoTags
				yym2442 := z.DecBinary()
				_ = yym2442
				if false {
				} else {
					z.F.DecSliceStringX(yyv2441, false, d)
				}
			}
		case "size":
			if r.TryDecodeAsNil() {
				x.Size = 0
			} else {
				x.Size = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2440)
		} // end switch yys2440
	} // end for yyj2440
	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 yyj2444 int
	var yyb2444 bool
	var yyhl2444 bool = l >= 0
	yyj2444++
	if yyhl2444 {
		yyb2444 = yyj2444 > l
	} else {
		yyb2444 = r.CheckBreak()
	}
	if yyb2444 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RepoTags = nil
	} else {
		yyv2445 := &x.RepoTags
		yym2446 := z.DecBinary()
		_ = yym2446
		if false {
		} else {
			z.F.DecSliceStringX(yyv2445, false, d)
		}
	}
	yyj2444++
	if yyhl2444 {
		yyb2444 = yyj2444 > l
	} else {
		yyb2444 = r.CheckBreak()
	}
	if yyb2444 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Size = 0
	} else {
		x.Size = int64(r.DecodeInt(64))
	}
	for {
		yyj2444++
		if yyhl2444 {
			yyb2444 = yyj2444 > l
		} else {
			yyb2444 = r.CheckBreak()
		}
		if yyb2444 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2444-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2448 := z.EncBinary()
	_ = yym2448
	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
	yym2449 := z.DecBinary()
	_ = yym2449
	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
	yym2450 := z.EncBinary()
	_ = yym2450
	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
	yym2451 := z.DecBinary()
	_ = yym2451
	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 {
		yym2452 := z.EncBinary()
		_ = yym2452
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2453 := !z.EncBinary()
			yy2arr2453 := z.EncBasicHandle().StructToArray
			var yyq2453 [6]bool
			_, _, _ = yysep2453, yyq2453, yy2arr2453
			const yyr2453 bool = false
			yyq2453[2] = true
			yyq2453[3] = true
			yyq2453[4] = x.Reason != ""
			yyq2453[5] = x.Message != ""
			var yynn2453 int
			if yyr2453 || yy2arr2453 {
				r.EncodeArrayStart(6)
			} else {
				yynn2453 = 2
				for _, b := range yyq2453 {
					if b {
						yynn2453++
					}
				}
				r.EncodeMapStart(yynn2453)
				yynn2453 = 0
			}
			if yyr2453 || yy2arr2453 {
				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 yyr2453 || yy2arr2453 {
				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 yyr2453 || yy2arr2453 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2453[2] {
					yy2457 := &x.LastHeartbeatTime
					yym2458 := z.EncBinary()
					_ = yym2458
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2457) {
					} else if yym2458 {
						z.EncBinaryMarshal(yy2457)
					} else if !yym2458 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2457)
					} else {
						z.EncFallback(yy2457)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2453[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2459 := &x.LastHeartbeatTime
					yym2460 := z.EncBinary()
					_ = yym2460
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2459) {
					} else if yym2460 {
						z.EncBinaryMarshal(yy2459)
					} else if !yym2460 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2459)
					} else {
						z.EncFallback(yy2459)
					}
				}
			}
			if yyr2453 || yy2arr2453 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2453[3] {
					yy2462 := &x.LastTransitionTime
					yym2463 := z.EncBinary()
					_ = yym2463
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2462) {
					} else if yym2463 {
						z.EncBinaryMarshal(yy2462)
					} else if !yym2463 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2462)
					} else {
						z.EncFallback(yy2462)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2453[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2464 := &x.LastTransitionTime
					yym2465 := z.EncBinary()
					_ = yym2465
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2464) {
					} else if yym2465 {
						z.EncBinaryMarshal(yy2464)
					} else if !yym2465 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2464)
					} else {
						z.EncFallback(yy2464)
					}
				}
			}
			if yyr2453 || yy2arr2453 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2453[4] {
					yym2467 := z.EncBinary()
					_ = yym2467
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2453[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2468 := z.EncBinary()
					_ = yym2468
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2453 || yy2arr2453 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2453[5] {
					yym2470 := z.EncBinary()
					_ = yym2470
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2453[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2471 := z.EncBinary()
					_ = yym2471
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2453 || yy2arr2453 {
				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
	yym2472 := z.DecBinary()
	_ = yym2472
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2473 := r.ContainerType()
		if yyct2473 == codecSelferValueTypeMap1234 {
			yyl2473 := r.ReadMapStart()
			if yyl2473 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2473, d)
			}
		} else if yyct2473 == codecSelferValueTypeArray1234 {
			yyl2473 := r.ReadArrayStart()
			if yyl2473 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2473, 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 yys2474Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2474Slc
	var yyhl2474 bool = l >= 0
	for yyj2474 := 0; ; yyj2474++ {
		if yyhl2474 {
			if yyj2474 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2474Slc = r.DecodeBytes(yys2474Slc, true, true)
		yys2474 := string(yys2474Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2474 {
		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 {
				yyv2477 := &x.LastHeartbeatTime
				yym2478 := z.DecBinary()
				_ = yym2478
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2477) {
				} else if yym2478 {
					z.DecBinaryUnmarshal(yyv2477)
				} else if !yym2478 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2477)
				} else {
					z.DecFallback(yyv2477, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv2479 := &x.LastTransitionTime
				yym2480 := z.DecBinary()
				_ = yym2480
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2479) {
				} else if yym2480 {
					z.DecBinaryUnmarshal(yyv2479)
				} else if !yym2480 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2479)
				} else {
					z.DecFallback(yyv2479, 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, yys2474)
		} // end switch yys2474
	} // end for yyj2474
	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 yyj2483 int
	var yyb2483 bool
	var yyhl2483 bool = l >= 0
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv2486 := &x.LastHeartbeatTime
		yym2487 := z.DecBinary()
		_ = yym2487
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2486) {
		} else if yym2487 {
			z.DecBinaryUnmarshal(yyv2486)
		} else if !yym2487 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2486)
		} else {
			z.DecFallback(yyv2486, false)
		}
	}
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2488 := &x.LastTransitionTime
		yym2489 := z.DecBinary()
		_ = yym2489
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2488) {
		} else if yym2489 {
			z.DecBinaryUnmarshal(yyv2488)
		} else if !yym2489 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2488)
		} else {
			z.DecFallback(yyv2488, false)
		}
	}
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2483++
	if yyhl2483 {
		yyb2483 = yyj2483 > l
	} else {
		yyb2483 = r.CheckBreak()
	}
	if yyb2483 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2483++
		if yyhl2483 {
			yyb2483 = yyj2483 > l
		} else {
			yyb2483 = r.CheckBreak()
		}
		if yyb2483 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2483-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2492 := z.EncBinary()
	_ = yym2492
	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
	yym2493 := z.DecBinary()
	_ = yym2493
	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 {
		yym2494 := z.EncBinary()
		_ = yym2494
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2495 := !z.EncBinary()
			yy2arr2495 := z.EncBasicHandle().StructToArray
			var yyq2495 [2]bool
			_, _, _ = yysep2495, yyq2495, yy2arr2495
			const yyr2495 bool = false
			var yynn2495 int
			if yyr2495 || yy2arr2495 {
				r.EncodeArrayStart(2)
			} else {
				yynn2495 = 2
				for _, b := range yyq2495 {
					if b {
						yynn2495++
					}
				}
				r.EncodeMapStart(yynn2495)
				yynn2495 = 0
			}
			if yyr2495 || yy2arr2495 {
				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 yyr2495 || yy2arr2495 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2498 := z.EncBinary()
				_ = yym2498
				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)
				yym2499 := z.EncBinary()
				_ = yym2499
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yyr2495 || yy2arr2495 {
				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
	yym2500 := z.DecBinary()
	_ = yym2500
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2501 := r.ContainerType()
		if yyct2501 == codecSelferValueTypeMap1234 {
			yyl2501 := r.ReadMapStart()
			if yyl2501 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2501, d)
			}
		} else if yyct2501 == codecSelferValueTypeArray1234 {
			yyl2501 := r.ReadArrayStart()
			if yyl2501 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2501, 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 yys2502Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2502Slc
	var yyhl2502 bool = l >= 0
	for yyj2502 := 0; ; yyj2502++ {
		if yyhl2502 {
			if yyj2502 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2502Slc = r.DecodeBytes(yys2502Slc, true, true)
		yys2502 := string(yys2502Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2502 {
		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, yys2502)
		} // end switch yys2502
	} // end for yyj2502
	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 yyj2505 int
	var yyb2505 bool
	var yyhl2505 bool = l >= 0
	yyj2505++
	if yyhl2505 {
		yyb2505 = yyj2505 > l
	} else {
		yyb2505 = r.CheckBreak()
	}
	if yyb2505 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj2505++
	if yyhl2505 {
		yyb2505 = yyj2505 > l
	} else {
		yyb2505 = r.CheckBreak()
	}
	if yyb2505 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj2505++
		if yyhl2505 {
			yyb2505 = yyj2505 > l
		} else {
			yyb2505 = r.CheckBreak()
		}
		if yyb2505 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2505-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 {
		yym2508 := z.EncBinary()
		_ = yym2508
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2509 := !z.EncBinary()
			yy2arr2509 := z.EncBasicHandle().StructToArray
			var yyq2509 [1]bool
			_, _, _ = yysep2509, yyq2509, yy2arr2509
			const yyr2509 bool = false
			yyq2509[0] = len(x.Capacity) != 0
			var yynn2509 int
			if yyr2509 || yy2arr2509 {
				r.EncodeArrayStart(1)
			} else {
				yynn2509 = 0
				for _, b := range yyq2509 {
					if b {
						yynn2509++
					}
				}
				r.EncodeMapStart(yynn2509)
				yynn2509 = 0
			}
			if yyr2509 || yy2arr2509 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2509[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2509[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 yyr2509 || yy2arr2509 {
				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
	yym2511 := z.DecBinary()
	_ = yym2511
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2512 := r.ContainerType()
		if yyct2512 == codecSelferValueTypeMap1234 {
			yyl2512 := r.ReadMapStart()
			if yyl2512 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2512, d)
			}
		} else if yyct2512 == codecSelferValueTypeArray1234 {
			yyl2512 := r.ReadArrayStart()
			if yyl2512 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2512, 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 yys2513Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2513Slc
	var yyhl2513 bool = l >= 0
	for yyj2513 := 0; ; yyj2513++ {
		if yyhl2513 {
			if yyj2513 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2513Slc = r.DecodeBytes(yys2513Slc, true, true)
		yys2513 := string(yys2513Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2513 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2514 := &x.Capacity
				yyv2514.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2513)
		} // end switch yys2513
	} // end for yyj2513
	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 yyj2515 int
	var yyb2515 bool
	var yyhl2515 bool = l >= 0
	yyj2515++
	if yyhl2515 {
		yyb2515 = yyj2515 > l
	} else {
		yyb2515 = r.CheckBreak()
	}
	if yyb2515 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2516 := &x.Capacity
		yyv2516.CodecDecodeSelf(d)
	}
	for {
		yyj2515++
		if yyhl2515 {
			yyb2515 = yyj2515 > l
		} else {
			yyb2515 = r.CheckBreak()
		}
		if yyb2515 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2515-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2517 := z.EncBinary()
	_ = yym2517
	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
	yym2518 := z.DecBinary()
	_ = yym2518
	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 {
		yym2519 := z.EncBinary()
		_ = yym2519
		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
	yym2520 := z.DecBinary()
	_ = yym2520
	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 {
		yym2521 := z.EncBinary()
		_ = yym2521
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2522 := !z.EncBinary()
			yy2arr2522 := z.EncBasicHandle().StructToArray
			var yyq2522 [5]bool
			_, _, _ = yysep2522, yyq2522, yy2arr2522
			const yyr2522 bool = false
			yyq2522[0] = x.Kind != ""
			yyq2522[1] = x.APIVersion != ""
			yyq2522[2] = true
			yyq2522[3] = true
			yyq2522[4] = true
			var yynn2522 int
			if yyr2522 || yy2arr2522 {
				r.EncodeArrayStart(5)
			} else {
				yynn2522 = 0
				for _, b := range yyq2522 {
					if b {
						yynn2522++
					}
				}
				r.EncodeMapStart(yynn2522)
				yynn2522 = 0
			}
			if yyr2522 || yy2arr2522 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2522[0] {
					yym2524 := z.EncBinary()
					_ = yym2524
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2522[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2525 := z.EncBinary()
					_ = yym2525
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2522 || yy2arr2522 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2522[1] {
					yym2527 := z.EncBinary()
					_ = yym2527
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2522[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2528 := z.EncBinary()
					_ = yym2528
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2522 || yy2arr2522 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2522[2] {
					yy2530 := &x.ObjectMeta
					yy2530.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2522[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2531 := &x.ObjectMeta
					yy2531.CodecEncodeSelf(e)
				}
			}
			if yyr2522 || yy2arr2522 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2522[3] {
					yy2533 := &x.Spec
					yy2533.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2522[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2534 := &x.Spec
					yy2534.CodecEncodeSelf(e)
				}
			}
			if yyr2522 || yy2arr2522 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2522[4] {
					yy2536 := &x.Status
					yy2536.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2522[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2537 := &x.Status
					yy2537.CodecEncodeSelf(e)
				}
			}
			if yyr2522 || yy2arr2522 {
				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
	yym2538 := z.DecBinary()
	_ = yym2538
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2539 := r.ContainerType()
		if yyct2539 == codecSelferValueTypeMap1234 {
			yyl2539 := r.ReadMapStart()
			if yyl2539 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2539, d)
			}
		} else if yyct2539 == codecSelferValueTypeArray1234 {
			yyl2539 := r.ReadArrayStart()
			if yyl2539 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2539, 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 yys2540Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2540Slc
	var yyhl2540 bool = l >= 0
	for yyj2540 := 0; ; yyj2540++ {
		if yyhl2540 {
			if yyj2540 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2540Slc = r.DecodeBytes(yys2540Slc, true, true)
		yys2540 := string(yys2540Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2540 {
		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 {
				yyv2543 := &x.ObjectMeta
				yyv2543.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv2544 := &x.Spec
				yyv2544.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv2545 := &x.Status
				yyv2545.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2540)
		} // end switch yys2540
	} // end for yyj2540
	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 yyj2546 int
	var yyb2546 bool
	var yyhl2546 bool = l >= 0
	yyj2546++
	if yyhl2546 {
		yyb2546 = yyj2546 > l
	} else {
		yyb2546 = r.CheckBreak()
	}
	if yyb2546 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2546++
	if yyhl2546 {
		yyb2546 = yyj2546 > l
	} else {
		yyb2546 = r.CheckBreak()
	}
	if yyb2546 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2546++
	if yyhl2546 {
		yyb2546 = yyj2546 > l
	} else {
		yyb2546 = r.CheckBreak()
	}
	if yyb2546 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2549 := &x.ObjectMeta
		yyv2549.CodecDecodeSelf(d)
	}
	yyj2546++
	if yyhl2546 {
		yyb2546 = yyj2546 > l
	} else {
		yyb2546 = r.CheckBreak()
	}
	if yyb2546 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv2550 := &x.Spec
		yyv2550.CodecDecodeSelf(d)
	}
	yyj2546++
	if yyhl2546 {
		yyb2546 = yyj2546 > l
	} else {
		yyb2546 = r.CheckBreak()
	}
	if yyb2546 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv2551 := &x.Status
		yyv2551.CodecDecodeSelf(d)
	}
	for {
		yyj2546++
		if yyhl2546 {
			yyb2546 = yyj2546 > l
		} else {
			yyb2546 = r.CheckBreak()
		}
		if yyb2546 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2546-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 {
		yym2552 := z.EncBinary()
		_ = yym2552
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2553 := !z.EncBinary()
			yy2arr2553 := z.EncBasicHandle().StructToArray
			var yyq2553 [4]bool
			_, _, _ = yysep2553, yyq2553, yy2arr2553
			const yyr2553 bool = false
			yyq2553[0] = x.Kind != ""
			yyq2553[1] = x.APIVersion != ""
			yyq2553[2] = true
			var yynn2553 int
			if yyr2553 || yy2arr2553 {
				r.EncodeArrayStart(4)
			} else {
				yynn2553 = 1
				for _, b := range yyq2553 {
					if b {
						yynn2553++
					}
				}
				r.EncodeMapStart(yynn2553)
				yynn2553 = 0
			}
			if yyr2553 || yy2arr2553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2553[0] {
					yym2555 := z.EncBinary()
					_ = yym2555
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2553[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2556 := z.EncBinary()
					_ = yym2556
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2553 || yy2arr2553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2553[1] {
					yym2558 := z.EncBinary()
					_ = yym2558
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2553[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2559 := z.EncBinary()
					_ = yym2559
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2553 || yy2arr2553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2553[2] {
					yy2561 := &x.ListMeta
					yym2562 := z.EncBinary()
					_ = yym2562
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2561) {
					} else {
						z.EncFallback(yy2561)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2553[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2563 := &x.ListMeta
					yym2564 := z.EncBinary()
					_ = yym2564
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2563) {
					} else {
						z.EncFallback(yy2563)
					}
				}
			}
			if yyr2553 || yy2arr2553 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2566 := z.EncBinary()
					_ = yym2566
					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 {
					yym2567 := z.EncBinary()
					_ = yym2567
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yyr2553 || yy2arr2553 {
				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
	yym2568 := z.DecBinary()
	_ = yym2568
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2569 := r.ContainerType()
		if yyct2569 == codecSelferValueTypeMap1234 {
			yyl2569 := r.ReadMapStart()
			if yyl2569 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2569, d)
			}
		} else if yyct2569 == codecSelferValueTypeArray1234 {
			yyl2569 := r.ReadArrayStart()
			if yyl2569 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2569, 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 yys2570Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2570Slc
	var yyhl2570 bool = l >= 0
	for yyj2570 := 0; ; yyj2570++ {
		if yyhl2570 {
			if yyj2570 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2570Slc = r.DecodeBytes(yys2570Slc, true, true)
		yys2570 := string(yys2570Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2570 {
		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 {
				yyv2573 := &x.ListMeta
				yym2574 := z.DecBinary()
				_ = yym2574
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2573) {
				} else {
					z.DecFallback(yyv2573, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2575 := &x.Items
				yym2576 := z.DecBinary()
				_ = yym2576
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv2575), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2570)
		} // end switch yys2570
	} // end for yyj2570
	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 yyj2577 int
	var yyb2577 bool
	var yyhl2577 bool = l >= 0
	yyj2577++
	if yyhl2577 {
		yyb2577 = yyj2577 > l
	} else {
		yyb2577 = r.CheckBreak()
	}
	if yyb2577 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2577++
	if yyhl2577 {
		yyb2577 = yyj2577 > l
	} else {
		yyb2577 = r.CheckBreak()
	}
	if yyb2577 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2577++
	if yyhl2577 {
		yyb2577 = yyj2577 > l
	} else {
		yyb2577 = r.CheckBreak()
	}
	if yyb2577 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2580 := &x.ListMeta
		yym2581 := z.DecBinary()
		_ = yym2581
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2580) {
		} else {
			z.DecFallback(yyv2580, false)
		}
	}
	yyj2577++
	if yyhl2577 {
		yyb2577 = yyj2577 > l
	} else {
		yyb2577 = r.CheckBreak()
	}
	if yyb2577 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2582 := &x.Items
		yym2583 := z.DecBinary()
		_ = yym2583
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv2582), d)
		}
	}
	for {
		yyj2577++
		if yyhl2577 {
			yyb2577 = yyj2577 > l
		} else {
			yyb2577 = r.CheckBreak()
		}
		if yyb2577 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2577-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 {
		yym2584 := z.EncBinary()
		_ = yym2584
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2585 := !z.EncBinary()
			yy2arr2585 := z.EncBasicHandle().StructToArray
			var yyq2585 [1]bool
			_, _, _ = yysep2585, yyq2585, yy2arr2585
			const yyr2585 bool = false
			var yynn2585 int
			if yyr2585 || yy2arr2585 {
				r.EncodeArrayStart(1)
			} else {
				yynn2585 = 1
				for _, b := range yyq2585 {
					if b {
						yynn2585++
					}
				}
				r.EncodeMapStart(yynn2585)
				yynn2585 = 0
			}
			if yyr2585 || yy2arr2585 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym2587 := z.EncBinary()
					_ = yym2587
					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 {
					yym2588 := z.EncBinary()
					_ = yym2588
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			}
			if yyr2585 || yy2arr2585 {
				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
	yym2589 := z.DecBinary()
	_ = yym2589
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2590 := r.ContainerType()
		if yyct2590 == codecSelferValueTypeMap1234 {
			yyl2590 := r.ReadMapStart()
			if yyl2590 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2590, d)
			}
		} else if yyct2590 == codecSelferValueTypeArray1234 {
			yyl2590 := r.ReadArrayStart()
			if yyl2590 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2590, 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 yys2591Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2591Slc
	var yyhl2591 bool = l >= 0
	for yyj2591 := 0; ; yyj2591++ {
		if yyhl2591 {
			if yyj2591 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2591Slc = r.DecodeBytes(yys2591Slc, true, true)
		yys2591 := string(yys2591Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2591 {
		case "Finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv2592 := &x.Finalizers
				yym2593 := z.DecBinary()
				_ = yym2593
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv2592), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2591)
		} // end switch yys2591
	} // end for yyj2591
	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 yyj2594 int
	var yyb2594 bool
	var yyhl2594 bool = l >= 0
	yyj2594++
	if yyhl2594 {
		yyb2594 = yyj2594 > l
	} else {
		yyb2594 = r.CheckBreak()
	}
	if yyb2594 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv2595 := &x.Finalizers
		yym2596 := z.DecBinary()
		_ = yym2596
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv2595), d)
		}
	}
	for {
		yyj2594++
		if yyhl2594 {
			yyb2594 = yyj2594 > l
		} else {
			yyb2594 = r.CheckBreak()
		}
		if yyb2594 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2594-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2597 := z.EncBinary()
	_ = yym2597
	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
	yym2598 := z.DecBinary()
	_ = yym2598
	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 {
		yym2599 := z.EncBinary()
		_ = yym2599
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2600 := !z.EncBinary()
			yy2arr2600 := z.EncBasicHandle().StructToArray
			var yyq2600 [1]bool
			_, _, _ = yysep2600, yyq2600, yy2arr2600
			const yyr2600 bool = false
			yyq2600[0] = x.Phase != ""
			var yynn2600 int
			if yyr2600 || yy2arr2600 {
				r.EncodeArrayStart(1)
			} else {
				yynn2600 = 0
				for _, b := range yyq2600 {
					if b {
						yynn2600++
					}
				}
				r.EncodeMapStart(yynn2600)
				yynn2600 = 0
			}
			if yyr2600 || yy2arr2600 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2600[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2600[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2600 || yy2arr2600 {
				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
	yym2602 := z.DecBinary()
	_ = yym2602
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2603 := r.ContainerType()
		if yyct2603 == codecSelferValueTypeMap1234 {
			yyl2603 := r.ReadMapStart()
			if yyl2603 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2603, d)
			}
		} else if yyct2603 == codecSelferValueTypeArray1234 {
			yyl2603 := r.ReadArrayStart()
			if yyl2603 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2603, 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 yys2604Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2604Slc
	var yyhl2604 bool = l >= 0
	for yyj2604 := 0; ; yyj2604++ {
		if yyhl2604 {
			if yyj2604 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2604Slc = r.DecodeBytes(yys2604Slc, true, true)
		yys2604 := string(yys2604Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2604 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2604)
		} // end switch yys2604
	} // end for yyj2604
	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 yyj2606 int
	var yyb2606 bool
	var yyhl2606 bool = l >= 0
	yyj2606++
	if yyhl2606 {
		yyb2606 = yyj2606 > l
	} else {
		yyb2606 = r.CheckBreak()
	}
	if yyb2606 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj2606++
		if yyhl2606 {
			yyb2606 = yyj2606 > l
		} else {
			yyb2606 = r.CheckBreak()
		}
		if yyb2606 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2606-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2608 := z.EncBinary()
	_ = yym2608
	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
	yym2609 := z.DecBinary()
	_ = yym2609
	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 {
		yym2610 := z.EncBinary()
		_ = yym2610
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2611 := !z.EncBinary()
			yy2arr2611 := z.EncBasicHandle().StructToArray
			var yyq2611 [5]bool
			_, _, _ = yysep2611, yyq2611, yy2arr2611
			const yyr2611 bool = false
			yyq2611[0] = x.Kind != ""
			yyq2611[1] = x.APIVersion != ""
			yyq2611[2] = true
			yyq2611[3] = true
			yyq2611[4] = true
			var yynn2611 int
			if yyr2611 || yy2arr2611 {
				r.EncodeArrayStart(5)
			} else {
				yynn2611 = 0
				for _, b := range yyq2611 {
					if b {
						yynn2611++
					}
				}
				r.EncodeMapStart(yynn2611)
				yynn2611 = 0
			}
			if yyr2611 || yy2arr2611 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2611[0] {
					yym2613 := z.EncBinary()
					_ = yym2613
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2611[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2614 := z.EncBinary()
					_ = yym2614
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2611 || yy2arr2611 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2611[1] {
					yym2616 := z.EncBinary()
					_ = yym2616
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2611[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2617 := z.EncBinary()
					_ = yym2617
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2611 || yy2arr2611 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2611[2] {
					yy2619 := &x.ObjectMeta
					yy2619.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2611[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2620 := &x.ObjectMeta
					yy2620.CodecEncodeSelf(e)
				}
			}
			if yyr2611 || yy2arr2611 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2611[3] {
					yy2622 := &x.Spec
					yy2622.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2611[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2623 := &x.Spec
					yy2623.CodecEncodeSelf(e)
				}
			}
			if yyr2611 || yy2arr2611 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2611[4] {
					yy2625 := &x.Status
					yy2625.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2611[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2626 := &x.Status
					yy2626.CodecEncodeSelf(e)
				}
			}
			if yyr2611 || yy2arr2611 {
				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
	yym2627 := z.DecBinary()
	_ = yym2627
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2628 := r.ContainerType()
		if yyct2628 == codecSelferValueTypeMap1234 {
			yyl2628 := r.ReadMapStart()
			if yyl2628 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2628, d)
			}
		} else if yyct2628 == codecSelferValueTypeArray1234 {
			yyl2628 := r.ReadArrayStart()
			if yyl2628 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2628, 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 yys2629Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2629Slc
	var yyhl2629 bool = l >= 0
	for yyj2629 := 0; ; yyj2629++ {
		if yyhl2629 {
			if yyj2629 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2629Slc = r.DecodeBytes(yys2629Slc, true, true)
		yys2629 := string(yys2629Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2629 {
		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 {
				yyv2632 := &x.ObjectMeta
				yyv2632.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv2633 := &x.Spec
				yyv2633.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv2634 := &x.Status
				yyv2634.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2629)
		} // end switch yys2629
	} // end for yyj2629
	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 yyj2635 int
	var yyb2635 bool
	var yyhl2635 bool = l >= 0
	yyj2635++
	if yyhl2635 {
		yyb2635 = yyj2635 > l
	} else {
		yyb2635 = r.CheckBreak()
	}
	if yyb2635 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2635++
	if yyhl2635 {
		yyb2635 = yyj2635 > l
	} else {
		yyb2635 = r.CheckBreak()
	}
	if yyb2635 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2635++
	if yyhl2635 {
		yyb2635 = yyj2635 > l
	} else {
		yyb2635 = r.CheckBreak()
	}
	if yyb2635 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2638 := &x.ObjectMeta
		yyv2638.CodecDecodeSelf(d)
	}
	yyj2635++
	if yyhl2635 {
		yyb2635 = yyj2635 > l
	} else {
		yyb2635 = r.CheckBreak()
	}
	if yyb2635 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv2639 := &x.Spec
		yyv2639.CodecDecodeSelf(d)
	}
	yyj2635++
	if yyhl2635 {
		yyb2635 = yyj2635 > l
	} else {
		yyb2635 = r.CheckBreak()
	}
	if yyb2635 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv2640 := &x.Status
		yyv2640.CodecDecodeSelf(d)
	}
	for {
		yyj2635++
		if yyhl2635 {
			yyb2635 = yyj2635 > l
		} else {
			yyb2635 = r.CheckBreak()
		}
		if yyb2635 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2635-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 {
		yym2641 := z.EncBinary()
		_ = yym2641
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2642 := !z.EncBinary()
			yy2arr2642 := z.EncBasicHandle().StructToArray
			var yyq2642 [4]bool
			_, _, _ = yysep2642, yyq2642, yy2arr2642
			const yyr2642 bool = false
			yyq2642[0] = x.Kind != ""
			yyq2642[1] = x.APIVersion != ""
			yyq2642[2] = true
			var yynn2642 int
			if yyr2642 || yy2arr2642 {
				r.EncodeArrayStart(4)
			} else {
				yynn2642 = 1
				for _, b := range yyq2642 {
					if b {
						yynn2642++
					}
				}
				r.EncodeMapStart(yynn2642)
				yynn2642 = 0
			}
			if yyr2642 || yy2arr2642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2642[0] {
					yym2644 := z.EncBinary()
					_ = yym2644
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2642[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2645 := z.EncBinary()
					_ = yym2645
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2642 || yy2arr2642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2642[1] {
					yym2647 := z.EncBinary()
					_ = yym2647
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2642[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2648 := z.EncBinary()
					_ = yym2648
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2642 || yy2arr2642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2642[2] {
					yy2650 := &x.ListMeta
					yym2651 := z.EncBinary()
					_ = yym2651
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2650) {
					} else {
						z.EncFallback(yy2650)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2642[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2652 := &x.ListMeta
					yym2653 := z.EncBinary()
					_ = yym2653
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2652) {
					} else {
						z.EncFallback(yy2652)
					}
				}
			}
			if yyr2642 || yy2arr2642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2655 := z.EncBinary()
					_ = yym2655
					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 {
					yym2656 := z.EncBinary()
					_ = yym2656
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yyr2642 || yy2arr2642 {
				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
	yym2657 := z.DecBinary()
	_ = yym2657
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2658 := r.ContainerType()
		if yyct2658 == codecSelferValueTypeMap1234 {
			yyl2658 := r.ReadMapStart()
			if yyl2658 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2658, d)
			}
		} else if yyct2658 == codecSelferValueTypeArray1234 {
			yyl2658 := r.ReadArrayStart()
			if yyl2658 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2658, 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 yys2659Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2659Slc
	var yyhl2659 bool = l >= 0
	for yyj2659 := 0; ; yyj2659++ {
		if yyhl2659 {
			if yyj2659 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2659Slc = r.DecodeBytes(yys2659Slc, true, true)
		yys2659 := string(yys2659Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2659 {
		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 {
				yyv2662 := &x.ListMeta
				yym2663 := z.DecBinary()
				_ = yym2663
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2662) {
				} else {
					z.DecFallback(yyv2662, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2664 := &x.Items
				yym2665 := z.DecBinary()
				_ = yym2665
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv2664), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2659)
		} // end switch yys2659
	} // end for yyj2659
	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 yyj2666 int
	var yyb2666 bool
	var yyhl2666 bool = l >= 0
	yyj2666++
	if yyhl2666 {
		yyb2666 = yyj2666 > l
	} else {
		yyb2666 = r.CheckBreak()
	}
	if yyb2666 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2666++
	if yyhl2666 {
		yyb2666 = yyj2666 > l
	} else {
		yyb2666 = r.CheckBreak()
	}
	if yyb2666 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2666++
	if yyhl2666 {
		yyb2666 = yyj2666 > l
	} else {
		yyb2666 = r.CheckBreak()
	}
	if yyb2666 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2669 := &x.ListMeta
		yym2670 := z.DecBinary()
		_ = yym2670
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2669) {
		} else {
			z.DecFallback(yyv2669, false)
		}
	}
	yyj2666++
	if yyhl2666 {
		yyb2666 = yyj2666 > l
	} else {
		yyb2666 = r.CheckBreak()
	}
	if yyb2666 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2671 := &x.Items
		yym2672 := z.DecBinary()
		_ = yym2672
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv2671), d)
		}
	}
	for {
		yyj2666++
		if yyhl2666 {
			yyb2666 = yyj2666 > l
		} else {
			yyb2666 = r.CheckBreak()
		}
		if yyb2666 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2666-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 {
		yym2673 := z.EncBinary()
		_ = yym2673
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2674 := !z.EncBinary()
			yy2arr2674 := z.EncBasicHandle().StructToArray
			var yyq2674 [4]bool
			_, _, _ = yysep2674, yyq2674, yy2arr2674
			const yyr2674 bool = false
			yyq2674[0] = x.Kind != ""
			yyq2674[1] = x.APIVersion != ""
			yyq2674[2] = true
			var yynn2674 int
			if yyr2674 || yy2arr2674 {
				r.EncodeArrayStart(4)
			} else {
				yynn2674 = 1
				for _, b := range yyq2674 {
					if b {
						yynn2674++
					}
				}
				r.EncodeMapStart(yynn2674)
				yynn2674 = 0
			}
			if yyr2674 || yy2arr2674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2674[0] {
					yym2676 := z.EncBinary()
					_ = yym2676
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2674[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2677 := z.EncBinary()
					_ = yym2677
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2674 || yy2arr2674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2674[1] {
					yym2679 := z.EncBinary()
					_ = yym2679
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2674[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2680 := z.EncBinary()
					_ = yym2680
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2674 || yy2arr2674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2674[2] {
					yy2682 := &x.ObjectMeta
					yy2682.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2674[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2683 := &x.ObjectMeta
					yy2683.CodecEncodeSelf(e)
				}
			}
			if yyr2674 || yy2arr2674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2685 := &x.Target
				yy2685.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2686 := &x.Target
				yy2686.CodecEncodeSelf(e)
			}
			if yyr2674 || yy2arr2674 {
				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
	yym2687 := z.DecBinary()
	_ = yym2687
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2688 := r.ContainerType()
		if yyct2688 == codecSelferValueTypeMap1234 {
			yyl2688 := r.ReadMapStart()
			if yyl2688 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2688, d)
			}
		} else if yyct2688 == codecSelferValueTypeArray1234 {
			yyl2688 := r.ReadArrayStart()
			if yyl2688 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2688, 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 yys2689Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2689Slc
	var yyhl2689 bool = l >= 0
	for yyj2689 := 0; ; yyj2689++ {
		if yyhl2689 {
			if yyj2689 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2689Slc = r.DecodeBytes(yys2689Slc, true, true)
		yys2689 := string(yys2689Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2689 {
		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 {
				yyv2692 := &x.ObjectMeta
				yyv2692.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv2693 := &x.Target
				yyv2693.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2689)
		} // end switch yys2689
	} // end for yyj2689
	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 yyj2694 int
	var yyb2694 bool
	var yyhl2694 bool = l >= 0
	yyj2694++
	if yyhl2694 {
		yyb2694 = yyj2694 > l
	} else {
		yyb2694 = r.CheckBreak()
	}
	if yyb2694 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2694++
	if yyhl2694 {
		yyb2694 = yyj2694 > l
	} else {
		yyb2694 = r.CheckBreak()
	}
	if yyb2694 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2694++
	if yyhl2694 {
		yyb2694 = yyj2694 > l
	} else {
		yyb2694 = r.CheckBreak()
	}
	if yyb2694 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2697 := &x.ObjectMeta
		yyv2697.CodecDecodeSelf(d)
	}
	yyj2694++
	if yyhl2694 {
		yyb2694 = yyj2694 > l
	} else {
		yyb2694 = r.CheckBreak()
	}
	if yyb2694 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv2698 := &x.Target
		yyv2698.CodecDecodeSelf(d)
	}
	for {
		yyj2694++
		if yyhl2694 {
			yyb2694 = yyj2694 > l
		} else {
			yyb2694 = r.CheckBreak()
		}
		if yyb2694 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2694-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 {
		yym2699 := z.EncBinary()
		_ = yym2699
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2700 := !z.EncBinary()
			yy2arr2700 := z.EncBasicHandle().StructToArray
			var yyq2700 [3]bool
			_, _, _ = yysep2700, yyq2700, yy2arr2700
			const yyr2700 bool = false
			yyq2700[0] = x.Kind != ""
			yyq2700[1] = x.APIVersion != ""
			var yynn2700 int
			if yyr2700 || yy2arr2700 {
				r.EncodeArrayStart(3)
			} else {
				yynn2700 = 1
				for _, b := range yyq2700 {
					if b {
						yynn2700++
					}
				}
				r.EncodeMapStart(yynn2700)
				yynn2700 = 0
			}
			if yyr2700 || yy2arr2700 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2700[0] {
					yym2702 := z.EncBinary()
					_ = yym2702
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2700[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2703 := z.EncBinary()
					_ = yym2703
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2700 || yy2arr2700 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2700[1] {
					yym2705 := z.EncBinary()
					_ = yym2705
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2700[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2706 := z.EncBinary()
					_ = yym2706
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2700 || yy2arr2700 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2708 := *x.GracePeriodSeconds
					yym2709 := z.EncBinary()
					_ = yym2709
					if false {
					} else {
						r.EncodeInt(int64(yy2708))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2710 := *x.GracePeriodSeconds
					yym2711 := z.EncBinary()
					_ = yym2711
					if false {
					} else {
						r.EncodeInt(int64(yy2710))
					}
				}
			}
			if yyr2700 || yy2arr2700 {
				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
	yym2712 := z.DecBinary()
	_ = yym2712
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2713 := r.ContainerType()
		if yyct2713 == codecSelferValueTypeMap1234 {
			yyl2713 := r.ReadMapStart()
			if yyl2713 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2713, d)
			}
		} else if yyct2713 == codecSelferValueTypeArray1234 {
			yyl2713 := r.ReadArrayStart()
			if yyl2713 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2713, 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 yys2714Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2714Slc
	var yyhl2714 bool = l >= 0
	for yyj2714 := 0; ; yyj2714++ {
		if yyhl2714 {
			if yyj2714 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2714Slc = r.DecodeBytes(yys2714Slc, true, true)
		yys2714 := string(yys2714Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2714 {
		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)
				}
				yym2718 := z.DecBinary()
				_ = yym2718
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2714)
		} // end switch yys2714
	} // end for yyj2714
	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 yyj2719 int
	var yyb2719 bool
	var yyhl2719 bool = l >= 0
	yyj2719++
	if yyhl2719 {
		yyb2719 = yyj2719 > l
	} else {
		yyb2719 = r.CheckBreak()
	}
	if yyb2719 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2719++
	if yyhl2719 {
		yyb2719 = yyj2719 > l
	} else {
		yyb2719 = r.CheckBreak()
	}
	if yyb2719 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2719++
	if yyhl2719 {
		yyb2719 = yyj2719 > l
	} else {
		yyb2719 = r.CheckBreak()
	}
	if yyb2719 {
		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)
		}
		yym2723 := z.DecBinary()
		_ = yym2723
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2719++
		if yyhl2719 {
			yyb2719 = yyj2719 > l
		} else {
			yyb2719 = r.CheckBreak()
		}
		if yyb2719 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2719-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 {
		yym2724 := z.EncBinary()
		_ = yym2724
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2725 := !z.EncBinary()
			yy2arr2725 := z.EncBasicHandle().StructToArray
			var yyq2725 [4]bool
			_, _, _ = yysep2725, yyq2725, yy2arr2725
			const yyr2725 bool = false
			yyq2725[0] = x.Kind != ""
			yyq2725[1] = x.APIVersion != ""
			var yynn2725 int
			if yyr2725 || yy2arr2725 {
				r.EncodeArrayStart(4)
			} else {
				yynn2725 = 2
				for _, b := range yyq2725 {
					if b {
						yynn2725++
					}
				}
				r.EncodeMapStart(yynn2725)
				yynn2725 = 0
			}
			if yyr2725 || yy2arr2725 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2725[0] {
					yym2727 := z.EncBinary()
					_ = yym2727
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2725[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2728 := z.EncBinary()
					_ = yym2728
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2725[1] {
					yym2730 := z.EncBinary()
					_ = yym2730
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2725[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2731 := z.EncBinary()
					_ = yym2731
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2733 := z.EncBinary()
				_ = yym2733
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("export"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2734 := z.EncBinary()
				_ = yym2734
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			}
			if yyr2725 || yy2arr2725 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2736 := z.EncBinary()
				_ = yym2736
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exact"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2737 := z.EncBinary()
				_ = yym2737
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			}
			if yyr2725 || yy2arr2725 {
				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
	yym2738 := z.DecBinary()
	_ = yym2738
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2739 := r.ContainerType()
		if yyct2739 == codecSelferValueTypeMap1234 {
			yyl2739 := r.ReadMapStart()
			if yyl2739 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2739, d)
			}
		} else if yyct2739 == codecSelferValueTypeArray1234 {
			yyl2739 := r.ReadArrayStart()
			if yyl2739 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2739, 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 yys2740Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2740Slc
	var yyhl2740 bool = l >= 0
	for yyj2740 := 0; ; yyj2740++ {
		if yyhl2740 {
			if yyj2740 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2740Slc = r.DecodeBytes(yys2740Slc, true, true)
		yys2740 := string(yys2740Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2740 {
		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, yys2740)
		} // end switch yys2740
	} // end for yyj2740
	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 yyj2745 int
	var yyb2745 bool
	var yyhl2745 bool = l >= 0
	yyj2745++
	if yyhl2745 {
		yyb2745 = yyj2745 > l
	} else {
		yyb2745 = r.CheckBreak()
	}
	if yyb2745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2745++
	if yyhl2745 {
		yyb2745 = yyj2745 > l
	} else {
		yyb2745 = r.CheckBreak()
	}
	if yyb2745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2745++
	if yyhl2745 {
		yyb2745 = yyj2745 > l
	} else {
		yyb2745 = r.CheckBreak()
	}
	if yyb2745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Export = false
	} else {
		x.Export = bool(r.DecodeBool())
	}
	yyj2745++
	if yyhl2745 {
		yyb2745 = yyj2745 > l
	} else {
		yyb2745 = r.CheckBreak()
	}
	if yyb2745 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Exact = false
	} else {
		x.Exact = bool(r.DecodeBool())
	}
	for {
		yyj2745++
		if yyhl2745 {
			yyb2745 = yyj2745 > l
		} else {
			yyb2745 = r.CheckBreak()
		}
		if yyb2745 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2745-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 {
		yym2750 := z.EncBinary()
		_ = yym2750
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2751 := !z.EncBinary()
			yy2arr2751 := z.EncBasicHandle().StructToArray
			var yyq2751 [7]bool
			_, _, _ = yysep2751, yyq2751, yy2arr2751
			const yyr2751 bool = false
			yyq2751[0] = x.Kind != ""
			yyq2751[1] = x.APIVersion != ""
			var yynn2751 int
			if yyr2751 || yy2arr2751 {
				r.EncodeArrayStart(7)
			} else {
				yynn2751 = 5
				for _, b := range yyq2751 {
					if b {
						yynn2751++
					}
				}
				r.EncodeMapStart(yynn2751)
				yynn2751 = 0
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2751[0] {
					yym2753 := z.EncBinary()
					_ = yym2753
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2751[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2754 := z.EncBinary()
					_ = yym2754
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2751[1] {
					yym2756 := z.EncBinary()
					_ = yym2756
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2751[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2757 := z.EncBinary()
					_ = yym2757
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym2759 := z.EncBinary()
					_ = yym2759
					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 {
					yym2760 := z.EncBinary()
					_ = yym2760
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym2762 := z.EncBinary()
					_ = yym2762
					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 {
					yym2763 := z.EncBinary()
					_ = yym2763
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2765 := z.EncBinary()
				_ = yym2765
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Watch"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2766 := z.EncBinary()
				_ = yym2766
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2768 := z.EncBinary()
				_ = yym2768
				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)
				yym2769 := z.EncBinary()
				_ = yym2769
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			}
			if yyr2751 || yy2arr2751 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy2771 := *x.TimeoutSeconds
					yym2772 := z.EncBinary()
					_ = yym2772
					if false {
					} else {
						r.EncodeInt(int64(yy2771))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TimeoutSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy2773 := *x.TimeoutSeconds
					yym2774 := z.EncBinary()
					_ = yym2774
					if false {
					} else {
						r.EncodeInt(int64(yy2773))
					}
				}
			}
			if yyr2751 || yy2arr2751 {
				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
	yym2775 := z.DecBinary()
	_ = yym2775
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2776 := r.ContainerType()
		if yyct2776 == codecSelferValueTypeMap1234 {
			yyl2776 := r.ReadMapStart()
			if yyl2776 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2776, d)
			}
		} else if yyct2776 == codecSelferValueTypeArray1234 {
			yyl2776 := r.ReadArrayStart()
			if yyl2776 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2776, 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 yys2777Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2777Slc
	var yyhl2777 bool = l >= 0
	for yyj2777 := 0; ; yyj2777++ {
		if yyhl2777 {
			if yyj2777 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2777Slc = r.DecodeBytes(yys2777Slc, true, true)
		yys2777 := string(yys2777Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2777 {
		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 {
				yyv2780 := &x.LabelSelector
				yym2781 := z.DecBinary()
				_ = yym2781
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2780) {
				} else {
					z.DecFallback(yyv2780, true)
				}
			}
		case "FieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = nil
			} else {
				yyv2782 := &x.FieldSelector
				yym2783 := z.DecBinary()
				_ = yym2783
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2782) {
				} else {
					z.DecFallback(yyv2782, 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)
				}
				yym2787 := z.DecBinary()
				_ = yym2787
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2777)
		} // end switch yys2777
	} // end for yyj2777
	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 yyj2788 int
	var yyb2788 bool
	var yyhl2788 bool = l >= 0
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LabelSelector = nil
	} else {
		yyv2791 := &x.LabelSelector
		yym2792 := z.DecBinary()
		_ = yym2792
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2791) {
		} else {
			z.DecFallback(yyv2791, true)
		}
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldSelector = nil
	} else {
		yyv2793 := &x.FieldSelector
		yym2794 := z.DecBinary()
		_ = yym2794
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2793) {
		} else {
			z.DecFallback(yyv2793, true)
		}
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2788++
	if yyhl2788 {
		yyb2788 = yyj2788 > l
	} else {
		yyb2788 = r.CheckBreak()
	}
	if yyb2788 {
		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)
		}
		yym2798 := z.DecBinary()
		_ = yym2798
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2788++
		if yyhl2788 {
			yyb2788 = yyj2788 > l
		} else {
			yyb2788 = r.CheckBreak()
		}
		if yyb2788 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2788-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 {
		yym2799 := z.EncBinary()
		_ = yym2799
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2800 := !z.EncBinary()
			yy2arr2800 := z.EncBasicHandle().StructToArray
			var yyq2800 [10]bool
			_, _, _ = yysep2800, yyq2800, yy2arr2800
			const yyr2800 bool = false
			yyq2800[0] = x.Kind != ""
			yyq2800[1] = x.APIVersion != ""
			var yynn2800 int
			if yyr2800 || yy2arr2800 {
				r.EncodeArrayStart(10)
			} else {
				yynn2800 = 8
				for _, b := range yyq2800 {
					if b {
						yynn2800++
					}
				}
				r.EncodeMapStart(yynn2800)
				yynn2800 = 0
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2800[0] {
					yym2802 := z.EncBinary()
					_ = yym2802
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2800[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2803 := z.EncBinary()
					_ = yym2803
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2800[1] {
					yym2805 := z.EncBinary()
					_ = yym2805
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2800[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2806 := z.EncBinary()
					_ = yym2806
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2808 := z.EncBinary()
				_ = yym2808
				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)
				yym2809 := z.EncBinary()
				_ = yym2809
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2811 := z.EncBinary()
				_ = yym2811
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Follow"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2812 := z.EncBinary()
				_ = yym2812
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2814 := z.EncBinary()
				_ = yym2814
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Previous"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2815 := z.EncBinary()
				_ = yym2815
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy2817 := *x.SinceSeconds
					yym2818 := z.EncBinary()
					_ = yym2818
					if false {
					} else {
						r.EncodeInt(int64(yy2817))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy2819 := *x.SinceSeconds
					yym2820 := z.EncBinary()
					_ = yym2820
					if false {
					} else {
						r.EncodeInt(int64(yy2819))
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym2822 := z.EncBinary()
					_ = yym2822
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym2822 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym2822 && 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 {
					yym2823 := z.EncBinary()
					_ = yym2823
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym2823 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym2823 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2825 := z.EncBinary()
				_ = yym2825
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Timestamps"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2826 := z.EncBinary()
				_ = yym2826
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy2828 := *x.TailLines
					yym2829 := z.EncBinary()
					_ = yym2829
					if false {
					} else {
						r.EncodeInt(int64(yy2828))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TailLines"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy2830 := *x.TailLines
					yym2831 := z.EncBinary()
					_ = yym2831
					if false {
					} else {
						r.EncodeInt(int64(yy2830))
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy2833 := *x.LimitBytes
					yym2834 := z.EncBinary()
					_ = yym2834
					if false {
					} else {
						r.EncodeInt(int64(yy2833))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LimitBytes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy2835 := *x.LimitBytes
					yym2836 := z.EncBinary()
					_ = yym2836
					if false {
					} else {
						r.EncodeInt(int64(yy2835))
					}
				}
			}
			if yyr2800 || yy2arr2800 {
				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
	yym2837 := z.DecBinary()
	_ = yym2837
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2838 := r.ContainerType()
		if yyct2838 == codecSelferValueTypeMap1234 {
			yyl2838 := r.ReadMapStart()
			if yyl2838 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2838, d)
			}
		} else if yyct2838 == codecSelferValueTypeArray1234 {
			yyl2838 := r.ReadArrayStart()
			if yyl2838 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2838, 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 yys2839Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2839Slc
	var yyhl2839 bool = l >= 0
	for yyj2839 := 0; ; yyj2839++ {
		if yyhl2839 {
			if yyj2839 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2839Slc = r.DecodeBytes(yys2839Slc, true, true)
		yys2839 := string(yys2839Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2839 {
		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)
				}
				yym2846 := z.DecBinary()
				_ = yym2846
				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)
				}
				yym2848 := z.DecBinary()
				_ = yym2848
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym2848 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym2848 && 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)
				}
				yym2851 := z.DecBinary()
				_ = yym2851
				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)
				}
				yym2853 := z.DecBinary()
				_ = yym2853
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2839)
		} // end switch yys2839
	} // end for yyj2839
	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 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.Container = ""
	} else {
		x.Container = 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.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	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.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		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)
		}
		yym2861 := z.DecBinary()
		_ = yym2861
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		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)
		}
		yym2863 := z.DecBinary()
		_ = yym2863
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym2863 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym2863 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	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.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		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)
		}
		yym2866 := z.DecBinary()
		_ = yym2866
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj2854++
	if yyhl2854 {
		yyb2854 = yyj2854 > l
	} else {
		yyb2854 = r.CheckBreak()
	}
	if yyb2854 {
		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)
		}
		yym2868 := z.DecBinary()
		_ = yym2868
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	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 *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2869 := z.EncBinary()
		_ = yym2869
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2870 := !z.EncBinary()
			yy2arr2870 := z.EncBasicHandle().StructToArray
			var yyq2870 [7]bool
			_, _, _ = yysep2870, yyq2870, yy2arr2870
			const yyr2870 bool = false
			yyq2870[0] = x.Kind != ""
			yyq2870[1] = x.APIVersion != ""
			yyq2870[2] = x.Stdin != false
			yyq2870[3] = x.Stdout != false
			yyq2870[4] = x.Stderr != false
			yyq2870[5] = x.TTY != false
			yyq2870[6] = x.Container != ""
			var yynn2870 int
			if yyr2870 || yy2arr2870 {
				r.EncodeArrayStart(7)
			} else {
				yynn2870 = 0
				for _, b := range yyq2870 {
					if b {
						yynn2870++
					}
				}
				r.EncodeMapStart(yynn2870)
				yynn2870 = 0
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[0] {
					yym2872 := z.EncBinary()
					_ = yym2872
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2870[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2873 := z.EncBinary()
					_ = yym2873
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[1] {
					yym2875 := z.EncBinary()
					_ = yym2875
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2870[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2876 := z.EncBinary()
					_ = yym2876
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[2] {
					yym2878 := z.EncBinary()
					_ = yym2878
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2870[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2879 := z.EncBinary()
					_ = yym2879
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[3] {
					yym2881 := z.EncBinary()
					_ = yym2881
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2870[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2882 := z.EncBinary()
					_ = yym2882
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[4] {
					yym2884 := z.EncBinary()
					_ = yym2884
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2870[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2885 := z.EncBinary()
					_ = yym2885
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[5] {
					yym2887 := z.EncBinary()
					_ = yym2887
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2870[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2888 := z.EncBinary()
					_ = yym2888
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2870[6] {
					yym2890 := z.EncBinary()
					_ = yym2890
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2870[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2891 := z.EncBinary()
					_ = yym2891
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				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
	yym2892 := z.DecBinary()
	_ = yym2892
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2893 := r.ContainerType()
		if yyct2893 == codecSelferValueTypeMap1234 {
			yyl2893 := r.ReadMapStart()
			if yyl2893 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2893, d)
			}
		} else if yyct2893 == codecSelferValueTypeArray1234 {
			yyl2893 := r.ReadArrayStart()
			if yyl2893 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2893, 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 yys2894Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2894Slc
	var yyhl2894 bool = l >= 0
	for yyj2894 := 0; ; yyj2894++ {
		if yyhl2894 {
			if yyj2894 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2894Slc = r.DecodeBytes(yys2894Slc, true, true)
		yys2894 := string(yys2894Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2894 {
		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, yys2894)
		} // end switch yys2894
	} // end for yyj2894
	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 yyj2902 int
	var yyb2902 bool
	var yyhl2902 bool = l >= 0
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2902++
	if yyhl2902 {
		yyb2902 = yyj2902 > l
	} else {
		yyb2902 = r.CheckBreak()
	}
	if yyb2902 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj2902++
		if yyhl2902 {
			yyb2902 = yyj2902 > l
		} else {
			yyb2902 = r.CheckBreak()
		}
		if yyb2902 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2902-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 {
		yym2910 := z.EncBinary()
		_ = yym2910
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2911 := !z.EncBinary()
			yy2arr2911 := z.EncBasicHandle().StructToArray
			var yyq2911 [8]bool
			_, _, _ = yysep2911, yyq2911, yy2arr2911
			const yyr2911 bool = false
			yyq2911[0] = x.Kind != ""
			yyq2911[1] = x.APIVersion != ""
			var yynn2911 int
			if yyr2911 || yy2arr2911 {
				r.EncodeArrayStart(8)
			} else {
				yynn2911 = 6
				for _, b := range yyq2911 {
					if b {
						yynn2911++
					}
				}
				r.EncodeMapStart(yynn2911)
				yynn2911 = 0
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2911[0] {
					yym2913 := z.EncBinary()
					_ = yym2913
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2911[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2914 := z.EncBinary()
					_ = yym2914
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2911[1] {
					yym2916 := z.EncBinary()
					_ = yym2916
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2911[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2917 := z.EncBinary()
					_ = yym2917
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2919 := z.EncBinary()
				_ = yym2919
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdin"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2920 := z.EncBinary()
				_ = yym2920
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2922 := z.EncBinary()
				_ = yym2922
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdout"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2923 := z.EncBinary()
				_ = yym2923
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2925 := z.EncBinary()
				_ = yym2925
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stderr"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2926 := z.EncBinary()
				_ = yym2926
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2928 := z.EncBinary()
				_ = yym2928
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TTY"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2929 := z.EncBinary()
				_ = yym2929
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2931 := z.EncBinary()
				_ = yym2931
				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)
				yym2932 := z.EncBinary()
				_ = yym2932
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr2911 || yy2arr2911 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2934 := z.EncBinary()
					_ = yym2934
					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 {
					yym2935 := z.EncBinary()
					_ = yym2935
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yyr2911 || yy2arr2911 {
				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
	yym2936 := z.DecBinary()
	_ = yym2936
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2937 := r.ContainerType()
		if yyct2937 == codecSelferValueTypeMap1234 {
			yyl2937 := r.ReadMapStart()
			if yyl2937 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2937, d)
			}
		} else if yyct2937 == codecSelferValueTypeArray1234 {
			yyl2937 := r.ReadArrayStart()
			if yyl2937 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2937, 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 yys2938Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2938Slc
	var yyhl2938 bool = l >= 0
	for yyj2938 := 0; ; yyj2938++ {
		if yyhl2938 {
			if yyj2938 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2938Slc = r.DecodeBytes(yys2938Slc, true, true)
		yys2938 := string(yys2938Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2938 {
		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 {
				yyv2946 := &x.Command
				yym2947 := z.DecBinary()
				_ = yym2947
				if false {
				} else {
					z.F.DecSliceStringX(yyv2946, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2938)
		} // end switch yys2938
	} // end for yyj2938
	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 yyj2948 int
	var yyb2948 bool
	var yyhl2948 bool = l >= 0
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2948++
	if yyhl2948 {
		yyb2948 = yyj2948 > l
	} else {
		yyb2948 = r.CheckBreak()
	}
	if yyb2948 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv2956 := &x.Command
		yym2957 := z.DecBinary()
		_ = yym2957
		if false {
		} else {
			z.F.DecSliceStringX(yyv2956, false, d)
		}
	}
	for {
		yyj2948++
		if yyhl2948 {
			yyb2948 = yyj2948 > l
		} else {
			yyb2948 = r.CheckBreak()
		}
		if yyb2948 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2948-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 {
		yym2958 := z.EncBinary()
		_ = yym2958
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2959 := !z.EncBinary()
			yy2arr2959 := z.EncBasicHandle().StructToArray
			var yyq2959 [3]bool
			_, _, _ = yysep2959, yyq2959, yy2arr2959
			const yyr2959 bool = false
			yyq2959[0] = x.Kind != ""
			yyq2959[1] = x.APIVersion != ""
			var yynn2959 int
			if yyr2959 || yy2arr2959 {
				r.EncodeArrayStart(3)
			} else {
				yynn2959 = 1
				for _, b := range yyq2959 {
					if b {
						yynn2959++
					}
				}
				r.EncodeMapStart(yynn2959)
				yynn2959 = 0
			}
			if yyr2959 || yy2arr2959 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2959[0] {
					yym2961 := z.EncBinary()
					_ = yym2961
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2959[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2962 := z.EncBinary()
					_ = yym2962
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2959 || yy2arr2959 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2959[1] {
					yym2964 := z.EncBinary()
					_ = yym2964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2959[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2965 := z.EncBinary()
					_ = yym2965
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2959 || yy2arr2959 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2967 := z.EncBinary()
				_ = yym2967
				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)
				yym2968 := z.EncBinary()
				_ = yym2968
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr2959 || yy2arr2959 {
				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
	yym2969 := z.DecBinary()
	_ = yym2969
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2970 := r.ContainerType()
		if yyct2970 == codecSelferValueTypeMap1234 {
			yyl2970 := r.ReadMapStart()
			if yyl2970 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2970, d)
			}
		} else if yyct2970 == codecSelferValueTypeArray1234 {
			yyl2970 := r.ReadArrayStart()
			if yyl2970 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2970, 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 yys2971Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2971Slc
	var yyhl2971 bool = l >= 0
	for yyj2971 := 0; ; yyj2971++ {
		if yyhl2971 {
			if yyj2971 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2971Slc = r.DecodeBytes(yys2971Slc, true, true)
		yys2971 := string(yys2971Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2971 {
		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, yys2971)
		} // end switch yys2971
	} // end for yyj2971
	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 yyj2975 int
	var yyb2975 bool
	var yyhl2975 bool = l >= 0
	yyj2975++
	if yyhl2975 {
		yyb2975 = yyj2975 > l
	} else {
		yyb2975 = r.CheckBreak()
	}
	if yyb2975 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2975++
	if yyhl2975 {
		yyb2975 = yyj2975 > l
	} else {
		yyb2975 = r.CheckBreak()
	}
	if yyb2975 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2975++
	if yyhl2975 {
		yyb2975 = yyj2975 > l
	} else {
		yyb2975 = r.CheckBreak()
	}
	if yyb2975 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj2975++
		if yyhl2975 {
			yyb2975 = yyj2975 > l
		} else {
			yyb2975 = r.CheckBreak()
		}
		if yyb2975 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2975-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 {
		yym2979 := z.EncBinary()
		_ = yym2979
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2980 := !z.EncBinary()
			yy2arr2980 := z.EncBasicHandle().StructToArray
			var yyq2980 [7]bool
			_, _, _ = yysep2980, yyq2980, yy2arr2980
			const yyr2980 bool = false
			yyq2980[0] = x.Kind != ""
			yyq2980[1] = x.Namespace != ""
			yyq2980[2] = x.Name != ""
			yyq2980[3] = x.UID != ""
			yyq2980[4] = x.APIVersion != ""
			yyq2980[5] = x.ResourceVersion != ""
			yyq2980[6] = x.FieldPath != ""
			var yynn2980 int
			if yyr2980 || yy2arr2980 {
				r.EncodeArrayStart(7)
			} else {
				yynn2980 = 0
				for _, b := range yyq2980 {
					if b {
						yynn2980++
					}
				}
				r.EncodeMapStart(yynn2980)
				yynn2980 = 0
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[0] {
					yym2982 := z.EncBinary()
					_ = yym2982
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2983 := z.EncBinary()
					_ = yym2983
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[1] {
					yym2985 := z.EncBinary()
					_ = yym2985
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2986 := z.EncBinary()
					_ = yym2986
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[2] {
					yym2988 := z.EncBinary()
					_ = yym2988
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2989 := z.EncBinary()
					_ = yym2989
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[3] {
					yym2991 := z.EncBinary()
					_ = yym2991
					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 yyq2980[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2992 := z.EncBinary()
					_ = yym2992
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[4] {
					yym2994 := z.EncBinary()
					_ = yym2994
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2995 := z.EncBinary()
					_ = yym2995
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[5] {
					yym2997 := z.EncBinary()
					_ = yym2997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2998 := z.EncBinary()
					_ = yym2998
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2980[6] {
					yym3000 := z.EncBinary()
					_ = yym3000
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2980[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3001 := z.EncBinary()
					_ = yym3001
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yyr2980 || yy2arr2980 {
				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
	yym3002 := z.DecBinary()
	_ = yym3002
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3003 := r.ContainerType()
		if yyct3003 == codecSelferValueTypeMap1234 {
			yyl3003 := r.ReadMapStart()
			if yyl3003 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3003, d)
			}
		} else if yyct3003 == codecSelferValueTypeArray1234 {
			yyl3003 := r.ReadArrayStart()
			if yyl3003 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3003, 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 yys3004Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3004Slc
	var yyhl3004 bool = l >= 0
	for yyj3004 := 0; ; yyj3004++ {
		if yyhl3004 {
			if yyj3004 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3004Slc = r.DecodeBytes(yys3004Slc, true, true)
		yys3004 := string(yys3004Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3004 {
		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, yys3004)
		} // end switch yys3004
	} // end for yyj3004
	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 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.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	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.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	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.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	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.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	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.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	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.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	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.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	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 *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3020 := z.EncBinary()
		_ = yym3020
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3021 := !z.EncBinary()
			yy2arr3021 := z.EncBasicHandle().StructToArray
			var yyq3021 [1]bool
			_, _, _ = yysep3021, yyq3021, yy2arr3021
			const yyr3021 bool = false
			var yynn3021 int
			if yyr3021 || yy2arr3021 {
				r.EncodeArrayStart(1)
			} else {
				yynn3021 = 1
				for _, b := range yyq3021 {
					if b {
						yynn3021++
					}
				}
				r.EncodeMapStart(yynn3021)
				yynn3021 = 0
			}
			if yyr3021 || yy2arr3021 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3023 := z.EncBinary()
				_ = yym3023
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3024 := z.EncBinary()
				_ = yym3024
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3021 || yy2arr3021 {
				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
	yym3025 := z.DecBinary()
	_ = yym3025
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3026 := r.ContainerType()
		if yyct3026 == codecSelferValueTypeMap1234 {
			yyl3026 := r.ReadMapStart()
			if yyl3026 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3026, d)
			}
		} else if yyct3026 == codecSelferValueTypeArray1234 {
			yyl3026 := r.ReadArrayStart()
			if yyl3026 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3026, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3027Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3027Slc
	var yyhl3027 bool = l >= 0
	for yyj3027 := 0; ; yyj3027++ {
		if yyhl3027 {
			if yyj3027 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3027Slc = r.DecodeBytes(yys3027Slc, true, true)
		yys3027 := string(yys3027Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3027 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3027)
		} // end switch yys3027
	} // end for yyj3027
	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 yyj3029 int
	var yyb3029 bool
	var yyhl3029 bool = l >= 0
	yyj3029++
	if yyhl3029 {
		yyb3029 = yyj3029 > l
	} else {
		yyb3029 = r.CheckBreak()
	}
	if yyb3029 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj3029++
		if yyhl3029 {
			yyb3029 = yyj3029 > l
		} else {
			yyb3029 = r.CheckBreak()
		}
		if yyb3029 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3029-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3031 := z.EncBinary()
		_ = yym3031
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3032 := !z.EncBinary()
			yy2arr3032 := z.EncBasicHandle().StructToArray
			var yyq3032 [3]bool
			_, _, _ = yysep3032, yyq3032, yy2arr3032
			const yyr3032 bool = false
			yyq3032[0] = x.Kind != ""
			yyq3032[1] = x.APIVersion != ""
			yyq3032[2] = true
			var yynn3032 int
			if yyr3032 || yy2arr3032 {
				r.EncodeArrayStart(3)
			} else {
				yynn3032 = 0
				for _, b := range yyq3032 {
					if b {
						yynn3032++
					}
				}
				r.EncodeMapStart(yynn3032)
				yynn3032 = 0
			}
			if yyr3032 || yy2arr3032 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3032[0] {
					yym3034 := z.EncBinary()
					_ = yym3034
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3032[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3035 := z.EncBinary()
					_ = yym3035
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3032 || yy2arr3032 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3032[1] {
					yym3037 := z.EncBinary()
					_ = yym3037
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3032[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3038 := z.EncBinary()
					_ = yym3038
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3032 || yy2arr3032 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3032[2] {
					yy3040 := &x.Reference
					yy3040.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3032[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3041 := &x.Reference
					yy3041.CodecEncodeSelf(e)
				}
			}
			if yyr3032 || yy2arr3032 {
				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
	yym3042 := z.DecBinary()
	_ = yym3042
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3043 := r.ContainerType()
		if yyct3043 == codecSelferValueTypeMap1234 {
			yyl3043 := r.ReadMapStart()
			if yyl3043 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3043, d)
			}
		} else if yyct3043 == codecSelferValueTypeArray1234 {
			yyl3043 := r.ReadArrayStart()
			if yyl3043 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3043, 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 yys3044Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3044Slc
	var yyhl3044 bool = l >= 0
	for yyj3044 := 0; ; yyj3044++ {
		if yyhl3044 {
			if yyj3044 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3044Slc = r.DecodeBytes(yys3044Slc, true, true)
		yys3044 := string(yys3044Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3044 {
		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 {
				yyv3047 := &x.Reference
				yyv3047.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3044)
		} // end switch yys3044
	} // end for yyj3044
	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 yyj3048 int
	var yyb3048 bool
	var yyhl3048 bool = l >= 0
	yyj3048++
	if yyhl3048 {
		yyb3048 = yyj3048 > l
	} else {
		yyb3048 = r.CheckBreak()
	}
	if yyb3048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3048++
	if yyhl3048 {
		yyb3048 = yyj3048 > l
	} else {
		yyb3048 = r.CheckBreak()
	}
	if yyb3048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3048++
	if yyhl3048 {
		yyb3048 = yyj3048 > l
	} else {
		yyb3048 = r.CheckBreak()
	}
	if yyb3048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv3051 := &x.Reference
		yyv3051.CodecDecodeSelf(d)
	}
	for {
		yyj3048++
		if yyhl3048 {
			yyb3048 = yyj3048 > l
		} else {
			yyb3048 = r.CheckBreak()
		}
		if yyb3048 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3048-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 {
		yym3052 := z.EncBinary()
		_ = yym3052
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3053 := !z.EncBinary()
			yy2arr3053 := z.EncBasicHandle().StructToArray
			var yyq3053 [2]bool
			_, _, _ = yysep3053, yyq3053, yy2arr3053
			const yyr3053 bool = false
			yyq3053[0] = x.Component != ""
			yyq3053[1] = x.Host != ""
			var yynn3053 int
			if yyr3053 || yy2arr3053 {
				r.EncodeArrayStart(2)
			} else {
				yynn3053 = 0
				for _, b := range yyq3053 {
					if b {
						yynn3053++
					}
				}
				r.EncodeMapStart(yynn3053)
				yynn3053 = 0
			}
			if yyr3053 || yy2arr3053 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3053[0] {
					yym3055 := z.EncBinary()
					_ = yym3055
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3053[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3056 := z.EncBinary()
					_ = yym3056
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr3053 || yy2arr3053 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3053[1] {
					yym3058 := z.EncBinary()
					_ = yym3058
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3053[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3059 := z.EncBinary()
					_ = yym3059
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr3053 || yy2arr3053 {
				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
	yym3060 := z.DecBinary()
	_ = yym3060
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3061 := r.ContainerType()
		if yyct3061 == codecSelferValueTypeMap1234 {
			yyl3061 := r.ReadMapStart()
			if yyl3061 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3061, d)
			}
		} else if yyct3061 == codecSelferValueTypeArray1234 {
			yyl3061 := r.ReadArrayStart()
			if yyl3061 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3061, 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 yys3062Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3062Slc
	var yyhl3062 bool = l >= 0
	for yyj3062 := 0; ; yyj3062++ {
		if yyhl3062 {
			if yyj3062 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3062Slc = r.DecodeBytes(yys3062Slc, true, true)
		yys3062 := string(yys3062Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3062 {
		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, yys3062)
		} // end switch yys3062
	} // end for yyj3062
	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 yyj3065 int
	var yyb3065 bool
	var yyhl3065 bool = l >= 0
	yyj3065++
	if yyhl3065 {
		yyb3065 = yyj3065 > l
	} else {
		yyb3065 = r.CheckBreak()
	}
	if yyb3065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj3065++
	if yyhl3065 {
		yyb3065 = yyj3065 > l
	} else {
		yyb3065 = r.CheckBreak()
	}
	if yyb3065 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj3065++
		if yyhl3065 {
			yyb3065 = yyj3065 > l
		} else {
			yyb3065 = r.CheckBreak()
		}
		if yyb3065 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3065-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 {
		yym3068 := z.EncBinary()
		_ = yym3068
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3069 := !z.EncBinary()
			yy2arr3069 := z.EncBasicHandle().StructToArray
			var yyq3069 [11]bool
			_, _, _ = yysep3069, yyq3069, yy2arr3069
			const yyr3069 bool = false
			yyq3069[0] = x.Kind != ""
			yyq3069[1] = x.APIVersion != ""
			yyq3069[2] = true
			yyq3069[3] = true
			yyq3069[4] = x.Reason != ""
			yyq3069[5] = x.Message != ""
			yyq3069[6] = true
			yyq3069[7] = true
			yyq3069[8] = true
			yyq3069[9] = x.Count != 0
			yyq3069[10] = x.Type != ""
			var yynn3069 int
			if yyr3069 || yy2arr3069 {
				r.EncodeArrayStart(11)
			} else {
				yynn3069 = 0
				for _, b := range yyq3069 {
					if b {
						yynn3069++
					}
				}
				r.EncodeMapStart(yynn3069)
				yynn3069 = 0
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[0] {
					yym3071 := z.EncBinary()
					_ = yym3071
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3069[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3072 := z.EncBinary()
					_ = yym3072
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[1] {
					yym3074 := z.EncBinary()
					_ = yym3074
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3069[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3075 := z.EncBinary()
					_ = yym3075
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[2] {
					yy3077 := &x.ObjectMeta
					yy3077.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3069[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3078 := &x.ObjectMeta
					yy3078.CodecEncodeSelf(e)
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[3] {
					yy3080 := &x.InvolvedObject
					yy3080.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3069[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3081 := &x.InvolvedObject
					yy3081.CodecEncodeSelf(e)
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[4] {
					yym3083 := z.EncBinary()
					_ = yym3083
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3069[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3084 := z.EncBinary()
					_ = yym3084
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[5] {
					yym3086 := z.EncBinary()
					_ = yym3086
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3069[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3087 := z.EncBinary()
					_ = yym3087
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[6] {
					yy3089 := &x.Source
					yy3089.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3069[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3090 := &x.Source
					yy3090.CodecEncodeSelf(e)
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[7] {
					yy3092 := &x.FirstTimestamp
					yym3093 := z.EncBinary()
					_ = yym3093
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3092) {
					} else if yym3093 {
						z.EncBinaryMarshal(yy3092)
					} else if !yym3093 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3092)
					} else {
						z.EncFallback(yy3092)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3069[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3094 := &x.FirstTimestamp
					yym3095 := z.EncBinary()
					_ = yym3095
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3094) {
					} else if yym3095 {
						z.EncBinaryMarshal(yy3094)
					} else if !yym3095 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3094)
					} else {
						z.EncFallback(yy3094)
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[8] {
					yy3097 := &x.LastTimestamp
					yym3098 := z.EncBinary()
					_ = yym3098
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3097) {
					} else if yym3098 {
						z.EncBinaryMarshal(yy3097)
					} else if !yym3098 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3097)
					} else {
						z.EncFallback(yy3097)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3069[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3099 := &x.LastTimestamp
					yym3100 := z.EncBinary()
					_ = yym3100
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3099) {
					} else if yym3100 {
						z.EncBinaryMarshal(yy3099)
					} else if !yym3100 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3099)
					} else {
						z.EncFallback(yy3099)
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[9] {
					yym3102 := z.EncBinary()
					_ = yym3102
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3069[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3103 := z.EncBinary()
					_ = yym3103
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3069[10] {
					yym3105 := z.EncBinary()
					_ = yym3105
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3069[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3106 := z.EncBinary()
					_ = yym3106
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3069 || yy2arr3069 {
				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
	yym3107 := z.DecBinary()
	_ = yym3107
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3108 := r.ContainerType()
		if yyct3108 == codecSelferValueTypeMap1234 {
			yyl3108 := r.ReadMapStart()
			if yyl3108 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3108, d)
			}
		} else if yyct3108 == codecSelferValueTypeArray1234 {
			yyl3108 := r.ReadArrayStart()
			if yyl3108 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3108, 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 yys3109Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3109Slc
	var yyhl3109 bool = l >= 0
	for yyj3109 := 0; ; yyj3109++ {
		if yyhl3109 {
			if yyj3109 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3109Slc = r.DecodeBytes(yys3109Slc, true, true)
		yys3109 := string(yys3109Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3109 {
		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 {
				yyv3112 := &x.ObjectMeta
				yyv3112.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv3113 := &x.InvolvedObject
				yyv3113.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 {
				yyv3116 := &x.Source
				yyv3116.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3117 := &x.FirstTimestamp
				yym3118 := z.DecBinary()
				_ = yym3118
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3117) {
				} else if yym3118 {
					z.DecBinaryUnmarshal(yyv3117)
				} else if !yym3118 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3117)
				} else {
					z.DecFallback(yyv3117, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3119 := &x.LastTimestamp
				yym3120 := z.DecBinary()
				_ = yym3120
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3119) {
				} else if yym3120 {
					z.DecBinaryUnmarshal(yyv3119)
				} else if !yym3120 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3119)
				} else {
					z.DecFallback(yyv3119, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3109)
		} // end switch yys3109
	} // end for yyj3109
	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 yyj3123 int
	var yyb3123 bool
	var yyhl3123 bool = l >= 0
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3126 := &x.ObjectMeta
		yyv3126.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv3127 := &x.InvolvedObject
		yyv3127.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv3130 := &x.Source
		yyv3130.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv3131 := &x.FirstTimestamp
		yym3132 := z.DecBinary()
		_ = yym3132
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3131) {
		} else if yym3132 {
			z.DecBinaryUnmarshal(yyv3131)
		} else if !yym3132 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3131)
		} else {
			z.DecFallback(yyv3131, false)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv3133 := &x.LastTimestamp
		yym3134 := z.DecBinary()
		_ = yym3134
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3133) {
		} else if yym3134 {
			z.DecBinaryUnmarshal(yyv3133)
		} else if !yym3134 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3133)
		} else {
			z.DecFallback(yyv3133, false)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	for {
		yyj3123++
		if yyhl3123 {
			yyb3123 = yyj3123 > l
		} else {
			yyb3123 = r.CheckBreak()
		}
		if yyb3123 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3123-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 {
		yym3137 := z.EncBinary()
		_ = yym3137
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3138 := !z.EncBinary()
			yy2arr3138 := z.EncBasicHandle().StructToArray
			var yyq3138 [4]bool
			_, _, _ = yysep3138, yyq3138, yy2arr3138
			const yyr3138 bool = false
			yyq3138[0] = x.Kind != ""
			yyq3138[1] = x.APIVersion != ""
			yyq3138[2] = true
			var yynn3138 int
			if yyr3138 || yy2arr3138 {
				r.EncodeArrayStart(4)
			} else {
				yynn3138 = 1
				for _, b := range yyq3138 {
					if b {
						yynn3138++
					}
				}
				r.EncodeMapStart(yynn3138)
				yynn3138 = 0
			}
			if yyr3138 || yy2arr3138 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3138[0] {
					yym3140 := z.EncBinary()
					_ = yym3140
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3138[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3141 := z.EncBinary()
					_ = yym3141
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3138 || yy2arr3138 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3138[1] {
					yym3143 := z.EncBinary()
					_ = yym3143
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3138[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3144 := z.EncBinary()
					_ = yym3144
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3138 || yy2arr3138 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3138[2] {
					yy3146 := &x.ListMeta
					yym3147 := z.EncBinary()
					_ = yym3147
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3146) {
					} else {
						z.EncFallback(yy3146)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3138[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3148 := &x.ListMeta
					yym3149 := z.EncBinary()
					_ = yym3149
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3148) {
					} else {
						z.EncFallback(yy3148)
					}
				}
			}
			if yyr3138 || yy2arr3138 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3151 := z.EncBinary()
					_ = yym3151
					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 {
					yym3152 := z.EncBinary()
					_ = yym3152
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yyr3138 || yy2arr3138 {
				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
	yym3153 := z.DecBinary()
	_ = yym3153
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3154 := r.ContainerType()
		if yyct3154 == codecSelferValueTypeMap1234 {
			yyl3154 := r.ReadMapStart()
			if yyl3154 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3154, d)
			}
		} else if yyct3154 == codecSelferValueTypeArray1234 {
			yyl3154 := r.ReadArrayStart()
			if yyl3154 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3154, 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 yys3155Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3155Slc
	var yyhl3155 bool = l >= 0
	for yyj3155 := 0; ; yyj3155++ {
		if yyhl3155 {
			if yyj3155 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3155Slc = r.DecodeBytes(yys3155Slc, true, true)
		yys3155 := string(yys3155Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3155 {
		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 {
				yyv3158 := &x.ListMeta
				yym3159 := z.DecBinary()
				_ = yym3159
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3158) {
				} else {
					z.DecFallback(yyv3158, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3160 := &x.Items
				yym3161 := z.DecBinary()
				_ = yym3161
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv3160), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3155)
		} // end switch yys3155
	} // end for yyj3155
	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 yyj3162 int
	var yyb3162 bool
	var yyhl3162 bool = l >= 0
	yyj3162++
	if yyhl3162 {
		yyb3162 = yyj3162 > l
	} else {
		yyb3162 = r.CheckBreak()
	}
	if yyb3162 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3162++
	if yyhl3162 {
		yyb3162 = yyj3162 > l
	} else {
		yyb3162 = r.CheckBreak()
	}
	if yyb3162 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3162++
	if yyhl3162 {
		yyb3162 = yyj3162 > l
	} else {
		yyb3162 = r.CheckBreak()
	}
	if yyb3162 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3165 := &x.ListMeta
		yym3166 := z.DecBinary()
		_ = yym3166
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3165) {
		} else {
			z.DecFallback(yyv3165, false)
		}
	}
	yyj3162++
	if yyhl3162 {
		yyb3162 = yyj3162 > l
	} else {
		yyb3162 = r.CheckBreak()
	}
	if yyb3162 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3167 := &x.Items
		yym3168 := z.DecBinary()
		_ = yym3168
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv3167), d)
		}
	}
	for {
		yyj3162++
		if yyhl3162 {
			yyb3162 = yyj3162 > l
		} else {
			yyb3162 = r.CheckBreak()
		}
		if yyb3162 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3162-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 {
		yym3169 := z.EncBinary()
		_ = yym3169
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3170 := !z.EncBinary()
			yy2arr3170 := z.EncBasicHandle().StructToArray
			var yyq3170 [4]bool
			_, _, _ = yysep3170, yyq3170, yy2arr3170
			const yyr3170 bool = false
			yyq3170[0] = x.Kind != ""
			yyq3170[1] = x.APIVersion != ""
			yyq3170[2] = true
			var yynn3170 int
			if yyr3170 || yy2arr3170 {
				r.EncodeArrayStart(4)
			} else {
				yynn3170 = 1
				for _, b := range yyq3170 {
					if b {
						yynn3170++
					}
				}
				r.EncodeMapStart(yynn3170)
				yynn3170 = 0
			}
			if yyr3170 || yy2arr3170 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3170[0] {
					yym3172 := z.EncBinary()
					_ = yym3172
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3170[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3173 := z.EncBinary()
					_ = yym3173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3170[1] {
					yym3175 := z.EncBinary()
					_ = yym3175
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3170[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3176 := z.EncBinary()
					_ = yym3176
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3170[2] {
					yy3178 := &x.ListMeta
					yym3179 := z.EncBinary()
					_ = yym3179
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3178) {
					} else {
						z.EncFallback(yy3178)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3170[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3180 := &x.ListMeta
					yym3181 := z.EncBinary()
					_ = yym3181
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3180) {
					} else {
						z.EncFallback(yy3180)
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3183 := z.EncBinary()
					_ = yym3183
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg8_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 {
					yym3184 := z.EncBinary()
					_ = yym3184
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg8_runtime.Object)(x.Items), e)
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				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
	yym3185 := z.DecBinary()
	_ = yym3185
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3186 := r.ContainerType()
		if yyct3186 == codecSelferValueTypeMap1234 {
			yyl3186 := r.ReadMapStart()
			if yyl3186 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3186, d)
			}
		} else if yyct3186 == codecSelferValueTypeArray1234 {
			yyl3186 := r.ReadArrayStart()
			if yyl3186 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3186, 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 yys3187Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3187Slc
	var yyhl3187 bool = l >= 0
	for yyj3187 := 0; ; yyj3187++ {
		if yyhl3187 {
			if yyj3187 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3187Slc = r.DecodeBytes(yys3187Slc, true, true)
		yys3187 := string(yys3187Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3187 {
		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 {
				yyv3190 := &x.ListMeta
				yym3191 := z.DecBinary()
				_ = yym3191
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3190) {
				} else {
					z.DecFallback(yyv3190, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3192 := &x.Items
				yym3193 := z.DecBinary()
				_ = yym3193
				if false {
				} else {
					h.decSliceruntime_Object((*[]pkg8_runtime.Object)(yyv3192), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3187)
		} // end switch yys3187
	} // end for yyj3187
	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 yyj3194 int
	var yyb3194 bool
	var yyhl3194 bool = l >= 0
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3197 := &x.ListMeta
		yym3198 := z.DecBinary()
		_ = yym3198
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3197) {
		} else {
			z.DecFallback(yyv3197, false)
		}
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3199 := &x.Items
		yym3200 := z.DecBinary()
		_ = yym3200
		if false {
		} else {
			h.decSliceruntime_Object((*[]pkg8_runtime.Object)(yyv3199), d)
		}
	}
	for {
		yyj3194++
		if yyhl3194 {
			yyb3194 = yyj3194 > l
		} else {
			yyb3194 = r.CheckBreak()
		}
		if yyb3194 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3194-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3201 := z.EncBinary()
	_ = yym3201
	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
	yym3202 := z.DecBinary()
	_ = yym3202
	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 {
		yym3203 := z.EncBinary()
		_ = yym3203
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3204 := !z.EncBinary()
			yy2arr3204 := z.EncBasicHandle().StructToArray
			var yyq3204 [6]bool
			_, _, _ = yysep3204, yyq3204, yy2arr3204
			const yyr3204 bool = false
			yyq3204[0] = x.Type != ""
			yyq3204[1] = len(x.Max) != 0
			yyq3204[2] = len(x.Min) != 0
			yyq3204[3] = len(x.Default) != 0
			yyq3204[4] = len(x.DefaultRequest) != 0
			yyq3204[5] = len(x.MaxLimitRequestRatio) != 0
			var yynn3204 int
			if yyr3204 || yy2arr3204 {
				r.EncodeArrayStart(6)
			} else {
				yynn3204 = 0
				for _, b := range yyq3204 {
					if b {
						yynn3204++
					}
				}
				r.EncodeMapStart(yynn3204)
				yynn3204 = 0
			}
			if yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3204[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3204[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 yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3204[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 yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3204[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 yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3204[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 yyr3204 || yy2arr3204 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3204[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3204[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 yyr3204 || yy2arr3204 {
				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
	yym3211 := z.DecBinary()
	_ = yym3211
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3212 := r.ContainerType()
		if yyct3212 == codecSelferValueTypeMap1234 {
			yyl3212 := r.ReadMapStart()
			if yyl3212 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3212, d)
			}
		} else if yyct3212 == codecSelferValueTypeArray1234 {
			yyl3212 := r.ReadArrayStart()
			if yyl3212 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3212, 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 yys3213Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3213Slc
	var yyhl3213 bool = l >= 0
	for yyj3213 := 0; ; yyj3213++ {
		if yyhl3213 {
			if yyj3213 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3213Slc = r.DecodeBytes(yys3213Slc, true, true)
		yys3213 := string(yys3213Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3213 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv3215 := &x.Max
				yyv3215.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv3216 := &x.Min
				yyv3216.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv3217 := &x.Default
				yyv3217.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv3218 := &x.DefaultRequest
				yyv3218.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv3219 := &x.MaxLimitRequestRatio
				yyv3219.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3213)
		} // end switch yys3213
	} // end for yyj3213
	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 yyj3220 int
	var yyb3220 bool
	var yyhl3220 bool = l >= 0
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv3222 := &x.Max
		yyv3222.CodecDecodeSelf(d)
	}
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv3223 := &x.Min
		yyv3223.CodecDecodeSelf(d)
	}
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv3224 := &x.Default
		yyv3224.CodecDecodeSelf(d)
	}
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv3225 := &x.DefaultRequest
		yyv3225.CodecDecodeSelf(d)
	}
	yyj3220++
	if yyhl3220 {
		yyb3220 = yyj3220 > l
	} else {
		yyb3220 = r.CheckBreak()
	}
	if yyb3220 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv3226 := &x.MaxLimitRequestRatio
		yyv3226.CodecDecodeSelf(d)
	}
	for {
		yyj3220++
		if yyhl3220 {
			yyb3220 = yyj3220 > l
		} else {
			yyb3220 = r.CheckBreak()
		}
		if yyb3220 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3220-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 {
		yym3227 := z.EncBinary()
		_ = yym3227
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3228 := !z.EncBinary()
			yy2arr3228 := z.EncBasicHandle().StructToArray
			var yyq3228 [1]bool
			_, _, _ = yysep3228, yyq3228, yy2arr3228
			const yyr3228 bool = false
			var yynn3228 int
			if yyr3228 || yy2arr3228 {
				r.EncodeArrayStart(1)
			} else {
				yynn3228 = 1
				for _, b := range yyq3228 {
					if b {
						yynn3228++
					}
				}
				r.EncodeMapStart(yynn3228)
				yynn3228 = 0
			}
			if yyr3228 || yy2arr3228 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3230 := z.EncBinary()
					_ = yym3230
					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 {
					yym3231 := z.EncBinary()
					_ = yym3231
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yyr3228 || yy2arr3228 {
				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
	yym3232 := z.DecBinary()
	_ = yym3232
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3233 := r.ContainerType()
		if yyct3233 == codecSelferValueTypeMap1234 {
			yyl3233 := r.ReadMapStart()
			if yyl3233 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3233, d)
			}
		} else if yyct3233 == codecSelferValueTypeArray1234 {
			yyl3233 := r.ReadArrayStart()
			if yyl3233 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3233, 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 yys3234Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3234Slc
	var yyhl3234 bool = l >= 0
	for yyj3234 := 0; ; yyj3234++ {
		if yyhl3234 {
			if yyj3234 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3234Slc = r.DecodeBytes(yys3234Slc, true, true)
		yys3234 := string(yys3234Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3234 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv3235 := &x.Limits
				yym3236 := z.DecBinary()
				_ = yym3236
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3235), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3234)
		} // end switch yys3234
	} // end for yyj3234
	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 yyj3237 int
	var yyb3237 bool
	var yyhl3237 bool = l >= 0
	yyj3237++
	if yyhl3237 {
		yyb3237 = yyj3237 > l
	} else {
		yyb3237 = r.CheckBreak()
	}
	if yyb3237 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv3238 := &x.Limits
		yym3239 := z.DecBinary()
		_ = yym3239
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3238), d)
		}
	}
	for {
		yyj3237++
		if yyhl3237 {
			yyb3237 = yyj3237 > l
		} else {
			yyb3237 = r.CheckBreak()
		}
		if yyb3237 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3237-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 {
		yym3240 := z.EncBinary()
		_ = yym3240
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3241 := !z.EncBinary()
			yy2arr3241 := z.EncBasicHandle().StructToArray
			var yyq3241 [4]bool
			_, _, _ = yysep3241, yyq3241, yy2arr3241
			const yyr3241 bool = false
			yyq3241[0] = x.Kind != ""
			yyq3241[1] = x.APIVersion != ""
			yyq3241[2] = true
			yyq3241[3] = true
			var yynn3241 int
			if yyr3241 || yy2arr3241 {
				r.EncodeArrayStart(4)
			} else {
				yynn3241 = 0
				for _, b := range yyq3241 {
					if b {
						yynn3241++
					}
				}
				r.EncodeMapStart(yynn3241)
				yynn3241 = 0
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[0] {
					yym3243 := z.EncBinary()
					_ = yym3243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3241[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3244 := z.EncBinary()
					_ = yym3244
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[1] {
					yym3246 := z.EncBinary()
					_ = yym3246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3241[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3247 := z.EncBinary()
					_ = yym3247
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[2] {
					yy3249 := &x.ObjectMeta
					yy3249.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3241[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3250 := &x.ObjectMeta
					yy3250.CodecEncodeSelf(e)
				}
			}
			if yyr3241 || yy2arr3241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3241[3] {
					yy3252 := &x.Spec
					yy3252.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3241[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3253 := &x.Spec
					yy3253.CodecEncodeSelf(e)
				}
			}
			if yyr3241 || yy2arr3241 {
				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
	yym3254 := z.DecBinary()
	_ = yym3254
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3255 := r.ContainerType()
		if yyct3255 == codecSelferValueTypeMap1234 {
			yyl3255 := r.ReadMapStart()
			if yyl3255 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3255, d)
			}
		} else if yyct3255 == codecSelferValueTypeArray1234 {
			yyl3255 := r.ReadArrayStart()
			if yyl3255 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3255, 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 yys3256Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3256Slc
	var yyhl3256 bool = l >= 0
	for yyj3256 := 0; ; yyj3256++ {
		if yyhl3256 {
			if yyj3256 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3256Slc = r.DecodeBytes(yys3256Slc, true, true)
		yys3256 := string(yys3256Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3256 {
		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 {
				yyv3259 := &x.ObjectMeta
				yyv3259.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv3260 := &x.Spec
				yyv3260.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3256)
		} // end switch yys3256
	} // end for yyj3256
	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 yyj3261 int
	var yyb3261 bool
	var yyhl3261 bool = l >= 0
	yyj3261++
	if yyhl3261 {
		yyb3261 = yyj3261 > l
	} else {
		yyb3261 = r.CheckBreak()
	}
	if yyb3261 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3261++
	if yyhl3261 {
		yyb3261 = yyj3261 > l
	} else {
		yyb3261 = r.CheckBreak()
	}
	if yyb3261 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3261++
	if yyhl3261 {
		yyb3261 = yyj3261 > l
	} else {
		yyb3261 = r.CheckBreak()
	}
	if yyb3261 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3264 := &x.ObjectMeta
		yyv3264.CodecDecodeSelf(d)
	}
	yyj3261++
	if yyhl3261 {
		yyb3261 = yyj3261 > l
	} else {
		yyb3261 = r.CheckBreak()
	}
	if yyb3261 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv3265 := &x.Spec
		yyv3265.CodecDecodeSelf(d)
	}
	for {
		yyj3261++
		if yyhl3261 {
			yyb3261 = yyj3261 > l
		} else {
			yyb3261 = r.CheckBreak()
		}
		if yyb3261 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3261-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 {
		yym3266 := z.EncBinary()
		_ = yym3266
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3267 := !z.EncBinary()
			yy2arr3267 := z.EncBasicHandle().StructToArray
			var yyq3267 [4]bool
			_, _, _ = yysep3267, yyq3267, yy2arr3267
			const yyr3267 bool = false
			yyq3267[0] = x.Kind != ""
			yyq3267[1] = x.APIVersion != ""
			yyq3267[2] = true
			var yynn3267 int
			if yyr3267 || yy2arr3267 {
				r.EncodeArrayStart(4)
			} else {
				yynn3267 = 1
				for _, b := range yyq3267 {
					if b {
						yynn3267++
					}
				}
				r.EncodeMapStart(yynn3267)
				yynn3267 = 0
			}
			if yyr3267 || yy2arr3267 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3267[0] {
					yym3269 := z.EncBinary()
					_ = yym3269
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3267[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3270 := z.EncBinary()
					_ = yym3270
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3267 || yy2arr3267 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3267[1] {
					yym3272 := z.EncBinary()
					_ = yym3272
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3267[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3273 := z.EncBinary()
					_ = yym3273
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3267 || yy2arr3267 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3267[2] {
					yy3275 := &x.ListMeta
					yym3276 := z.EncBinary()
					_ = yym3276
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3275) {
					} else {
						z.EncFallback(yy3275)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3267[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3277 := &x.ListMeta
					yym3278 := z.EncBinary()
					_ = yym3278
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3277) {
					} else {
						z.EncFallback(yy3277)
					}
				}
			}
			if yyr3267 || yy2arr3267 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3280 := z.EncBinary()
					_ = yym3280
					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 {
					yym3281 := z.EncBinary()
					_ = yym3281
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yyr3267 || yy2arr3267 {
				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
	yym3282 := z.DecBinary()
	_ = yym3282
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3283 := r.ContainerType()
		if yyct3283 == codecSelferValueTypeMap1234 {
			yyl3283 := r.ReadMapStart()
			if yyl3283 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3283, d)
			}
		} else if yyct3283 == codecSelferValueTypeArray1234 {
			yyl3283 := r.ReadArrayStart()
			if yyl3283 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3283, 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 yys3284Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3284Slc
	var yyhl3284 bool = l >= 0
	for yyj3284 := 0; ; yyj3284++ {
		if yyhl3284 {
			if yyj3284 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3284Slc = r.DecodeBytes(yys3284Slc, true, true)
		yys3284 := string(yys3284Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3284 {
		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 {
				yyv3287 := &x.ListMeta
				yym3288 := z.DecBinary()
				_ = yym3288
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3287) {
				} else {
					z.DecFallback(yyv3287, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3289 := &x.Items
				yym3290 := z.DecBinary()
				_ = yym3290
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv3289), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3284)
		} // end switch yys3284
	} // end for yyj3284
	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 yyj3291 int
	var yyb3291 bool
	var yyhl3291 bool = l >= 0
	yyj3291++
	if yyhl3291 {
		yyb3291 = yyj3291 > l
	} else {
		yyb3291 = r.CheckBreak()
	}
	if yyb3291 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3291++
	if yyhl3291 {
		yyb3291 = yyj3291 > l
	} else {
		yyb3291 = r.CheckBreak()
	}
	if yyb3291 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3291++
	if yyhl3291 {
		yyb3291 = yyj3291 > l
	} else {
		yyb3291 = r.CheckBreak()
	}
	if yyb3291 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3294 := &x.ListMeta
		yym3295 := z.DecBinary()
		_ = yym3295
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3294) {
		} else {
			z.DecFallback(yyv3294, false)
		}
	}
	yyj3291++
	if yyhl3291 {
		yyb3291 = yyj3291 > l
	} else {
		yyb3291 = r.CheckBreak()
	}
	if yyb3291 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3296 := &x.Items
		yym3297 := z.DecBinary()
		_ = yym3297
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv3296), d)
		}
	}
	for {
		yyj3291++
		if yyhl3291 {
			yyb3291 = yyj3291 > l
		} else {
			yyb3291 = r.CheckBreak()
		}
		if yyb3291 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3291-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3298 := z.EncBinary()
		_ = yym3298
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3299 := !z.EncBinary()
			yy2arr3299 := z.EncBasicHandle().StructToArray
			var yyq3299 [1]bool
			_, _, _ = yysep3299, yyq3299, yy2arr3299
			const yyr3299 bool = false
			yyq3299[0] = len(x.Hard) != 0
			var yynn3299 int
			if yyr3299 || yy2arr3299 {
				r.EncodeArrayStart(1)
			} else {
				yynn3299 = 0
				for _, b := range yyq3299 {
					if b {
						yynn3299++
					}
				}
				r.EncodeMapStart(yynn3299)
				yynn3299 = 0
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3299[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 yyr3299 || yy2arr3299 {
				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
	yym3301 := z.DecBinary()
	_ = yym3301
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3302 := r.ContainerType()
		if yyct3302 == codecSelferValueTypeMap1234 {
			yyl3302 := r.ReadMapStart()
			if yyl3302 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3302, d)
			}
		} else if yyct3302 == codecSelferValueTypeArray1234 {
			yyl3302 := r.ReadArrayStart()
			if yyl3302 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3302, 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 yys3303Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3303Slc
	var yyhl3303 bool = l >= 0
	for yyj3303 := 0; ; yyj3303++ {
		if yyhl3303 {
			if yyj3303 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3303Slc = r.DecodeBytes(yys3303Slc, true, true)
		yys3303 := string(yys3303Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3303 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3304 := &x.Hard
				yyv3304.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3303)
		} // end switch yys3303
	} // end for yyj3303
	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 yyj3305 int
	var yyb3305 bool
	var yyhl3305 bool = l >= 0
	yyj3305++
	if yyhl3305 {
		yyb3305 = yyj3305 > l
	} else {
		yyb3305 = r.CheckBreak()
	}
	if yyb3305 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3306 := &x.Hard
		yyv3306.CodecDecodeSelf(d)
	}
	for {
		yyj3305++
		if yyhl3305 {
			yyb3305 = yyj3305 > l
		} else {
			yyb3305 = r.CheckBreak()
		}
		if yyb3305 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3305-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3307 := z.EncBinary()
		_ = yym3307
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3308 := !z.EncBinary()
			yy2arr3308 := z.EncBasicHandle().StructToArray
			var yyq3308 [2]bool
			_, _, _ = yysep3308, yyq3308, yy2arr3308
			const yyr3308 bool = false
			yyq3308[0] = len(x.Hard) != 0
			yyq3308[1] = len(x.Used) != 0
			var yynn3308 int
			if yyr3308 || yy2arr3308 {
				r.EncodeArrayStart(2)
			} else {
				yynn3308 = 0
				for _, b := range yyq3308 {
					if b {
						yynn3308++
					}
				}
				r.EncodeMapStart(yynn3308)
				yynn3308 = 0
			}
			if yyr3308 || yy2arr3308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3308[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3308[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 yyr3308 || yy2arr3308 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3308[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3308[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 yyr3308 || yy2arr3308 {
				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
	yym3311 := z.DecBinary()
	_ = yym3311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3312 := r.ContainerType()
		if yyct3312 == codecSelferValueTypeMap1234 {
			yyl3312 := r.ReadMapStart()
			if yyl3312 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3312, d)
			}
		} else if yyct3312 == codecSelferValueTypeArray1234 {
			yyl3312 := r.ReadArrayStart()
			if yyl3312 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3312, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3313Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3313Slc
	var yyhl3313 bool = l >= 0
	for yyj3313 := 0; ; yyj3313++ {
		if yyhl3313 {
			if yyj3313 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3313Slc = r.DecodeBytes(yys3313Slc, true, true)
		yys3313 := string(yys3313Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3313 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3314 := &x.Hard
				yyv3314.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv3315 := &x.Used
				yyv3315.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3313)
		} // end switch yys3313
	} // end for yyj3313
	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 yyj3316 int
	var yyb3316 bool
	var yyhl3316 bool = l >= 0
	yyj3316++
	if yyhl3316 {
		yyb3316 = yyj3316 > l
	} else {
		yyb3316 = r.CheckBreak()
	}
	if yyb3316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3317 := &x.Hard
		yyv3317.CodecDecodeSelf(d)
	}
	yyj3316++
	if yyhl3316 {
		yyb3316 = yyj3316 > l
	} else {
		yyb3316 = r.CheckBreak()
	}
	if yyb3316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv3318 := &x.Used
		yyv3318.CodecDecodeSelf(d)
	}
	for {
		yyj3316++
		if yyhl3316 {
			yyb3316 = yyj3316 > l
		} else {
			yyb3316 = r.CheckBreak()
		}
		if yyb3316 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3316-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 {
		yym3319 := z.EncBinary()
		_ = yym3319
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3320 := !z.EncBinary()
			yy2arr3320 := z.EncBasicHandle().StructToArray
			var yyq3320 [5]bool
			_, _, _ = yysep3320, yyq3320, yy2arr3320
			const yyr3320 bool = false
			yyq3320[0] = x.Kind != ""
			yyq3320[1] = x.APIVersion != ""
			yyq3320[2] = true
			yyq3320[3] = true
			yyq3320[4] = true
			var yynn3320 int
			if yyr3320 || yy2arr3320 {
				r.EncodeArrayStart(5)
			} else {
				yynn3320 = 0
				for _, b := range yyq3320 {
					if b {
						yynn3320++
					}
				}
				r.EncodeMapStart(yynn3320)
				yynn3320 = 0
			}
			if yyr3320 || yy2arr3320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3320[0] {
					yym3322 := z.EncBinary()
					_ = yym3322
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3320[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3323 := z.EncBinary()
					_ = yym3323
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3320 || yy2arr3320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3320[1] {
					yym3325 := z.EncBinary()
					_ = yym3325
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3320[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3326 := z.EncBinary()
					_ = yym3326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3320 || yy2arr3320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3320[2] {
					yy3328 := &x.ObjectMeta
					yy3328.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3320[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3329 := &x.ObjectMeta
					yy3329.CodecEncodeSelf(e)
				}
			}
			if yyr3320 || yy2arr3320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3320[3] {
					yy3331 := &x.Spec
					yy3331.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3320[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3332 := &x.Spec
					yy3332.CodecEncodeSelf(e)
				}
			}
			if yyr3320 || yy2arr3320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3320[4] {
					yy3334 := &x.Status
					yy3334.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3320[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3335 := &x.Status
					yy3335.CodecEncodeSelf(e)
				}
			}
			if yyr3320 || yy2arr3320 {
				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
	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 *ResourceQuota) 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.ObjectMeta = ObjectMeta{}
			} else {
				yyv3341 := &x.ObjectMeta
				yyv3341.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv3342 := &x.Spec
				yyv3342.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv3343 := &x.Status
				yyv3343.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3338)
		} // end switch yys3338
	} // end for yyj3338
	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 yyj3344 int
	var yyb3344 bool
	var yyhl3344 bool = l >= 0
	yyj3344++
	if yyhl3344 {
		yyb3344 = yyj3344 > l
	} else {
		yyb3344 = r.CheckBreak()
	}
	if yyb3344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3344++
	if yyhl3344 {
		yyb3344 = yyj3344 > l
	} else {
		yyb3344 = r.CheckBreak()
	}
	if yyb3344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3344++
	if yyhl3344 {
		yyb3344 = yyj3344 > l
	} else {
		yyb3344 = r.CheckBreak()
	}
	if yyb3344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3347 := &x.ObjectMeta
		yyv3347.CodecDecodeSelf(d)
	}
	yyj3344++
	if yyhl3344 {
		yyb3344 = yyj3344 > l
	} else {
		yyb3344 = r.CheckBreak()
	}
	if yyb3344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv3348 := &x.Spec
		yyv3348.CodecDecodeSelf(d)
	}
	yyj3344++
	if yyhl3344 {
		yyb3344 = yyj3344 > l
	} else {
		yyb3344 = r.CheckBreak()
	}
	if yyb3344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv3349 := &x.Status
		yyv3349.CodecDecodeSelf(d)
	}
	for {
		yyj3344++
		if yyhl3344 {
			yyb3344 = yyj3344 > l
		} else {
			yyb3344 = r.CheckBreak()
		}
		if yyb3344 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3344-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 {
		yym3350 := z.EncBinary()
		_ = yym3350
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3351 := !z.EncBinary()
			yy2arr3351 := z.EncBasicHandle().StructToArray
			var yyq3351 [4]bool
			_, _, _ = yysep3351, yyq3351, yy2arr3351
			const yyr3351 bool = false
			yyq3351[0] = x.Kind != ""
			yyq3351[1] = x.APIVersion != ""
			yyq3351[2] = true
			var yynn3351 int
			if yyr3351 || yy2arr3351 {
				r.EncodeArrayStart(4)
			} else {
				yynn3351 = 1
				for _, b := range yyq3351 {
					if b {
						yynn3351++
					}
				}
				r.EncodeMapStart(yynn3351)
				yynn3351 = 0
			}
			if yyr3351 || yy2arr3351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3351[0] {
					yym3353 := z.EncBinary()
					_ = yym3353
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3351[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3354 := z.EncBinary()
					_ = yym3354
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3351 || yy2arr3351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3351[1] {
					yym3356 := z.EncBinary()
					_ = yym3356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3351[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3357 := z.EncBinary()
					_ = yym3357
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3351 || yy2arr3351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3351[2] {
					yy3359 := &x.ListMeta
					yym3360 := z.EncBinary()
					_ = yym3360
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3359) {
					} else {
						z.EncFallback(yy3359)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3351[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3361 := &x.ListMeta
					yym3362 := z.EncBinary()
					_ = yym3362
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3361) {
					} else {
						z.EncFallback(yy3361)
					}
				}
			}
			if yyr3351 || yy2arr3351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3364 := z.EncBinary()
					_ = yym3364
					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 {
					yym3365 := z.EncBinary()
					_ = yym3365
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yyr3351 || yy2arr3351 {
				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
	yym3366 := z.DecBinary()
	_ = yym3366
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3367 := r.ContainerType()
		if yyct3367 == codecSelferValueTypeMap1234 {
			yyl3367 := r.ReadMapStart()
			if yyl3367 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3367, d)
			}
		} else if yyct3367 == codecSelferValueTypeArray1234 {
			yyl3367 := r.ReadArrayStart()
			if yyl3367 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3367, 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 yys3368Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3368Slc
	var yyhl3368 bool = l >= 0
	for yyj3368 := 0; ; yyj3368++ {
		if yyhl3368 {
			if yyj3368 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3368Slc = r.DecodeBytes(yys3368Slc, true, true)
		yys3368 := string(yys3368Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3368 {
		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 {
				yyv3371 := &x.ListMeta
				yym3372 := z.DecBinary()
				_ = yym3372
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3371) {
				} else {
					z.DecFallback(yyv3371, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3373 := &x.Items
				yym3374 := z.DecBinary()
				_ = yym3374
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv3373), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3368)
		} // end switch yys3368
	} // end for yyj3368
	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 yyj3375 int
	var yyb3375 bool
	var yyhl3375 bool = l >= 0
	yyj3375++
	if yyhl3375 {
		yyb3375 = yyj3375 > l
	} else {
		yyb3375 = r.CheckBreak()
	}
	if yyb3375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3375++
	if yyhl3375 {
		yyb3375 = yyj3375 > l
	} else {
		yyb3375 = r.CheckBreak()
	}
	if yyb3375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3375++
	if yyhl3375 {
		yyb3375 = yyj3375 > l
	} else {
		yyb3375 = r.CheckBreak()
	}
	if yyb3375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3378 := &x.ListMeta
		yym3379 := z.DecBinary()
		_ = yym3379
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3378) {
		} else {
			z.DecFallback(yyv3378, false)
		}
	}
	yyj3375++
	if yyhl3375 {
		yyb3375 = yyj3375 > l
	} else {
		yyb3375 = r.CheckBreak()
	}
	if yyb3375 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3380 := &x.Items
		yym3381 := z.DecBinary()
		_ = yym3381
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv3380), d)
		}
	}
	for {
		yyj3375++
		if yyhl3375 {
			yyb3375 = yyj3375 > l
		} else {
			yyb3375 = r.CheckBreak()
		}
		if yyb3375 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3375-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 {
		yym3382 := z.EncBinary()
		_ = yym3382
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3383 := !z.EncBinary()
			yy2arr3383 := z.EncBasicHandle().StructToArray
			var yyq3383 [5]bool
			_, _, _ = yysep3383, yyq3383, yy2arr3383
			const yyr3383 bool = false
			yyq3383[0] = x.Kind != ""
			yyq3383[1] = x.APIVersion != ""
			yyq3383[2] = true
			yyq3383[3] = len(x.Data) != 0
			yyq3383[4] = x.Type != ""
			var yynn3383 int
			if yyr3383 || yy2arr3383 {
				r.EncodeArrayStart(5)
			} else {
				yynn3383 = 0
				for _, b := range yyq3383 {
					if b {
						yynn3383++
					}
				}
				r.EncodeMapStart(yynn3383)
				yynn3383 = 0
			}
			if yyr3383 || yy2arr3383 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3383[0] {
					yym3385 := z.EncBinary()
					_ = yym3385
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3383[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3386 := z.EncBinary()
					_ = yym3386
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3383 || yy2arr3383 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3383[1] {
					yym3388 := z.EncBinary()
					_ = yym3388
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3383[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3389 := z.EncBinary()
					_ = yym3389
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3383 || yy2arr3383 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3383[2] {
					yy3391 := &x.ObjectMeta
					yy3391.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3383[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3392 := &x.ObjectMeta
					yy3392.CodecEncodeSelf(e)
				}
			}
			if yyr3383 || yy2arr3383 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3383[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3394 := z.EncBinary()
						_ = yym3394
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3383[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3395 := z.EncBinary()
						_ = yym3395
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr3383 || yy2arr3383 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3383[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3383[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3383 || yy2arr3383 {
				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
	yym3397 := z.DecBinary()
	_ = yym3397
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3398 := r.ContainerType()
		if yyct3398 == codecSelferValueTypeMap1234 {
			yyl3398 := r.ReadMapStart()
			if yyl3398 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3398, d)
			}
		} else if yyct3398 == codecSelferValueTypeArray1234 {
			yyl3398 := r.ReadArrayStart()
			if yyl3398 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3398, 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 yys3399Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3399Slc
	var yyhl3399 bool = l >= 0
	for yyj3399 := 0; ; yyj3399++ {
		if yyhl3399 {
			if yyj3399 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3399Slc = r.DecodeBytes(yys3399Slc, true, true)
		yys3399 := string(yys3399Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3399 {
		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 {
				yyv3402 := &x.ObjectMeta
				yyv3402.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3403 := &x.Data
				yym3404 := z.DecBinary()
				_ = yym3404
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv3403), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3399)
		} // end switch yys3399
	} // end for yyj3399
	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 yyj3406 int
	var yyb3406 bool
	var yyhl3406 bool = l >= 0
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3409 := &x.ObjectMeta
		yyv3409.CodecDecodeSelf(d)
	}
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3410 := &x.Data
		yym3411 := z.DecBinary()
		_ = yym3411
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv3410), d)
		}
	}
	yyj3406++
	if yyhl3406 {
		yyb3406 = yyj3406 > l
	} else {
		yyb3406 = r.CheckBreak()
	}
	if yyb3406 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj3406++
		if yyhl3406 {
			yyb3406 = yyj3406 > l
		} else {
			yyb3406 = r.CheckBreak()
		}
		if yyb3406 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3406-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3413 := z.EncBinary()
	_ = yym3413
	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
	yym3414 := z.DecBinary()
	_ = yym3414
	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 {
		yym3415 := z.EncBinary()
		_ = yym3415
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3416 := !z.EncBinary()
			yy2arr3416 := z.EncBasicHandle().StructToArray
			var yyq3416 [4]bool
			_, _, _ = yysep3416, yyq3416, yy2arr3416
			const yyr3416 bool = false
			yyq3416[0] = x.Kind != ""
			yyq3416[1] = x.APIVersion != ""
			yyq3416[2] = true
			var yynn3416 int
			if yyr3416 || yy2arr3416 {
				r.EncodeArrayStart(4)
			} else {
				yynn3416 = 1
				for _, b := range yyq3416 {
					if b {
						yynn3416++
					}
				}
				r.EncodeMapStart(yynn3416)
				yynn3416 = 0
			}
			if yyr3416 || yy2arr3416 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3416[0] {
					yym3418 := z.EncBinary()
					_ = yym3418
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3416[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3419 := z.EncBinary()
					_ = yym3419
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3416 || yy2arr3416 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3416[1] {
					yym3421 := z.EncBinary()
					_ = yym3421
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3416[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3422 := z.EncBinary()
					_ = yym3422
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3416 || yy2arr3416 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3416[2] {
					yy3424 := &x.ListMeta
					yym3425 := z.EncBinary()
					_ = yym3425
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3424) {
					} else {
						z.EncFallback(yy3424)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3416[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3426 := &x.ListMeta
					yym3427 := z.EncBinary()
					_ = yym3427
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3426) {
					} else {
						z.EncFallback(yy3426)
					}
				}
			}
			if yyr3416 || yy2arr3416 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3429 := z.EncBinary()
					_ = yym3429
					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 {
					yym3430 := z.EncBinary()
					_ = yym3430
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yyr3416 || yy2arr3416 {
				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
	yym3431 := z.DecBinary()
	_ = yym3431
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3432 := r.ContainerType()
		if yyct3432 == codecSelferValueTypeMap1234 {
			yyl3432 := r.ReadMapStart()
			if yyl3432 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3432, d)
			}
		} else if yyct3432 == codecSelferValueTypeArray1234 {
			yyl3432 := r.ReadArrayStart()
			if yyl3432 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3432, 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 yys3433Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3433Slc
	var yyhl3433 bool = l >= 0
	for yyj3433 := 0; ; yyj3433++ {
		if yyhl3433 {
			if yyj3433 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3433Slc = r.DecodeBytes(yys3433Slc, true, true)
		yys3433 := string(yys3433Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3433 {
		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 {
				yyv3436 := &x.ListMeta
				yym3437 := z.DecBinary()
				_ = yym3437
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3436) {
				} else {
					z.DecFallback(yyv3436, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3438 := &x.Items
				yym3439 := z.DecBinary()
				_ = yym3439
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv3438), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3433)
		} // end switch yys3433
	} // end for yyj3433
	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 yyj3440 int
	var yyb3440 bool
	var yyhl3440 bool = l >= 0
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3443 := &x.ListMeta
		yym3444 := z.DecBinary()
		_ = yym3444
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3443) {
		} else {
			z.DecFallback(yyv3443, false)
		}
	}
	yyj3440++
	if yyhl3440 {
		yyb3440 = yyj3440 > l
	} else {
		yyb3440 = r.CheckBreak()
	}
	if yyb3440 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3445 := &x.Items
		yym3446 := z.DecBinary()
		_ = yym3446
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv3445), d)
		}
	}
	for {
		yyj3440++
		if yyhl3440 {
			yyb3440 = yyj3440 > l
		} else {
			yyb3440 = r.CheckBreak()
		}
		if yyb3440 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3440-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PatchType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3447 := z.EncBinary()
	_ = yym3447
	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
	yym3448 := z.DecBinary()
	_ = yym3448
	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
	yym3449 := z.EncBinary()
	_ = yym3449
	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
	yym3450 := z.DecBinary()
	_ = yym3450
	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 {
		yym3451 := z.EncBinary()
		_ = yym3451
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3452 := !z.EncBinary()
			yy2arr3452 := z.EncBasicHandle().StructToArray
			var yyq3452 [4]bool
			_, _, _ = yysep3452, yyq3452, yy2arr3452
			const yyr3452 bool = false
			yyq3452[2] = x.Message != ""
			yyq3452[3] = x.Error != ""
			var yynn3452 int
			if yyr3452 || yy2arr3452 {
				r.EncodeArrayStart(4)
			} else {
				yynn3452 = 2
				for _, b := range yyq3452 {
					if b {
						yynn3452++
					}
				}
				r.EncodeMapStart(yynn3452)
				yynn3452 = 0
			}
			if yyr3452 || yy2arr3452 {
				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 yyr3452 || yy2arr3452 {
				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 yyr3452 || yy2arr3452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3452[2] {
					yym3456 := z.EncBinary()
					_ = yym3456
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3452[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3457 := z.EncBinary()
					_ = yym3457
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3452 || yy2arr3452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3452[3] {
					yym3459 := z.EncBinary()
					_ = yym3459
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3452[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3460 := z.EncBinary()
					_ = yym3460
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yyr3452 || yy2arr3452 {
				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
	yym3461 := z.DecBinary()
	_ = yym3461
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3462 := r.ContainerType()
		if yyct3462 == codecSelferValueTypeMap1234 {
			yyl3462 := r.ReadMapStart()
			if yyl3462 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3462, d)
			}
		} else if yyct3462 == codecSelferValueTypeArray1234 {
			yyl3462 := r.ReadArrayStart()
			if yyl3462 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3462, 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 yys3463Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3463Slc
	var yyhl3463 bool = l >= 0
	for yyj3463 := 0; ; yyj3463++ {
		if yyhl3463 {
			if yyj3463 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3463Slc = r.DecodeBytes(yys3463Slc, true, true)
		yys3463 := string(yys3463Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3463 {
		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, yys3463)
		} // end switch yys3463
	} // end for yyj3463
	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 yyj3468 int
	var yyb3468 bool
	var yyhl3468 bool = l >= 0
	yyj3468++
	if yyhl3468 {
		yyb3468 = yyj3468 > l
	} else {
		yyb3468 = r.CheckBreak()
	}
	if yyb3468 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj3468++
	if yyhl3468 {
		yyb3468 = yyj3468 > l
	} else {
		yyb3468 = r.CheckBreak()
	}
	if yyb3468 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3468++
	if yyhl3468 {
		yyb3468 = yyj3468 > l
	} else {
		yyb3468 = r.CheckBreak()
	}
	if yyb3468 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj3468++
	if yyhl3468 {
		yyb3468 = yyj3468 > l
	} else {
		yyb3468 = r.CheckBreak()
	}
	if yyb3468 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj3468++
		if yyhl3468 {
			yyb3468 = yyj3468 > l
		} else {
			yyb3468 = r.CheckBreak()
		}
		if yyb3468 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3468-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 {
		yym3473 := z.EncBinary()
		_ = yym3473
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3474 := !z.EncBinary()
			yy2arr3474 := z.EncBasicHandle().StructToArray
			var yyq3474 [4]bool
			_, _, _ = yysep3474, yyq3474, yy2arr3474
			const yyr3474 bool = false
			yyq3474[0] = x.Kind != ""
			yyq3474[1] = x.APIVersion != ""
			yyq3474[2] = true
			yyq3474[3] = len(x.Conditions) != 0
			var yynn3474 int
			if yyr3474 || yy2arr3474 {
				r.EncodeArrayStart(4)
			} else {
				yynn3474 = 0
				for _, b := range yyq3474 {
					if b {
						yynn3474++
					}
				}
				r.EncodeMapStart(yynn3474)
				yynn3474 = 0
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[0] {
					yym3476 := z.EncBinary()
					_ = yym3476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3477 := z.EncBinary()
					_ = yym3477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[1] {
					yym3479 := z.EncBinary()
					_ = yym3479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3474[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3480 := z.EncBinary()
					_ = yym3480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[2] {
					yy3482 := &x.ObjectMeta
					yy3482.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3474[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3483 := &x.ObjectMeta
					yy3483.CodecEncodeSelf(e)
				}
			}
			if yyr3474 || yy2arr3474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3474[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3485 := z.EncBinary()
						_ = yym3485
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3474[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3486 := z.EncBinary()
						_ = yym3486
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr3474 || yy2arr3474 {
				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
	yym3487 := z.DecBinary()
	_ = yym3487
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3488 := r.ContainerType()
		if yyct3488 == codecSelferValueTypeMap1234 {
			yyl3488 := r.ReadMapStart()
			if yyl3488 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3488, d)
			}
		} else if yyct3488 == codecSelferValueTypeArray1234 {
			yyl3488 := r.ReadArrayStart()
			if yyl3488 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3488, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3489Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3489Slc
	var yyhl3489 bool = l >= 0
	for yyj3489 := 0; ; yyj3489++ {
		if yyhl3489 {
			if yyj3489 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3489Slc = r.DecodeBytes(yys3489Slc, true, true)
		yys3489 := string(yys3489Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3489 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3492 := &x.ObjectMeta
				yyv3492.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3493 := &x.Conditions
				yym3494 := z.DecBinary()
				_ = yym3494
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv3493), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3489)
		} // end switch yys3489
	} // end for yyj3489
	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 yyj3495 int
	var yyb3495 bool
	var yyhl3495 bool = l >= 0
	yyj3495++
	if yyhl3495 {
		yyb3495 = yyj3495 > l
	} else {
		yyb3495 = r.CheckBreak()
	}
	if yyb3495 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3495++
	if yyhl3495 {
		yyb3495 = yyj3495 > l
	} else {
		yyb3495 = r.CheckBreak()
	}
	if yyb3495 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3495++
	if yyhl3495 {
		yyb3495 = yyj3495 > l
	} else {
		yyb3495 = r.CheckBreak()
	}
	if yyb3495 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3498 := &x.ObjectMeta
		yyv3498.CodecDecodeSelf(d)
	}
	yyj3495++
	if yyhl3495 {
		yyb3495 = yyj3495 > l
	} else {
		yyb3495 = r.CheckBreak()
	}
	if yyb3495 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3499 := &x.Conditions
		yym3500 := z.DecBinary()
		_ = yym3500
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv3499), d)
		}
	}
	for {
		yyj3495++
		if yyhl3495 {
			yyb3495 = yyj3495 > l
		} else {
			yyb3495 = r.CheckBreak()
		}
		if yyb3495 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3495-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 {
		yym3501 := z.EncBinary()
		_ = yym3501
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3502 := !z.EncBinary()
			yy2arr3502 := z.EncBasicHandle().StructToArray
			var yyq3502 [4]bool
			_, _, _ = yysep3502, yyq3502, yy2arr3502
			const yyr3502 bool = false
			yyq3502[0] = x.Kind != ""
			yyq3502[1] = x.APIVersion != ""
			yyq3502[2] = true
			var yynn3502 int
			if yyr3502 || yy2arr3502 {
				r.EncodeArrayStart(4)
			} else {
				yynn3502 = 1
				for _, b := range yyq3502 {
					if b {
						yynn3502++
					}
				}
				r.EncodeMapStart(yynn3502)
				yynn3502 = 0
			}
			if yyr3502 || yy2arr3502 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3502[0] {
					yym3504 := z.EncBinary()
					_ = yym3504
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3502[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3505 := z.EncBinary()
					_ = yym3505
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3502 || yy2arr3502 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3502[1] {
					yym3507 := z.EncBinary()
					_ = yym3507
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3502[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3508 := z.EncBinary()
					_ = yym3508
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3502 || yy2arr3502 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3502[2] {
					yy3510 := &x.ListMeta
					yym3511 := z.EncBinary()
					_ = yym3511
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3510) {
					} else {
						z.EncFallback(yy3510)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3502[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3512 := &x.ListMeta
					yym3513 := z.EncBinary()
					_ = yym3513
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3512) {
					} else {
						z.EncFallback(yy3512)
					}
				}
			}
			if yyr3502 || yy2arr3502 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3515 := z.EncBinary()
					_ = yym3515
					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 {
					yym3516 := z.EncBinary()
					_ = yym3516
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yyr3502 || yy2arr3502 {
				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
	yym3517 := z.DecBinary()
	_ = yym3517
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3518 := r.ContainerType()
		if yyct3518 == codecSelferValueTypeMap1234 {
			yyl3518 := r.ReadMapStart()
			if yyl3518 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3518, d)
			}
		} else if yyct3518 == codecSelferValueTypeArray1234 {
			yyl3518 := r.ReadArrayStart()
			if yyl3518 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3518, 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 yys3519Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3519Slc
	var yyhl3519 bool = l >= 0
	for yyj3519 := 0; ; yyj3519++ {
		if yyhl3519 {
			if yyj3519 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3519Slc = r.DecodeBytes(yys3519Slc, true, true)
		yys3519 := string(yys3519Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3519 {
		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 {
				yyv3522 := &x.ListMeta
				yym3523 := z.DecBinary()
				_ = yym3523
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3522) {
				} else {
					z.DecFallback(yyv3522, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3524 := &x.Items
				yym3525 := z.DecBinary()
				_ = yym3525
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv3524), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3519)
		} // end switch yys3519
	} // end for yyj3519
	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 yyj3526 int
	var yyb3526 bool
	var yyhl3526 bool = l >= 0
	yyj3526++
	if yyhl3526 {
		yyb3526 = yyj3526 > l
	} else {
		yyb3526 = r.CheckBreak()
	}
	if yyb3526 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3526++
	if yyhl3526 {
		yyb3526 = yyj3526 > l
	} else {
		yyb3526 = r.CheckBreak()
	}
	if yyb3526 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3526++
	if yyhl3526 {
		yyb3526 = yyj3526 > l
	} else {
		yyb3526 = r.CheckBreak()
	}
	if yyb3526 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3529 := &x.ListMeta
		yym3530 := z.DecBinary()
		_ = yym3530
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3529) {
		} else {
			z.DecFallback(yyv3529, false)
		}
	}
	yyj3526++
	if yyhl3526 {
		yyb3526 = yyj3526 > l
	} else {
		yyb3526 = r.CheckBreak()
	}
	if yyb3526 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3531 := &x.Items
		yym3532 := z.DecBinary()
		_ = yym3532
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv3531), d)
		}
	}
	for {
		yyj3526++
		if yyhl3526 {
			yyb3526 = yyj3526 > l
		} else {
			yyb3526 = r.CheckBreak()
		}
		if yyb3526 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3526-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 {
		yym3533 := z.EncBinary()
		_ = yym3533
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3534 := !z.EncBinary()
			yy2arr3534 := z.EncBasicHandle().StructToArray
			var yyq3534 [5]bool
			_, _, _ = yysep3534, yyq3534, yy2arr3534
			const yyr3534 bool = false
			yyq3534[0] = x.Capabilities != nil
			yyq3534[1] = x.Privileged != nil
			yyq3534[2] = x.SELinuxOptions != nil
			yyq3534[3] = x.RunAsUser != nil
			yyq3534[4] = x.RunAsNonRoot != nil
			var yynn3534 int
			if yyr3534 || yy2arr3534 {
				r.EncodeArrayStart(5)
			} else {
				yynn3534 = 0
				for _, b := range yyq3534 {
					if b {
						yynn3534++
					}
				}
				r.EncodeMapStart(yynn3534)
				yynn3534 = 0
			}
			if yyr3534 || yy2arr3534 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3534[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3534[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 yyr3534 || yy2arr3534 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3534[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3537 := *x.Privileged
						yym3538 := z.EncBinary()
						_ = yym3538
						if false {
						} else {
							r.EncodeBool(bool(yy3537))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3534[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3539 := *x.Privileged
						yym3540 := z.EncBinary()
						_ = yym3540
						if false {
						} else {
							r.EncodeBool(bool(yy3539))
						}
					}
				}
			}
			if yyr3534 || yy2arr3534 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3534[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3534[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 yyr3534 || yy2arr3534 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3534[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3543 := *x.RunAsUser
						yym3544 := z.EncBinary()
						_ = yym3544
						if false {
						} else {
							r.EncodeInt(int64(yy3543))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3534[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3545 := *x.RunAsUser
						yym3546 := z.EncBinary()
						_ = yym3546
						if false {
						} else {
							r.EncodeInt(int64(yy3545))
						}
					}
				}
			}
			if yyr3534 || yy2arr3534 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3534[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3548 := *x.RunAsNonRoot
						yym3549 := z.EncBinary()
						_ = yym3549
						if false {
						} else {
							r.EncodeBool(bool(yy3548))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3534[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3550 := *x.RunAsNonRoot
						yym3551 := z.EncBinary()
						_ = yym3551
						if false {
						} else {
							r.EncodeBool(bool(yy3550))
						}
					}
				}
			}
			if yyr3534 || yy2arr3534 {
				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
	yym3552 := z.DecBinary()
	_ = yym3552
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3553 := r.ContainerType()
		if yyct3553 == codecSelferValueTypeMap1234 {
			yyl3553 := r.ReadMapStart()
			if yyl3553 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3553, d)
			}
		} else if yyct3553 == codecSelferValueTypeArray1234 {
			yyl3553 := r.ReadArrayStart()
			if yyl3553 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3553, 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 yys3554Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3554Slc
	var yyhl3554 bool = l >= 0
	for yyj3554 := 0; ; yyj3554++ {
		if yyhl3554 {
			if yyj3554 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3554Slc = r.DecodeBytes(yys3554Slc, true, true)
		yys3554 := string(yys3554Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3554 {
		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)
				}
				yym3557 := z.DecBinary()
				_ = yym3557
				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)
				}
				yym3560 := z.DecBinary()
				_ = yym3560
				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)
				}
				yym3562 := z.DecBinary()
				_ = yym3562
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3554)
		} // end switch yys3554
	} // end for yyj3554
	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 yyj3563 int
	var yyb3563 bool
	var yyhl3563 bool = l >= 0
	yyj3563++
	if yyhl3563 {
		yyb3563 = yyj3563 > l
	} else {
		yyb3563 = r.CheckBreak()
	}
	if yyb3563 {
		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)
	}
	yyj3563++
	if yyhl3563 {
		yyb3563 = yyj3563 > l
	} else {
		yyb3563 = r.CheckBreak()
	}
	if yyb3563 {
		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)
		}
		yym3566 := z.DecBinary()
		_ = yym3566
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj3563++
	if yyhl3563 {
		yyb3563 = yyj3563 > l
	} else {
		yyb3563 = r.CheckBreak()
	}
	if yyb3563 {
		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)
	}
	yyj3563++
	if yyhl3563 {
		yyb3563 = yyj3563 > l
	} else {
		yyb3563 = r.CheckBreak()
	}
	if yyb3563 {
		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)
		}
		yym3569 := z.DecBinary()
		_ = yym3569
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj3563++
	if yyhl3563 {
		yyb3563 = yyj3563 > l
	} else {
		yyb3563 = r.CheckBreak()
	}
	if yyb3563 {
		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)
		}
		yym3571 := z.DecBinary()
		_ = yym3571
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	for {
		yyj3563++
		if yyhl3563 {
			yyb3563 = yyj3563 > l
		} else {
			yyb3563 = r.CheckBreak()
		}
		if yyb3563 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3563-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 {
		yym3572 := z.EncBinary()
		_ = yym3572
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3573 := !z.EncBinary()
			yy2arr3573 := z.EncBasicHandle().StructToArray
			var yyq3573 [4]bool
			_, _, _ = yysep3573, yyq3573, yy2arr3573
			const yyr3573 bool = false
			yyq3573[0] = x.User != ""
			yyq3573[1] = x.Role != ""
			yyq3573[2] = x.Type != ""
			yyq3573[3] = x.Level != ""
			var yynn3573 int
			if yyr3573 || yy2arr3573 {
				r.EncodeArrayStart(4)
			} else {
				yynn3573 = 0
				for _, b := range yyq3573 {
					if b {
						yynn3573++
					}
				}
				r.EncodeMapStart(yynn3573)
				yynn3573 = 0
			}
			if yyr3573 || yy2arr3573 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3573[0] {
					yym3575 := z.EncBinary()
					_ = yym3575
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3573[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3576 := z.EncBinary()
					_ = yym3576
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr3573 || yy2arr3573 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3573[1] {
					yym3578 := z.EncBinary()
					_ = yym3578
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3573[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3579 := z.EncBinary()
					_ = yym3579
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr3573 || yy2arr3573 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3573[2] {
					yym3581 := z.EncBinary()
					_ = yym3581
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3573[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3582 := z.EncBinary()
					_ = yym3582
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3573 || yy2arr3573 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3573[3] {
					yym3584 := z.EncBinary()
					_ = yym3584
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3573[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3585 := z.EncBinary()
					_ = yym3585
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yyr3573 || yy2arr3573 {
				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
	yym3586 := z.DecBinary()
	_ = yym3586
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3587 := r.ContainerType()
		if yyct3587 == codecSelferValueTypeMap1234 {
			yyl3587 := r.ReadMapStart()
			if yyl3587 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3587, d)
			}
		} else if yyct3587 == codecSelferValueTypeArray1234 {
			yyl3587 := r.ReadArrayStart()
			if yyl3587 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3587, 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 yys3588Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3588Slc
	var yyhl3588 bool = l >= 0
	for yyj3588 := 0; ; yyj3588++ {
		if yyhl3588 {
			if yyj3588 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3588Slc = r.DecodeBytes(yys3588Slc, true, true)
		yys3588 := string(yys3588Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3588 {
		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, yys3588)
		} // end switch yys3588
	} // end for yyj3588
	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 yyj3593 int
	var yyb3593 bool
	var yyhl3593 bool = l >= 0
	yyj3593++
	if yyhl3593 {
		yyb3593 = yyj3593 > l
	} else {
		yyb3593 = r.CheckBreak()
	}
	if yyb3593 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj3593++
	if yyhl3593 {
		yyb3593 = yyj3593 > l
	} else {
		yyb3593 = r.CheckBreak()
	}
	if yyb3593 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj3593++
	if yyhl3593 {
		yyb3593 = yyj3593 > l
	} else {
		yyb3593 = r.CheckBreak()
	}
	if yyb3593 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj3593++
	if yyhl3593 {
		yyb3593 = yyj3593 > l
	} else {
		yyb3593 = r.CheckBreak()
	}
	if yyb3593 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj3593++
		if yyhl3593 {
			yyb3593 = yyj3593 > l
		} else {
			yyb3593 = r.CheckBreak()
		}
		if yyb3593 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3593-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 {
		yym3598 := z.EncBinary()
		_ = yym3598
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3599 := !z.EncBinary()
			yy2arr3599 := z.EncBasicHandle().StructToArray
			var yyq3599 [5]bool
			_, _, _ = yysep3599, yyq3599, yy2arr3599
			const yyr3599 bool = false
			yyq3599[0] = x.Kind != ""
			yyq3599[1] = x.APIVersion != ""
			yyq3599[2] = true
			var yynn3599 int
			if yyr3599 || yy2arr3599 {
				r.EncodeArrayStart(5)
			} else {
				yynn3599 = 2
				for _, b := range yyq3599 {
					if b {
						yynn3599++
					}
				}
				r.EncodeMapStart(yynn3599)
				yynn3599 = 0
			}
			if yyr3599 || yy2arr3599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3599[0] {
					yym3601 := z.EncBinary()
					_ = yym3601
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3599[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3602 := z.EncBinary()
					_ = yym3602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3599 || yy2arr3599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3599[1] {
					yym3604 := z.EncBinary()
					_ = yym3604
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3599[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3605 := z.EncBinary()
					_ = yym3605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3599 || yy2arr3599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3599[2] {
					yy3607 := &x.ObjectMeta
					yy3607.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3599[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3608 := &x.ObjectMeta
					yy3608.CodecEncodeSelf(e)
				}
			}
			if yyr3599 || yy2arr3599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3610 := z.EncBinary()
				_ = yym3610
				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)
				yym3611 := z.EncBinary()
				_ = yym3611
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr3599 || yy2arr3599 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3613 := z.EncBinary()
					_ = yym3613
					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 {
					yym3614 := z.EncBinary()
					_ = yym3614
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yyr3599 || yy2arr3599 {
				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
	yym3615 := z.DecBinary()
	_ = yym3615
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3616 := r.ContainerType()
		if yyct3616 == codecSelferValueTypeMap1234 {
			yyl3616 := r.ReadMapStart()
			if yyl3616 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3616, d)
			}
		} else if yyct3616 == codecSelferValueTypeArray1234 {
			yyl3616 := r.ReadArrayStart()
			if yyl3616 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3616, 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 yys3617Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3617Slc
	var yyhl3617 bool = l >= 0
	for yyj3617 := 0; ; yyj3617++ {
		if yyhl3617 {
			if yyj3617 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3617Slc = r.DecodeBytes(yys3617Slc, true, true)
		yys3617 := string(yys3617Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3617 {
		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 {
				yyv3620 := &x.ObjectMeta
				yyv3620.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3622 := &x.Data
				yym3623 := z.DecBinary()
				_ = yym3623
				if false {
				} else {
					*yyv3622 = r.DecodeBytes(*(*[]byte)(yyv3622), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3617)
		} // end switch yys3617
	} // end for yyj3617
	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 yyj3624 int
	var yyb3624 bool
	var yyhl3624 bool = l >= 0
	yyj3624++
	if yyhl3624 {
		yyb3624 = yyj3624 > l
	} else {
		yyb3624 = r.CheckBreak()
	}
	if yyb3624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3624++
	if yyhl3624 {
		yyb3624 = yyj3624 > l
	} else {
		yyb3624 = r.CheckBreak()
	}
	if yyb3624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3624++
	if yyhl3624 {
		yyb3624 = yyj3624 > l
	} else {
		yyb3624 = r.CheckBreak()
	}
	if yyb3624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3627 := &x.ObjectMeta
		yyv3627.CodecDecodeSelf(d)
	}
	yyj3624++
	if yyhl3624 {
		yyb3624 = yyj3624 > l
	} else {
		yyb3624 = r.CheckBreak()
	}
	if yyb3624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj3624++
	if yyhl3624 {
		yyb3624 = yyj3624 > l
	} else {
		yyb3624 = r.CheckBreak()
	}
	if yyb3624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3629 := &x.Data
		yym3630 := z.DecBinary()
		_ = yym3630
		if false {
		} else {
			*yyv3629 = r.DecodeBytes(*(*[]byte)(yyv3629), false, false)
		}
	}
	for {
		yyj3624++
		if yyhl3624 {
			yyb3624 = yyj3624 > l
		} else {
			yyb3624 = r.CheckBreak()
		}
		if yyb3624 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3624-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

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

	yyv3632 := *v
	yyh3632, yyl3632 := z.DecSliceHelperStart()
	var yyc3632 bool
	if yyl3632 == 0 {
		if yyv3632 == nil {
			yyv3632 = []PersistentVolumeAccessMode{}
			yyc3632 = true
		} else if len(yyv3632) != 0 {
			yyv3632 = yyv3632[:0]
			yyc3632 = true
		}
	} else if yyl3632 > 0 {
		var yyrr3632, yyrl3632 int
		var yyrt3632 bool
		if yyl3632 > cap(yyv3632) {

			yyrl3632, yyrt3632 = z.DecInferLen(yyl3632, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3632 {
				if yyrl3632 <= cap(yyv3632) {
					yyv3632 = yyv3632[:yyrl3632]
				} else {
					yyv3632 = make([]PersistentVolumeAccessMode, yyrl3632)
				}
			} else {
				yyv3632 = make([]PersistentVolumeAccessMode, yyrl3632)
			}
			yyc3632 = true
			yyrr3632 = len(yyv3632)
		} else if yyl3632 != len(yyv3632) {
			yyv3632 = yyv3632[:yyl3632]
			yyc3632 = true
		}
		yyj3632 := 0
		for ; yyj3632 < yyrr3632; yyj3632++ {
			yyh3632.ElemContainerState(yyj3632)
			if r.TryDecodeAsNil() {
				yyv3632[yyj3632] = ""
			} else {
				yyv3632[yyj3632] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt3632 {
			for ; yyj3632 < yyl3632; yyj3632++ {
				yyv3632 = append(yyv3632, "")
				yyh3632.ElemContainerState(yyj3632)
				if r.TryDecodeAsNil() {
					yyv3632[yyj3632] = ""
				} else {
					yyv3632[yyj3632] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

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

			if yyj3632 >= len(yyv3632) {
				yyv3632 = append(yyv3632, "") // var yyz3632 PersistentVolumeAccessMode
				yyc3632 = true
			}
			yyh3632.ElemContainerState(yyj3632)
			if yyj3632 < len(yyv3632) {
				if r.TryDecodeAsNil() {
					yyv3632[yyj3632] = ""
				} else {
					yyv3632[yyj3632] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3632 < len(yyv3632) {
			yyv3632 = yyv3632[:yyj3632]
			yyc3632 = true
		} else if yyj3632 == 0 && yyv3632 == nil {
			yyv3632 = []PersistentVolumeAccessMode{}
			yyc3632 = true
		}
	}
	yyh3632.End()
	if yyc3632 {
		*v = yyv3632
	}
}

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

	yyv3638 := *v
	yyh3638, yyl3638 := z.DecSliceHelperStart()
	var yyc3638 bool
	if yyl3638 == 0 {
		if yyv3638 == nil {
			yyv3638 = []PersistentVolume{}
			yyc3638 = true
		} else if len(yyv3638) != 0 {
			yyv3638 = yyv3638[:0]
			yyc3638 = true
		}
	} else if yyl3638 > 0 {
		var yyrr3638, yyrl3638 int
		var yyrt3638 bool
		if yyl3638 > cap(yyv3638) {

			yyrg3638 := len(yyv3638) > 0
			yyv23638 := yyv3638
			yyrl3638, yyrt3638 = z.DecInferLen(yyl3638, z.DecBasicHandle().MaxInitLen, 392)
			if yyrt3638 {
				if yyrl3638 <= cap(yyv3638) {
					yyv3638 = yyv3638[:yyrl3638]
				} else {
					yyv3638 = make([]PersistentVolume, yyrl3638)
				}
			} else {
				yyv3638 = make([]PersistentVolume, yyrl3638)
			}
			yyc3638 = true
			yyrr3638 = len(yyv3638)
			if yyrg3638 {
				copy(yyv3638, yyv23638)
			}
		} else if yyl3638 != len(yyv3638) {
			yyv3638 = yyv3638[:yyl3638]
			yyc3638 = true
		}
		yyj3638 := 0
		for ; yyj3638 < yyrr3638; yyj3638++ {
			yyh3638.ElemContainerState(yyj3638)
			if r.TryDecodeAsNil() {
				yyv3638[yyj3638] = PersistentVolume{}
			} else {
				yyv3639 := &yyv3638[yyj3638]
				yyv3639.CodecDecodeSelf(d)
			}

		}
		if yyrt3638 {
			for ; yyj3638 < yyl3638; yyj3638++ {
				yyv3638 = append(yyv3638, PersistentVolume{})
				yyh3638.ElemContainerState(yyj3638)
				if r.TryDecodeAsNil() {
					yyv3638[yyj3638] = PersistentVolume{}
				} else {
					yyv3640 := &yyv3638[yyj3638]
					yyv3640.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3638 >= len(yyv3638) {
				yyv3638 = append(yyv3638, PersistentVolume{}) // var yyz3638 PersistentVolume
				yyc3638 = true
			}
			yyh3638.ElemContainerState(yyj3638)
			if yyj3638 < len(yyv3638) {
				if r.TryDecodeAsNil() {
					yyv3638[yyj3638] = PersistentVolume{}
				} else {
					yyv3641 := &yyv3638[yyj3638]
					yyv3641.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3638 < len(yyv3638) {
			yyv3638 = yyv3638[:yyj3638]
			yyc3638 = true
		} else if yyj3638 == 0 && yyv3638 == nil {
			yyv3638 = []PersistentVolume{}
			yyc3638 = true
		}
	}
	yyh3638.End()
	if yyc3638 {
		*v = yyv3638
	}
}

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

	yyv3644 := *v
	yyh3644, yyl3644 := z.DecSliceHelperStart()
	var yyc3644 bool
	if yyl3644 == 0 {
		if yyv3644 == nil {
			yyv3644 = []PersistentVolumeClaim{}
			yyc3644 = true
		} else if len(yyv3644) != 0 {
			yyv3644 = yyv3644[:0]
			yyc3644 = true
		}
	} else if yyl3644 > 0 {
		var yyrr3644, yyrl3644 int
		var yyrt3644 bool
		if yyl3644 > cap(yyv3644) {

			yyrg3644 := len(yyv3644) > 0
			yyv23644 := yyv3644
			yyrl3644, yyrt3644 = z.DecInferLen(yyl3644, z.DecBasicHandle().MaxInitLen, 296)
			if yyrt3644 {
				if yyrl3644 <= cap(yyv3644) {
					yyv3644 = yyv3644[:yyrl3644]
				} else {
					yyv3644 = make([]PersistentVolumeClaim, yyrl3644)
				}
			} else {
				yyv3644 = make([]PersistentVolumeClaim, yyrl3644)
			}
			yyc3644 = true
			yyrr3644 = len(yyv3644)
			if yyrg3644 {
				copy(yyv3644, yyv23644)
			}
		} else if yyl3644 != len(yyv3644) {
			yyv3644 = yyv3644[:yyl3644]
			yyc3644 = true
		}
		yyj3644 := 0
		for ; yyj3644 < yyrr3644; yyj3644++ {
			yyh3644.ElemContainerState(yyj3644)
			if r.TryDecodeAsNil() {
				yyv3644[yyj3644] = PersistentVolumeClaim{}
			} else {
				yyv3645 := &yyv3644[yyj3644]
				yyv3645.CodecDecodeSelf(d)
			}

		}
		if yyrt3644 {
			for ; yyj3644 < yyl3644; yyj3644++ {
				yyv3644 = append(yyv3644, PersistentVolumeClaim{})
				yyh3644.ElemContainerState(yyj3644)
				if r.TryDecodeAsNil() {
					yyv3644[yyj3644] = PersistentVolumeClaim{}
				} else {
					yyv3646 := &yyv3644[yyj3644]
					yyv3646.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3644 >= len(yyv3644) {
				yyv3644 = append(yyv3644, PersistentVolumeClaim{}) // var yyz3644 PersistentVolumeClaim
				yyc3644 = true
			}
			yyh3644.ElemContainerState(yyj3644)
			if yyj3644 < len(yyv3644) {
				if r.TryDecodeAsNil() {
					yyv3644[yyj3644] = PersistentVolumeClaim{}
				} else {
					yyv3647 := &yyv3644[yyj3644]
					yyv3647.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3644 < len(yyv3644) {
			yyv3644 = yyv3644[:yyj3644]
			yyc3644 = true
		} else if yyj3644 == 0 && yyv3644 == nil {
			yyv3644 = []PersistentVolumeClaim{}
			yyc3644 = true
		}
	}
	yyh3644.End()
	if yyc3644 {
		*v = yyv3644
	}
}

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

	yyv3650 := *v
	yyh3650, yyl3650 := z.DecSliceHelperStart()
	var yyc3650 bool
	if yyl3650 == 0 {
		if yyv3650 == nil {
			yyv3650 = []DownwardAPIVolumeFile{}
			yyc3650 = true
		} else if len(yyv3650) != 0 {
			yyv3650 = yyv3650[:0]
			yyc3650 = true
		}
	} else if yyl3650 > 0 {
		var yyrr3650, yyrl3650 int
		var yyrt3650 bool
		if yyl3650 > cap(yyv3650) {

			yyrg3650 := len(yyv3650) > 0
			yyv23650 := yyv3650
			yyrl3650, yyrt3650 = z.DecInferLen(yyl3650, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt3650 {
				if yyrl3650 <= cap(yyv3650) {
					yyv3650 = yyv3650[:yyrl3650]
				} else {
					yyv3650 = make([]DownwardAPIVolumeFile, yyrl3650)
				}
			} else {
				yyv3650 = make([]DownwardAPIVolumeFile, yyrl3650)
			}
			yyc3650 = true
			yyrr3650 = len(yyv3650)
			if yyrg3650 {
				copy(yyv3650, yyv23650)
			}
		} else if yyl3650 != len(yyv3650) {
			yyv3650 = yyv3650[:yyl3650]
			yyc3650 = true
		}
		yyj3650 := 0
		for ; yyj3650 < yyrr3650; yyj3650++ {
			yyh3650.ElemContainerState(yyj3650)
			if r.TryDecodeAsNil() {
				yyv3650[yyj3650] = DownwardAPIVolumeFile{}
			} else {
				yyv3651 := &yyv3650[yyj3650]
				yyv3651.CodecDecodeSelf(d)
			}

		}
		if yyrt3650 {
			for ; yyj3650 < yyl3650; yyj3650++ {
				yyv3650 = append(yyv3650, DownwardAPIVolumeFile{})
				yyh3650.ElemContainerState(yyj3650)
				if r.TryDecodeAsNil() {
					yyv3650[yyj3650] = DownwardAPIVolumeFile{}
				} else {
					yyv3652 := &yyv3650[yyj3650]
					yyv3652.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3650 >= len(yyv3650) {
				yyv3650 = append(yyv3650, DownwardAPIVolumeFile{}) // var yyz3650 DownwardAPIVolumeFile
				yyc3650 = true
			}
			yyh3650.ElemContainerState(yyj3650)
			if yyj3650 < len(yyv3650) {
				if r.TryDecodeAsNil() {
					yyv3650[yyj3650] = DownwardAPIVolumeFile{}
				} else {
					yyv3653 := &yyv3650[yyj3650]
					yyv3653.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3650 < len(yyv3650) {
			yyv3650 = yyv3650[:yyj3650]
			yyc3650 = true
		} else if yyj3650 == 0 && yyv3650 == nil {
			yyv3650 = []DownwardAPIVolumeFile{}
			yyc3650 = true
		}
	}
	yyh3650.End()
	if yyc3650 {
		*v = yyv3650
	}
}

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

	yyv3655 := *v
	yyh3655, yyl3655 := z.DecSliceHelperStart()
	var yyc3655 bool
	if yyl3655 == 0 {
		if yyv3655 == nil {
			yyv3655 = []Capability{}
			yyc3655 = true
		} else if len(yyv3655) != 0 {
			yyv3655 = yyv3655[:0]
			yyc3655 = true
		}
	} else if yyl3655 > 0 {
		var yyrr3655, yyrl3655 int
		var yyrt3655 bool
		if yyl3655 > cap(yyv3655) {

			yyrl3655, yyrt3655 = z.DecInferLen(yyl3655, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3655 {
				if yyrl3655 <= cap(yyv3655) {
					yyv3655 = yyv3655[:yyrl3655]
				} else {
					yyv3655 = make([]Capability, yyrl3655)
				}
			} else {
				yyv3655 = make([]Capability, yyrl3655)
			}
			yyc3655 = true
			yyrr3655 = len(yyv3655)
		} else if yyl3655 != len(yyv3655) {
			yyv3655 = yyv3655[:yyl3655]
			yyc3655 = true
		}
		yyj3655 := 0
		for ; yyj3655 < yyrr3655; yyj3655++ {
			yyh3655.ElemContainerState(yyj3655)
			if r.TryDecodeAsNil() {
				yyv3655[yyj3655] = ""
			} else {
				yyv3655[yyj3655] = Capability(r.DecodeString())
			}

		}
		if yyrt3655 {
			for ; yyj3655 < yyl3655; yyj3655++ {
				yyv3655 = append(yyv3655, "")
				yyh3655.ElemContainerState(yyj3655)
				if r.TryDecodeAsNil() {
					yyv3655[yyj3655] = ""
				} else {
					yyv3655[yyj3655] = Capability(r.DecodeString())
				}

			}
		}

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

			if yyj3655 >= len(yyv3655) {
				yyv3655 = append(yyv3655, "") // var yyz3655 Capability
				yyc3655 = true
			}
			yyh3655.ElemContainerState(yyj3655)
			if yyj3655 < len(yyv3655) {
				if r.TryDecodeAsNil() {
					yyv3655[yyj3655] = ""
				} else {
					yyv3655[yyj3655] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3655 < len(yyv3655) {
			yyv3655 = yyv3655[:yyj3655]
			yyc3655 = true
		} else if yyj3655 == 0 && yyv3655 == nil {
			yyv3655 = []Capability{}
			yyc3655 = true
		}
	}
	yyh3655.End()
	if yyc3655 {
		*v = yyv3655
	}
}

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

	yyv3661 := *v
	yyh3661, yyl3661 := z.DecSliceHelperStart()
	var yyc3661 bool
	if yyl3661 == 0 {
		if yyv3661 == nil {
			yyv3661 = []ContainerPort{}
			yyc3661 = true
		} else if len(yyv3661) != 0 {
			yyv3661 = yyv3661[:0]
			yyc3661 = true
		}
	} else if yyl3661 > 0 {
		var yyrr3661, yyrl3661 int
		var yyrt3661 bool
		if yyl3661 > cap(yyv3661) {

			yyrg3661 := len(yyv3661) > 0
			yyv23661 := yyv3661
			yyrl3661, yyrt3661 = z.DecInferLen(yyl3661, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt3661 {
				if yyrl3661 <= cap(yyv3661) {
					yyv3661 = yyv3661[:yyrl3661]
				} else {
					yyv3661 = make([]ContainerPort, yyrl3661)
				}
			} else {
				yyv3661 = make([]ContainerPort, yyrl3661)
			}
			yyc3661 = true
			yyrr3661 = len(yyv3661)
			if yyrg3661 {
				copy(yyv3661, yyv23661)
			}
		} else if yyl3661 != len(yyv3661) {
			yyv3661 = yyv3661[:yyl3661]
			yyc3661 = true
		}
		yyj3661 := 0
		for ; yyj3661 < yyrr3661; yyj3661++ {
			yyh3661.ElemContainerState(yyj3661)
			if r.TryDecodeAsNil() {
				yyv3661[yyj3661] = ContainerPort{}
			} else {
				yyv3662 := &yyv3661[yyj3661]
				yyv3662.CodecDecodeSelf(d)
			}

		}
		if yyrt3661 {
			for ; yyj3661 < yyl3661; yyj3661++ {
				yyv3661 = append(yyv3661, ContainerPort{})
				yyh3661.ElemContainerState(yyj3661)
				if r.TryDecodeAsNil() {
					yyv3661[yyj3661] = ContainerPort{}
				} else {
					yyv3663 := &yyv3661[yyj3661]
					yyv3663.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3661 >= len(yyv3661) {
				yyv3661 = append(yyv3661, ContainerPort{}) // var yyz3661 ContainerPort
				yyc3661 = true
			}
			yyh3661.ElemContainerState(yyj3661)
			if yyj3661 < len(yyv3661) {
				if r.TryDecodeAsNil() {
					yyv3661[yyj3661] = ContainerPort{}
				} else {
					yyv3664 := &yyv3661[yyj3661]
					yyv3664.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3661 < len(yyv3661) {
			yyv3661 = yyv3661[:yyj3661]
			yyc3661 = true
		} else if yyj3661 == 0 && yyv3661 == nil {
			yyv3661 = []ContainerPort{}
			yyc3661 = true
		}
	}
	yyh3661.End()
	if yyc3661 {
		*v = yyv3661
	}
}

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

	yyv3667 := *v
	yyh3667, yyl3667 := z.DecSliceHelperStart()
	var yyc3667 bool
	if yyl3667 == 0 {
		if yyv3667 == nil {
			yyv3667 = []EnvVar{}
			yyc3667 = true
		} else if len(yyv3667) != 0 {
			yyv3667 = yyv3667[:0]
			yyc3667 = true
		}
	} else if yyl3667 > 0 {
		var yyrr3667, yyrl3667 int
		var yyrt3667 bool
		if yyl3667 > cap(yyv3667) {

			yyrg3667 := len(yyv3667) > 0
			yyv23667 := yyv3667
			yyrl3667, yyrt3667 = z.DecInferLen(yyl3667, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3667 {
				if yyrl3667 <= cap(yyv3667) {
					yyv3667 = yyv3667[:yyrl3667]
				} else {
					yyv3667 = make([]EnvVar, yyrl3667)
				}
			} else {
				yyv3667 = make([]EnvVar, yyrl3667)
			}
			yyc3667 = true
			yyrr3667 = len(yyv3667)
			if yyrg3667 {
				copy(yyv3667, yyv23667)
			}
		} else if yyl3667 != len(yyv3667) {
			yyv3667 = yyv3667[:yyl3667]
			yyc3667 = true
		}
		yyj3667 := 0
		for ; yyj3667 < yyrr3667; yyj3667++ {
			yyh3667.ElemContainerState(yyj3667)
			if r.TryDecodeAsNil() {
				yyv3667[yyj3667] = EnvVar{}
			} else {
				yyv3668 := &yyv3667[yyj3667]
				yyv3668.CodecDecodeSelf(d)
			}

		}
		if yyrt3667 {
			for ; yyj3667 < yyl3667; yyj3667++ {
				yyv3667 = append(yyv3667, EnvVar{})
				yyh3667.ElemContainerState(yyj3667)
				if r.TryDecodeAsNil() {
					yyv3667[yyj3667] = EnvVar{}
				} else {
					yyv3669 := &yyv3667[yyj3667]
					yyv3669.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3667 >= len(yyv3667) {
				yyv3667 = append(yyv3667, EnvVar{}) // var yyz3667 EnvVar
				yyc3667 = true
			}
			yyh3667.ElemContainerState(yyj3667)
			if yyj3667 < len(yyv3667) {
				if r.TryDecodeAsNil() {
					yyv3667[yyj3667] = EnvVar{}
				} else {
					yyv3670 := &yyv3667[yyj3667]
					yyv3670.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3667 < len(yyv3667) {
			yyv3667 = yyv3667[:yyj3667]
			yyc3667 = true
		} else if yyj3667 == 0 && yyv3667 == nil {
			yyv3667 = []EnvVar{}
			yyc3667 = true
		}
	}
	yyh3667.End()
	if yyc3667 {
		*v = yyv3667
	}
}

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

	yyv3673 := *v
	yyh3673, yyl3673 := z.DecSliceHelperStart()
	var yyc3673 bool
	if yyl3673 == 0 {
		if yyv3673 == nil {
			yyv3673 = []VolumeMount{}
			yyc3673 = true
		} else if len(yyv3673) != 0 {
			yyv3673 = yyv3673[:0]
			yyc3673 = true
		}
	} else if yyl3673 > 0 {
		var yyrr3673, yyrl3673 int
		var yyrt3673 bool
		if yyl3673 > cap(yyv3673) {

			yyrg3673 := len(yyv3673) > 0
			yyv23673 := yyv3673
			yyrl3673, yyrt3673 = z.DecInferLen(yyl3673, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3673 {
				if yyrl3673 <= cap(yyv3673) {
					yyv3673 = yyv3673[:yyrl3673]
				} else {
					yyv3673 = make([]VolumeMount, yyrl3673)
				}
			} else {
				yyv3673 = make([]VolumeMount, yyrl3673)
			}
			yyc3673 = true
			yyrr3673 = len(yyv3673)
			if yyrg3673 {
				copy(yyv3673, yyv23673)
			}
		} else if yyl3673 != len(yyv3673) {
			yyv3673 = yyv3673[:yyl3673]
			yyc3673 = true
		}
		yyj3673 := 0
		for ; yyj3673 < yyrr3673; yyj3673++ {
			yyh3673.ElemContainerState(yyj3673)
			if r.TryDecodeAsNil() {
				yyv3673[yyj3673] = VolumeMount{}
			} else {
				yyv3674 := &yyv3673[yyj3673]
				yyv3674.CodecDecodeSelf(d)
			}

		}
		if yyrt3673 {
			for ; yyj3673 < yyl3673; yyj3673++ {
				yyv3673 = append(yyv3673, VolumeMount{})
				yyh3673.ElemContainerState(yyj3673)
				if r.TryDecodeAsNil() {
					yyv3673[yyj3673] = VolumeMount{}
				} else {
					yyv3675 := &yyv3673[yyj3673]
					yyv3675.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3673 >= len(yyv3673) {
				yyv3673 = append(yyv3673, VolumeMount{}) // var yyz3673 VolumeMount
				yyc3673 = true
			}
			yyh3673.ElemContainerState(yyj3673)
			if yyj3673 < len(yyv3673) {
				if r.TryDecodeAsNil() {
					yyv3673[yyj3673] = VolumeMount{}
				} else {
					yyv3676 := &yyv3673[yyj3673]
					yyv3676.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3673 < len(yyv3673) {
			yyv3673 = yyv3673[:yyj3673]
			yyc3673 = true
		} else if yyj3673 == 0 && yyv3673 == nil {
			yyv3673 = []VolumeMount{}
			yyc3673 = true
		}
	}
	yyh3673.End()
	if yyc3673 {
		*v = yyv3673
	}
}

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

	yyv3679 := *v
	yyh3679, yyl3679 := z.DecSliceHelperStart()
	var yyc3679 bool
	if yyl3679 == 0 {
		if yyv3679 == nil {
			yyv3679 = []Pod{}
			yyc3679 = true
		} else if len(yyv3679) != 0 {
			yyv3679 = yyv3679[:0]
			yyc3679 = true
		}
	} else if yyl3679 > 0 {
		var yyrr3679, yyrl3679 int
		var yyrt3679 bool
		if yyl3679 > cap(yyv3679) {

			yyrg3679 := len(yyv3679) > 0
			yyv23679 := yyv3679
			yyrl3679, yyrt3679 = z.DecInferLen(yyl3679, z.DecBasicHandle().MaxInitLen, 496)
			if yyrt3679 {
				if yyrl3679 <= cap(yyv3679) {
					yyv3679 = yyv3679[:yyrl3679]
				} else {
					yyv3679 = make([]Pod, yyrl3679)
				}
			} else {
				yyv3679 = make([]Pod, yyrl3679)
			}
			yyc3679 = true
			yyrr3679 = len(yyv3679)
			if yyrg3679 {
				copy(yyv3679, yyv23679)
			}
		} else if yyl3679 != len(yyv3679) {
			yyv3679 = yyv3679[:yyl3679]
			yyc3679 = true
		}
		yyj3679 := 0
		for ; yyj3679 < yyrr3679; yyj3679++ {
			yyh3679.ElemContainerState(yyj3679)
			if r.TryDecodeAsNil() {
				yyv3679[yyj3679] = Pod{}
			} else {
				yyv3680 := &yyv3679[yyj3679]
				yyv3680.CodecDecodeSelf(d)
			}

		}
		if yyrt3679 {
			for ; yyj3679 < yyl3679; yyj3679++ {
				yyv3679 = append(yyv3679, Pod{})
				yyh3679.ElemContainerState(yyj3679)
				if r.TryDecodeAsNil() {
					yyv3679[yyj3679] = Pod{}
				} else {
					yyv3681 := &yyv3679[yyj3679]
					yyv3681.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3679 >= len(yyv3679) {
				yyv3679 = append(yyv3679, Pod{}) // var yyz3679 Pod
				yyc3679 = true
			}
			yyh3679.ElemContainerState(yyj3679)
			if yyj3679 < len(yyv3679) {
				if r.TryDecodeAsNil() {
					yyv3679[yyj3679] = Pod{}
				} else {
					yyv3682 := &yyv3679[yyj3679]
					yyv3682.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3679 < len(yyv3679) {
			yyv3679 = yyv3679[:yyj3679]
			yyc3679 = true
		} else if yyj3679 == 0 && yyv3679 == nil {
			yyv3679 = []Pod{}
			yyc3679 = true
		}
	}
	yyh3679.End()
	if yyc3679 {
		*v = yyv3679
	}
}

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

	yyv3685 := *v
	yyh3685, yyl3685 := z.DecSliceHelperStart()
	var yyc3685 bool
	if yyl3685 == 0 {
		if yyv3685 == nil {
			yyv3685 = []Volume{}
			yyc3685 = true
		} else if len(yyv3685) != 0 {
			yyv3685 = yyv3685[:0]
			yyc3685 = true
		}
	} else if yyl3685 > 0 {
		var yyrr3685, yyrl3685 int
		var yyrt3685 bool
		if yyl3685 > cap(yyv3685) {

			yyrg3685 := len(yyv3685) > 0
			yyv23685 := yyv3685
			yyrl3685, yyrt3685 = z.DecInferLen(yyl3685, z.DecBasicHandle().MaxInitLen, 152)
			if yyrt3685 {
				if yyrl3685 <= cap(yyv3685) {
					yyv3685 = yyv3685[:yyrl3685]
				} else {
					yyv3685 = make([]Volume, yyrl3685)
				}
			} else {
				yyv3685 = make([]Volume, yyrl3685)
			}
			yyc3685 = true
			yyrr3685 = len(yyv3685)
			if yyrg3685 {
				copy(yyv3685, yyv23685)
			}
		} else if yyl3685 != len(yyv3685) {
			yyv3685 = yyv3685[:yyl3685]
			yyc3685 = true
		}
		yyj3685 := 0
		for ; yyj3685 < yyrr3685; yyj3685++ {
			yyh3685.ElemContainerState(yyj3685)
			if r.TryDecodeAsNil() {
				yyv3685[yyj3685] = Volume{}
			} else {
				yyv3686 := &yyv3685[yyj3685]
				yyv3686.CodecDecodeSelf(d)
			}

		}
		if yyrt3685 {
			for ; yyj3685 < yyl3685; yyj3685++ {
				yyv3685 = append(yyv3685, Volume{})
				yyh3685.ElemContainerState(yyj3685)
				if r.TryDecodeAsNil() {
					yyv3685[yyj3685] = Volume{}
				} else {
					yyv3687 := &yyv3685[yyj3685]
					yyv3687.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3685 >= len(yyv3685) {
				yyv3685 = append(yyv3685, Volume{}) // var yyz3685 Volume
				yyc3685 = true
			}
			yyh3685.ElemContainerState(yyj3685)
			if yyj3685 < len(yyv3685) {
				if r.TryDecodeAsNil() {
					yyv3685[yyj3685] = Volume{}
				} else {
					yyv3688 := &yyv3685[yyj3685]
					yyv3688.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3685 < len(yyv3685) {
			yyv3685 = yyv3685[:yyj3685]
			yyc3685 = true
		} else if yyj3685 == 0 && yyv3685 == nil {
			yyv3685 = []Volume{}
			yyc3685 = true
		}
	}
	yyh3685.End()
	if yyc3685 {
		*v = yyv3685
	}
}

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

	yyv3691 := *v
	yyh3691, yyl3691 := z.DecSliceHelperStart()
	var yyc3691 bool
	if yyl3691 == 0 {
		if yyv3691 == nil {
			yyv3691 = []Container{}
			yyc3691 = true
		} else if len(yyv3691) != 0 {
			yyv3691 = yyv3691[:0]
			yyc3691 = true
		}
	} else if yyl3691 > 0 {
		var yyrr3691, yyrl3691 int
		var yyrt3691 bool
		if yyl3691 > cap(yyv3691) {

			yyrg3691 := len(yyv3691) > 0
			yyv23691 := yyv3691
			yyrl3691, yyrt3691 = z.DecInferLen(yyl3691, z.DecBasicHandle().MaxInitLen, 256)
			if yyrt3691 {
				if yyrl3691 <= cap(yyv3691) {
					yyv3691 = yyv3691[:yyrl3691]
				} else {
					yyv3691 = make([]Container, yyrl3691)
				}
			} else {
				yyv3691 = make([]Container, yyrl3691)
			}
			yyc3691 = true
			yyrr3691 = len(yyv3691)
			if yyrg3691 {
				copy(yyv3691, yyv23691)
			}
		} else if yyl3691 != len(yyv3691) {
			yyv3691 = yyv3691[:yyl3691]
			yyc3691 = true
		}
		yyj3691 := 0
		for ; yyj3691 < yyrr3691; yyj3691++ {
			yyh3691.ElemContainerState(yyj3691)
			if r.TryDecodeAsNil() {
				yyv3691[yyj3691] = Container{}
			} else {
				yyv3692 := &yyv3691[yyj3691]
				yyv3692.CodecDecodeSelf(d)
			}

		}
		if yyrt3691 {
			for ; yyj3691 < yyl3691; yyj3691++ {
				yyv3691 = append(yyv3691, Container{})
				yyh3691.ElemContainerState(yyj3691)
				if r.TryDecodeAsNil() {
					yyv3691[yyj3691] = Container{}
				} else {
					yyv3693 := &yyv3691[yyj3691]
					yyv3693.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3691 >= len(yyv3691) {
				yyv3691 = append(yyv3691, Container{}) // var yyz3691 Container
				yyc3691 = true
			}
			yyh3691.ElemContainerState(yyj3691)
			if yyj3691 < len(yyv3691) {
				if r.TryDecodeAsNil() {
					yyv3691[yyj3691] = Container{}
				} else {
					yyv3694 := &yyv3691[yyj3691]
					yyv3694.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3691 < len(yyv3691) {
			yyv3691 = yyv3691[:yyj3691]
			yyc3691 = true
		} else if yyj3691 == 0 && yyv3691 == nil {
			yyv3691 = []Container{}
			yyc3691 = true
		}
	}
	yyh3691.End()
	if yyc3691 {
		*v = yyv3691
	}
}

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

	yyv3697 := *v
	yyh3697, yyl3697 := z.DecSliceHelperStart()
	var yyc3697 bool
	if yyl3697 == 0 {
		if yyv3697 == nil {
			yyv3697 = []LocalObjectReference{}
			yyc3697 = true
		} else if len(yyv3697) != 0 {
			yyv3697 = yyv3697[:0]
			yyc3697 = true
		}
	} else if yyl3697 > 0 {
		var yyrr3697, yyrl3697 int
		var yyrt3697 bool
		if yyl3697 > cap(yyv3697) {

			yyrg3697 := len(yyv3697) > 0
			yyv23697 := yyv3697
			yyrl3697, yyrt3697 = z.DecInferLen(yyl3697, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3697 {
				if yyrl3697 <= cap(yyv3697) {
					yyv3697 = yyv3697[:yyrl3697]
				} else {
					yyv3697 = make([]LocalObjectReference, yyrl3697)
				}
			} else {
				yyv3697 = make([]LocalObjectReference, yyrl3697)
			}
			yyc3697 = true
			yyrr3697 = len(yyv3697)
			if yyrg3697 {
				copy(yyv3697, yyv23697)
			}
		} else if yyl3697 != len(yyv3697) {
			yyv3697 = yyv3697[:yyl3697]
			yyc3697 = true
		}
		yyj3697 := 0
		for ; yyj3697 < yyrr3697; yyj3697++ {
			yyh3697.ElemContainerState(yyj3697)
			if r.TryDecodeAsNil() {
				yyv3697[yyj3697] = LocalObjectReference{}
			} else {
				yyv3698 := &yyv3697[yyj3697]
				yyv3698.CodecDecodeSelf(d)
			}

		}
		if yyrt3697 {
			for ; yyj3697 < yyl3697; yyj3697++ {
				yyv3697 = append(yyv3697, LocalObjectReference{})
				yyh3697.ElemContainerState(yyj3697)
				if r.TryDecodeAsNil() {
					yyv3697[yyj3697] = LocalObjectReference{}
				} else {
					yyv3699 := &yyv3697[yyj3697]
					yyv3699.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3697 >= len(yyv3697) {
				yyv3697 = append(yyv3697, LocalObjectReference{}) // var yyz3697 LocalObjectReference
				yyc3697 = true
			}
			yyh3697.ElemContainerState(yyj3697)
			if yyj3697 < len(yyv3697) {
				if r.TryDecodeAsNil() {
					yyv3697[yyj3697] = LocalObjectReference{}
				} else {
					yyv3700 := &yyv3697[yyj3697]
					yyv3700.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3697 < len(yyv3697) {
			yyv3697 = yyv3697[:yyj3697]
			yyc3697 = true
		} else if yyj3697 == 0 && yyv3697 == nil {
			yyv3697 = []LocalObjectReference{}
			yyc3697 = true
		}
	}
	yyh3697.End()
	if yyc3697 {
		*v = yyv3697
	}
}

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

	yyv3703 := *v
	yyh3703, yyl3703 := z.DecSliceHelperStart()
	var yyc3703 bool
	if yyl3703 == 0 {
		if yyv3703 == nil {
			yyv3703 = []PodCondition{}
			yyc3703 = true
		} else if len(yyv3703) != 0 {
			yyv3703 = yyv3703[:0]
			yyc3703 = true
		}
	} else if yyl3703 > 0 {
		var yyrr3703, yyrl3703 int
		var yyrt3703 bool
		if yyl3703 > cap(yyv3703) {

			yyrg3703 := len(yyv3703) > 0
			yyv23703 := yyv3703
			yyrl3703, yyrt3703 = z.DecInferLen(yyl3703, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3703 {
				if yyrl3703 <= cap(yyv3703) {
					yyv3703 = yyv3703[:yyrl3703]
				} else {
					yyv3703 = make([]PodCondition, yyrl3703)
				}
			} else {
				yyv3703 = make([]PodCondition, yyrl3703)
			}
			yyc3703 = true
			yyrr3703 = len(yyv3703)
			if yyrg3703 {
				copy(yyv3703, yyv23703)
			}
		} else if yyl3703 != len(yyv3703) {
			yyv3703 = yyv3703[:yyl3703]
			yyc3703 = true
		}
		yyj3703 := 0
		for ; yyj3703 < yyrr3703; yyj3703++ {
			yyh3703.ElemContainerState(yyj3703)
			if r.TryDecodeAsNil() {
				yyv3703[yyj3703] = PodCondition{}
			} else {
				yyv3704 := &yyv3703[yyj3703]
				yyv3704.CodecDecodeSelf(d)
			}

		}
		if yyrt3703 {
			for ; yyj3703 < yyl3703; yyj3703++ {
				yyv3703 = append(yyv3703, PodCondition{})
				yyh3703.ElemContainerState(yyj3703)
				if r.TryDecodeAsNil() {
					yyv3703[yyj3703] = PodCondition{}
				} else {
					yyv3705 := &yyv3703[yyj3703]
					yyv3705.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3703 >= len(yyv3703) {
				yyv3703 = append(yyv3703, PodCondition{}) // var yyz3703 PodCondition
				yyc3703 = true
			}
			yyh3703.ElemContainerState(yyj3703)
			if yyj3703 < len(yyv3703) {
				if r.TryDecodeAsNil() {
					yyv3703[yyj3703] = PodCondition{}
				} else {
					yyv3706 := &yyv3703[yyj3703]
					yyv3706.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3703 < len(yyv3703) {
			yyv3703 = yyv3703[:yyj3703]
			yyc3703 = true
		} else if yyj3703 == 0 && yyv3703 == nil {
			yyv3703 = []PodCondition{}
			yyc3703 = true
		}
	}
	yyh3703.End()
	if yyc3703 {
		*v = yyv3703
	}
}

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

	yyv3709 := *v
	yyh3709, yyl3709 := z.DecSliceHelperStart()
	var yyc3709 bool
	if yyl3709 == 0 {
		if yyv3709 == nil {
			yyv3709 = []ContainerStatus{}
			yyc3709 = true
		} else if len(yyv3709) != 0 {
			yyv3709 = yyv3709[:0]
			yyc3709 = true
		}
	} else if yyl3709 > 0 {
		var yyrr3709, yyrl3709 int
		var yyrt3709 bool
		if yyl3709 > cap(yyv3709) {

			yyrg3709 := len(yyv3709) > 0
			yyv23709 := yyv3709
			yyrl3709, yyrt3709 = z.DecInferLen(yyl3709, z.DecBasicHandle().MaxInitLen, 128)
			if yyrt3709 {
				if yyrl3709 <= cap(yyv3709) {
					yyv3709 = yyv3709[:yyrl3709]
				} else {
					yyv3709 = make([]ContainerStatus, yyrl3709)
				}
			} else {
				yyv3709 = make([]ContainerStatus, yyrl3709)
			}
			yyc3709 = true
			yyrr3709 = len(yyv3709)
			if yyrg3709 {
				copy(yyv3709, yyv23709)
			}
		} else if yyl3709 != len(yyv3709) {
			yyv3709 = yyv3709[:yyl3709]
			yyc3709 = true
		}
		yyj3709 := 0
		for ; yyj3709 < yyrr3709; yyj3709++ {
			yyh3709.ElemContainerState(yyj3709)
			if r.TryDecodeAsNil() {
				yyv3709[yyj3709] = ContainerStatus{}
			} else {
				yyv3710 := &yyv3709[yyj3709]
				yyv3710.CodecDecodeSelf(d)
			}

		}
		if yyrt3709 {
			for ; yyj3709 < yyl3709; yyj3709++ {
				yyv3709 = append(yyv3709, ContainerStatus{})
				yyh3709.ElemContainerState(yyj3709)
				if r.TryDecodeAsNil() {
					yyv3709[yyj3709] = ContainerStatus{}
				} else {
					yyv3711 := &yyv3709[yyj3709]
					yyv3711.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3709 >= len(yyv3709) {
				yyv3709 = append(yyv3709, ContainerStatus{}) // var yyz3709 ContainerStatus
				yyc3709 = true
			}
			yyh3709.ElemContainerState(yyj3709)
			if yyj3709 < len(yyv3709) {
				if r.TryDecodeAsNil() {
					yyv3709[yyj3709] = ContainerStatus{}
				} else {
					yyv3712 := &yyv3709[yyj3709]
					yyv3712.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3709 < len(yyv3709) {
			yyv3709 = yyv3709[:yyj3709]
			yyc3709 = true
		} else if yyj3709 == 0 && yyv3709 == nil {
			yyv3709 = []ContainerStatus{}
			yyc3709 = true
		}
	}
	yyh3709.End()
	if yyc3709 {
		*v = yyv3709
	}
}

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

	yyv3715 := *v
	yyh3715, yyl3715 := z.DecSliceHelperStart()
	var yyc3715 bool
	if yyl3715 == 0 {
		if yyv3715 == nil {
			yyv3715 = []PodTemplate{}
			yyc3715 = true
		} else if len(yyv3715) != 0 {
			yyv3715 = yyv3715[:0]
			yyc3715 = true
		}
	} else if yyl3715 > 0 {
		var yyrr3715, yyrl3715 int
		var yyrt3715 bool
		if yyl3715 > cap(yyv3715) {

			yyrg3715 := len(yyv3715) > 0
			yyv23715 := yyv3715
			yyrl3715, yyrt3715 = z.DecInferLen(yyl3715, z.DecBasicHandle().MaxInitLen, 520)
			if yyrt3715 {
				if yyrl3715 <= cap(yyv3715) {
					yyv3715 = yyv3715[:yyrl3715]
				} else {
					yyv3715 = make([]PodTemplate, yyrl3715)
				}
			} else {
				yyv3715 = make([]PodTemplate, yyrl3715)
			}
			yyc3715 = true
			yyrr3715 = len(yyv3715)
			if yyrg3715 {
				copy(yyv3715, yyv23715)
			}
		} else if yyl3715 != len(yyv3715) {
			yyv3715 = yyv3715[:yyl3715]
			yyc3715 = true
		}
		yyj3715 := 0
		for ; yyj3715 < yyrr3715; yyj3715++ {
			yyh3715.ElemContainerState(yyj3715)
			if r.TryDecodeAsNil() {
				yyv3715[yyj3715] = PodTemplate{}
			} else {
				yyv3716 := &yyv3715[yyj3715]
				yyv3716.CodecDecodeSelf(d)
			}

		}
		if yyrt3715 {
			for ; yyj3715 < yyl3715; yyj3715++ {
				yyv3715 = append(yyv3715, PodTemplate{})
				yyh3715.ElemContainerState(yyj3715)
				if r.TryDecodeAsNil() {
					yyv3715[yyj3715] = PodTemplate{}
				} else {
					yyv3717 := &yyv3715[yyj3715]
					yyv3717.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3715 >= len(yyv3715) {
				yyv3715 = append(yyv3715, PodTemplate{}) // var yyz3715 PodTemplate
				yyc3715 = true
			}
			yyh3715.ElemContainerState(yyj3715)
			if yyj3715 < len(yyv3715) {
				if r.TryDecodeAsNil() {
					yyv3715[yyj3715] = PodTemplate{}
				} else {
					yyv3718 := &yyv3715[yyj3715]
					yyv3718.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3715 < len(yyv3715) {
			yyv3715 = yyv3715[:yyj3715]
			yyc3715 = true
		} else if yyj3715 == 0 && yyv3715 == nil {
			yyv3715 = []PodTemplate{}
			yyc3715 = true
		}
	}
	yyh3715.End()
	if yyc3715 {
		*v = yyv3715
	}
}

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

	yyv3721 := *v
	yyh3721, yyl3721 := z.DecSliceHelperStart()
	var yyc3721 bool
	if yyl3721 == 0 {
		if yyv3721 == nil {
			yyv3721 = []ReplicationController{}
			yyc3721 = true
		} else if len(yyv3721) != 0 {
			yyv3721 = yyv3721[:0]
			yyc3721 = true
		}
	} else if yyl3721 > 0 {
		var yyrr3721, yyrl3721 int
		var yyrt3721 bool
		if yyl3721 > cap(yyv3721) {

			yyrg3721 := len(yyv3721) > 0
			yyv23721 := yyv3721
			yyrl3721, yyrt3721 = z.DecInferLen(yyl3721, z.DecBasicHandle().MaxInitLen, 232)
			if yyrt3721 {
				if yyrl3721 <= cap(yyv3721) {
					yyv3721 = yyv3721[:yyrl3721]
				} else {
					yyv3721 = make([]ReplicationController, yyrl3721)
				}
			} else {
				yyv3721 = make([]ReplicationController, yyrl3721)
			}
			yyc3721 = true
			yyrr3721 = len(yyv3721)
			if yyrg3721 {
				copy(yyv3721, yyv23721)
			}
		} else if yyl3721 != len(yyv3721) {
			yyv3721 = yyv3721[:yyl3721]
			yyc3721 = true
		}
		yyj3721 := 0
		for ; yyj3721 < yyrr3721; yyj3721++ {
			yyh3721.ElemContainerState(yyj3721)
			if r.TryDecodeAsNil() {
				yyv3721[yyj3721] = ReplicationController{}
			} else {
				yyv3722 := &yyv3721[yyj3721]
				yyv3722.CodecDecodeSelf(d)
			}

		}
		if yyrt3721 {
			for ; yyj3721 < yyl3721; yyj3721++ {
				yyv3721 = append(yyv3721, ReplicationController{})
				yyh3721.ElemContainerState(yyj3721)
				if r.TryDecodeAsNil() {
					yyv3721[yyj3721] = ReplicationController{}
				} else {
					yyv3723 := &yyv3721[yyj3721]
					yyv3723.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3721 >= len(yyv3721) {
				yyv3721 = append(yyv3721, ReplicationController{}) // var yyz3721 ReplicationController
				yyc3721 = true
			}
			yyh3721.ElemContainerState(yyj3721)
			if yyj3721 < len(yyv3721) {
				if r.TryDecodeAsNil() {
					yyv3721[yyj3721] = ReplicationController{}
				} else {
					yyv3724 := &yyv3721[yyj3721]
					yyv3724.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3721 < len(yyv3721) {
			yyv3721 = yyv3721[:yyj3721]
			yyc3721 = true
		} else if yyj3721 == 0 && yyv3721 == nil {
			yyv3721 = []ReplicationController{}
			yyc3721 = true
		}
	}
	yyh3721.End()
	if yyc3721 {
		*v = yyv3721
	}
}

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

	yyv3727 := *v
	yyh3727, yyl3727 := z.DecSliceHelperStart()
	var yyc3727 bool
	if yyl3727 == 0 {
		if yyv3727 == nil {
			yyv3727 = []Service{}
			yyc3727 = true
		} else if len(yyv3727) != 0 {
			yyv3727 = yyv3727[:0]
			yyc3727 = true
		}
	} else if yyl3727 > 0 {
		var yyrr3727, yyrl3727 int
		var yyrt3727 bool
		if yyl3727 > cap(yyv3727) {

			yyrg3727 := len(yyv3727) > 0
			yyv23727 := yyv3727
			yyrl3727, yyrt3727 = z.DecInferLen(yyl3727, z.DecBasicHandle().MaxInitLen, 336)
			if yyrt3727 {
				if yyrl3727 <= cap(yyv3727) {
					yyv3727 = yyv3727[:yyrl3727]
				} else {
					yyv3727 = make([]Service, yyrl3727)
				}
			} else {
				yyv3727 = make([]Service, yyrl3727)
			}
			yyc3727 = true
			yyrr3727 = len(yyv3727)
			if yyrg3727 {
				copy(yyv3727, yyv23727)
			}
		} else if yyl3727 != len(yyv3727) {
			yyv3727 = yyv3727[:yyl3727]
			yyc3727 = true
		}
		yyj3727 := 0
		for ; yyj3727 < yyrr3727; yyj3727++ {
			yyh3727.ElemContainerState(yyj3727)
			if r.TryDecodeAsNil() {
				yyv3727[yyj3727] = Service{}
			} else {
				yyv3728 := &yyv3727[yyj3727]
				yyv3728.CodecDecodeSelf(d)
			}

		}
		if yyrt3727 {
			for ; yyj3727 < yyl3727; yyj3727++ {
				yyv3727 = append(yyv3727, Service{})
				yyh3727.ElemContainerState(yyj3727)
				if r.TryDecodeAsNil() {
					yyv3727[yyj3727] = Service{}
				} else {
					yyv3729 := &yyv3727[yyj3727]
					yyv3729.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3727 >= len(yyv3727) {
				yyv3727 = append(yyv3727, Service{}) // var yyz3727 Service
				yyc3727 = true
			}
			yyh3727.ElemContainerState(yyj3727)
			if yyj3727 < len(yyv3727) {
				if r.TryDecodeAsNil() {
					yyv3727[yyj3727] = Service{}
				} else {
					yyv3730 := &yyv3727[yyj3727]
					yyv3730.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3727 < len(yyv3727) {
			yyv3727 = yyv3727[:yyj3727]
			yyc3727 = true
		} else if yyj3727 == 0 && yyv3727 == nil {
			yyv3727 = []Service{}
			yyc3727 = true
		}
	}
	yyh3727.End()
	if yyc3727 {
		*v = yyv3727
	}
}

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

	yyv3733 := *v
	yyh3733, yyl3733 := z.DecSliceHelperStart()
	var yyc3733 bool
	if yyl3733 == 0 {
		if yyv3733 == nil {
			yyv3733 = []LoadBalancerIngress{}
			yyc3733 = true
		} else if len(yyv3733) != 0 {
			yyv3733 = yyv3733[:0]
			yyc3733 = true
		}
	} else if yyl3733 > 0 {
		var yyrr3733, yyrl3733 int
		var yyrt3733 bool
		if yyl3733 > cap(yyv3733) {

			yyrg3733 := len(yyv3733) > 0
			yyv23733 := yyv3733
			yyrl3733, yyrt3733 = z.DecInferLen(yyl3733, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3733 {
				if yyrl3733 <= cap(yyv3733) {
					yyv3733 = yyv3733[:yyrl3733]
				} else {
					yyv3733 = make([]LoadBalancerIngress, yyrl3733)
				}
			} else {
				yyv3733 = make([]LoadBalancerIngress, yyrl3733)
			}
			yyc3733 = true
			yyrr3733 = len(yyv3733)
			if yyrg3733 {
				copy(yyv3733, yyv23733)
			}
		} else if yyl3733 != len(yyv3733) {
			yyv3733 = yyv3733[:yyl3733]
			yyc3733 = true
		}
		yyj3733 := 0
		for ; yyj3733 < yyrr3733; yyj3733++ {
			yyh3733.ElemContainerState(yyj3733)
			if r.TryDecodeAsNil() {
				yyv3733[yyj3733] = LoadBalancerIngress{}
			} else {
				yyv3734 := &yyv3733[yyj3733]
				yyv3734.CodecDecodeSelf(d)
			}

		}
		if yyrt3733 {
			for ; yyj3733 < yyl3733; yyj3733++ {
				yyv3733 = append(yyv3733, LoadBalancerIngress{})
				yyh3733.ElemContainerState(yyj3733)
				if r.TryDecodeAsNil() {
					yyv3733[yyj3733] = LoadBalancerIngress{}
				} else {
					yyv3735 := &yyv3733[yyj3733]
					yyv3735.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3733 >= len(yyv3733) {
				yyv3733 = append(yyv3733, LoadBalancerIngress{}) // var yyz3733 LoadBalancerIngress
				yyc3733 = true
			}
			yyh3733.ElemContainerState(yyj3733)
			if yyj3733 < len(yyv3733) {
				if r.TryDecodeAsNil() {
					yyv3733[yyj3733] = LoadBalancerIngress{}
				} else {
					yyv3736 := &yyv3733[yyj3733]
					yyv3736.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3733 < len(yyv3733) {
			yyv3733 = yyv3733[:yyj3733]
			yyc3733 = true
		} else if yyj3733 == 0 && yyv3733 == nil {
			yyv3733 = []LoadBalancerIngress{}
			yyc3733 = true
		}
	}
	yyh3733.End()
	if yyc3733 {
		*v = yyv3733
	}
}

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

	yyv3739 := *v
	yyh3739, yyl3739 := z.DecSliceHelperStart()
	var yyc3739 bool
	if yyl3739 == 0 {
		if yyv3739 == nil {
			yyv3739 = []ServicePort{}
			yyc3739 = true
		} else if len(yyv3739) != 0 {
			yyv3739 = yyv3739[:0]
			yyc3739 = true
		}
	} else if yyl3739 > 0 {
		var yyrr3739, yyrl3739 int
		var yyrt3739 bool
		if yyl3739 > cap(yyv3739) {

			yyrg3739 := len(yyv3739) > 0
			yyv23739 := yyv3739
			yyrl3739, yyrt3739 = z.DecInferLen(yyl3739, z.DecBasicHandle().MaxInitLen, 80)
			if yyrt3739 {
				if yyrl3739 <= cap(yyv3739) {
					yyv3739 = yyv3739[:yyrl3739]
				} else {
					yyv3739 = make([]ServicePort, yyrl3739)
				}
			} else {
				yyv3739 = make([]ServicePort, yyrl3739)
			}
			yyc3739 = true
			yyrr3739 = len(yyv3739)
			if yyrg3739 {
				copy(yyv3739, yyv23739)
			}
		} else if yyl3739 != len(yyv3739) {
			yyv3739 = yyv3739[:yyl3739]
			yyc3739 = true
		}
		yyj3739 := 0
		for ; yyj3739 < yyrr3739; yyj3739++ {
			yyh3739.ElemContainerState(yyj3739)
			if r.TryDecodeAsNil() {
				yyv3739[yyj3739] = ServicePort{}
			} else {
				yyv3740 := &yyv3739[yyj3739]
				yyv3740.CodecDecodeSelf(d)
			}

		}
		if yyrt3739 {
			for ; yyj3739 < yyl3739; yyj3739++ {
				yyv3739 = append(yyv3739, ServicePort{})
				yyh3739.ElemContainerState(yyj3739)
				if r.TryDecodeAsNil() {
					yyv3739[yyj3739] = ServicePort{}
				} else {
					yyv3741 := &yyv3739[yyj3739]
					yyv3741.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3739 >= len(yyv3739) {
				yyv3739 = append(yyv3739, ServicePort{}) // var yyz3739 ServicePort
				yyc3739 = true
			}
			yyh3739.ElemContainerState(yyj3739)
			if yyj3739 < len(yyv3739) {
				if r.TryDecodeAsNil() {
					yyv3739[yyj3739] = ServicePort{}
				} else {
					yyv3742 := &yyv3739[yyj3739]
					yyv3742.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3739 < len(yyv3739) {
			yyv3739 = yyv3739[:yyj3739]
			yyc3739 = true
		} else if yyj3739 == 0 && yyv3739 == nil {
			yyv3739 = []ServicePort{}
			yyc3739 = true
		}
	}
	yyh3739.End()
	if yyc3739 {
		*v = yyv3739
	}
}

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

	yyv3745 := *v
	yyh3745, yyl3745 := z.DecSliceHelperStart()
	var yyc3745 bool
	if yyl3745 == 0 {
		if yyv3745 == nil {
			yyv3745 = []ObjectReference{}
			yyc3745 = true
		} else if len(yyv3745) != 0 {
			yyv3745 = yyv3745[:0]
			yyc3745 = true
		}
	} else if yyl3745 > 0 {
		var yyrr3745, yyrl3745 int
		var yyrt3745 bool
		if yyl3745 > cap(yyv3745) {

			yyrg3745 := len(yyv3745) > 0
			yyv23745 := yyv3745
			yyrl3745, yyrt3745 = z.DecInferLen(yyl3745, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3745 {
				if yyrl3745 <= cap(yyv3745) {
					yyv3745 = yyv3745[:yyrl3745]
				} else {
					yyv3745 = make([]ObjectReference, yyrl3745)
				}
			} else {
				yyv3745 = make([]ObjectReference, yyrl3745)
			}
			yyc3745 = true
			yyrr3745 = len(yyv3745)
			if yyrg3745 {
				copy(yyv3745, yyv23745)
			}
		} else if yyl3745 != len(yyv3745) {
			yyv3745 = yyv3745[:yyl3745]
			yyc3745 = true
		}
		yyj3745 := 0
		for ; yyj3745 < yyrr3745; yyj3745++ {
			yyh3745.ElemContainerState(yyj3745)
			if r.TryDecodeAsNil() {
				yyv3745[yyj3745] = ObjectReference{}
			} else {
				yyv3746 := &yyv3745[yyj3745]
				yyv3746.CodecDecodeSelf(d)
			}

		}
		if yyrt3745 {
			for ; yyj3745 < yyl3745; yyj3745++ {
				yyv3745 = append(yyv3745, ObjectReference{})
				yyh3745.ElemContainerState(yyj3745)
				if r.TryDecodeAsNil() {
					yyv3745[yyj3745] = ObjectReference{}
				} else {
					yyv3747 := &yyv3745[yyj3745]
					yyv3747.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3745 >= len(yyv3745) {
				yyv3745 = append(yyv3745, ObjectReference{}) // var yyz3745 ObjectReference
				yyc3745 = true
			}
			yyh3745.ElemContainerState(yyj3745)
			if yyj3745 < len(yyv3745) {
				if r.TryDecodeAsNil() {
					yyv3745[yyj3745] = ObjectReference{}
				} else {
					yyv3748 := &yyv3745[yyj3745]
					yyv3748.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3745 < len(yyv3745) {
			yyv3745 = yyv3745[:yyj3745]
			yyc3745 = true
		} else if yyj3745 == 0 && yyv3745 == nil {
			yyv3745 = []ObjectReference{}
			yyc3745 = true
		}
	}
	yyh3745.End()
	if yyc3745 {
		*v = yyv3745
	}
}

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

	yyv3751 := *v
	yyh3751, yyl3751 := z.DecSliceHelperStart()
	var yyc3751 bool
	if yyl3751 == 0 {
		if yyv3751 == nil {
			yyv3751 = []ServiceAccount{}
			yyc3751 = true
		} else if len(yyv3751) != 0 {
			yyv3751 = yyv3751[:0]
			yyc3751 = true
		}
	} else if yyl3751 > 0 {
		var yyrr3751, yyrl3751 int
		var yyrt3751 bool
		if yyl3751 > cap(yyv3751) {

			yyrg3751 := len(yyv3751) > 0
			yyv23751 := yyv3751
			yyrl3751, yyrt3751 = z.DecInferLen(yyl3751, z.DecBasicHandle().MaxInitLen, 240)
			if yyrt3751 {
				if yyrl3751 <= cap(yyv3751) {
					yyv3751 = yyv3751[:yyrl3751]
				} else {
					yyv3751 = make([]ServiceAccount, yyrl3751)
				}
			} else {
				yyv3751 = make([]ServiceAccount, yyrl3751)
			}
			yyc3751 = true
			yyrr3751 = len(yyv3751)
			if yyrg3751 {
				copy(yyv3751, yyv23751)
			}
		} else if yyl3751 != len(yyv3751) {
			yyv3751 = yyv3751[:yyl3751]
			yyc3751 = true
		}
		yyj3751 := 0
		for ; yyj3751 < yyrr3751; yyj3751++ {
			yyh3751.ElemContainerState(yyj3751)
			if r.TryDecodeAsNil() {
				yyv3751[yyj3751] = ServiceAccount{}
			} else {
				yyv3752 := &yyv3751[yyj3751]
				yyv3752.CodecDecodeSelf(d)
			}

		}
		if yyrt3751 {
			for ; yyj3751 < yyl3751; yyj3751++ {
				yyv3751 = append(yyv3751, ServiceAccount{})
				yyh3751.ElemContainerState(yyj3751)
				if r.TryDecodeAsNil() {
					yyv3751[yyj3751] = ServiceAccount{}
				} else {
					yyv3753 := &yyv3751[yyj3751]
					yyv3753.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3751 >= len(yyv3751) {
				yyv3751 = append(yyv3751, ServiceAccount{}) // var yyz3751 ServiceAccount
				yyc3751 = true
			}
			yyh3751.ElemContainerState(yyj3751)
			if yyj3751 < len(yyv3751) {
				if r.TryDecodeAsNil() {
					yyv3751[yyj3751] = ServiceAccount{}
				} else {
					yyv3754 := &yyv3751[yyj3751]
					yyv3754.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3751 < len(yyv3751) {
			yyv3751 = yyv3751[:yyj3751]
			yyc3751 = true
		} else if yyj3751 == 0 && yyv3751 == nil {
			yyv3751 = []ServiceAccount{}
			yyc3751 = true
		}
	}
	yyh3751.End()
	if yyc3751 {
		*v = yyv3751
	}
}

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

	yyv3757 := *v
	yyh3757, yyl3757 := z.DecSliceHelperStart()
	var yyc3757 bool
	if yyl3757 == 0 {
		if yyv3757 == nil {
			yyv3757 = []EndpointSubset{}
			yyc3757 = true
		} else if len(yyv3757) != 0 {
			yyv3757 = yyv3757[:0]
			yyc3757 = true
		}
	} else if yyl3757 > 0 {
		var yyrr3757, yyrl3757 int
		var yyrt3757 bool
		if yyl3757 > cap(yyv3757) {

			yyrg3757 := len(yyv3757) > 0
			yyv23757 := yyv3757
			yyrl3757, yyrt3757 = z.DecInferLen(yyl3757, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt3757 {
				if yyrl3757 <= cap(yyv3757) {
					yyv3757 = yyv3757[:yyrl3757]
				} else {
					yyv3757 = make([]EndpointSubset, yyrl3757)
				}
			} else {
				yyv3757 = make([]EndpointSubset, yyrl3757)
			}
			yyc3757 = true
			yyrr3757 = len(yyv3757)
			if yyrg3757 {
				copy(yyv3757, yyv23757)
			}
		} else if yyl3757 != len(yyv3757) {
			yyv3757 = yyv3757[:yyl3757]
			yyc3757 = true
		}
		yyj3757 := 0
		for ; yyj3757 < yyrr3757; yyj3757++ {
			yyh3757.ElemContainerState(yyj3757)
			if r.TryDecodeAsNil() {
				yyv3757[yyj3757] = EndpointSubset{}
			} else {
				yyv3758 := &yyv3757[yyj3757]
				yyv3758.CodecDecodeSelf(d)
			}

		}
		if yyrt3757 {
			for ; yyj3757 < yyl3757; yyj3757++ {
				yyv3757 = append(yyv3757, EndpointSubset{})
				yyh3757.ElemContainerState(yyj3757)
				if r.TryDecodeAsNil() {
					yyv3757[yyj3757] = EndpointSubset{}
				} else {
					yyv3759 := &yyv3757[yyj3757]
					yyv3759.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3757 >= len(yyv3757) {
				yyv3757 = append(yyv3757, EndpointSubset{}) // var yyz3757 EndpointSubset
				yyc3757 = true
			}
			yyh3757.ElemContainerState(yyj3757)
			if yyj3757 < len(yyv3757) {
				if r.TryDecodeAsNil() {
					yyv3757[yyj3757] = EndpointSubset{}
				} else {
					yyv3760 := &yyv3757[yyj3757]
					yyv3760.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3757 < len(yyv3757) {
			yyv3757 = yyv3757[:yyj3757]
			yyc3757 = true
		} else if yyj3757 == 0 && yyv3757 == nil {
			yyv3757 = []EndpointSubset{}
			yyc3757 = true
		}
	}
	yyh3757.End()
	if yyc3757 {
		*v = yyv3757
	}
}

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

	yyv3763 := *v
	yyh3763, yyl3763 := z.DecSliceHelperStart()
	var yyc3763 bool
	if yyl3763 == 0 {
		if yyv3763 == nil {
			yyv3763 = []EndpointAddress{}
			yyc3763 = true
		} else if len(yyv3763) != 0 {
			yyv3763 = yyv3763[:0]
			yyc3763 = true
		}
	} else if yyl3763 > 0 {
		var yyrr3763, yyrl3763 int
		var yyrt3763 bool
		if yyl3763 > cap(yyv3763) {

			yyrg3763 := len(yyv3763) > 0
			yyv23763 := yyv3763
			yyrl3763, yyrt3763 = z.DecInferLen(yyl3763, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt3763 {
				if yyrl3763 <= cap(yyv3763) {
					yyv3763 = yyv3763[:yyrl3763]
				} else {
					yyv3763 = make([]EndpointAddress, yyrl3763)
				}
			} else {
				yyv3763 = make([]EndpointAddress, yyrl3763)
			}
			yyc3763 = true
			yyrr3763 = len(yyv3763)
			if yyrg3763 {
				copy(yyv3763, yyv23763)
			}
		} else if yyl3763 != len(yyv3763) {
			yyv3763 = yyv3763[:yyl3763]
			yyc3763 = true
		}
		yyj3763 := 0
		for ; yyj3763 < yyrr3763; yyj3763++ {
			yyh3763.ElemContainerState(yyj3763)
			if r.TryDecodeAsNil() {
				yyv3763[yyj3763] = EndpointAddress{}
			} else {
				yyv3764 := &yyv3763[yyj3763]
				yyv3764.CodecDecodeSelf(d)
			}

		}
		if yyrt3763 {
			for ; yyj3763 < yyl3763; yyj3763++ {
				yyv3763 = append(yyv3763, EndpointAddress{})
				yyh3763.ElemContainerState(yyj3763)
				if r.TryDecodeAsNil() {
					yyv3763[yyj3763] = EndpointAddress{}
				} else {
					yyv3765 := &yyv3763[yyj3763]
					yyv3765.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3763 >= len(yyv3763) {
				yyv3763 = append(yyv3763, EndpointAddress{}) // var yyz3763 EndpointAddress
				yyc3763 = true
			}
			yyh3763.ElemContainerState(yyj3763)
			if yyj3763 < len(yyv3763) {
				if r.TryDecodeAsNil() {
					yyv3763[yyj3763] = EndpointAddress{}
				} else {
					yyv3766 := &yyv3763[yyj3763]
					yyv3766.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3763 < len(yyv3763) {
			yyv3763 = yyv3763[:yyj3763]
			yyc3763 = true
		} else if yyj3763 == 0 && yyv3763 == nil {
			yyv3763 = []EndpointAddress{}
			yyc3763 = true
		}
	}
	yyh3763.End()
	if yyc3763 {
		*v = yyv3763
	}
}

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

	yyv3769 := *v
	yyh3769, yyl3769 := z.DecSliceHelperStart()
	var yyc3769 bool
	if yyl3769 == 0 {
		if yyv3769 == nil {
			yyv3769 = []EndpointPort{}
			yyc3769 = true
		} else if len(yyv3769) != 0 {
			yyv3769 = yyv3769[:0]
			yyc3769 = true
		}
	} else if yyl3769 > 0 {
		var yyrr3769, yyrl3769 int
		var yyrt3769 bool
		if yyl3769 > cap(yyv3769) {

			yyrg3769 := len(yyv3769) > 0
			yyv23769 := yyv3769
			yyrl3769, yyrt3769 = z.DecInferLen(yyl3769, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt3769 {
				if yyrl3769 <= cap(yyv3769) {
					yyv3769 = yyv3769[:yyrl3769]
				} else {
					yyv3769 = make([]EndpointPort, yyrl3769)
				}
			} else {
				yyv3769 = make([]EndpointPort, yyrl3769)
			}
			yyc3769 = true
			yyrr3769 = len(yyv3769)
			if yyrg3769 {
				copy(yyv3769, yyv23769)
			}
		} else if yyl3769 != len(yyv3769) {
			yyv3769 = yyv3769[:yyl3769]
			yyc3769 = true
		}
		yyj3769 := 0
		for ; yyj3769 < yyrr3769; yyj3769++ {
			yyh3769.ElemContainerState(yyj3769)
			if r.TryDecodeAsNil() {
				yyv3769[yyj3769] = EndpointPort{}
			} else {
				yyv3770 := &yyv3769[yyj3769]
				yyv3770.CodecDecodeSelf(d)
			}

		}
		if yyrt3769 {
			for ; yyj3769 < yyl3769; yyj3769++ {
				yyv3769 = append(yyv3769, EndpointPort{})
				yyh3769.ElemContainerState(yyj3769)
				if r.TryDecodeAsNil() {
					yyv3769[yyj3769] = EndpointPort{}
				} else {
					yyv3771 := &yyv3769[yyj3769]
					yyv3771.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3769 >= len(yyv3769) {
				yyv3769 = append(yyv3769, EndpointPort{}) // var yyz3769 EndpointPort
				yyc3769 = true
			}
			yyh3769.ElemContainerState(yyj3769)
			if yyj3769 < len(yyv3769) {
				if r.TryDecodeAsNil() {
					yyv3769[yyj3769] = EndpointPort{}
				} else {
					yyv3772 := &yyv3769[yyj3769]
					yyv3772.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3769 < len(yyv3769) {
			yyv3769 = yyv3769[:yyj3769]
			yyc3769 = true
		} else if yyj3769 == 0 && yyv3769 == nil {
			yyv3769 = []EndpointPort{}
			yyc3769 = true
		}
	}
	yyh3769.End()
	if yyc3769 {
		*v = yyv3769
	}
}

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

	yyv3775 := *v
	yyh3775, yyl3775 := z.DecSliceHelperStart()
	var yyc3775 bool
	if yyl3775 == 0 {
		if yyv3775 == nil {
			yyv3775 = []Endpoints{}
			yyc3775 = true
		} else if len(yyv3775) != 0 {
			yyv3775 = yyv3775[:0]
			yyc3775 = true
		}
	} else if yyl3775 > 0 {
		var yyrr3775, yyrl3775 int
		var yyrt3775 bool
		if yyl3775 > cap(yyv3775) {

			yyrg3775 := len(yyv3775) > 0
			yyv23775 := yyv3775
			yyrl3775, yyrt3775 = z.DecInferLen(yyl3775, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3775 {
				if yyrl3775 <= cap(yyv3775) {
					yyv3775 = yyv3775[:yyrl3775]
				} else {
					yyv3775 = make([]Endpoints, yyrl3775)
				}
			} else {
				yyv3775 = make([]Endpoints, yyrl3775)
			}
			yyc3775 = true
			yyrr3775 = len(yyv3775)
			if yyrg3775 {
				copy(yyv3775, yyv23775)
			}
		} else if yyl3775 != len(yyv3775) {
			yyv3775 = yyv3775[:yyl3775]
			yyc3775 = true
		}
		yyj3775 := 0
		for ; yyj3775 < yyrr3775; yyj3775++ {
			yyh3775.ElemContainerState(yyj3775)
			if r.TryDecodeAsNil() {
				yyv3775[yyj3775] = Endpoints{}
			} else {
				yyv3776 := &yyv3775[yyj3775]
				yyv3776.CodecDecodeSelf(d)
			}

		}
		if yyrt3775 {
			for ; yyj3775 < yyl3775; yyj3775++ {
				yyv3775 = append(yyv3775, Endpoints{})
				yyh3775.ElemContainerState(yyj3775)
				if r.TryDecodeAsNil() {
					yyv3775[yyj3775] = Endpoints{}
				} else {
					yyv3777 := &yyv3775[yyj3775]
					yyv3777.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3775 >= len(yyv3775) {
				yyv3775 = append(yyv3775, Endpoints{}) // var yyz3775 Endpoints
				yyc3775 = true
			}
			yyh3775.ElemContainerState(yyj3775)
			if yyj3775 < len(yyv3775) {
				if r.TryDecodeAsNil() {
					yyv3775[yyj3775] = Endpoints{}
				} else {
					yyv3778 := &yyv3775[yyj3775]
					yyv3778.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3775 < len(yyv3775) {
			yyv3775 = yyv3775[:yyj3775]
			yyc3775 = true
		} else if yyj3775 == 0 && yyv3775 == nil {
			yyv3775 = []Endpoints{}
			yyc3775 = true
		}
	}
	yyh3775.End()
	if yyc3775 {
		*v = yyv3775
	}
}

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

	yyv3781 := *v
	yyh3781, yyl3781 := z.DecSliceHelperStart()
	var yyc3781 bool
	if yyl3781 == 0 {
		if yyv3781 == nil {
			yyv3781 = []NodeCondition{}
			yyc3781 = true
		} else if len(yyv3781) != 0 {
			yyv3781 = yyv3781[:0]
			yyc3781 = true
		}
	} else if yyl3781 > 0 {
		var yyrr3781, yyrl3781 int
		var yyrt3781 bool
		if yyl3781 > cap(yyv3781) {

			yyrg3781 := len(yyv3781) > 0
			yyv23781 := yyv3781
			yyrl3781, yyrt3781 = z.DecInferLen(yyl3781, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt3781 {
				if yyrl3781 <= cap(yyv3781) {
					yyv3781 = yyv3781[:yyrl3781]
				} else {
					yyv3781 = make([]NodeCondition, yyrl3781)
				}
			} else {
				yyv3781 = make([]NodeCondition, yyrl3781)
			}
			yyc3781 = true
			yyrr3781 = len(yyv3781)
			if yyrg3781 {
				copy(yyv3781, yyv23781)
			}
		} else if yyl3781 != len(yyv3781) {
			yyv3781 = yyv3781[:yyl3781]
			yyc3781 = true
		}
		yyj3781 := 0
		for ; yyj3781 < yyrr3781; yyj3781++ {
			yyh3781.ElemContainerState(yyj3781)
			if r.TryDecodeAsNil() {
				yyv3781[yyj3781] = NodeCondition{}
			} else {
				yyv3782 := &yyv3781[yyj3781]
				yyv3782.CodecDecodeSelf(d)
			}

		}
		if yyrt3781 {
			for ; yyj3781 < yyl3781; yyj3781++ {
				yyv3781 = append(yyv3781, NodeCondition{})
				yyh3781.ElemContainerState(yyj3781)
				if r.TryDecodeAsNil() {
					yyv3781[yyj3781] = NodeCondition{}
				} else {
					yyv3783 := &yyv3781[yyj3781]
					yyv3783.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3781 >= len(yyv3781) {
				yyv3781 = append(yyv3781, NodeCondition{}) // var yyz3781 NodeCondition
				yyc3781 = true
			}
			yyh3781.ElemContainerState(yyj3781)
			if yyj3781 < len(yyv3781) {
				if r.TryDecodeAsNil() {
					yyv3781[yyj3781] = NodeCondition{}
				} else {
					yyv3784 := &yyv3781[yyj3781]
					yyv3784.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3781 < len(yyv3781) {
			yyv3781 = yyv3781[:yyj3781]
			yyc3781 = true
		} else if yyj3781 == 0 && yyv3781 == nil {
			yyv3781 = []NodeCondition{}
			yyc3781 = true
		}
	}
	yyh3781.End()
	if yyc3781 {
		*v = yyv3781
	}
}

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

	yyv3787 := *v
	yyh3787, yyl3787 := z.DecSliceHelperStart()
	var yyc3787 bool
	if yyl3787 == 0 {
		if yyv3787 == nil {
			yyv3787 = []NodeAddress{}
			yyc3787 = true
		} else if len(yyv3787) != 0 {
			yyv3787 = yyv3787[:0]
			yyc3787 = true
		}
	} else if yyl3787 > 0 {
		var yyrr3787, yyrl3787 int
		var yyrt3787 bool
		if yyl3787 > cap(yyv3787) {

			yyrg3787 := len(yyv3787) > 0
			yyv23787 := yyv3787
			yyrl3787, yyrt3787 = z.DecInferLen(yyl3787, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3787 {
				if yyrl3787 <= cap(yyv3787) {
					yyv3787 = yyv3787[:yyrl3787]
				} else {
					yyv3787 = make([]NodeAddress, yyrl3787)
				}
			} else {
				yyv3787 = make([]NodeAddress, yyrl3787)
			}
			yyc3787 = true
			yyrr3787 = len(yyv3787)
			if yyrg3787 {
				copy(yyv3787, yyv23787)
			}
		} else if yyl3787 != len(yyv3787) {
			yyv3787 = yyv3787[:yyl3787]
			yyc3787 = true
		}
		yyj3787 := 0
		for ; yyj3787 < yyrr3787; yyj3787++ {
			yyh3787.ElemContainerState(yyj3787)
			if r.TryDecodeAsNil() {
				yyv3787[yyj3787] = NodeAddress{}
			} else {
				yyv3788 := &yyv3787[yyj3787]
				yyv3788.CodecDecodeSelf(d)
			}

		}
		if yyrt3787 {
			for ; yyj3787 < yyl3787; yyj3787++ {
				yyv3787 = append(yyv3787, NodeAddress{})
				yyh3787.ElemContainerState(yyj3787)
				if r.TryDecodeAsNil() {
					yyv3787[yyj3787] = NodeAddress{}
				} else {
					yyv3789 := &yyv3787[yyj3787]
					yyv3789.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3787 >= len(yyv3787) {
				yyv3787 = append(yyv3787, NodeAddress{}) // var yyz3787 NodeAddress
				yyc3787 = true
			}
			yyh3787.ElemContainerState(yyj3787)
			if yyj3787 < len(yyv3787) {
				if r.TryDecodeAsNil() {
					yyv3787[yyj3787] = NodeAddress{}
				} else {
					yyv3790 := &yyv3787[yyj3787]
					yyv3790.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3787 < len(yyv3787) {
			yyv3787 = yyv3787[:yyj3787]
			yyc3787 = true
		} else if yyj3787 == 0 && yyv3787 == nil {
			yyv3787 = []NodeAddress{}
			yyc3787 = true
		}
	}
	yyh3787.End()
	if yyc3787 {
		*v = yyv3787
	}
}

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

	yyv3793 := *v
	yyh3793, yyl3793 := z.DecSliceHelperStart()
	var yyc3793 bool
	if yyl3793 == 0 {
		if yyv3793 == nil {
			yyv3793 = []ContainerImage{}
			yyc3793 = true
		} else if len(yyv3793) != 0 {
			yyv3793 = yyv3793[:0]
			yyc3793 = true
		}
	} else if yyl3793 > 0 {
		var yyrr3793, yyrl3793 int
		var yyrt3793 bool
		if yyl3793 > cap(yyv3793) {

			yyrg3793 := len(yyv3793) > 0
			yyv23793 := yyv3793
			yyrl3793, yyrt3793 = z.DecInferLen(yyl3793, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt3793 {
				if yyrl3793 <= cap(yyv3793) {
					yyv3793 = yyv3793[:yyrl3793]
				} else {
					yyv3793 = make([]ContainerImage, yyrl3793)
				}
			} else {
				yyv3793 = make([]ContainerImage, yyrl3793)
			}
			yyc3793 = true
			yyrr3793 = len(yyv3793)
			if yyrg3793 {
				copy(yyv3793, yyv23793)
			}
		} else if yyl3793 != len(yyv3793) {
			yyv3793 = yyv3793[:yyl3793]
			yyc3793 = true
		}
		yyj3793 := 0
		for ; yyj3793 < yyrr3793; yyj3793++ {
			yyh3793.ElemContainerState(yyj3793)
			if r.TryDecodeAsNil() {
				yyv3793[yyj3793] = ContainerImage{}
			} else {
				yyv3794 := &yyv3793[yyj3793]
				yyv3794.CodecDecodeSelf(d)
			}

		}
		if yyrt3793 {
			for ; yyj3793 < yyl3793; yyj3793++ {
				yyv3793 = append(yyv3793, ContainerImage{})
				yyh3793.ElemContainerState(yyj3793)
				if r.TryDecodeAsNil() {
					yyv3793[yyj3793] = ContainerImage{}
				} else {
					yyv3795 := &yyv3793[yyj3793]
					yyv3795.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3793 >= len(yyv3793) {
				yyv3793 = append(yyv3793, ContainerImage{}) // var yyz3793 ContainerImage
				yyc3793 = true
			}
			yyh3793.ElemContainerState(yyj3793)
			if yyj3793 < len(yyv3793) {
				if r.TryDecodeAsNil() {
					yyv3793[yyj3793] = ContainerImage{}
				} else {
					yyv3796 := &yyv3793[yyj3793]
					yyv3796.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3793 < len(yyv3793) {
			yyv3793 = yyv3793[:yyj3793]
			yyc3793 = true
		} else if yyj3793 == 0 && yyv3793 == nil {
			yyv3793 = []ContainerImage{}
			yyc3793 = true
		}
	}
	yyh3793.End()
	if yyc3793 {
		*v = yyv3793
	}
}

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

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

	yyv3800 := *v
	yyl3800 := r.ReadMapStart()
	yybh3800 := z.DecBasicHandle()
	if yyv3800 == nil {
		yyrl3800, _ := z.DecInferLen(yyl3800, yybh3800.MaxInitLen, 40)
		yyv3800 = make(map[ResourceName]pkg3_resource.Quantity, yyrl3800)
		*v = yyv3800
	}
	var yymk3800 ResourceName
	var yymv3800 pkg3_resource.Quantity
	var yymg3800 bool
	if yybh3800.MapValueReset {
		yymg3800 = true
	}
	if yyl3800 > 0 {
		for yyj3800 := 0; yyj3800 < yyl3800; yyj3800++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3800 = ""
			} else {
				yymk3800 = ResourceName(r.DecodeString())
			}

			if yymg3800 {
				yymv3800 = yyv3800[yymk3800]
			} else {
				yymv3800 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3800 = pkg3_resource.Quantity{}
			} else {
				yyv3802 := &yymv3800
				yym3803 := z.DecBinary()
				_ = yym3803
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3802) {
				} else if !yym3803 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3802)
				} else {
					z.DecFallback(yyv3802, false)
				}
			}

			if yyv3800 != nil {
				yyv3800[yymk3800] = yymv3800
			}
		}
	} else if yyl3800 < 0 {
		for yyj3800 := 0; !r.CheckBreak(); yyj3800++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3800 = ""
			} else {
				yymk3800 = ResourceName(r.DecodeString())
			}

			if yymg3800 {
				yymv3800 = yyv3800[yymk3800]
			} else {
				yymv3800 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3800 = pkg3_resource.Quantity{}
			} else {
				yyv3805 := &yymv3800
				yym3806 := z.DecBinary()
				_ = yym3806
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3805) {
				} else if !yym3806 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3805)
				} else {
					z.DecFallback(yyv3805, false)
				}
			}

			if yyv3800 != nil {
				yyv3800[yymk3800] = yymv3800
			}
		}
	} // 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 _, yyv3807 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3808 := &yyv3807
		yy3808.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

	yyv3809 := *v
	yyh3809, yyl3809 := z.DecSliceHelperStart()
	var yyc3809 bool
	if yyl3809 == 0 {
		if yyv3809 == nil {
			yyv3809 = []Node{}
			yyc3809 = true
		} else if len(yyv3809) != 0 {
			yyv3809 = yyv3809[:0]
			yyc3809 = true
		}
	} else if yyl3809 > 0 {
		var yyrr3809, yyrl3809 int
		var yyrt3809 bool
		if yyl3809 > cap(yyv3809) {

			yyrg3809 := len(yyv3809) > 0
			yyv23809 := yyv3809
			yyrl3809, yyrt3809 = z.DecInferLen(yyl3809, z.DecBasicHandle().MaxInitLen, 488)
			if yyrt3809 {
				if yyrl3809 <= cap(yyv3809) {
					yyv3809 = yyv3809[:yyrl3809]
				} else {
					yyv3809 = make([]Node, yyrl3809)
				}
			} else {
				yyv3809 = make([]Node, yyrl3809)
			}
			yyc3809 = true
			yyrr3809 = len(yyv3809)
			if yyrg3809 {
				copy(yyv3809, yyv23809)
			}
		} else if yyl3809 != len(yyv3809) {
			yyv3809 = yyv3809[:yyl3809]
			yyc3809 = true
		}
		yyj3809 := 0
		for ; yyj3809 < yyrr3809; yyj3809++ {
			yyh3809.ElemContainerState(yyj3809)
			if r.TryDecodeAsNil() {
				yyv3809[yyj3809] = Node{}
			} else {
				yyv3810 := &yyv3809[yyj3809]
				yyv3810.CodecDecodeSelf(d)
			}

		}
		if yyrt3809 {
			for ; yyj3809 < yyl3809; yyj3809++ {
				yyv3809 = append(yyv3809, Node{})
				yyh3809.ElemContainerState(yyj3809)
				if r.TryDecodeAsNil() {
					yyv3809[yyj3809] = Node{}
				} else {
					yyv3811 := &yyv3809[yyj3809]
					yyv3811.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3809 >= len(yyv3809) {
				yyv3809 = append(yyv3809, Node{}) // var yyz3809 Node
				yyc3809 = true
			}
			yyh3809.ElemContainerState(yyj3809)
			if yyj3809 < len(yyv3809) {
				if r.TryDecodeAsNil() {
					yyv3809[yyj3809] = Node{}
				} else {
					yyv3812 := &yyv3809[yyj3809]
					yyv3812.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3809 < len(yyv3809) {
			yyv3809 = yyv3809[:yyj3809]
			yyc3809 = true
		} else if yyj3809 == 0 && yyv3809 == nil {
			yyv3809 = []Node{}
			yyc3809 = true
		}
	}
	yyh3809.End()
	if yyc3809 {
		*v = yyv3809
	}
}

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

	yyv3814 := *v
	yyh3814, yyl3814 := z.DecSliceHelperStart()
	var yyc3814 bool
	if yyl3814 == 0 {
		if yyv3814 == nil {
			yyv3814 = []FinalizerName{}
			yyc3814 = true
		} else if len(yyv3814) != 0 {
			yyv3814 = yyv3814[:0]
			yyc3814 = true
		}
	} else if yyl3814 > 0 {
		var yyrr3814, yyrl3814 int
		var yyrt3814 bool
		if yyl3814 > cap(yyv3814) {

			yyrl3814, yyrt3814 = z.DecInferLen(yyl3814, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3814 {
				if yyrl3814 <= cap(yyv3814) {
					yyv3814 = yyv3814[:yyrl3814]
				} else {
					yyv3814 = make([]FinalizerName, yyrl3814)
				}
			} else {
				yyv3814 = make([]FinalizerName, yyrl3814)
			}
			yyc3814 = true
			yyrr3814 = len(yyv3814)
		} else if yyl3814 != len(yyv3814) {
			yyv3814 = yyv3814[:yyl3814]
			yyc3814 = true
		}
		yyj3814 := 0
		for ; yyj3814 < yyrr3814; yyj3814++ {
			yyh3814.ElemContainerState(yyj3814)
			if r.TryDecodeAsNil() {
				yyv3814[yyj3814] = ""
			} else {
				yyv3814[yyj3814] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt3814 {
			for ; yyj3814 < yyl3814; yyj3814++ {
				yyv3814 = append(yyv3814, "")
				yyh3814.ElemContainerState(yyj3814)
				if r.TryDecodeAsNil() {
					yyv3814[yyj3814] = ""
				} else {
					yyv3814[yyj3814] = FinalizerName(r.DecodeString())
				}

			}
		}

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

			if yyj3814 >= len(yyv3814) {
				yyv3814 = append(yyv3814, "") // var yyz3814 FinalizerName
				yyc3814 = true
			}
			yyh3814.ElemContainerState(yyj3814)
			if yyj3814 < len(yyv3814) {
				if r.TryDecodeAsNil() {
					yyv3814[yyj3814] = ""
				} else {
					yyv3814[yyj3814] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3814 < len(yyv3814) {
			yyv3814 = yyv3814[:yyj3814]
			yyc3814 = true
		} else if yyj3814 == 0 && yyv3814 == nil {
			yyv3814 = []FinalizerName{}
			yyc3814 = true
		}
	}
	yyh3814.End()
	if yyc3814 {
		*v = yyv3814
	}
}

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

	yyv3820 := *v
	yyh3820, yyl3820 := z.DecSliceHelperStart()
	var yyc3820 bool
	if yyl3820 == 0 {
		if yyv3820 == nil {
			yyv3820 = []Namespace{}
			yyc3820 = true
		} else if len(yyv3820) != 0 {
			yyv3820 = yyv3820[:0]
			yyc3820 = true
		}
	} else if yyl3820 > 0 {
		var yyrr3820, yyrl3820 int
		var yyrt3820 bool
		if yyl3820 > cap(yyv3820) {

			yyrg3820 := len(yyv3820) > 0
			yyv23820 := yyv3820
			yyrl3820, yyrt3820 = z.DecInferLen(yyl3820, z.DecBasicHandle().MaxInitLen, 232)
			if yyrt3820 {
				if yyrl3820 <= cap(yyv3820) {
					yyv3820 = yyv3820[:yyrl3820]
				} else {
					yyv3820 = make([]Namespace, yyrl3820)
				}
			} else {
				yyv3820 = make([]Namespace, yyrl3820)
			}
			yyc3820 = true
			yyrr3820 = len(yyv3820)
			if yyrg3820 {
				copy(yyv3820, yyv23820)
			}
		} else if yyl3820 != len(yyv3820) {
			yyv3820 = yyv3820[:yyl3820]
			yyc3820 = true
		}
		yyj3820 := 0
		for ; yyj3820 < yyrr3820; yyj3820++ {
			yyh3820.ElemContainerState(yyj3820)
			if r.TryDecodeAsNil() {
				yyv3820[yyj3820] = Namespace{}
			} else {
				yyv3821 := &yyv3820[yyj3820]
				yyv3821.CodecDecodeSelf(d)
			}

		}
		if yyrt3820 {
			for ; yyj3820 < yyl3820; yyj3820++ {
				yyv3820 = append(yyv3820, Namespace{})
				yyh3820.ElemContainerState(yyj3820)
				if r.TryDecodeAsNil() {
					yyv3820[yyj3820] = Namespace{}
				} else {
					yyv3822 := &yyv3820[yyj3820]
					yyv3822.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3820 >= len(yyv3820) {
				yyv3820 = append(yyv3820, Namespace{}) // var yyz3820 Namespace
				yyc3820 = true
			}
			yyh3820.ElemContainerState(yyj3820)
			if yyj3820 < len(yyv3820) {
				if r.TryDecodeAsNil() {
					yyv3820[yyj3820] = Namespace{}
				} else {
					yyv3823 := &yyv3820[yyj3820]
					yyv3823.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3820 < len(yyv3820) {
			yyv3820 = yyv3820[:yyj3820]
			yyc3820 = true
		} else if yyj3820 == 0 && yyv3820 == nil {
			yyv3820 = []Namespace{}
			yyc3820 = true
		}
	}
	yyh3820.End()
	if yyc3820 {
		*v = yyv3820
	}
}

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

	yyv3826 := *v
	yyh3826, yyl3826 := z.DecSliceHelperStart()
	var yyc3826 bool
	if yyl3826 == 0 {
		if yyv3826 == nil {
			yyv3826 = []Event{}
			yyc3826 = true
		} else if len(yyv3826) != 0 {
			yyv3826 = yyv3826[:0]
			yyc3826 = true
		}
	} else if yyl3826 > 0 {
		var yyrr3826, yyrl3826 int
		var yyrt3826 bool
		if yyl3826 > cap(yyv3826) {

			yyrg3826 := len(yyv3826) > 0
			yyv23826 := yyv3826
			yyrl3826, yyrt3826 = z.DecInferLen(yyl3826, z.DecBasicHandle().MaxInitLen, 440)
			if yyrt3826 {
				if yyrl3826 <= cap(yyv3826) {
					yyv3826 = yyv3826[:yyrl3826]
				} else {
					yyv3826 = make([]Event, yyrl3826)
				}
			} else {
				yyv3826 = make([]Event, yyrl3826)
			}
			yyc3826 = true
			yyrr3826 = len(yyv3826)
			if yyrg3826 {
				copy(yyv3826, yyv23826)
			}
		} else if yyl3826 != len(yyv3826) {
			yyv3826 = yyv3826[:yyl3826]
			yyc3826 = true
		}
		yyj3826 := 0
		for ; yyj3826 < yyrr3826; yyj3826++ {
			yyh3826.ElemContainerState(yyj3826)
			if r.TryDecodeAsNil() {
				yyv3826[yyj3826] = Event{}
			} else {
				yyv3827 := &yyv3826[yyj3826]
				yyv3827.CodecDecodeSelf(d)
			}

		}
		if yyrt3826 {
			for ; yyj3826 < yyl3826; yyj3826++ {
				yyv3826 = append(yyv3826, Event{})
				yyh3826.ElemContainerState(yyj3826)
				if r.TryDecodeAsNil() {
					yyv3826[yyj3826] = Event{}
				} else {
					yyv3828 := &yyv3826[yyj3826]
					yyv3828.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3826 >= len(yyv3826) {
				yyv3826 = append(yyv3826, Event{}) // var yyz3826 Event
				yyc3826 = true
			}
			yyh3826.ElemContainerState(yyj3826)
			if yyj3826 < len(yyv3826) {
				if r.TryDecodeAsNil() {
					yyv3826[yyj3826] = Event{}
				} else {
					yyv3829 := &yyv3826[yyj3826]
					yyv3829.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3826 < len(yyv3826) {
			yyv3826 = yyv3826[:yyj3826]
			yyc3826 = true
		} else if yyj3826 == 0 && yyv3826 == nil {
			yyv3826 = []Event{}
			yyc3826 = true
		}
	}
	yyh3826.End()
	if yyc3826 {
		*v = yyv3826
	}
}

func (x codecSelfer1234) encSliceruntime_Object(v []pkg8_runtime.Object, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3830 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		if yyv3830 == nil {
			r.EncodeNil()
		} else {
			yym3831 := z.EncBinary()
			_ = yym3831
			if false {
			} else if z.HasExtensions() && z.EncExt(yyv3830) {
			} else {
				z.EncFallback(yyv3830)
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

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

	yyv3832 := *v
	yyh3832, yyl3832 := z.DecSliceHelperStart()
	var yyc3832 bool
	if yyl3832 == 0 {
		if yyv3832 == nil {
			yyv3832 = []pkg8_runtime.Object{}
			yyc3832 = true
		} else if len(yyv3832) != 0 {
			yyv3832 = yyv3832[:0]
			yyc3832 = true
		}
	} else if yyl3832 > 0 {
		var yyrr3832, yyrl3832 int
		var yyrt3832 bool
		if yyl3832 > cap(yyv3832) {

			yyrg3832 := len(yyv3832) > 0
			yyv23832 := yyv3832
			yyrl3832, yyrt3832 = z.DecInferLen(yyl3832, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt3832 {
				if yyrl3832 <= cap(yyv3832) {
					yyv3832 = yyv3832[:yyrl3832]
				} else {
					yyv3832 = make([]pkg8_runtime.Object, yyrl3832)
				}
			} else {
				yyv3832 = make([]pkg8_runtime.Object, yyrl3832)
			}
			yyc3832 = true
			yyrr3832 = len(yyv3832)
			if yyrg3832 {
				copy(yyv3832, yyv23832)
			}
		} else if yyl3832 != len(yyv3832) {
			yyv3832 = yyv3832[:yyl3832]
			yyc3832 = true
		}
		yyj3832 := 0
		for ; yyj3832 < yyrr3832; yyj3832++ {
			yyh3832.ElemContainerState(yyj3832)
			if r.TryDecodeAsNil() {
				yyv3832[yyj3832] = nil
			} else {
				yyv3833 := &yyv3832[yyj3832]
				yym3834 := z.DecBinary()
				_ = yym3834
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3833) {
				} else {
					z.DecFallback(yyv3833, true)
				}
			}

		}
		if yyrt3832 {
			for ; yyj3832 < yyl3832; yyj3832++ {
				yyv3832 = append(yyv3832, nil)
				yyh3832.ElemContainerState(yyj3832)
				if r.TryDecodeAsNil() {
					yyv3832[yyj3832] = nil
				} else {
					yyv3835 := &yyv3832[yyj3832]
					yym3836 := z.DecBinary()
					_ = yym3836
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3835) {
					} else {
						z.DecFallback(yyv3835, true)
					}
				}

			}
		}

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

			if yyj3832 >= len(yyv3832) {
				yyv3832 = append(yyv3832, nil) // var yyz3832 pkg8_runtime.Object
				yyc3832 = true
			}
			yyh3832.ElemContainerState(yyj3832)
			if yyj3832 < len(yyv3832) {
				if r.TryDecodeAsNil() {
					yyv3832[yyj3832] = nil
				} else {
					yyv3837 := &yyv3832[yyj3832]
					yym3838 := z.DecBinary()
					_ = yym3838
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3837) {
					} else {
						z.DecFallback(yyv3837, true)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3832 < len(yyv3832) {
			yyv3832 = yyv3832[:yyj3832]
			yyc3832 = true
		} else if yyj3832 == 0 && yyv3832 == nil {
			yyv3832 = []pkg8_runtime.Object{}
			yyc3832 = true
		}
	}
	yyh3832.End()
	if yyc3832 {
		*v = yyv3832
	}
}

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

	yyv3841 := *v
	yyh3841, yyl3841 := z.DecSliceHelperStart()
	var yyc3841 bool
	if yyl3841 == 0 {
		if yyv3841 == nil {
			yyv3841 = []LimitRangeItem{}
			yyc3841 = true
		} else if len(yyv3841) != 0 {
			yyv3841 = yyv3841[:0]
			yyc3841 = true
		}
	} else if yyl3841 > 0 {
		var yyrr3841, yyrl3841 int
		var yyrt3841 bool
		if yyl3841 > cap(yyv3841) {

			yyrg3841 := len(yyv3841) > 0
			yyv23841 := yyv3841
			yyrl3841, yyrt3841 = z.DecInferLen(yyl3841, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt3841 {
				if yyrl3841 <= cap(yyv3841) {
					yyv3841 = yyv3841[:yyrl3841]
				} else {
					yyv3841 = make([]LimitRangeItem, yyrl3841)
				}
			} else {
				yyv3841 = make([]LimitRangeItem, yyrl3841)
			}
			yyc3841 = true
			yyrr3841 = len(yyv3841)
			if yyrg3841 {
				copy(yyv3841, yyv23841)
			}
		} else if yyl3841 != len(yyv3841) {
			yyv3841 = yyv3841[:yyl3841]
			yyc3841 = true
		}
		yyj3841 := 0
		for ; yyj3841 < yyrr3841; yyj3841++ {
			yyh3841.ElemContainerState(yyj3841)
			if r.TryDecodeAsNil() {
				yyv3841[yyj3841] = LimitRangeItem{}
			} else {
				yyv3842 := &yyv3841[yyj3841]
				yyv3842.CodecDecodeSelf(d)
			}

		}
		if yyrt3841 {
			for ; yyj3841 < yyl3841; yyj3841++ {
				yyv3841 = append(yyv3841, LimitRangeItem{})
				yyh3841.ElemContainerState(yyj3841)
				if r.TryDecodeAsNil() {
					yyv3841[yyj3841] = LimitRangeItem{}
				} else {
					yyv3843 := &yyv3841[yyj3841]
					yyv3843.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3841 >= len(yyv3841) {
				yyv3841 = append(yyv3841, LimitRangeItem{}) // var yyz3841 LimitRangeItem
				yyc3841 = true
			}
			yyh3841.ElemContainerState(yyj3841)
			if yyj3841 < len(yyv3841) {
				if r.TryDecodeAsNil() {
					yyv3841[yyj3841] = LimitRangeItem{}
				} else {
					yyv3844 := &yyv3841[yyj3841]
					yyv3844.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3841 < len(yyv3841) {
			yyv3841 = yyv3841[:yyj3841]
			yyc3841 = true
		} else if yyj3841 == 0 && yyv3841 == nil {
			yyv3841 = []LimitRangeItem{}
			yyc3841 = true
		}
	}
	yyh3841.End()
	if yyc3841 {
		*v = yyv3841
	}
}

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

	yyv3847 := *v
	yyh3847, yyl3847 := z.DecSliceHelperStart()
	var yyc3847 bool
	if yyl3847 == 0 {
		if yyv3847 == nil {
			yyv3847 = []LimitRange{}
			yyc3847 = true
		} else if len(yyv3847) != 0 {
			yyv3847 = yyv3847[:0]
			yyc3847 = true
		}
	} else if yyl3847 > 0 {
		var yyrr3847, yyrl3847 int
		var yyrt3847 bool
		if yyl3847 > cap(yyv3847) {

			yyrg3847 := len(yyv3847) > 0
			yyv23847 := yyv3847
			yyrl3847, yyrt3847 = z.DecInferLen(yyl3847, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3847 {
				if yyrl3847 <= cap(yyv3847) {
					yyv3847 = yyv3847[:yyrl3847]
				} else {
					yyv3847 = make([]LimitRange, yyrl3847)
				}
			} else {
				yyv3847 = make([]LimitRange, yyrl3847)
			}
			yyc3847 = true
			yyrr3847 = len(yyv3847)
			if yyrg3847 {
				copy(yyv3847, yyv23847)
			}
		} else if yyl3847 != len(yyv3847) {
			yyv3847 = yyv3847[:yyl3847]
			yyc3847 = true
		}
		yyj3847 := 0
		for ; yyj3847 < yyrr3847; yyj3847++ {
			yyh3847.ElemContainerState(yyj3847)
			if r.TryDecodeAsNil() {
				yyv3847[yyj3847] = LimitRange{}
			} else {
				yyv3848 := &yyv3847[yyj3847]
				yyv3848.CodecDecodeSelf(d)
			}

		}
		if yyrt3847 {
			for ; yyj3847 < yyl3847; yyj3847++ {
				yyv3847 = append(yyv3847, LimitRange{})
				yyh3847.ElemContainerState(yyj3847)
				if r.TryDecodeAsNil() {
					yyv3847[yyj3847] = LimitRange{}
				} else {
					yyv3849 := &yyv3847[yyj3847]
					yyv3849.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3847 >= len(yyv3847) {
				yyv3847 = append(yyv3847, LimitRange{}) // var yyz3847 LimitRange
				yyc3847 = true
			}
			yyh3847.ElemContainerState(yyj3847)
			if yyj3847 < len(yyv3847) {
				if r.TryDecodeAsNil() {
					yyv3847[yyj3847] = LimitRange{}
				} else {
					yyv3850 := &yyv3847[yyj3847]
					yyv3850.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3847 < len(yyv3847) {
			yyv3847 = yyv3847[:yyj3847]
			yyc3847 = true
		} else if yyj3847 == 0 && yyv3847 == nil {
			yyv3847 = []LimitRange{}
			yyc3847 = true
		}
	}
	yyh3847.End()
	if yyc3847 {
		*v = yyv3847
	}
}

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

	yyv3853 := *v
	yyh3853, yyl3853 := z.DecSliceHelperStart()
	var yyc3853 bool
	if yyl3853 == 0 {
		if yyv3853 == nil {
			yyv3853 = []ResourceQuota{}
			yyc3853 = true
		} else if len(yyv3853) != 0 {
			yyv3853 = yyv3853[:0]
			yyc3853 = true
		}
	} else if yyl3853 > 0 {
		var yyrr3853, yyrl3853 int
		var yyrt3853 bool
		if yyl3853 > cap(yyv3853) {

			yyrg3853 := len(yyv3853) > 0
			yyv23853 := yyv3853
			yyrl3853, yyrt3853 = z.DecInferLen(yyl3853, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3853 {
				if yyrl3853 <= cap(yyv3853) {
					yyv3853 = yyv3853[:yyrl3853]
				} else {
					yyv3853 = make([]ResourceQuota, yyrl3853)
				}
			} else {
				yyv3853 = make([]ResourceQuota, yyrl3853)
			}
			yyc3853 = true
			yyrr3853 = len(yyv3853)
			if yyrg3853 {
				copy(yyv3853, yyv23853)
			}
		} else if yyl3853 != len(yyv3853) {
			yyv3853 = yyv3853[:yyl3853]
			yyc3853 = true
		}
		yyj3853 := 0
		for ; yyj3853 < yyrr3853; yyj3853++ {
			yyh3853.ElemContainerState(yyj3853)
			if r.TryDecodeAsNil() {
				yyv3853[yyj3853] = ResourceQuota{}
			} else {
				yyv3854 := &yyv3853[yyj3853]
				yyv3854.CodecDecodeSelf(d)
			}

		}
		if yyrt3853 {
			for ; yyj3853 < yyl3853; yyj3853++ {
				yyv3853 = append(yyv3853, ResourceQuota{})
				yyh3853.ElemContainerState(yyj3853)
				if r.TryDecodeAsNil() {
					yyv3853[yyj3853] = ResourceQuota{}
				} else {
					yyv3855 := &yyv3853[yyj3853]
					yyv3855.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3853 >= len(yyv3853) {
				yyv3853 = append(yyv3853, ResourceQuota{}) // var yyz3853 ResourceQuota
				yyc3853 = true
			}
			yyh3853.ElemContainerState(yyj3853)
			if yyj3853 < len(yyv3853) {
				if r.TryDecodeAsNil() {
					yyv3853[yyj3853] = ResourceQuota{}
				} else {
					yyv3856 := &yyv3853[yyj3853]
					yyv3856.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3853 < len(yyv3853) {
			yyv3853 = yyv3853[:yyj3853]
			yyc3853 = true
		} else if yyj3853 == 0 && yyv3853 == nil {
			yyv3853 = []ResourceQuota{}
			yyc3853 = true
		}
	}
	yyh3853.End()
	if yyc3853 {
		*v = yyv3853
	}
}

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

	yyv3860 := *v
	yyl3860 := r.ReadMapStart()
	yybh3860 := z.DecBasicHandle()
	if yyv3860 == nil {
		yyrl3860, _ := z.DecInferLen(yyl3860, yybh3860.MaxInitLen, 40)
		yyv3860 = make(map[string][]uint8, yyrl3860)
		*v = yyv3860
	}
	var yymk3860 string
	var yymv3860 []uint8
	var yymg3860 bool
	if yybh3860.MapValueReset {
		yymg3860 = true
	}
	if yyl3860 > 0 {
		for yyj3860 := 0; yyj3860 < yyl3860; yyj3860++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3860 = ""
			} else {
				yymk3860 = string(r.DecodeString())
			}

			if yymg3860 {
				yymv3860 = yyv3860[yymk3860]
			} else {
				yymv3860 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3860 = nil
			} else {
				yyv3862 := &yymv3860
				yym3863 := z.DecBinary()
				_ = yym3863
				if false {
				} else {
					*yyv3862 = r.DecodeBytes(*(*[]byte)(yyv3862), false, false)
				}
			}

			if yyv3860 != nil {
				yyv3860[yymk3860] = yymv3860
			}
		}
	} else if yyl3860 < 0 {
		for yyj3860 := 0; !r.CheckBreak(); yyj3860++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk3860 = ""
			} else {
				yymk3860 = string(r.DecodeString())
			}

			if yymg3860 {
				yymv3860 = yyv3860[yymk3860]
			} else {
				yymv3860 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv3860 = nil
			} else {
				yyv3865 := &yymv3860
				yym3866 := z.DecBinary()
				_ = yym3866
				if false {
				} else {
					*yyv3865 = r.DecodeBytes(*(*[]byte)(yyv3865), false, false)
				}
			}

			if yyv3860 != nil {
				yyv3860[yymk3860] = yymv3860
			}
		}
	} // 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 _, yyv3867 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy3868 := &yyv3867
		yy3868.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

	yyv3869 := *v
	yyh3869, yyl3869 := z.DecSliceHelperStart()
	var yyc3869 bool
	if yyl3869 == 0 {
		if yyv3869 == nil {
			yyv3869 = []Secret{}
			yyc3869 = true
		} else if len(yyv3869) != 0 {
			yyv3869 = yyv3869[:0]
			yyc3869 = true
		}
	} else if yyl3869 > 0 {
		var yyrr3869, yyrl3869 int
		var yyrt3869 bool
		if yyl3869 > cap(yyv3869) {

			yyrg3869 := len(yyv3869) > 0
			yyv23869 := yyv3869
			yyrl3869, yyrt3869 = z.DecInferLen(yyl3869, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3869 {
				if yyrl3869 <= cap(yyv3869) {
					yyv3869 = yyv3869[:yyrl3869]
				} else {
					yyv3869 = make([]Secret, yyrl3869)
				}
			} else {
				yyv3869 = make([]Secret, yyrl3869)
			}
			yyc3869 = true
			yyrr3869 = len(yyv3869)
			if yyrg3869 {
				copy(yyv3869, yyv23869)
			}
		} else if yyl3869 != len(yyv3869) {
			yyv3869 = yyv3869[:yyl3869]
			yyc3869 = true
		}
		yyj3869 := 0
		for ; yyj3869 < yyrr3869; yyj3869++ {
			yyh3869.ElemContainerState(yyj3869)
			if r.TryDecodeAsNil() {
				yyv3869[yyj3869] = Secret{}
			} else {
				yyv3870 := &yyv3869[yyj3869]
				yyv3870.CodecDecodeSelf(d)
			}

		}
		if yyrt3869 {
			for ; yyj3869 < yyl3869; yyj3869++ {
				yyv3869 = append(yyv3869, Secret{})
				yyh3869.ElemContainerState(yyj3869)
				if r.TryDecodeAsNil() {
					yyv3869[yyj3869] = Secret{}
				} else {
					yyv3871 := &yyv3869[yyj3869]
					yyv3871.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3869 >= len(yyv3869) {
				yyv3869 = append(yyv3869, Secret{}) // var yyz3869 Secret
				yyc3869 = true
			}
			yyh3869.ElemContainerState(yyj3869)
			if yyj3869 < len(yyv3869) {
				if r.TryDecodeAsNil() {
					yyv3869[yyj3869] = Secret{}
				} else {
					yyv3872 := &yyv3869[yyj3869]
					yyv3872.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3869 < len(yyv3869) {
			yyv3869 = yyv3869[:yyj3869]
			yyc3869 = true
		} else if yyj3869 == 0 && yyv3869 == nil {
			yyv3869 = []Secret{}
			yyc3869 = true
		}
	}
	yyh3869.End()
	if yyc3869 {
		*v = yyv3869
	}
}

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

	yyv3875 := *v
	yyh3875, yyl3875 := z.DecSliceHelperStart()
	var yyc3875 bool
	if yyl3875 == 0 {
		if yyv3875 == nil {
			yyv3875 = []ComponentCondition{}
			yyc3875 = true
		} else if len(yyv3875) != 0 {
			yyv3875 = yyv3875[:0]
			yyc3875 = true
		}
	} else if yyl3875 > 0 {
		var yyrr3875, yyrl3875 int
		var yyrt3875 bool
		if yyl3875 > cap(yyv3875) {

			yyrg3875 := len(yyv3875) > 0
			yyv23875 := yyv3875
			yyrl3875, yyrt3875 = z.DecInferLen(yyl3875, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt3875 {
				if yyrl3875 <= cap(yyv3875) {
					yyv3875 = yyv3875[:yyrl3875]
				} else {
					yyv3875 = make([]ComponentCondition, yyrl3875)
				}
			} else {
				yyv3875 = make([]ComponentCondition, yyrl3875)
			}
			yyc3875 = true
			yyrr3875 = len(yyv3875)
			if yyrg3875 {
				copy(yyv3875, yyv23875)
			}
		} else if yyl3875 != len(yyv3875) {
			yyv3875 = yyv3875[:yyl3875]
			yyc3875 = true
		}
		yyj3875 := 0
		for ; yyj3875 < yyrr3875; yyj3875++ {
			yyh3875.ElemContainerState(yyj3875)
			if r.TryDecodeAsNil() {
				yyv3875[yyj3875] = ComponentCondition{}
			} else {
				yyv3876 := &yyv3875[yyj3875]
				yyv3876.CodecDecodeSelf(d)
			}

		}
		if yyrt3875 {
			for ; yyj3875 < yyl3875; yyj3875++ {
				yyv3875 = append(yyv3875, ComponentCondition{})
				yyh3875.ElemContainerState(yyj3875)
				if r.TryDecodeAsNil() {
					yyv3875[yyj3875] = ComponentCondition{}
				} else {
					yyv3877 := &yyv3875[yyj3875]
					yyv3877.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3875 >= len(yyv3875) {
				yyv3875 = append(yyv3875, ComponentCondition{}) // var yyz3875 ComponentCondition
				yyc3875 = true
			}
			yyh3875.ElemContainerState(yyj3875)
			if yyj3875 < len(yyv3875) {
				if r.TryDecodeAsNil() {
					yyv3875[yyj3875] = ComponentCondition{}
				} else {
					yyv3878 := &yyv3875[yyj3875]
					yyv3878.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3875 < len(yyv3875) {
			yyv3875 = yyv3875[:yyj3875]
			yyc3875 = true
		} else if yyj3875 == 0 && yyv3875 == nil {
			yyv3875 = []ComponentCondition{}
			yyc3875 = true
		}
	}
	yyh3875.End()
	if yyc3875 {
		*v = yyv3875
	}
}

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

	yyv3881 := *v
	yyh3881, yyl3881 := z.DecSliceHelperStart()
	var yyc3881 bool
	if yyl3881 == 0 {
		if yyv3881 == nil {
			yyv3881 = []ComponentStatus{}
			yyc3881 = true
		} else if len(yyv3881) != 0 {
			yyv3881 = yyv3881[:0]
			yyc3881 = true
		}
	} else if yyl3881 > 0 {
		var yyrr3881, yyrl3881 int
		var yyrt3881 bool
		if yyl3881 > cap(yyv3881) {

			yyrg3881 := len(yyv3881) > 0
			yyv23881 := yyv3881
			yyrl3881, yyrt3881 = z.DecInferLen(yyl3881, z.DecBasicHandle().MaxInitLen, 216)
			if yyrt3881 {
				if yyrl3881 <= cap(yyv3881) {
					yyv3881 = yyv3881[:yyrl3881]
				} else {
					yyv3881 = make([]ComponentStatus, yyrl3881)
				}
			} else {
				yyv3881 = make([]ComponentStatus, yyrl3881)
			}
			yyc3881 = true
			yyrr3881 = len(yyv3881)
			if yyrg3881 {
				copy(yyv3881, yyv23881)
			}
		} else if yyl3881 != len(yyv3881) {
			yyv3881 = yyv3881[:yyl3881]
			yyc3881 = true
		}
		yyj3881 := 0
		for ; yyj3881 < yyrr3881; yyj3881++ {
			yyh3881.ElemContainerState(yyj3881)
			if r.TryDecodeAsNil() {
				yyv3881[yyj3881] = ComponentStatus{}
			} else {
				yyv3882 := &yyv3881[yyj3881]
				yyv3882.CodecDecodeSelf(d)
			}

		}
		if yyrt3881 {
			for ; yyj3881 < yyl3881; yyj3881++ {
				yyv3881 = append(yyv3881, ComponentStatus{})
				yyh3881.ElemContainerState(yyj3881)
				if r.TryDecodeAsNil() {
					yyv3881[yyj3881] = ComponentStatus{}
				} else {
					yyv3883 := &yyv3881[yyj3881]
					yyv3883.CodecDecodeSelf(d)
				}

			}
		}

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

			if yyj3881 >= len(yyv3881) {
				yyv3881 = append(yyv3881, ComponentStatus{}) // var yyz3881 ComponentStatus
				yyc3881 = true
			}
			yyh3881.ElemContainerState(yyj3881)
			if yyj3881 < len(yyv3881) {
				if r.TryDecodeAsNil() {
					yyv3881[yyj3881] = ComponentStatus{}
				} else {
					yyv3884 := &yyv3881[yyj3881]
					yyv3884.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj3881 < len(yyv3881) {
			yyv3881 = yyv3881[:yyj3881]
			yyc3881 = true
		} else if yyj3881 == 0 && yyv3881 == nil {
			yyv3881 = []ComponentStatus{}
			yyc3881 = true
		}
	}
	yyh3881.End()
	if yyc3881 {
		*v = yyv3881
	}
}
