diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 0d0ae9d92c77..d05c1b4283bf 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -8413,8 +8413,12 @@ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", "description": "A label query over a set of resources, in this case pods." }, + "namespaceSelector": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector", + "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled." + }, "namespaces": { - "description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"", + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", "items": { "type": "string" }, diff --git a/pkg/api/pod/util.go b/pkg/api/pod/util.go index 0694bc2e9250..a78e9e2c1fe9 100644 --- a/pkg/api/pod/util.go +++ b/pkg/api/pod/util.go @@ -523,6 +523,7 @@ func dropDisabledFields( podSpec.SetHostnameAsFQDN = nil } + dropDisabledPodAffinityTermFields(podSpec, oldPodSpec) } // dropDisabledProcMountField removes disabled fields from PodSpec related @@ -572,6 +573,66 @@ func dropDisabledEphemeralVolumeSourceAlphaFields(podSpec, oldPodSpec *api.PodSp } } +func dropPodAffinityTermNamespaceSelector(terms []api.PodAffinityTerm) { + for i := range terms { + terms[i].NamespaceSelector = nil + } +} + +func dropWeightedPodAffinityTermNamespaceSelector(terms []api.WeightedPodAffinityTerm) { + for i := range terms { + terms[i].PodAffinityTerm.NamespaceSelector = nil + } +} + +// dropDisabledPodAffinityTermFields removes disabled fields from PodSpec related +// to PodAffinityTerm only if it is not already used by the old spec +func dropDisabledPodAffinityTermFields(podSpec, oldPodSpec *api.PodSpec) { + if !utilfeature.DefaultFeatureGate.Enabled(features.PodAffinityNamespaceSelector) && + podSpec != nil && podSpec.Affinity != nil && + !podAffinityNamespaceSelectorInUse(oldPodSpec) { + if podSpec.Affinity.PodAffinity != nil { + dropPodAffinityTermNamespaceSelector(podSpec.Affinity.PodAffinity.RequiredDuringSchedulingIgnoredDuringExecution) + dropWeightedPodAffinityTermNamespaceSelector(podSpec.Affinity.PodAffinity.PreferredDuringSchedulingIgnoredDuringExecution) + } + if podSpec.Affinity.PodAntiAffinity != nil { + dropPodAffinityTermNamespaceSelector(podSpec.Affinity.PodAntiAffinity.RequiredDuringSchedulingIgnoredDuringExecution) + dropWeightedPodAffinityTermNamespaceSelector(podSpec.Affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution) + } + } +} + +func podAffinityNamespaceSelectorInUse(podSpec *api.PodSpec) bool { + if podSpec == nil || podSpec.Affinity == nil { + return false + } + if podSpec.Affinity.PodAffinity != nil { + for _, t := range podSpec.Affinity.PodAffinity.RequiredDuringSchedulingIgnoredDuringExecution { + if t.NamespaceSelector != nil { + return true + } + } + for _, t := range podSpec.Affinity.PodAffinity.PreferredDuringSchedulingIgnoredDuringExecution { + if t.PodAffinityTerm.NamespaceSelector != nil { + return true + } + } + } + if podSpec.Affinity.PodAntiAffinity != nil { + for _, t := range podSpec.Affinity.PodAntiAffinity.RequiredDuringSchedulingIgnoredDuringExecution { + if t.NamespaceSelector != nil { + return true + } + } + for _, t := range podSpec.Affinity.PodAntiAffinity.PreferredDuringSchedulingIgnoredDuringExecution { + if t.PodAffinityTerm.NamespaceSelector == nil { + return true + } + } + } + return false +} + func ephemeralContainersInUse(podSpec *api.PodSpec) bool { if podSpec == nil { return false diff --git a/pkg/api/pod/util_test.go b/pkg/api/pod/util_test.go index 80385b9a1f1f..5b83e801bf25 100644 --- a/pkg/api/pod/util_test.go +++ b/pkg/api/pod/util_test.go @@ -1375,7 +1375,163 @@ func TestValidatePodDeletionCostOption(t *testing.T) { if tc.wantAllowInvalidPodDeletionCost != gotOptions.AllowInvalidPodDeletionCost { t.Errorf("unexpected diff, want: %v, got: %v", tc.wantAllowInvalidPodDeletionCost, gotOptions.AllowInvalidPodDeletionCost) } + }) + } +} + +func TestDropDisabledPodAffinityTermFields(t *testing.T) { + testCases := []struct { + name string + enabled bool + podSpec *api.PodSpec + oldPodSpec *api.PodSpec + wantPodSpec *api.PodSpec + }{ + { + name: "nil affinity", + podSpec: &api.PodSpec{}, + wantPodSpec: &api.PodSpec{}, + }, + { + name: "empty affinity", + podSpec: &api.PodSpec{Affinity: &api.Affinity{}}, + wantPodSpec: &api.PodSpec{Affinity: &api.Affinity{}}, + }, + { + name: "NamespaceSelector cleared", + podSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }}, + oldPodSpec: &api.PodSpec{Affinity: &api.Affinity{}}, + wantPodSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1"}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2"}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3"}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4"}}, + }, + }, + }}, + }, + { + name: "NamespaceSelector not cleared since old spec already sets it", + podSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }}, + oldPodSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + }, + }}, + wantPodSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }}, + }, + { + name: "NamespaceSelector not cleared since feature is enabled", + enabled: true, + podSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }}, + wantPodSpec: &api.PodSpec{Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, TopologyKey: "region1", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, TopologyKey: "region2", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}, TopologyKey: "region3", NamespaceSelector: &metav1.LabelSelector{}}, + }, + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns4"}, TopologyKey: "region4", NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }}, + }, + } + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.PodAffinityNamespaceSelector, tc.enabled)() + dropDisabledPodAffinityTermFields(tc.podSpec, tc.oldPodSpec) + if diff := cmp.Diff(tc.wantPodSpec, tc.podSpec); diff != "" { + t.Errorf("unexpected pod spec (-want, +got):\n%s", diff) + } }) } } diff --git a/pkg/apis/core/helper/helpers.go b/pkg/apis/core/helper/helpers.go index 4cbe3100bade..8d6e27f57db2 100644 --- a/pkg/apis/core/helper/helpers.go +++ b/pkg/apis/core/helper/helpers.go @@ -108,8 +108,9 @@ var standardResourceQuotaScopes = sets.NewString( ) // IsStandardResourceQuotaScope returns true if the scope is a standard value -func IsStandardResourceQuotaScope(str string) bool { - return standardResourceQuotaScopes.Has(str) +func IsStandardResourceQuotaScope(str string, allowNamespaceAffinityScope bool) bool { + return standardResourceQuotaScopes.Has(str) || + (allowNamespaceAffinityScope && str == string(core.ResourceQuotaScopeCrossNamespacePodAffinity)) } var podObjectCountQuotaResources = sets.NewString( @@ -128,7 +129,8 @@ var podComputeQuotaResources = sets.NewString( // IsResourceQuotaScopeValidForResource returns true if the resource applies to the specified scope func IsResourceQuotaScopeValidForResource(scope core.ResourceQuotaScope, resource string) bool { switch scope { - case core.ResourceQuotaScopeTerminating, core.ResourceQuotaScopeNotTerminating, core.ResourceQuotaScopeNotBestEffort, core.ResourceQuotaScopePriorityClass: + case core.ResourceQuotaScopeTerminating, core.ResourceQuotaScopeNotTerminating, core.ResourceQuotaScopeNotBestEffort, + core.ResourceQuotaScopePriorityClass, core.ResourceQuotaScopeCrossNamespacePodAffinity: return podObjectCountQuotaResources.Has(resource) || podComputeQuotaResources.Has(resource) case core.ResourceQuotaScopeBestEffort: return podObjectCountQuotaResources.Has(resource) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 1a0c40b713f7..f19641617ff6 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -2553,8 +2553,10 @@ type PodAffinityTerm struct { // A label query over a set of resources, in this case pods. // +optional LabelSelector *metav1.LabelSelector - // namespaces specifies which namespaces the labelSelector applies to (matches against); - // null or empty list means "this pod's namespace" + // namespaces specifies a static list of namespace names that the term applies to. + // The term is applied to the union of the namespaces listed in this field + // and the ones selected by namespaceSelector. + // null or empty namespaces list and null namespaceSelector means "this pod's namespace" // +optional Namespaces []string // This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -2563,6 +2565,14 @@ type PodAffinityTerm struct { // selected pods is running. // Empty topologyKey is not allowed. TopologyKey string + // A label query over the set of namespaces that the term applies to. + // The term is applied to the union of the namespaces selected by this field + // and the ones listed in the namespaces field. + // null selector and null or empty namespaces list means "this pod's namespace". + // An empty selector ({}) matches all namespaces. + // This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. + // +optional + NamespaceSelector *metav1.LabelSelector } // NodeAffinity is a group of node affinity scheduling rules. @@ -4842,6 +4852,9 @@ const ( ResourceQuotaScopeNotBestEffort ResourceQuotaScope = "NotBestEffort" // Match all pod objects that have priority class mentioned ResourceQuotaScopePriorityClass ResourceQuotaScope = "PriorityClass" + // Match all pod objects that have cross-namespace pod (anti)affinity mentioned + // This is an alpha feature enabled by the PodAffinityNamespaceSelector feature flag. + ResourceQuotaScopeCrossNamespacePodAffinity ResourceQuotaScope = "CrossNamespacePodAffinity" ) // ResourceQuotaSpec defines the desired hard limits to enforce for Quota diff --git a/pkg/apis/core/v1/zz_generated.conversion.go b/pkg/apis/core/v1/zz_generated.conversion.go index f0792ba9aa77..a16956a17349 100644 --- a/pkg/apis/core/v1/zz_generated.conversion.go +++ b/pkg/apis/core/v1/zz_generated.conversion.go @@ -5479,6 +5479,7 @@ func autoConvert_v1_PodAffinityTerm_To_core_PodAffinityTerm(in *v1.PodAffinityTe out.LabelSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.LabelSelector)) out.Namespaces = *(*[]string)(unsafe.Pointer(&in.Namespaces)) out.TopologyKey = in.TopologyKey + out.NamespaceSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.NamespaceSelector)) return nil } @@ -5491,6 +5492,7 @@ func autoConvert_core_PodAffinityTerm_To_v1_PodAffinityTerm(in *core.PodAffinity out.LabelSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.LabelSelector)) out.Namespaces = *(*[]string)(unsafe.Pointer(&in.Namespaces)) out.TopologyKey = in.TopologyKey + out.NamespaceSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.NamespaceSelector)) return nil } diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index 9f0409b116f4..300b9cb1be80 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -3564,7 +3564,9 @@ func ValidatePreferredSchedulingTerms(terms []core.PreferredSchedulingTerm, fldP func validatePodAffinityTerm(podAffinityTerm core.PodAffinityTerm, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} - allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(podAffinityTerm.LabelSelector, fldPath.Child("matchExpressions"))...) + allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(podAffinityTerm.LabelSelector, fldPath.Child("labelSelector"))...) + allErrs = append(allErrs, unversionedvalidation.ValidateLabelSelector(podAffinityTerm.NamespaceSelector, fldPath.Child("namespaceSelector"))...) + for _, name := range podAffinityTerm.Namespaces { for _, msg := range ValidateNamespaceName(name, false) { allErrs = append(allErrs, field.Invalid(fldPath.Child("namespace"), name, msg)) @@ -5380,7 +5382,7 @@ func ValidateResourceRequirements(requirements *core.ResourceRequirements, fldPa } // validateResourceQuotaScopes ensures that each enumerated hard resource constraint is valid for set of scopes -func validateResourceQuotaScopes(resourceQuotaSpec *core.ResourceQuotaSpec, fld *field.Path) field.ErrorList { +func validateResourceQuotaScopes(resourceQuotaSpec *core.ResourceQuotaSpec, opts ResourceQuotaValidationOptions, fld *field.Path) field.ErrorList { allErrs := field.ErrorList{} if len(resourceQuotaSpec.Scopes) == 0 { return allErrs @@ -5392,7 +5394,7 @@ func validateResourceQuotaScopes(resourceQuotaSpec *core.ResourceQuotaSpec, fld fldPath := fld.Child("scopes") scopeSet := sets.NewString() for _, scope := range resourceQuotaSpec.Scopes { - if !helper.IsStandardResourceQuotaScope(string(scope)) { + if !helper.IsStandardResourceQuotaScope(string(scope), opts.AllowPodAffinityNamespaceSelector) { allErrs = append(allErrs, field.Invalid(fldPath, resourceQuotaSpec.Scopes, "unsupported scope")) } for _, k := range hardLimits.List() { @@ -5415,7 +5417,7 @@ func validateResourceQuotaScopes(resourceQuotaSpec *core.ResourceQuotaSpec, fld } // validateScopedResourceSelectorRequirement tests that the match expressions has valid data -func validateScopedResourceSelectorRequirement(resourceQuotaSpec *core.ResourceQuotaSpec, fld *field.Path) field.ErrorList { +func validateScopedResourceSelectorRequirement(resourceQuotaSpec *core.ResourceQuotaSpec, opts ResourceQuotaValidationOptions, fld *field.Path) field.ErrorList { allErrs := field.ErrorList{} hardLimits := sets.NewString() for k := range resourceQuotaSpec.Hard { @@ -5424,7 +5426,7 @@ func validateScopedResourceSelectorRequirement(resourceQuotaSpec *core.ResourceQ fldPath := fld.Child("matchExpressions") scopeSet := sets.NewString() for _, req := range resourceQuotaSpec.ScopeSelector.MatchExpressions { - if !helper.IsStandardResourceQuotaScope(string(req.ScopeName)) { + if !helper.IsStandardResourceQuotaScope(string(req.ScopeName), opts.AllowPodAffinityNamespaceSelector) { allErrs = append(allErrs, field.Invalid(fldPath.Child("scopeName"), req.ScopeName, "unsupported scope")) } for _, k := range hardLimits.List() { @@ -5433,10 +5435,10 @@ func validateScopedResourceSelectorRequirement(resourceQuotaSpec *core.ResourceQ } } switch req.ScopeName { - case core.ResourceQuotaScopeBestEffort, core.ResourceQuotaScopeNotBestEffort, core.ResourceQuotaScopeTerminating, core.ResourceQuotaScopeNotTerminating: + case core.ResourceQuotaScopeBestEffort, core.ResourceQuotaScopeNotBestEffort, core.ResourceQuotaScopeTerminating, core.ResourceQuotaScopeNotTerminating, core.ResourceQuotaScopeCrossNamespacePodAffinity: if req.Operator != core.ScopeSelectorOpExists { allErrs = append(allErrs, field.Invalid(fldPath.Child("operator"), req.Operator, - "must be 'Exist' only operator when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort and ResourceQuotaScopeNotBestEffort")) + "must be 'Exist' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity")) } } @@ -5470,20 +5472,26 @@ func validateScopedResourceSelectorRequirement(resourceQuotaSpec *core.ResourceQ } // validateScopeSelector tests that the specified scope selector has valid data -func validateScopeSelector(resourceQuotaSpec *core.ResourceQuotaSpec, fld *field.Path) field.ErrorList { +func validateScopeSelector(resourceQuotaSpec *core.ResourceQuotaSpec, opts ResourceQuotaValidationOptions, fld *field.Path) field.ErrorList { allErrs := field.ErrorList{} if resourceQuotaSpec.ScopeSelector == nil { return allErrs } - allErrs = append(allErrs, validateScopedResourceSelectorRequirement(resourceQuotaSpec, fld.Child("scopeSelector"))...) + allErrs = append(allErrs, validateScopedResourceSelectorRequirement(resourceQuotaSpec, opts, fld.Child("scopeSelector"))...) return allErrs } +// ResourceQuotaValidationOptions contains the different settings for ResourceQuota validation +type ResourceQuotaValidationOptions struct { + // Allow pod-affinity namespace selector validation. + AllowPodAffinityNamespaceSelector bool +} + // ValidateResourceQuota tests if required fields in the ResourceQuota are set. -func ValidateResourceQuota(resourceQuota *core.ResourceQuota) field.ErrorList { +func ValidateResourceQuota(resourceQuota *core.ResourceQuota, opts ResourceQuotaValidationOptions) field.ErrorList { allErrs := ValidateObjectMeta(&resourceQuota.ObjectMeta, true, ValidateResourceQuotaName, field.NewPath("metadata")) - allErrs = append(allErrs, ValidateResourceQuotaSpec(&resourceQuota.Spec, field.NewPath("spec"))...) + allErrs = append(allErrs, ValidateResourceQuotaSpec(&resourceQuota.Spec, opts, field.NewPath("spec"))...) allErrs = append(allErrs, ValidateResourceQuotaStatus(&resourceQuota.Status, field.NewPath("status"))...) return allErrs @@ -5508,7 +5516,7 @@ func ValidateResourceQuotaStatus(status *core.ResourceQuotaStatus, fld *field.Pa return allErrs } -func ValidateResourceQuotaSpec(resourceQuotaSpec *core.ResourceQuotaSpec, fld *field.Path) field.ErrorList { +func ValidateResourceQuotaSpec(resourceQuotaSpec *core.ResourceQuotaSpec, opts ResourceQuotaValidationOptions, fld *field.Path) field.ErrorList { allErrs := field.ErrorList{} fldPath := fld.Child("hard") @@ -5517,8 +5525,9 @@ func ValidateResourceQuotaSpec(resourceQuotaSpec *core.ResourceQuotaSpec, fld *f allErrs = append(allErrs, ValidateResourceQuotaResourceName(string(k), resPath)...) allErrs = append(allErrs, ValidateResourceQuantityValue(string(k), v, resPath)...) } - allErrs = append(allErrs, validateResourceQuotaScopes(resourceQuotaSpec, fld)...) - allErrs = append(allErrs, validateScopeSelector(resourceQuotaSpec, fld)...) + + allErrs = append(allErrs, validateResourceQuotaScopes(resourceQuotaSpec, opts, fld)...) + allErrs = append(allErrs, validateScopeSelector(resourceQuotaSpec, opts, fld)...) return allErrs } @@ -5537,9 +5546,9 @@ func ValidateResourceQuantityValue(resource string, value resource.Quantity, fld // ValidateResourceQuotaUpdate tests to see if the update is legal for an end user to make. // newResourceQuota is updated with fields that cannot be changed. -func ValidateResourceQuotaUpdate(newResourceQuota, oldResourceQuota *core.ResourceQuota) field.ErrorList { +func ValidateResourceQuotaUpdate(newResourceQuota, oldResourceQuota *core.ResourceQuota, opts ResourceQuotaValidationOptions) field.ErrorList { allErrs := ValidateObjectMetaUpdate(&newResourceQuota.ObjectMeta, &oldResourceQuota.ObjectMeta, field.NewPath("metadata")) - allErrs = append(allErrs, ValidateResourceQuotaSpec(&newResourceQuota.Spec, field.NewPath("spec"))...) + allErrs = append(allErrs, ValidateResourceQuotaSpec(&newResourceQuota.Spec, opts, field.NewPath("spec"))...) // ensure scopes cannot change, and that resources are still valid for scope fldPath := field.NewPath("spec", "scopes") diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index c8109cf404ed..062cbb84ec23 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -4479,7 +4479,7 @@ func TestValidateResourceQuotaWithAlphaLocalStorageCapacityIsolation(t *testing. Spec: spec, } - if errs := ValidateResourceQuota(resourceQuota); len(errs) != 0 { + if errs := ValidateResourceQuota(resourceQuota, ResourceQuotaValidationOptions{}); len(errs) != 0 { t.Errorf("expected success: %v", errs) } } @@ -7405,6 +7405,15 @@ func TestValidatePod(t *testing.T) { }, TopologyKey: "zone", Namespaces: []string{"ns"}, + NamespaceSelector: &metav1.LabelSelector{ + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "key", + Operator: metav1.LabelSelectorOpIn, + Values: []string{"value1", "value2"}, + }, + }, + }, }, }, PreferredDuringSchedulingIgnoredDuringExecution: []core.WeightedPodAffinityTerm{ @@ -8138,7 +8147,7 @@ func TestValidatePod(t *testing.T) { }, }, "invalid labelSelector in preferredDuringSchedulingIgnoredDuringExecution in podaffinity annotations, values should be empty if the operator is Exists": { - expectedError: "spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0].podAffinityTerm.matchExpressions.matchExpressions[0].values", + expectedError: "spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0].podAffinityTerm.labelSelector.matchExpressions[0].values", spec: core.Pod{ ObjectMeta: metav1.ObjectMeta{ Name: "123", @@ -8168,7 +8177,68 @@ func TestValidatePod(t *testing.T) { }), }, }, - "invalid name space in preferredDuringSchedulingIgnoredDuringExecution in podaffinity annotations, name space shouldbe valid": { + "invalid namespaceSelector in preferredDuringSchedulingIgnoredDuringExecution in podaffinity, In operator must include Values": { + expectedError: "spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0].podAffinityTerm.namespaceSelector.matchExpressions[0].values", + spec: core.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "123", + Namespace: "ns", + }, + Spec: validPodSpec(&core.Affinity{ + PodAntiAffinity: &core.PodAntiAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []core.WeightedPodAffinityTerm{ + { + Weight: 10, + PodAffinityTerm: core.PodAffinityTerm{ + NamespaceSelector: &metav1.LabelSelector{ + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "key2", + Operator: metav1.LabelSelectorOpIn, + }, + }, + }, + Namespaces: []string{"ns"}, + TopologyKey: "region", + }, + }, + }, + }, + }), + }, + }, + "invalid namespaceSelector in preferredDuringSchedulingIgnoredDuringExecution in podaffinity, Exists operator can not have values": { + expectedError: "spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[0].podAffinityTerm.namespaceSelector.matchExpressions[0].values", + spec: core.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "123", + Namespace: "ns", + }, + Spec: validPodSpec(&core.Affinity{ + PodAntiAffinity: &core.PodAntiAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []core.WeightedPodAffinityTerm{ + { + Weight: 10, + PodAffinityTerm: core.PodAffinityTerm{ + NamespaceSelector: &metav1.LabelSelector{ + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "key2", + Operator: metav1.LabelSelectorOpExists, + Values: []string{"value1", "value2"}, + }, + }, + }, + Namespaces: []string{"ns"}, + TopologyKey: "region", + }, + }, + }, + }, + }), + }, + }, + "invalid name space in preferredDuringSchedulingIgnoredDuringExecution in podaffinity annotations, namespace should be valid": { expectedError: "spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[0].podAffinityTerm.namespace", spec: core.Pod{ ObjectMeta: metav1.ObjectMeta{ @@ -14128,6 +14198,14 @@ func TestValidateResourceQuota(t *testing.T) { Scopes: []core.ResourceQuotaScope{core.ResourceQuotaScopeNotBestEffort}, } + crossNamespaceAffinitySpec := core.ResourceQuotaSpec{ + Hard: core.ResourceList{ + core.ResourceCPU: resource.MustParse("100"), + core.ResourceLimitsCPU: resource.MustParse("200"), + }, + Scopes: []core.ResourceQuotaScope{core.ResourceQuotaScopeCrossNamespacePodAffinity}, + } + scopeSelectorSpec := core.ResourceQuotaSpec{ ScopeSelector: &core.ScopeSelector{ MatchExpressions: []core.ScopedResourceSelectorRequirement{ @@ -14189,6 +14267,18 @@ func TestValidateResourceQuota(t *testing.T) { Scopes: []core.ResourceQuotaScope{core.ResourceQuotaScopeBestEffort, core.ResourceQuotaScopeNotBestEffort}, } + invalidCrossNamespaceAffinitySpec := core.ResourceQuotaSpec{ + ScopeSelector: &core.ScopeSelector{ + MatchExpressions: []core.ScopedResourceSelectorRequirement{ + { + ScopeName: core.ResourceQuotaScopeCrossNamespacePodAffinity, + Operator: core.ScopeSelectorOpIn, + Values: []string{"cluster-services"}, + }, + }, + }, + } + invalidScopeNameSpec := core.ResourceQuotaSpec{ Hard: core.ResourceList{ core.ResourceCPU: resource.MustParse("100"), @@ -14196,118 +14286,151 @@ func TestValidateResourceQuota(t *testing.T) { Scopes: []core.ResourceQuotaScope{core.ResourceQuotaScope("foo")}, } - successCases := []core.ResourceQuota{ - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + testCases := map[string]struct { + rq core.ResourceQuota + errDetail string + errField string + disableNamespaceSelector bool + }{ + "no-scope": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: spec, }, - Spec: spec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "fractional-compute-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: fractionalComputeSpec, }, - Spec: fractionalComputeSpec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "terminating-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: terminatingSpec, }, - Spec: terminatingSpec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "non-terminating-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: nonTerminatingSpec, }, - Spec: nonTerminatingSpec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "best-effort-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: bestEffortSpec, }, - Spec: bestEffortSpec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "cross-namespace-affinity-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: crossNamespaceAffinitySpec, }, - Spec: scopeSelectorSpec, }, - { - ObjectMeta: metav1.ObjectMeta{ - Name: "abc", - Namespace: "foo", + "scope-selector-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: scopeSelectorSpec, + }, + }, + "non-best-effort-spec": { + rq: core.ResourceQuota{ + ObjectMeta: metav1.ObjectMeta{ + Name: "abc", + Namespace: "foo", + }, + Spec: nonBestEffortSpec, }, - Spec: nonBestEffortSpec, }, - } - for _, successCase := range successCases { - if errs := ValidateResourceQuota(&successCase); len(errs) != 0 { - t.Errorf("expected success: %v", errs) - } - } - - errorCases := map[string]struct { - R core.ResourceQuota - D string - }{ "zero-length Name": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "", Namespace: "foo"}, Spec: spec}, - "name or generateName is required", + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "", Namespace: "foo"}, Spec: spec}, + errDetail: "name or generateName is required", }, "zero-length Namespace": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: ""}, Spec: spec}, - "", + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: ""}, Spec: spec}, + errField: "metadata.namespace", }, "invalid Name": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "^Invalid", Namespace: "foo"}, Spec: spec}, - dnsSubdomainLabelErrMsg, + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "^Invalid", Namespace: "foo"}, Spec: spec}, + errDetail: dnsSubdomainLabelErrMsg, }, "invalid Namespace": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "^Invalid"}, Spec: spec}, - dnsLabelErrMsg, + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "^Invalid"}, Spec: spec}, + errDetail: dnsLabelErrMsg, }, "negative-limits": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: negativeSpec}, - isNegativeErrorMsg, + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: negativeSpec}, + errDetail: isNegativeErrorMsg, }, "fractional-api-resource": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: fractionalPodSpec}, - isNotIntegerErrorMsg, + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: fractionalPodSpec}, + errDetail: isNotIntegerErrorMsg, }, "invalid-quota-resource": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidQuotaResourceSpec}, - isInvalidQuotaResource, + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidQuotaResourceSpec}, + errDetail: isInvalidQuotaResource, }, "invalid-quota-terminating-pair": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidTerminatingScopePairsSpec}, - "conflicting scopes", + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidTerminatingScopePairsSpec}, + errDetail: "conflicting scopes", }, "invalid-quota-besteffort-pair": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidBestEffortScopePairsSpec}, - "conflicting scopes", + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidBestEffortScopePairsSpec}, + errDetail: "conflicting scopes", }, "invalid-quota-scope-name": { - core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidScopeNameSpec}, - "unsupported scope", + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidScopeNameSpec}, + errDetail: "unsupported scope", + }, + "invalid-cross-namespace-affinity": { + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: invalidCrossNamespaceAffinitySpec}, + errDetail: "must be 'Exist' when scope is any of ResourceQuotaScopeTerminating, ResourceQuotaScopeNotTerminating, ResourceQuotaScopeBestEffort, ResourceQuotaScopeNotBestEffort or ResourceQuotaScopeCrossNamespacePodAffinity", + }, + "cross-namespace-affinity-disabled": { + rq: core.ResourceQuota{ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: crossNamespaceAffinitySpec}, + errDetail: "unsupported scope", + disableNamespaceSelector: true, }, } - for k, v := range errorCases { - errs := ValidateResourceQuota(&v.R) - if len(errs) == 0 { - t.Errorf("expected failure for %s", k) - } - for i := range errs { - if !strings.Contains(errs[i].Detail, v.D) { - t.Errorf("[%s]: expected error detail either empty or %s, got %s", k, v.D, errs[i].Detail) + for name, tc := range testCases { + t.Run(name, func(t *testing.T) { + errs := ValidateResourceQuota(&tc.rq, ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: !tc.disableNamespaceSelector, + }) + if len(tc.errDetail) == 0 && len(tc.errField) == 0 && len(errs) != 0 { + t.Errorf("expected success: %v", errs) + } else if (len(tc.errDetail) != 0 || len(tc.errField) != 0) && len(errs) == 0 { + t.Errorf("expected failure") + } else { + for i := range errs { + if !strings.Contains(errs[i].Detail, tc.errDetail) { + t.Errorf("expected error detail either empty or %s, got %s", tc.errDetail, errs[i].Detail) + } + } } - } + }) } } diff --git a/pkg/apis/core/zz_generated.deepcopy.go b/pkg/apis/core/zz_generated.deepcopy.go index eab1009c1d97..ccc87fdb155a 100644 --- a/pkg/apis/core/zz_generated.deepcopy.go +++ b/pkg/apis/core/zz_generated.deepcopy.go @@ -3362,6 +3362,11 @@ func (in *PodAffinityTerm) DeepCopyInto(out *PodAffinityTerm) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.NamespaceSelector != nil { + in, out := &in.NamespaceSelector, &out.NamespaceSelector + *out = new(v1.LabelSelector) + (*in).DeepCopyInto(*out) + } return } diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index fb3cdfd4cd7c..9c378c5e61b8 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -676,6 +676,11 @@ const ( // // Enables controlling pod ranking on replicaset scale-down. PodDeletionCost featuregate.Feature = "PodDeletionCost" + // owner: @ahg-g + // alpha: v1.21 + // + // Allow specifying NamespaceSelector in PodAffinityTerm. + PodAffinityNamespaceSelector featuregate.Feature = "PodAffinityNamespaceSelector" ) func init() { @@ -778,6 +783,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS PreferNominatedNode: {Default: false, PreRelease: featuregate.Alpha}, RunAsGroup: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.22 PodDeletionCost: {Default: false, PreRelease: featuregate.Alpha}, + PodAffinityNamespaceSelector: {Default: false, PreRelease: featuregate.Alpha}, // inherited features from generic apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: diff --git a/pkg/quota/v1/evaluator/core/pods.go b/pkg/quota/v1/evaluator/core/pods.go index ede379ca63b2..ed44323e27e1 100644 --- a/pkg/quota/v1/evaluator/core/pods.go +++ b/pkg/quota/v1/evaluator/core/pods.go @@ -26,16 +26,17 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/clock" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" quota "k8s.io/apiserver/pkg/quota/v1" "k8s.io/apiserver/pkg/quota/v1/generic" + "k8s.io/apiserver/pkg/util/feature" api "k8s.io/kubernetes/pkg/apis/core" k8s_api_v1 "k8s.io/kubernetes/pkg/apis/core/v1" "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/apis/core/v1/helper/qos" + "k8s.io/kubernetes/pkg/features" ) // the name used for object count quota @@ -308,6 +309,8 @@ func podMatchesScopeFunc(selector corev1.ScopedResourceSelectorRequirement, obje return !isBestEffort(pod), nil case corev1.ResourceQuotaScopePriorityClass: return podMatchesSelector(pod, selector) + case corev1.ResourceQuotaScopeCrossNamespacePodAffinity: + return usesCrossNamespacePodAffinity(pod), nil } return false, nil } @@ -381,6 +384,59 @@ func podMatchesSelector(pod *corev1.Pod, selector corev1.ScopedResourceSelectorR return false, nil } +func crossNamespacePodAffinityTerm(term *corev1.PodAffinityTerm) bool { + return len(term.Namespaces) != 0 || term.NamespaceSelector != nil +} + +func crossNamespacePodAffinityTerms(terms []corev1.PodAffinityTerm) bool { + for _, t := range terms { + if crossNamespacePodAffinityTerm(&t) { + return true + } + } + return false +} + +func crossNamespaceWeightedPodAffinityTerms(terms []corev1.WeightedPodAffinityTerm) bool { + for _, t := range terms { + if crossNamespacePodAffinityTerm(&t.PodAffinityTerm) { + return true + } + } + return false +} + +func usesCrossNamespacePodAffinity(pod *corev1.Pod) bool { + if !feature.DefaultFeatureGate.Enabled(features.PodAffinityNamespaceSelector) { + return false + } + if pod == nil || pod.Spec.Affinity == nil { + return false + } + + affinity := pod.Spec.Affinity.PodAffinity + if affinity != nil { + if crossNamespacePodAffinityTerms(affinity.RequiredDuringSchedulingIgnoredDuringExecution) { + return true + } + if crossNamespaceWeightedPodAffinityTerms(affinity.PreferredDuringSchedulingIgnoredDuringExecution) { + return true + } + } + + antiAffinity := pod.Spec.Affinity.PodAntiAffinity + if antiAffinity != nil { + if crossNamespacePodAffinityTerms(antiAffinity.RequiredDuringSchedulingIgnoredDuringExecution) { + return true + } + if crossNamespaceWeightedPodAffinityTerms(antiAffinity.PreferredDuringSchedulingIgnoredDuringExecution) { + return true + } + } + + return false +} + // QuotaV1Pod returns true if the pod is eligible to track against a quota // if it's not in a terminal state according to its phase. func QuotaV1Pod(pod *corev1.Pod, clock clock.Clock) bool { diff --git a/pkg/quota/v1/evaluator/core/pods_test.go b/pkg/quota/v1/evaluator/core/pods_test.go index 4b27b9cf3e58..cd41719ed50d 100644 --- a/pkg/quota/v1/evaluator/core/pods_test.go +++ b/pkg/quota/v1/evaluator/core/pods_test.go @@ -20,6 +20,8 @@ import ( "testing" "time" + "github.com/google/go-cmp/cmp" + corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -27,7 +29,10 @@ import ( "k8s.io/apimachinery/pkg/util/clock" quota "k8s.io/apiserver/pkg/quota/v1" "k8s.io/apiserver/pkg/quota/v1/generic" + "k8s.io/apiserver/pkg/util/feature" + featuregatetesting "k8s.io/component-base/featuregate/testing" api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/util/node" ) @@ -446,3 +451,238 @@ func TestPodEvaluatorUsage(t *testing.T) { }) } } + +func TestPodEvaluatorMatchingScopes(t *testing.T) { + fakeClock := clock.NewFakeClock(time.Now()) + evaluator := NewPodEvaluator(nil, fakeClock) + activeDeadlineSeconds := int64(30) + testCases := map[string]struct { + pod *api.Pod + selectors []corev1.ScopedResourceSelectorRequirement + wantSelectors []corev1.ScopedResourceSelectorRequirement + disableNamespaceSelector bool + }{ + "EmptyPod": { + pod: &api.Pod{}, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeNotTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + }, + }, + "PriorityClass": { + pod: &api.Pod{ + Spec: api.PodSpec{ + PriorityClassName: "class1", + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeNotTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopePriorityClass, Operator: corev1.ScopeSelectorOpIn, Values: []string{"class1"}}, + }, + }, + "NotBestEffort": { + pod: &api.Pod{ + Spec: api.PodSpec{ + Containers: []api.Container{{ + Resources: api.ResourceRequirements{ + Requests: api.ResourceList{ + api.ResourceCPU: resource.MustParse("1"), + api.ResourceMemory: resource.MustParse("50M"), + api.ResourceName("example.com/dongle"): resource.MustParse("1"), + }, + Limits: api.ResourceList{ + api.ResourceCPU: resource.MustParse("2"), + api.ResourceMemory: resource.MustParse("100M"), + api.ResourceName("example.com/dongle"): resource.MustParse("1"), + }, + }, + }}, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeNotTerminating}, + {ScopeName: corev1.ResourceQuotaScopeNotBestEffort}, + }, + }, + "Terminating": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + }, + }, + "OnlyTerminating": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + }, + }, + selectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + }, + }, + "CrossNamespaceRequiredAffinity": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}, NamespaceSelector: &metav1.LabelSelector{}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "CrossNamespaceRequiredAffinityWithSlice": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns1"}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "CrossNamespacePreferredAffinity": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns2"}, NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "CrossNamespacePreferredAffinityWithSelector": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAffinity: &api.PodAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "CrossNamespacePreferredAntiAffinity": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAntiAffinity: &api.PodAntiAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []api.WeightedPodAffinityTerm{ + {PodAffinityTerm: api.PodAffinityTerm{LabelSelector: &metav1.LabelSelector{}, NamespaceSelector: &metav1.LabelSelector{}}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "CrossNamespaceRequiredAntiAffinity": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + }, + "NamespaceSelectorFeatureDisabled": { + pod: &api.Pod{ + Spec: api.PodSpec{ + ActiveDeadlineSeconds: &activeDeadlineSeconds, + Affinity: &api.Affinity{ + PodAntiAffinity: &api.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []api.PodAffinityTerm{ + {LabelSelector: &metav1.LabelSelector{}, Namespaces: []string{"ns3"}}, + }, + }, + }, + }, + }, + wantSelectors: []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + }, + disableNamespaceSelector: true, + }, + } + for testName, testCase := range testCases { + t.Run(testName, func(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.PodAffinityNamespaceSelector, !testCase.disableNamespaceSelector)() + if testCase.selectors == nil { + testCase.selectors = []corev1.ScopedResourceSelectorRequirement{ + {ScopeName: corev1.ResourceQuotaScopeTerminating}, + {ScopeName: corev1.ResourceQuotaScopeNotTerminating}, + {ScopeName: corev1.ResourceQuotaScopeBestEffort}, + {ScopeName: corev1.ResourceQuotaScopeNotBestEffort}, + {ScopeName: corev1.ResourceQuotaScopePriorityClass, Operator: corev1.ScopeSelectorOpIn, Values: []string{"class1"}}, + {ScopeName: corev1.ResourceQuotaScopeCrossNamespacePodAffinity}, + } + } + gotSelectors, err := evaluator.MatchingScopes(testCase.pod, testCase.selectors) + if err != nil { + t.Error(err) + } + if diff := cmp.Diff(testCase.wantSelectors, gotSelectors); diff != "" { + t.Errorf("%v: unexpected diff (-want, +got):\n%s", testName, diff) + } + }) + } +} diff --git a/pkg/registry/core/resourcequota/strategy.go b/pkg/registry/core/resourcequota/strategy.go index 3265cf554775..706954c6e035 100644 --- a/pkg/registry/core/resourcequota/strategy.go +++ b/pkg/registry/core/resourcequota/strategy.go @@ -22,9 +22,11 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apiserver/pkg/storage/names" + utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/kubernetes/pkg/api/legacyscheme" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/apis/core/validation" + "k8s.io/kubernetes/pkg/features" ) // resourcequotaStrategy implements behavior for ResourceQuota objects @@ -58,7 +60,8 @@ func (resourcequotaStrategy) PrepareForUpdate(ctx context.Context, obj, old runt // Validate validates a new resourcequota. func (resourcequotaStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { resourcequota := obj.(*api.ResourceQuota) - return validation.ValidateResourceQuota(resourcequota) + opts := getValidationOptionsFromResourceQuota(resourcequota, nil) + return validation.ValidateResourceQuota(resourcequota, opts) } // Canonicalize normalizes the object after validation. @@ -72,7 +75,9 @@ func (resourcequotaStrategy) AllowCreateOnUpdate() bool { // ValidateUpdate is the default update validation for an end user. func (resourcequotaStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return validation.ValidateResourceQuotaUpdate(obj.(*api.ResourceQuota), old.(*api.ResourceQuota)) + newObj, oldObj := obj.(*api.ResourceQuota), old.(*api.ResourceQuota) + opts := getValidationOptionsFromResourceQuota(newObj, oldObj) + return validation.ValidateResourceQuotaUpdate(newObj, oldObj, opts) } func (resourcequotaStrategy) AllowUnconditionalUpdate() bool { @@ -95,3 +100,37 @@ func (resourcequotaStatusStrategy) PrepareForUpdate(ctx context.Context, obj, ol func (resourcequotaStatusStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidateResourceQuotaStatusUpdate(obj.(*api.ResourceQuota), old.(*api.ResourceQuota)) } + +func getValidationOptionsFromResourceQuota(newObj *api.ResourceQuota, oldObj *api.ResourceQuota) validation.ResourceQuotaValidationOptions { + opts := validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: utilfeature.DefaultFeatureGate.Enabled(features.PodAffinityNamespaceSelector), + } + + if oldObj == nil { + return opts + } + + opts.AllowPodAffinityNamespaceSelector = opts.AllowPodAffinityNamespaceSelector || hasCrossNamespacePodAffinityScope(&oldObj.Spec) + return opts +} + +func hasCrossNamespacePodAffinityScope(spec *api.ResourceQuotaSpec) bool { + if spec == nil { + return false + } + for _, scope := range spec.Scopes { + if scope == api.ResourceQuotaScopeCrossNamespacePodAffinity { + return true + } + } + + if spec.ScopeSelector == nil { + return false + } + for _, req := range spec.ScopeSelector.MatchExpressions { + if req.ScopeName == api.ResourceQuotaScopeCrossNamespacePodAffinity { + return true + } + } + return false +} diff --git a/pkg/registry/core/resourcequota/strategy_test.go b/pkg/registry/core/resourcequota/strategy_test.go index c571c2a336dc..47b3f500ac20 100644 --- a/pkg/registry/core/resourcequota/strategy_test.go +++ b/pkg/registry/core/resourcequota/strategy_test.go @@ -19,10 +19,16 @@ package resourcequota import ( "testing" + "github.com/google/go-cmp/cmp" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" + utilfeature "k8s.io/apiserver/pkg/util/feature" + featuregatetesting "k8s.io/component-base/featuregate/testing" api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/apis/core/validation" + "k8s.io/kubernetes/pkg/features" ) func TestResourceQuotaStrategy(t *testing.T) { @@ -58,3 +64,65 @@ func TestResourceQuotaStrategy(t *testing.T) { t.Errorf("ResourceQuota does not allow setting status on create") } } + +func TestGetValidationOptionsFromResourceQuota(t *testing.T) { + crossNamespaceAffinity := api.ResourceQuota{Spec: api.ResourceQuotaSpec{ + Scopes: []api.ResourceQuotaScope{api.ResourceQuotaScopeCrossNamespacePodAffinity}, + }, + } + + for name, tc := range map[string]struct { + old *api.ResourceQuota + namespaceSelectorFeatureEnabled bool + wantOpts validation.ResourceQuotaValidationOptions + }{ + "create-feature-enabled": { + namespaceSelectorFeatureEnabled: true, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: true, + }, + }, + "create-feature-disabled": { + namespaceSelectorFeatureEnabled: false, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: false, + }, + }, + "update-old-doesn't-include-scope-feature-enabled": { + old: &api.ResourceQuota{}, + namespaceSelectorFeatureEnabled: true, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: true, + }, + }, + "update-old-doesn't-include-scope-feature-disabled": { + old: &api.ResourceQuota{}, + namespaceSelectorFeatureEnabled: false, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: false, + }, + }, + "update-old-includes-scope-feature-disabled": { + old: &crossNamespaceAffinity, + namespaceSelectorFeatureEnabled: false, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: true, + }, + }, + "update-old-includes-scope-feature-enabled": { + old: &crossNamespaceAffinity, + namespaceSelectorFeatureEnabled: true, + wantOpts: validation.ResourceQuotaValidationOptions{ + AllowPodAffinityNamespaceSelector: true, + }, + }, + } { + t.Run(name, func(t *testing.T) { + defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.PodAffinityNamespaceSelector, tc.namespaceSelectorFeatureEnabled)() + gotOpts := getValidationOptionsFromResourceQuota(nil, tc.old) + if diff := cmp.Diff(tc.wantOpts, gotOpts); diff != "" { + t.Errorf("unexpected opts (-want, +got):\n%s", diff) + } + }) + } +} diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go index 44787de59045..0dfed68af448 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/policy.go @@ -547,6 +547,8 @@ func ClusterRoles() []rbacv1.ClusterRole { rbacv1helpers.NewRule("create").Groups(authorizationGroup).Resources("subjectaccessreviews").RuleOrDie(), // Needed for volume limits rbacv1helpers.NewRule(Read...).Groups(storageGroup).Resources("csinodes").RuleOrDie(), + // Needed for namespaceSelector feature in pod affinity + rbacv1helpers.NewRule(Read...).Groups(legacyGroup).Resources("namespaces").RuleOrDie(), } if utilfeature.DefaultFeatureGate.Enabled(features.CSIStorageCapacity) { kubeSchedulerRules = append(kubeSchedulerRules, diff --git a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/cluster-roles.yaml b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/cluster-roles.yaml index 2f571c764c46..8a11893fbb59 100644 --- a/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/cluster-roles.yaml +++ b/plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/cluster-roles.yaml @@ -827,6 +827,14 @@ items: - get - list - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: diff --git a/staging/src/k8s.io/api/core/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go index 825a7b5da8ff..6acbc8f144c0 100644 --- a/staging/src/k8s.io/api/core/v1/generated.pb.go +++ b/staging/src/k8s.io/api/core/v1/generated.pb.go @@ -6116,882 +6116,884 @@ func init() { } var fileDescriptor_83c10c24ec417dc9 = []byte{ - // 13997 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x70, 0x5c, 0xd7, - 0x79, 0x98, 0xef, 0x2e, 0x5e, 0xfb, 0xe1, 0x7d, 0x40, 0x52, 0x20, 0x24, 0x12, 0xd4, 0x95, 0x4d, - 0x51, 0x96, 0x04, 0x9a, 0x7a, 0xd8, 0x8a, 0x64, 0x2b, 0x06, 0xb0, 0x00, 0xb9, 0x22, 0x01, 0xae, - 0xce, 0x82, 0xa4, 0xed, 0xc8, 0x1e, 0x5f, 0xec, 0x1e, 0x00, 0x57, 0xd8, 0xbd, 0x77, 0x75, 0xef, - 0x5d, 0x90, 0x50, 0x9d, 0x69, 0xea, 0x3c, 0x9d, 0x47, 0xc7, 0xd3, 0xc9, 0xf4, 0x91, 0x64, 0x32, - 0x9d, 0x34, 0x9d, 0xc4, 0x75, 0xdb, 0x69, 0x9a, 0x34, 0x49, 0xe3, 0xb4, 0x49, 0x9b, 0x3e, 0xd2, - 0xfe, 0x48, 0xd3, 0x4c, 0x1b, 0x67, 0x26, 0x53, 0x34, 0x61, 0x3a, 0xcd, 0xf8, 0x47, 0x93, 0xb4, - 0x49, 0x7f, 0x14, 0xcd, 0x34, 0x9d, 0xf3, 0xbc, 0xe7, 0xdc, 0xc7, 0xee, 0x82, 0x02, 0x61, 0xd9, - 0xa3, 0x7f, 0xbb, 0xe7, 0xfb, 0xce, 0x77, 0xce, 0x3d, 0xcf, 0xef, 0x7c, 0x4f, 0x78, 0x65, 0xf7, - 0xa5, 0x70, 0xc1, 0xf5, 0x2f, 0xef, 0x76, 0x36, 0x49, 0xe0, 0x91, 0x88, 0x84, 0x97, 0xf7, 0x88, - 0xd7, 0xf0, 0x83, 0xcb, 0x02, 0xe0, 0xb4, 0xdd, 0xcb, 0x75, 0x3f, 0x20, 0x97, 0xf7, 0xae, 0x5c, - 0xde, 0x26, 0x1e, 0x09, 0x9c, 0x88, 0x34, 0x16, 0xda, 0x81, 0x1f, 0xf9, 0x08, 0x71, 0x9c, 0x05, - 0xa7, 0xed, 0x2e, 0x50, 0x9c, 0x85, 0xbd, 0x2b, 0x73, 0xcf, 0x6e, 0xbb, 0xd1, 0x4e, 0x67, 0x73, - 0xa1, 0xee, 0xb7, 0x2e, 0x6f, 0xfb, 0xdb, 0xfe, 0x65, 0x86, 0xba, 0xd9, 0xd9, 0x62, 0xff, 0xd8, - 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x7b, 0x21, 0x6e, 0xa6, 0xe5, 0xd4, 0x77, 0x5c, 0x8f, 0x04, 0xfb, - 0x97, 0xdb, 0xbb, 0xdb, 0xac, 0xdd, 0x80, 0x84, 0x7e, 0x27, 0xa8, 0x93, 0x64, 0xc3, 0x5d, 0x6b, - 0x85, 0x97, 0x5b, 0x24, 0x72, 0x32, 0xba, 0x3b, 0x77, 0x39, 0xaf, 0x56, 0xd0, 0xf1, 0x22, 0xb7, - 0x95, 0x6e, 0xe6, 0xc3, 0xbd, 0x2a, 0x84, 0xf5, 0x1d, 0xd2, 0x72, 0x52, 0xf5, 0x9e, 0xcf, 0xab, - 0xd7, 0x89, 0xdc, 0xe6, 0x65, 0xd7, 0x8b, 0xc2, 0x28, 0x48, 0x56, 0xb2, 0xbf, 0x6a, 0xc1, 0x85, - 0xc5, 0x3b, 0xb5, 0x95, 0xa6, 0x13, 0x46, 0x6e, 0x7d, 0xa9, 0xe9, 0xd7, 0x77, 0x6b, 0x91, 0x1f, - 0x90, 0xdb, 0x7e, 0xb3, 0xd3, 0x22, 0x35, 0x36, 0x10, 0xe8, 0x19, 0x18, 0xd9, 0x63, 0xff, 0x2b, - 0xe5, 0x59, 0xeb, 0x82, 0x75, 0xa9, 0xb4, 0x34, 0xf5, 0xeb, 0x07, 0xf3, 0xef, 0xbb, 0x7f, 0x30, - 0x3f, 0x72, 0x5b, 0x94, 0x63, 0x85, 0x81, 0x2e, 0xc2, 0xd0, 0x56, 0xb8, 0xb1, 0xdf, 0x26, 0xb3, - 0x05, 0x86, 0x3b, 0x21, 0x70, 0x87, 0x56, 0x6b, 0xb4, 0x14, 0x0b, 0x28, 0xba, 0x0c, 0xa5, 0xb6, - 0x13, 0x44, 0x6e, 0xe4, 0xfa, 0xde, 0x6c, 0xf1, 0x82, 0x75, 0x69, 0x70, 0x69, 0x5a, 0xa0, 0x96, - 0xaa, 0x12, 0x80, 0x63, 0x1c, 0xda, 0x8d, 0x80, 0x38, 0x8d, 0x9b, 0x5e, 0x73, 0x7f, 0x76, 0xe0, - 0x82, 0x75, 0x69, 0x24, 0xee, 0x06, 0x16, 0xe5, 0x58, 0x61, 0xd8, 0x3f, 0x52, 0x80, 0x91, 0xc5, - 0xad, 0x2d, 0xd7, 0x73, 0xa3, 0x7d, 0x74, 0x1b, 0xc6, 0x3c, 0xbf, 0x41, 0xe4, 0x7f, 0xf6, 0x15, - 0xa3, 0xcf, 0x5d, 0x58, 0x48, 0x2f, 0xa5, 0x85, 0x75, 0x0d, 0x6f, 0x69, 0xea, 0xfe, 0xc1, 0xfc, - 0x98, 0x5e, 0x82, 0x0d, 0x3a, 0x08, 0xc3, 0x68, 0xdb, 0x6f, 0x28, 0xb2, 0x05, 0x46, 0x76, 0x3e, - 0x8b, 0x6c, 0x35, 0x46, 0x5b, 0x9a, 0xbc, 0x7f, 0x30, 0x3f, 0xaa, 0x15, 0x60, 0x9d, 0x08, 0xda, - 0x84, 0x49, 0xfa, 0xd7, 0x8b, 0x5c, 0x45, 0xb7, 0xc8, 0xe8, 0x3e, 0x91, 0x47, 0x57, 0x43, 0x5d, - 0x9a, 0xb9, 0x7f, 0x30, 0x3f, 0x99, 0x28, 0xc4, 0x49, 0x82, 0xf6, 0xdb, 0x30, 0xb1, 0x18, 0x45, - 0x4e, 0x7d, 0x87, 0x34, 0xf8, 0x0c, 0xa2, 0x17, 0x60, 0xc0, 0x73, 0x5a, 0x44, 0xcc, 0xef, 0x05, - 0x31, 0xb0, 0x03, 0xeb, 0x4e, 0x8b, 0x1c, 0x1e, 0xcc, 0x4f, 0xdd, 0xf2, 0xdc, 0xb7, 0x3a, 0x62, - 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x73, 0x00, 0x0d, 0xb2, 0xe7, 0xd6, 0x49, 0xd5, 0x89, 0x76, - 0xc4, 0x7c, 0x23, 0x51, 0x17, 0xca, 0x0a, 0x82, 0x35, 0x2c, 0xfb, 0x1e, 0x94, 0x16, 0xf7, 0x7c, - 0xb7, 0x51, 0xf5, 0x1b, 0x21, 0xda, 0x85, 0xc9, 0x76, 0x40, 0xb6, 0x48, 0xa0, 0x8a, 0x66, 0xad, - 0x0b, 0xc5, 0x4b, 0xa3, 0xcf, 0x5d, 0xca, 0xfc, 0x58, 0x13, 0x75, 0xc5, 0x8b, 0x82, 0xfd, 0xa5, - 0x47, 0x44, 0x7b, 0x93, 0x09, 0x28, 0x4e, 0x52, 0xb6, 0xff, 0x55, 0x01, 0x4e, 0x2f, 0xbe, 0xdd, - 0x09, 0x48, 0xd9, 0x0d, 0x77, 0x93, 0x2b, 0xbc, 0xe1, 0x86, 0xbb, 0xeb, 0xf1, 0x08, 0xa8, 0xa5, - 0x55, 0x16, 0xe5, 0x58, 0x61, 0xa0, 0x67, 0x61, 0x98, 0xfe, 0xbe, 0x85, 0x2b, 0xe2, 0x93, 0x67, - 0x04, 0xf2, 0x68, 0xd9, 0x89, 0x9c, 0x32, 0x07, 0x61, 0x89, 0x83, 0xd6, 0x60, 0xb4, 0xce, 0x36, - 0xe4, 0xf6, 0x9a, 0xdf, 0x20, 0x6c, 0x32, 0x4b, 0x4b, 0x4f, 0x53, 0xf4, 0xe5, 0xb8, 0xf8, 0xf0, - 0x60, 0x7e, 0x96, 0xf7, 0x4d, 0x90, 0xd0, 0x60, 0x58, 0xaf, 0x8f, 0x6c, 0xb5, 0xbf, 0x06, 0x18, - 0x25, 0xc8, 0xd8, 0x5b, 0x97, 0xb4, 0xad, 0x32, 0xc8, 0xb6, 0xca, 0x58, 0xf6, 0x36, 0x41, 0x57, - 0x60, 0x60, 0xd7, 0xf5, 0x1a, 0xb3, 0x43, 0x8c, 0xd6, 0x39, 0x3a, 0xe7, 0xd7, 0x5d, 0xaf, 0x71, - 0x78, 0x30, 0x3f, 0x6d, 0x74, 0x87, 0x16, 0x62, 0x86, 0x6a, 0xff, 0xa9, 0x05, 0xf3, 0x0c, 0xb6, - 0xea, 0x36, 0x49, 0x95, 0x04, 0xa1, 0x1b, 0x46, 0xc4, 0x8b, 0x8c, 0x01, 0x7d, 0x0e, 0x20, 0x24, - 0xf5, 0x80, 0x44, 0xda, 0x90, 0xaa, 0x85, 0x51, 0x53, 0x10, 0xac, 0x61, 0xd1, 0x03, 0x21, 0xdc, - 0x71, 0x02, 0xb6, 0xbe, 0xc4, 0xc0, 0xaa, 0x03, 0xa1, 0x26, 0x01, 0x38, 0xc6, 0x31, 0x0e, 0x84, - 0x62, 0xaf, 0x03, 0x01, 0x7d, 0x0c, 0x26, 0xe3, 0xc6, 0xc2, 0xb6, 0x53, 0x97, 0x03, 0xc8, 0xb6, - 0x4c, 0xcd, 0x04, 0xe1, 0x24, 0xae, 0xfd, 0xf7, 0x2c, 0xb1, 0x78, 0xe8, 0x57, 0xbf, 0xcb, 0xbf, - 0xd5, 0xfe, 0x45, 0x0b, 0x86, 0x97, 0x5c, 0xaf, 0xe1, 0x7a, 0xdb, 0xe8, 0xb3, 0x30, 0x42, 0xef, - 0xa6, 0x86, 0x13, 0x39, 0xe2, 0xdc, 0xfb, 0x90, 0xb6, 0xb7, 0xd4, 0x55, 0xb1, 0xd0, 0xde, 0xdd, - 0xa6, 0x05, 0xe1, 0x02, 0xc5, 0xa6, 0xbb, 0xed, 0xe6, 0xe6, 0x9b, 0xa4, 0x1e, 0xad, 0x91, 0xc8, - 0x89, 0x3f, 0x27, 0x2e, 0xc3, 0x8a, 0x2a, 0xba, 0x0e, 0x43, 0x91, 0x13, 0x6c, 0x93, 0x48, 0x1c, - 0x80, 0x99, 0x07, 0x15, 0xaf, 0x89, 0xe9, 0x8e, 0x24, 0x5e, 0x9d, 0xc4, 0xd7, 0xc2, 0x06, 0xab, - 0x8a, 0x05, 0x09, 0xfb, 0x87, 0x86, 0xe1, 0xec, 0x72, 0xad, 0x92, 0xb3, 0xae, 0x2e, 0xc2, 0x50, - 0x23, 0x70, 0xf7, 0x48, 0x20, 0xc6, 0x59, 0x51, 0x29, 0xb3, 0x52, 0x2c, 0xa0, 0xe8, 0x25, 0x18, - 0xe3, 0x17, 0xd2, 0x35, 0xc7, 0x6b, 0x34, 0xe5, 0x10, 0x9f, 0x12, 0xd8, 0x63, 0xb7, 0x35, 0x18, - 0x36, 0x30, 0x8f, 0xb8, 0xa8, 0x2e, 0x26, 0x36, 0x63, 0xde, 0x65, 0xf7, 0x05, 0x0b, 0xa6, 0x78, - 0x33, 0x8b, 0x51, 0x14, 0xb8, 0x9b, 0x9d, 0x88, 0x84, 0xb3, 0x83, 0xec, 0xa4, 0x5b, 0xce, 0x1a, - 0xad, 0xdc, 0x11, 0x58, 0xb8, 0x9d, 0xa0, 0xc2, 0x0f, 0xc1, 0x59, 0xd1, 0xee, 0x54, 0x12, 0x8c, - 0x53, 0xcd, 0xa2, 0xef, 0xb4, 0x60, 0xae, 0xee, 0x7b, 0x51, 0xe0, 0x37, 0x9b, 0x24, 0xa8, 0x76, - 0x36, 0x9b, 0x6e, 0xb8, 0xc3, 0xd7, 0x29, 0x26, 0x5b, 0xec, 0x24, 0xc8, 0x99, 0x43, 0x85, 0x24, - 0xe6, 0xf0, 0xfc, 0xfd, 0x83, 0xf9, 0xb9, 0xe5, 0x5c, 0x52, 0xb8, 0x4b, 0x33, 0x68, 0x17, 0x10, - 0xbd, 0x4a, 0x6b, 0x91, 0xb3, 0x4d, 0xe2, 0xc6, 0x87, 0xfb, 0x6f, 0xfc, 0xcc, 0xfd, 0x83, 0x79, - 0xb4, 0x9e, 0x22, 0x81, 0x33, 0xc8, 0xa2, 0xb7, 0xe0, 0x14, 0x2d, 0x4d, 0x7d, 0xeb, 0x48, 0xff, - 0xcd, 0xcd, 0xde, 0x3f, 0x98, 0x3f, 0xb5, 0x9e, 0x41, 0x04, 0x67, 0x92, 0x46, 0xdf, 0x61, 0xc1, - 0xd9, 0xf8, 0xf3, 0x57, 0xee, 0xb5, 0x1d, 0xaf, 0x11, 0x37, 0x5c, 0xea, 0xbf, 0x61, 0x7a, 0x26, - 0x9f, 0x5d, 0xce, 0xa3, 0x84, 0xf3, 0x1b, 0x99, 0x5b, 0x86, 0xd3, 0x99, 0xab, 0x05, 0x4d, 0x41, - 0x71, 0x97, 0x70, 0x2e, 0xa8, 0x84, 0xe9, 0x4f, 0x74, 0x0a, 0x06, 0xf7, 0x9c, 0x66, 0x47, 0x6c, - 0x14, 0xcc, 0xff, 0xbc, 0x5c, 0x78, 0xc9, 0xb2, 0xff, 0x75, 0x11, 0x26, 0x97, 0x6b, 0x95, 0x07, - 0xda, 0x85, 0xfa, 0x35, 0x54, 0xe8, 0x7a, 0x0d, 0xc5, 0x97, 0x5a, 0x31, 0xf7, 0x52, 0xfb, 0xcb, - 0x19, 0x5b, 0x68, 0x80, 0x6d, 0xa1, 0x6f, 0xc9, 0xd9, 0x42, 0xc7, 0xbc, 0x71, 0xf6, 0x72, 0x56, - 0xd1, 0x20, 0x9b, 0xcc, 0x4c, 0x8e, 0xe5, 0x86, 0x5f, 0x77, 0x9a, 0xc9, 0xa3, 0xef, 0x88, 0x4b, - 0xe9, 0x78, 0xe6, 0xb1, 0x0e, 0x63, 0xcb, 0x4e, 0xdb, 0xd9, 0x74, 0x9b, 0x6e, 0xe4, 0x92, 0x10, - 0x3d, 0x09, 0x45, 0xa7, 0xd1, 0x60, 0xdc, 0x56, 0x69, 0xe9, 0xf4, 0xfd, 0x83, 0xf9, 0xe2, 0x62, - 0x83, 0x5e, 0xfb, 0xa0, 0xb0, 0xf6, 0x31, 0xc5, 0x40, 0x1f, 0x84, 0x81, 0x46, 0xe0, 0xb7, 0x67, - 0x0b, 0x0c, 0x93, 0xee, 0xba, 0x81, 0x72, 0xe0, 0xb7, 0x13, 0xa8, 0x0c, 0xc7, 0xfe, 0xd5, 0x02, - 0x3c, 0xb6, 0x4c, 0xda, 0x3b, 0xab, 0xb5, 0x9c, 0xf3, 0xfb, 0x12, 0x8c, 0xb4, 0x7c, 0xcf, 0x8d, - 0xfc, 0x20, 0x14, 0x4d, 0xb3, 0x15, 0xb1, 0x26, 0xca, 0xb0, 0x82, 0xa2, 0x0b, 0x30, 0xd0, 0x8e, - 0x99, 0xca, 0x31, 0xc9, 0x90, 0x32, 0x76, 0x92, 0x41, 0x28, 0x46, 0x27, 0x24, 0x81, 0x58, 0x31, - 0x0a, 0xe3, 0x56, 0x48, 0x02, 0xcc, 0x20, 0xf1, 0xcd, 0x4c, 0xef, 0x6c, 0x71, 0x42, 0x27, 0x6e, - 0x66, 0x0a, 0xc1, 0x1a, 0x16, 0xaa, 0x42, 0x29, 0x4c, 0xcc, 0x6c, 0x5f, 0xdb, 0x74, 0x9c, 0x5d, - 0xdd, 0x6a, 0x26, 0x63, 0x22, 0xc6, 0x8d, 0x32, 0xd4, 0xf3, 0xea, 0xfe, 0x4a, 0x01, 0x10, 0x1f, - 0xc2, 0x6f, 0xb0, 0x81, 0xbb, 0x95, 0x1e, 0xb8, 0xfe, 0xb7, 0xc4, 0x71, 0x8d, 0xde, 0x9f, 0x59, - 0xf0, 0xd8, 0xb2, 0xeb, 0x35, 0x48, 0x90, 0xb3, 0x00, 0x1f, 0xce, 0x5b, 0xf6, 0x68, 0x4c, 0x83, - 0xb1, 0xc4, 0x06, 0x8e, 0x61, 0x89, 0xd9, 0x7f, 0x6c, 0x01, 0xe2, 0x9f, 0xfd, 0xae, 0xfb, 0xd8, - 0x5b, 0xe9, 0x8f, 0x3d, 0x86, 0x65, 0x61, 0xdf, 0x80, 0x89, 0xe5, 0xa6, 0x4b, 0xbc, 0xa8, 0x52, - 0x5d, 0xf6, 0xbd, 0x2d, 0x77, 0x1b, 0xbd, 0x0c, 0x13, 0x91, 0xdb, 0x22, 0x7e, 0x27, 0xaa, 0x91, - 0xba, 0xef, 0xb1, 0x97, 0xa4, 0x75, 0x69, 0x70, 0x09, 0xdd, 0x3f, 0x98, 0x9f, 0xd8, 0x30, 0x20, - 0x38, 0x81, 0x69, 0xff, 0x2e, 0x1d, 0x3f, 0xbf, 0xd5, 0xf6, 0x3d, 0xe2, 0x45, 0xcb, 0xbe, 0xd7, - 0xe0, 0x12, 0x87, 0x97, 0x61, 0x20, 0xa2, 0xe3, 0xc1, 0xc7, 0xee, 0xa2, 0xdc, 0x28, 0x74, 0x14, - 0x0e, 0x0f, 0xe6, 0xcf, 0xa4, 0x6b, 0xb0, 0x71, 0x62, 0x75, 0xd0, 0xb7, 0xc0, 0x50, 0x18, 0x39, - 0x51, 0x27, 0x14, 0xa3, 0xf9, 0xb8, 0x1c, 0xcd, 0x1a, 0x2b, 0x3d, 0x3c, 0x98, 0x9f, 0x54, 0xd5, - 0x78, 0x11, 0x16, 0x15, 0xd0, 0x53, 0x30, 0xdc, 0x22, 0x61, 0xe8, 0x6c, 0xcb, 0xdb, 0x70, 0x52, - 0xd4, 0x1d, 0x5e, 0xe3, 0xc5, 0x58, 0xc2, 0xd1, 0x13, 0x30, 0x48, 0x82, 0xc0, 0x0f, 0xc4, 0x1e, - 0x1d, 0x17, 0x88, 0x83, 0x2b, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0x1f, 0x2c, 0x98, 0x54, 0x7d, 0xe5, - 0x6d, 0x9d, 0xc0, 0xab, 0xe0, 0x53, 0x00, 0x75, 0xf9, 0x81, 0x21, 0xbb, 0x3d, 0x46, 0x9f, 0xbb, - 0x98, 0x79, 0x51, 0xa7, 0x86, 0x31, 0xa6, 0xac, 0x8a, 0x42, 0xac, 0x51, 0xb3, 0xff, 0x99, 0x05, - 0x33, 0x89, 0x2f, 0xba, 0xe1, 0x86, 0x11, 0x7a, 0x23, 0xf5, 0x55, 0x0b, 0xfd, 0x7d, 0x15, 0xad, - 0xcd, 0xbe, 0x49, 0x2d, 0x65, 0x59, 0xa2, 0x7d, 0xd1, 0x35, 0x18, 0x74, 0x23, 0xd2, 0x92, 0x1f, - 0xf3, 0x44, 0xd7, 0x8f, 0xe1, 0xbd, 0x8a, 0x67, 0xa4, 0x42, 0x6b, 0x62, 0x4e, 0xc0, 0xfe, 0xd5, - 0x22, 0x94, 0xf8, 0xb2, 0x5d, 0x73, 0xda, 0x27, 0x30, 0x17, 0x4f, 0x43, 0xc9, 0x6d, 0xb5, 0x3a, - 0x91, 0xb3, 0x29, 0x8e, 0xf3, 0x11, 0xbe, 0xb5, 0x2a, 0xb2, 0x10, 0xc7, 0x70, 0x54, 0x81, 0x01, - 0xd6, 0x15, 0xfe, 0x95, 0x4f, 0x66, 0x7f, 0xa5, 0xe8, 0xfb, 0x42, 0xd9, 0x89, 0x1c, 0xce, 0x49, - 0xa9, 0x7b, 0x84, 0x16, 0x61, 0x46, 0x02, 0x39, 0x00, 0x9b, 0xae, 0xe7, 0x04, 0xfb, 0xb4, 0x6c, - 0xb6, 0xc8, 0x08, 0x3e, 0xdb, 0x9d, 0xe0, 0x92, 0xc2, 0xe7, 0x64, 0xd5, 0x87, 0xc5, 0x00, 0xac, - 0x11, 0x9d, 0xfb, 0x08, 0x94, 0x14, 0xf2, 0x51, 0x18, 0xa2, 0xb9, 0x8f, 0xc1, 0x64, 0xa2, 0xad, - 0x5e, 0xd5, 0xc7, 0x74, 0x7e, 0xea, 0x97, 0xd8, 0x91, 0x21, 0x7a, 0xbd, 0xe2, 0xed, 0x89, 0x23, - 0xf7, 0x6d, 0x38, 0xd5, 0xcc, 0x38, 0xc9, 0xc4, 0xbc, 0xf6, 0x7f, 0xf2, 0x3d, 0x26, 0x3e, 0xfb, - 0x54, 0x16, 0x14, 0x67, 0xb6, 0x41, 0x79, 0x04, 0xbf, 0x4d, 0x37, 0x88, 0xd3, 0xd4, 0xd9, 0xed, - 0x9b, 0xa2, 0x0c, 0x2b, 0x28, 0x3d, 0xef, 0x4e, 0xa9, 0xce, 0x5f, 0x27, 0xfb, 0x35, 0xd2, 0x24, - 0xf5, 0xc8, 0x0f, 0xbe, 0xae, 0xdd, 0x3f, 0xc7, 0x47, 0x9f, 0x1f, 0x97, 0xa3, 0x82, 0x40, 0xf1, - 0x3a, 0xd9, 0xe7, 0x53, 0xa1, 0x7f, 0x5d, 0xb1, 0xeb, 0xd7, 0xfd, 0x8c, 0x05, 0xe3, 0xea, 0xeb, - 0x4e, 0xe0, 0x5c, 0x58, 0x32, 0xcf, 0x85, 0x73, 0x5d, 0x17, 0x78, 0xce, 0x89, 0xf0, 0x95, 0x02, - 0x9c, 0x55, 0x38, 0xf4, 0x6d, 0xc0, 0xff, 0x88, 0x55, 0x75, 0x19, 0x4a, 0x9e, 0x92, 0x5a, 0x59, - 0xa6, 0xb8, 0x28, 0x96, 0x59, 0xc5, 0x38, 0x94, 0xc5, 0xf3, 0x62, 0xd1, 0xd2, 0x98, 0x2e, 0xce, - 0x15, 0xa2, 0xdb, 0x25, 0x28, 0x76, 0xdc, 0x86, 0xb8, 0x60, 0x3e, 0x24, 0x47, 0xfb, 0x56, 0xa5, - 0x7c, 0x78, 0x30, 0xff, 0x78, 0x9e, 0x2a, 0x81, 0xde, 0x6c, 0xe1, 0xc2, 0xad, 0x4a, 0x19, 0xd3, - 0xca, 0x68, 0x11, 0x26, 0xa5, 0xb6, 0xe4, 0x36, 0x65, 0xb7, 0x7c, 0x4f, 0xdc, 0x43, 0x4a, 0x26, - 0x8b, 0x4d, 0x30, 0x4e, 0xe2, 0xa3, 0x32, 0x4c, 0xed, 0x76, 0x36, 0x49, 0x93, 0x44, 0xfc, 0x83, - 0xaf, 0x13, 0x2e, 0xb1, 0x2c, 0xc5, 0x2f, 0xb3, 0xeb, 0x09, 0x38, 0x4e, 0xd5, 0xb0, 0xff, 0x82, - 0xdd, 0x07, 0x62, 0xf4, 0xaa, 0x81, 0x4f, 0x17, 0x16, 0xa5, 0xfe, 0xf5, 0x5c, 0xce, 0xfd, 0xac, - 0x8a, 0xeb, 0x64, 0x7f, 0xc3, 0xa7, 0x9c, 0x79, 0xf6, 0xaa, 0x30, 0xd6, 0xfc, 0x40, 0xd7, 0x35, - 0xff, 0x73, 0x05, 0x38, 0xad, 0x46, 0xc0, 0x60, 0x02, 0xbf, 0xd1, 0xc7, 0xe0, 0x0a, 0x8c, 0x36, - 0xc8, 0x96, 0xd3, 0x69, 0x46, 0x4a, 0x7c, 0x3e, 0xc8, 0x55, 0x28, 0xe5, 0xb8, 0x18, 0xeb, 0x38, - 0x47, 0x18, 0xb6, 0xff, 0x3d, 0xca, 0x2e, 0xe2, 0xc8, 0xa1, 0x6b, 0x5c, 0xed, 0x1a, 0x2b, 0x77, - 0xd7, 0x3c, 0x01, 0x83, 0x6e, 0x8b, 0x32, 0x66, 0x05, 0x93, 0xdf, 0xaa, 0xd0, 0x42, 0xcc, 0x61, - 0xe8, 0x03, 0x30, 0x5c, 0xf7, 0x5b, 0x2d, 0xc7, 0x6b, 0xb0, 0x2b, 0xaf, 0xb4, 0x34, 0x4a, 0x79, - 0xb7, 0x65, 0x5e, 0x84, 0x25, 0x0c, 0x3d, 0x06, 0x03, 0x4e, 0xb0, 0xcd, 0x65, 0x18, 0xa5, 0xa5, - 0x11, 0xda, 0xd2, 0x62, 0xb0, 0x1d, 0x62, 0x56, 0x4a, 0x9f, 0x60, 0x77, 0xfd, 0x60, 0xd7, 0xf5, - 0xb6, 0xcb, 0x6e, 0x20, 0xb6, 0x84, 0xba, 0x0b, 0xef, 0x28, 0x08, 0xd6, 0xb0, 0xd0, 0x2a, 0x0c, - 0xb6, 0xfd, 0x20, 0x0a, 0x67, 0x87, 0xd8, 0x70, 0x3f, 0x9e, 0x73, 0x10, 0xf1, 0xaf, 0xad, 0xfa, - 0x41, 0x14, 0x7f, 0x00, 0xfd, 0x17, 0x62, 0x5e, 0x1d, 0xdd, 0x80, 0x61, 0xe2, 0xed, 0xad, 0x06, - 0x7e, 0x6b, 0x76, 0x26, 0x9f, 0xd2, 0x0a, 0x47, 0xe1, 0xcb, 0x2c, 0xe6, 0x51, 0x45, 0x31, 0x96, - 0x24, 0xd0, 0xb7, 0x40, 0x91, 0x78, 0x7b, 0xb3, 0xc3, 0x8c, 0xd2, 0x5c, 0x0e, 0xa5, 0xdb, 0x4e, - 0x10, 0x9f, 0xf9, 0x2b, 0xde, 0x1e, 0xa6, 0x75, 0xd0, 0x27, 0xa1, 0x24, 0x0f, 0x8c, 0x50, 0x08, - 0xeb, 0x32, 0x17, 0xac, 0x3c, 0x66, 0x30, 0x79, 0xab, 0xe3, 0x06, 0xa4, 0x45, 0xbc, 0x28, 0x8c, - 0x4f, 0x48, 0x09, 0x0d, 0x71, 0x4c, 0x0d, 0x7d, 0x52, 0x4a, 0x88, 0xd7, 0xfc, 0x8e, 0x17, 0x85, - 0xb3, 0x25, 0xd6, 0xbd, 0x4c, 0xdd, 0xdd, 0xed, 0x18, 0x2f, 0x29, 0x42, 0xe6, 0x95, 0xb1, 0x41, - 0x0a, 0x7d, 0x1a, 0xc6, 0xf9, 0x7f, 0xae, 0x01, 0x0b, 0x67, 0x4f, 0x33, 0xda, 0x17, 0xf2, 0x69, - 0x73, 0xc4, 0xa5, 0xd3, 0x82, 0xf8, 0xb8, 0x5e, 0x1a, 0x62, 0x93, 0x1a, 0xc2, 0x30, 0xde, 0x74, - 0xf7, 0x88, 0x47, 0xc2, 0xb0, 0x1a, 0xf8, 0x9b, 0x64, 0x16, 0xd8, 0xc0, 0x9c, 0xcd, 0xd6, 0x98, - 0xf9, 0x9b, 0x64, 0x69, 0x9a, 0xd2, 0xbc, 0xa1, 0xd7, 0xc1, 0x26, 0x09, 0x74, 0x0b, 0x26, 0xe8, - 0x8b, 0xcd, 0x8d, 0x89, 0x8e, 0xf6, 0x22, 0xca, 0xde, 0x55, 0xd8, 0xa8, 0x84, 0x13, 0x44, 0xd0, - 0x4d, 0x18, 0x0b, 0x23, 0x27, 0x88, 0x3a, 0x6d, 0x4e, 0xf4, 0x4c, 0x2f, 0xa2, 0x4c, 0xe1, 0x5a, - 0xd3, 0xaa, 0x60, 0x83, 0x00, 0x7a, 0x0d, 0x4a, 0x4d, 0x77, 0x8b, 0xd4, 0xf7, 0xeb, 0x4d, 0x32, - 0x3b, 0xc6, 0xa8, 0x65, 0x1e, 0x2a, 0x37, 0x24, 0x12, 0xe7, 0x73, 0xd5, 0x5f, 0x1c, 0x57, 0x47, - 0xb7, 0xe1, 0x4c, 0x44, 0x82, 0x96, 0xeb, 0x39, 0xf4, 0x30, 0x10, 0x4f, 0x2b, 0xa6, 0xc8, 0x1c, - 0x67, 0xbb, 0xed, 0xbc, 0x98, 0x8d, 0x33, 0x1b, 0x99, 0x58, 0x38, 0xa7, 0x36, 0xba, 0x07, 0xb3, - 0x19, 0x10, 0xbf, 0xe9, 0xd6, 0xf7, 0x67, 0x4f, 0x31, 0xca, 0x1f, 0x15, 0x94, 0x67, 0x37, 0x72, - 0xf0, 0x0e, 0xbb, 0xc0, 0x70, 0x2e, 0x75, 0x74, 0x13, 0x26, 0xd9, 0x09, 0x54, 0xed, 0x34, 0x9b, - 0xa2, 0xc1, 0x09, 0xd6, 0xe0, 0x07, 0xe4, 0x7d, 0x5c, 0x31, 0xc1, 0x87, 0x07, 0xf3, 0x10, 0xff, - 0xc3, 0xc9, 0xda, 0x68, 0x93, 0xe9, 0xcc, 0x3a, 0x81, 0x1b, 0xed, 0xd3, 0x73, 0x83, 0xdc, 0x8b, - 0x66, 0x27, 0xbb, 0xca, 0x2b, 0x74, 0x54, 0xa5, 0x58, 0xd3, 0x0b, 0x71, 0x92, 0x20, 0x3d, 0x52, - 0xc3, 0xa8, 0xe1, 0x7a, 0xb3, 0x53, 0xfc, 0x5d, 0x22, 0x4f, 0xa4, 0x1a, 0x2d, 0xc4, 0x1c, 0xc6, - 0xf4, 0x65, 0xf4, 0xc7, 0x4d, 0x7a, 0x73, 0x4d, 0x33, 0xc4, 0x58, 0x5f, 0x26, 0x01, 0x38, 0xc6, - 0xa1, 0xcc, 0x64, 0x14, 0xed, 0xcf, 0x22, 0x86, 0xaa, 0x0e, 0x96, 0x8d, 0x8d, 0x4f, 0x62, 0x5a, - 0x6e, 0x6f, 0xc2, 0x84, 0x3a, 0x08, 0xd9, 0x98, 0xa0, 0x79, 0x18, 0x64, 0xec, 0x93, 0x90, 0xae, - 0x95, 0x68, 0x17, 0x18, 0x6b, 0x85, 0x79, 0x39, 0xeb, 0x82, 0xfb, 0x36, 0x59, 0xda, 0x8f, 0x08, - 0x7f, 0xd3, 0x17, 0xb5, 0x2e, 0x48, 0x00, 0x8e, 0x71, 0xec, 0xff, 0xc7, 0xd9, 0xd0, 0xf8, 0xb4, - 0xed, 0xe3, 0x7e, 0x79, 0x06, 0x46, 0x76, 0xfc, 0x30, 0xa2, 0xd8, 0xac, 0x8d, 0xc1, 0x98, 0xf1, - 0xbc, 0x26, 0xca, 0xb1, 0xc2, 0x40, 0xaf, 0xc0, 0x78, 0x5d, 0x6f, 0x40, 0x5c, 0x8e, 0xea, 0x18, - 0x31, 0x5a, 0xc7, 0x26, 0x2e, 0x7a, 0x09, 0x46, 0x98, 0x0d, 0x48, 0xdd, 0x6f, 0x0a, 0xae, 0x4d, - 0xde, 0xf0, 0x23, 0x55, 0x51, 0x7e, 0xa8, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x84, 0x21, 0xda, 0x85, - 0x4a, 0x55, 0x5c, 0x4b, 0x4a, 0x50, 0x74, 0x8d, 0x95, 0x62, 0x01, 0xb5, 0xff, 0x5a, 0x41, 0x1b, - 0x65, 0xfa, 0x1e, 0x26, 0xa8, 0x0a, 0xc3, 0x77, 0x1d, 0x37, 0x72, 0xbd, 0x6d, 0xc1, 0x7f, 0x3c, - 0xd5, 0xf5, 0x8e, 0x62, 0x95, 0xee, 0xf0, 0x0a, 0xfc, 0x16, 0x15, 0x7f, 0xb0, 0x24, 0x43, 0x29, - 0x06, 0x1d, 0xcf, 0xa3, 0x14, 0x0b, 0xfd, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, 0x60, 0x49, - 0x06, 0xbd, 0x01, 0x20, 0x77, 0x18, 0x69, 0x08, 0xdb, 0x8b, 0x67, 0x7a, 0x13, 0xdd, 0x50, 0x75, - 0x96, 0x26, 0xe8, 0x1d, 0x1d, 0xff, 0xc7, 0x1a, 0x3d, 0x3b, 0x62, 0x7c, 0x5a, 0xba, 0x33, 0xe8, - 0xdb, 0xe8, 0x12, 0x77, 0x82, 0x88, 0x34, 0x16, 0x23, 0x31, 0x38, 0x1f, 0xec, 0xef, 0x91, 0xb2, - 0xe1, 0xb6, 0x88, 0xbe, 0x1d, 0x04, 0x11, 0x1c, 0xd3, 0xb3, 0x7f, 0xa1, 0x08, 0xb3, 0x79, 0xdd, - 0xa5, 0x8b, 0x8e, 0xdc, 0x73, 0xa3, 0x65, 0xca, 0x5e, 0x59, 0xe6, 0xa2, 0x5b, 0x11, 0xe5, 0x58, - 0x61, 0xd0, 0xd9, 0x0f, 0xdd, 0x6d, 0xf9, 0xc6, 0x1c, 0x8c, 0x67, 0xbf, 0xc6, 0x4a, 0xb1, 0x80, - 0x52, 0xbc, 0x80, 0x38, 0xa1, 0x30, 0xee, 0xd1, 0x56, 0x09, 0x66, 0xa5, 0x58, 0x40, 0x75, 0x69, - 0xd7, 0x40, 0x0f, 0x69, 0x97, 0x31, 0x44, 0x83, 0xc7, 0x3b, 0x44, 0xe8, 0x33, 0x00, 0x5b, 0xae, - 0xe7, 0x86, 0x3b, 0x8c, 0xfa, 0xd0, 0x91, 0xa9, 0x2b, 0xe6, 0x6c, 0x55, 0x51, 0xc1, 0x1a, 0x45, - 0xf4, 0x22, 0x8c, 0xaa, 0x0d, 0x58, 0x29, 0x33, 0x4d, 0xa7, 0x66, 0x39, 0x12, 0x9f, 0x46, 0x65, - 0xac, 0xe3, 0xd9, 0x6f, 0x26, 0xd7, 0x8b, 0xd8, 0x01, 0xda, 0xf8, 0x5a, 0xfd, 0x8e, 0x6f, 0xa1, - 0xfb, 0xf8, 0xda, 0x5f, 0x2b, 0xc2, 0xa4, 0xd1, 0x58, 0x27, 0xec, 0xe3, 0xcc, 0xba, 0x4a, 0x0f, - 0x70, 0x27, 0x22, 0x62, 0xff, 0xd9, 0xbd, 0xb7, 0x8a, 0x7e, 0xc8, 0xd3, 0x1d, 0xc0, 0xeb, 0xa3, - 0xcf, 0x40, 0xa9, 0xe9, 0x84, 0x4c, 0x72, 0x46, 0xc4, 0xbe, 0xeb, 0x87, 0x58, 0xfc, 0x30, 0x71, - 0xc2, 0x48, 0xbb, 0x35, 0x39, 0xed, 0x98, 0x24, 0xbd, 0x69, 0x28, 0x7f, 0x22, 0xad, 0xc7, 0x54, - 0x27, 0x28, 0x13, 0xb3, 0x8f, 0x39, 0x0c, 0xbd, 0x04, 0x63, 0x01, 0x61, 0xab, 0x62, 0x99, 0x72, - 0x73, 0x6c, 0x99, 0x0d, 0xc6, 0x6c, 0x1f, 0xd6, 0x60, 0xd8, 0xc0, 0x8c, 0xdf, 0x06, 0x43, 0x5d, - 0xde, 0x06, 0x4f, 0xc1, 0x30, 0xfb, 0xa1, 0x56, 0x80, 0x9a, 0x8d, 0x0a, 0x2f, 0xc6, 0x12, 0x9e, - 0x5c, 0x30, 0x23, 0xfd, 0x2d, 0x18, 0xfa, 0xfa, 0x10, 0x8b, 0x9a, 0x69, 0x99, 0x47, 0xf8, 0x29, - 0x27, 0x96, 0x3c, 0x96, 0x30, 0xfb, 0x83, 0x30, 0x51, 0x76, 0x48, 0xcb, 0xf7, 0x56, 0xbc, 0x46, - 0xdb, 0x77, 0xbd, 0x08, 0xcd, 0xc2, 0x00, 0xbb, 0x44, 0xf8, 0x11, 0x30, 0x40, 0x1b, 0xc2, 0xac, - 0xc4, 0xde, 0x86, 0xd3, 0x65, 0xff, 0xae, 0x77, 0xd7, 0x09, 0x1a, 0x8b, 0xd5, 0x8a, 0xf6, 0xbe, - 0x5e, 0x97, 0xef, 0x3b, 0x6e, 0xb4, 0x95, 0x79, 0xf4, 0x6a, 0x35, 0x39, 0x5b, 0xbb, 0xea, 0x36, - 0x49, 0x8e, 0x14, 0xe4, 0x6f, 0x14, 0x8c, 0x96, 0x62, 0x7c, 0xa5, 0xd5, 0xb2, 0x72, 0xb5, 0x5a, - 0xaf, 0xc3, 0xc8, 0x96, 0x4b, 0x9a, 0x0d, 0x4c, 0xb6, 0xc4, 0x4a, 0x7c, 0x32, 0xdf, 0x0e, 0x65, - 0x95, 0x62, 0x4a, 0xa9, 0x17, 0x7f, 0x1d, 0xae, 0x8a, 0xca, 0x58, 0x91, 0x41, 0xbb, 0x30, 0x25, - 0x1f, 0x0c, 0x12, 0x2a, 0xd6, 0xe5, 0x53, 0xdd, 0x5e, 0x21, 0x26, 0xf1, 0x53, 0xf7, 0x0f, 0xe6, - 0xa7, 0x70, 0x82, 0x0c, 0x4e, 0x11, 0xa6, 0xcf, 0xc1, 0x16, 0x3d, 0x81, 0x07, 0xd8, 0xf0, 0xb3, - 0xe7, 0x20, 0x7b, 0xd9, 0xb2, 0x52, 0xfb, 0xc7, 0x2c, 0x78, 0x24, 0x35, 0x32, 0xe2, 0x85, 0x7f, - 0xcc, 0xb3, 0x90, 0x7c, 0x71, 0x17, 0x7a, 0xbf, 0xb8, 0xed, 0xbf, 0x6f, 0xc1, 0xa9, 0x95, 0x56, - 0x3b, 0xda, 0x2f, 0xbb, 0xa6, 0x0a, 0xea, 0x23, 0x30, 0xd4, 0x22, 0x0d, 0xb7, 0xd3, 0x12, 0x33, - 0x37, 0x2f, 0x4f, 0xa9, 0x35, 0x56, 0x7a, 0x78, 0x30, 0x3f, 0x5e, 0x8b, 0xfc, 0xc0, 0xd9, 0x26, - 0xbc, 0x00, 0x0b, 0x74, 0x76, 0xd6, 0xbb, 0x6f, 0x93, 0x1b, 0x6e, 0xcb, 0x95, 0x76, 0x45, 0x5d, - 0x65, 0x76, 0x0b, 0x72, 0x40, 0x17, 0x5e, 0xef, 0x38, 0x5e, 0xe4, 0x46, 0xfb, 0x42, 0x7b, 0x24, - 0x89, 0xe0, 0x98, 0x9e, 0xfd, 0x55, 0x0b, 0x26, 0xe5, 0xba, 0x5f, 0x6c, 0x34, 0x02, 0x12, 0x86, - 0x68, 0x0e, 0x0a, 0x6e, 0x5b, 0xf4, 0x12, 0x44, 0x2f, 0x0b, 0x95, 0x2a, 0x2e, 0xb8, 0x6d, 0xc9, - 0x96, 0xb1, 0x83, 0xb0, 0x68, 0x2a, 0xd2, 0xae, 0x89, 0x72, 0xac, 0x30, 0xd0, 0x25, 0x18, 0xf1, - 0xfc, 0x06, 0xb7, 0xed, 0xe2, 0x57, 0x1a, 0x5b, 0x60, 0xeb, 0xa2, 0x0c, 0x2b, 0x28, 0xaa, 0x42, - 0x89, 0x9b, 0x3d, 0xc5, 0x8b, 0xb6, 0x2f, 0xe3, 0x29, 0xf6, 0x65, 0x1b, 0xb2, 0x26, 0x8e, 0x89, - 0xd8, 0xbf, 0x62, 0xc1, 0x98, 0xfc, 0xb2, 0x3e, 0x79, 0x4e, 0xba, 0xb5, 0x62, 0x7e, 0x33, 0xde, - 0x5a, 0x94, 0x67, 0x64, 0x10, 0x83, 0x55, 0x2c, 0x1e, 0x89, 0x55, 0xbc, 0x02, 0xa3, 0x4e, 0xbb, - 0x5d, 0x35, 0xf9, 0x4c, 0xb6, 0x94, 0x16, 0xe3, 0x62, 0xac, 0xe3, 0xd8, 0x3f, 0x5a, 0x80, 0x09, - 0xf9, 0x05, 0xb5, 0xce, 0x66, 0x48, 0x22, 0xb4, 0x01, 0x25, 0x87, 0xcf, 0x12, 0x91, 0x8b, 0xfc, - 0x89, 0x6c, 0x39, 0x82, 0x31, 0xa5, 0xf1, 0x85, 0xbf, 0x28, 0x6b, 0xe3, 0x98, 0x10, 0x6a, 0xc2, - 0xb4, 0xe7, 0x47, 0xec, 0xf0, 0x57, 0xf0, 0x6e, 0xaa, 0x9d, 0x24, 0xf5, 0xb3, 0x82, 0xfa, 0xf4, - 0x7a, 0x92, 0x0a, 0x4e, 0x13, 0x46, 0x2b, 0x52, 0x36, 0x53, 0xcc, 0x17, 0x06, 0xe8, 0x13, 0x97, - 0x2d, 0x9a, 0xb1, 0x7f, 0xd9, 0x82, 0x92, 0x44, 0x3b, 0x09, 0x2d, 0xde, 0x1a, 0x0c, 0x87, 0x6c, - 0x12, 0xe4, 0xd0, 0xd8, 0xdd, 0x3a, 0xce, 0xe7, 0x2b, 0xbe, 0xd3, 0xf8, 0xff, 0x10, 0x4b, 0x1a, - 0x4c, 0x34, 0xaf, 0xba, 0xff, 0x2e, 0x11, 0xcd, 0xab, 0xfe, 0xe4, 0x5c, 0x4a, 0x7f, 0xc8, 0xfa, - 0xac, 0xc9, 0xba, 0x28, 0xeb, 0xd5, 0x0e, 0xc8, 0x96, 0x7b, 0x2f, 0xc9, 0x7a, 0x55, 0x59, 0x29, - 0x16, 0x50, 0xf4, 0x06, 0x8c, 0xd5, 0xa5, 0x4c, 0x36, 0xde, 0xe1, 0x17, 0xbb, 0xea, 0x07, 0x94, - 0x2a, 0x89, 0xcb, 0x42, 0x96, 0xb5, 0xfa, 0xd8, 0xa0, 0x66, 0x9a, 0x11, 0x14, 0x7b, 0x99, 0x11, - 0xc4, 0x74, 0xf3, 0x95, 0xea, 0x3f, 0x6e, 0xc1, 0x10, 0x97, 0xc5, 0xf5, 0x27, 0x0a, 0xd5, 0x34, - 0x6b, 0xf1, 0xd8, 0xdd, 0xa6, 0x85, 0x42, 0x53, 0x86, 0xd6, 0xa0, 0xc4, 0x7e, 0x30, 0x59, 0x62, - 0x31, 0xdf, 0xea, 0x9e, 0xb7, 0xaa, 0x77, 0xf0, 0xb6, 0xac, 0x86, 0x63, 0x0a, 0xf6, 0x0f, 0x17, - 0xe9, 0xe9, 0x16, 0xa3, 0x1a, 0x97, 0xbe, 0xf5, 0xf0, 0x2e, 0xfd, 0xc2, 0xc3, 0xba, 0xf4, 0xb7, - 0x61, 0xb2, 0xae, 0xe9, 0xe1, 0xe2, 0x99, 0xbc, 0xd4, 0x75, 0x91, 0x68, 0x2a, 0x3b, 0x2e, 0x65, - 0x59, 0x36, 0x89, 0xe0, 0x24, 0x55, 0xf4, 0x6d, 0x30, 0xc6, 0xe7, 0x59, 0xb4, 0xc2, 0x2d, 0x31, - 0x3e, 0x90, 0xbf, 0x5e, 0xf4, 0x26, 0xb8, 0x54, 0x4e, 0xab, 0x8e, 0x0d, 0x62, 0xf6, 0x9f, 0x58, - 0x80, 0x56, 0xda, 0x3b, 0xa4, 0x45, 0x02, 0xa7, 0x19, 0x8b, 0xd3, 0xbf, 0xdf, 0x82, 0x59, 0x92, - 0x2a, 0x5e, 0xf6, 0x5b, 0x2d, 0xf1, 0x68, 0xc9, 0x79, 0x57, 0xaf, 0xe4, 0xd4, 0x51, 0x6e, 0x09, - 0xb3, 0x79, 0x18, 0x38, 0xb7, 0x3d, 0xb4, 0x06, 0x33, 0xfc, 0x96, 0x54, 0x00, 0xcd, 0xf6, 0xfa, - 0x51, 0x41, 0x78, 0x66, 0x23, 0x8d, 0x82, 0xb3, 0xea, 0xd9, 0xdf, 0x35, 0x06, 0xb9, 0xbd, 0x78, - 0x4f, 0x8f, 0xf0, 0x9e, 0x1e, 0xe1, 0x3d, 0x3d, 0xc2, 0x7b, 0x7a, 0x84, 0xf7, 0xf4, 0x08, 0xdf, - 0xf4, 0x7a, 0x84, 0x3f, 0xb2, 0x60, 0x26, 0x7d, 0x0d, 0x9c, 0x04, 0x63, 0xde, 0x81, 0x99, 0xf4, - 0x5d, 0xd7, 0xd5, 0xce, 0x2e, 0xdd, 0xcf, 0xf8, 0xde, 0xcb, 0xf8, 0x06, 0x9c, 0x45, 0xdf, 0xfe, - 0x35, 0x0b, 0x4e, 0x2b, 0x64, 0xe3, 0xa5, 0xff, 0x39, 0x98, 0xe1, 0xe7, 0xcb, 0x72, 0xd3, 0x71, - 0x5b, 0x1b, 0xa4, 0xd5, 0x6e, 0x3a, 0x91, 0x34, 0x33, 0xb8, 0x92, 0xb9, 0x55, 0x13, 0x26, 0xba, - 0x46, 0xc5, 0xa5, 0x47, 0x68, 0xbf, 0x32, 0x00, 0x38, 0xab, 0x19, 0xc3, 0x28, 0xb5, 0xd0, 0xd3, - 0x4c, 0xf8, 0x17, 0x46, 0x60, 0x70, 0x65, 0x8f, 0x78, 0xd1, 0x09, 0x4c, 0x54, 0x1d, 0x26, 0x5c, - 0x6f, 0xcf, 0x6f, 0xee, 0x91, 0x06, 0x87, 0x1f, 0xe5, 0xa1, 0x7f, 0x46, 0x90, 0x9e, 0xa8, 0x18, - 0x24, 0x70, 0x82, 0xe4, 0xc3, 0x10, 0xb6, 0x5f, 0x85, 0x21, 0x7e, 0xc7, 0x09, 0x49, 0x7b, 0xe6, - 0x95, 0xc6, 0x06, 0x51, 0xdc, 0xdc, 0xb1, 0x22, 0x80, 0xdf, 0xa1, 0xa2, 0x3a, 0x7a, 0x13, 0x26, - 0xb6, 0xdc, 0x20, 0x8c, 0x36, 0xdc, 0x16, 0x09, 0x23, 0xa7, 0xd5, 0x7e, 0x00, 0xe1, 0xba, 0x1a, - 0x87, 0x55, 0x83, 0x12, 0x4e, 0x50, 0x46, 0xdb, 0x30, 0xde, 0x74, 0xf4, 0xa6, 0x86, 0x8f, 0xdc, - 0x94, 0xba, 0x3c, 0x6f, 0xe8, 0x84, 0xb0, 0x49, 0x97, 0x9e, 0x36, 0x75, 0x26, 0x1f, 0x1e, 0x61, - 0x52, 0x13, 0x75, 0xda, 0x70, 0xc1, 0x30, 0x87, 0x51, 0x3e, 0x90, 0xd9, 0x0f, 0x97, 0x4c, 0x3e, - 0x50, 0xb3, 0x12, 0xfe, 0x2c, 0x94, 0x08, 0x1d, 0x42, 0x4a, 0x58, 0xdc, 0xbf, 0x97, 0xfb, 0xeb, - 0xeb, 0x9a, 0x5b, 0x0f, 0x7c, 0x53, 0xad, 0xb1, 0x22, 0x29, 0xe1, 0x98, 0x28, 0x5a, 0x86, 0xa1, - 0x90, 0x04, 0x2e, 0x09, 0xc5, 0x4d, 0xdc, 0x65, 0x1a, 0x19, 0x1a, 0x77, 0xbd, 0xe1, 0xbf, 0xb1, - 0xa8, 0x4a, 0x97, 0x97, 0xc3, 0x24, 0xbe, 0xec, 0xae, 0xd4, 0x96, 0xd7, 0x22, 0x2b, 0xc5, 0x02, - 0x8a, 0x5e, 0x83, 0xe1, 0x80, 0x34, 0x99, 0xde, 0x6c, 0xbc, 0xff, 0x45, 0xce, 0xd5, 0x70, 0xbc, - 0x1e, 0x96, 0x04, 0xd0, 0x75, 0x40, 0x01, 0xa1, 0x7c, 0xa4, 0xeb, 0x6d, 0x2b, 0xab, 0x5a, 0x71, - 0x0f, 0xa9, 0x73, 0x0b, 0xc7, 0x18, 0xd2, 0x0b, 0x0a, 0x67, 0x54, 0x43, 0x57, 0x61, 0x5a, 0x95, - 0x56, 0xbc, 0x30, 0x72, 0xe8, 0xf9, 0x3f, 0xc9, 0x68, 0x29, 0x31, 0x0e, 0x4e, 0x22, 0xe0, 0x74, - 0x1d, 0xfb, 0x4b, 0x16, 0xf0, 0x71, 0x3e, 0x01, 0xe1, 0xc5, 0xab, 0xa6, 0xf0, 0xe2, 0x6c, 0xee, - 0xcc, 0xe5, 0x08, 0x2e, 0xbe, 0x64, 0xc1, 0xa8, 0x36, 0xb3, 0xf1, 0x9a, 0xb5, 0xba, 0xac, 0xd9, - 0x0e, 0x4c, 0xd1, 0x95, 0x7e, 0x73, 0x33, 0x24, 0xc1, 0x1e, 0x69, 0xb0, 0x85, 0x59, 0x78, 0xb0, - 0x85, 0xa9, 0x2c, 0xf8, 0x6e, 0x24, 0x08, 0xe2, 0x54, 0x13, 0xf6, 0x67, 0x65, 0x57, 0x95, 0xc1, - 0x63, 0x5d, 0xcd, 0x79, 0xc2, 0xe0, 0x51, 0xcd, 0x2a, 0x8e, 0x71, 0xe8, 0x56, 0xdb, 0xf1, 0xc3, - 0x28, 0x69, 0xf0, 0x78, 0xcd, 0x0f, 0x23, 0xcc, 0x20, 0xf6, 0xf3, 0x00, 0x2b, 0xf7, 0x48, 0x9d, - 0xaf, 0x58, 0xfd, 0x6d, 0x65, 0xe5, 0xbf, 0xad, 0xec, 0xdf, 0xb2, 0x60, 0x62, 0x75, 0xd9, 0xb8, - 0xe7, 0x16, 0x00, 0xf8, 0x83, 0xf0, 0xce, 0x9d, 0x75, 0x69, 0x2d, 0xc0, 0x15, 0xbe, 0xaa, 0x14, - 0x6b, 0x18, 0xe8, 0x2c, 0x14, 0x9b, 0x1d, 0x4f, 0x48, 0x57, 0x87, 0x29, 0xf7, 0x70, 0xa3, 0xe3, - 0x61, 0x5a, 0xa6, 0x79, 0x5c, 0x14, 0xfb, 0xf6, 0xb8, 0xe8, 0x19, 0xf9, 0x00, 0xcd, 0xc3, 0xe0, - 0xdd, 0xbb, 0x6e, 0x83, 0xfb, 0x97, 0x0a, 0x4b, 0x86, 0x3b, 0x77, 0x2a, 0xe5, 0x10, 0xf3, 0x72, - 0xfb, 0x8b, 0x45, 0x98, 0x5b, 0x6d, 0x92, 0x7b, 0xef, 0xd0, 0xc7, 0xb6, 0x5f, 0x7f, 0x91, 0xa3, - 0xc9, 0xa9, 0x8e, 0xea, 0x13, 0xd4, 0x7b, 0x3c, 0xb6, 0x60, 0x98, 0xdb, 0xfb, 0x49, 0x8f, 0xdb, - 0x57, 0xb2, 0x5a, 0xcf, 0x1f, 0x90, 0x05, 0x6e, 0x37, 0x28, 0x1c, 0x06, 0xd5, 0x85, 0x29, 0x4a, - 0xb1, 0x24, 0x3e, 0xf7, 0x32, 0x8c, 0xe9, 0x98, 0x47, 0xf2, 0xce, 0xfb, 0x2b, 0x45, 0x98, 0xa2, - 0x3d, 0x78, 0xa8, 0x13, 0x71, 0x2b, 0x3d, 0x11, 0xc7, 0xed, 0xa1, 0xd5, 0x7b, 0x36, 0xde, 0x48, - 0xce, 0xc6, 0x95, 0xbc, 0xd9, 0x38, 0xe9, 0x39, 0xf8, 0x4e, 0x0b, 0x66, 0x56, 0x9b, 0x7e, 0x7d, - 0x37, 0xe1, 0x45, 0xf5, 0x22, 0x8c, 0xd2, 0xe3, 0x38, 0x34, 0x1c, 0xfc, 0x8d, 0x90, 0x0f, 0x02, - 0x84, 0x75, 0x3c, 0xad, 0xda, 0xad, 0x5b, 0x95, 0x72, 0x56, 0xa4, 0x08, 0x01, 0xc2, 0x3a, 0x9e, - 0xfd, 0x1b, 0x16, 0x9c, 0xbb, 0xba, 0xbc, 0x12, 0x2f, 0xc5, 0x54, 0xb0, 0x8a, 0x8b, 0x30, 0xd4, - 0x6e, 0x68, 0x5d, 0x89, 0xa5, 0xcf, 0x65, 0xd6, 0x0b, 0x01, 0x7d, 0xb7, 0x04, 0x62, 0xf9, 0x69, - 0x0b, 0x66, 0xae, 0xba, 0x11, 0xbd, 0x5d, 0x93, 0x61, 0x13, 0xe8, 0xf5, 0x1a, 0xba, 0x91, 0x1f, - 0xec, 0x27, 0xc3, 0x26, 0x60, 0x05, 0xc1, 0x1a, 0x16, 0x6f, 0x79, 0xcf, 0x65, 0x96, 0xe6, 0x05, - 0x53, 0x0f, 0x87, 0x45, 0x39, 0x56, 0x18, 0xf4, 0xc3, 0x1a, 0x6e, 0xc0, 0x44, 0x98, 0xfb, 0xe2, - 0x84, 0x55, 0x1f, 0x56, 0x96, 0x00, 0x1c, 0xe3, 0xd0, 0xd7, 0xdc, 0xfc, 0xd5, 0x66, 0x27, 0x8c, - 0x48, 0xb0, 0x15, 0xe6, 0x9c, 0x8e, 0xcf, 0x43, 0x89, 0x48, 0x85, 0x81, 0xe8, 0xb5, 0xe2, 0x18, - 0x95, 0x26, 0x81, 0x47, 0x6f, 0x50, 0x78, 0x7d, 0xf8, 0x64, 0x1e, 0xcd, 0xa9, 0x6e, 0x15, 0x10, - 0xd1, 0xdb, 0xd2, 0xc3, 0x59, 0x30, 0xbf, 0xf8, 0x95, 0x14, 0x14, 0x67, 0xd4, 0xb0, 0x7f, 0xcc, - 0x82, 0xd3, 0xea, 0x83, 0xdf, 0x75, 0x9f, 0x69, 0xff, 0x6c, 0x01, 0xc6, 0xaf, 0x6d, 0x6c, 0x54, - 0xaf, 0x92, 0x48, 0x5c, 0xdb, 0xbd, 0xcd, 0x00, 0xb0, 0xa6, 0xcd, 0xec, 0xf6, 0x98, 0xeb, 0x44, - 0x6e, 0x73, 0x81, 0x47, 0x45, 0x5a, 0xa8, 0x78, 0xd1, 0xcd, 0xa0, 0x16, 0x05, 0xae, 0xb7, 0x9d, - 0xa9, 0xff, 0x94, 0xcc, 0x45, 0x31, 0x8f, 0xb9, 0x40, 0xcf, 0xc3, 0x10, 0x0b, 0xcb, 0x24, 0x27, - 0xe1, 0x51, 0xf5, 0x16, 0x62, 0xa5, 0x87, 0x07, 0xf3, 0xa5, 0x5b, 0xb8, 0xc2, 0xff, 0x60, 0x81, - 0x8a, 0x6e, 0xc1, 0xe8, 0x4e, 0x14, 0xb5, 0xaf, 0x11, 0xa7, 0x41, 0x9f, 0xee, 0xfc, 0x38, 0x3c, - 0x9f, 0x75, 0x1c, 0xd2, 0x41, 0xe0, 0x68, 0xf1, 0x09, 0x12, 0x97, 0x85, 0x58, 0xa7, 0x63, 0xd7, - 0x00, 0x62, 0xd8, 0x31, 0x29, 0x72, 0xec, 0x3f, 0xb0, 0x60, 0x98, 0x47, 0xc8, 0x08, 0xd0, 0x47, - 0x61, 0x80, 0xdc, 0x23, 0x75, 0xc1, 0xf1, 0x66, 0x76, 0x38, 0xe6, 0xb4, 0xb8, 0x40, 0x9a, 0xfe, - 0xc7, 0xac, 0x16, 0xba, 0x06, 0xc3, 0xb4, 0xb7, 0x57, 0x55, 0xb8, 0x90, 0xc7, 0xf3, 0xbe, 0x58, - 0x4d, 0x3b, 0x67, 0xce, 0x44, 0x11, 0x96, 0xd5, 0x99, 0xf6, 0xbc, 0xde, 0xae, 0xd1, 0x13, 0x3b, - 0xea, 0xc6, 0x58, 0x6c, 0x2c, 0x57, 0x39, 0x92, 0xa0, 0xc6, 0xb5, 0xe7, 0xb2, 0x10, 0xc7, 0x44, - 0xec, 0x0d, 0x28, 0xd1, 0x49, 0x5d, 0x6c, 0xba, 0x4e, 0x77, 0x83, 0x80, 0xa7, 0xa1, 0x24, 0xd5, - 0xfd, 0xa1, 0xf0, 0x8c, 0x67, 0x54, 0xa5, 0x35, 0x40, 0x88, 0x63, 0xb8, 0xbd, 0x05, 0xa7, 0x98, - 0xf1, 0xa6, 0x13, 0xed, 0x18, 0x7b, 0xac, 0xf7, 0x62, 0x7e, 0x46, 0x3c, 0x20, 0xf9, 0xcc, 0xcc, - 0x6a, 0xce, 0xa7, 0x63, 0x92, 0x62, 0xfc, 0x98, 0xb4, 0xbf, 0x36, 0x00, 0x8f, 0x56, 0x6a, 0xf9, - 0xc1, 0x53, 0x5e, 0x82, 0x31, 0xce, 0x97, 0xd2, 0xa5, 0xed, 0x34, 0x45, 0xbb, 0x4a, 0x12, 0xbd, - 0xa1, 0xc1, 0xb0, 0x81, 0x89, 0xce, 0x41, 0xd1, 0x7d, 0xcb, 0x4b, 0xba, 0x66, 0x55, 0x5e, 0x5f, - 0xc7, 0xb4, 0x9c, 0x82, 0x29, 0x8b, 0xcb, 0xef, 0x0e, 0x05, 0x56, 0x6c, 0xee, 0xab, 0x30, 0xe1, - 0x86, 0xf5, 0xd0, 0xad, 0x78, 0xf4, 0x9c, 0xd1, 0x4e, 0x2a, 0x25, 0xdc, 0xa0, 0x9d, 0x56, 0x50, - 0x9c, 0xc0, 0xd6, 0x2e, 0xb2, 0xc1, 0xbe, 0xd9, 0xe4, 0x9e, 0xae, 0xe2, 0xf4, 0x05, 0xd0, 0x66, - 0x5f, 0x17, 0x32, 0x95, 0x82, 0x78, 0x01, 0xf0, 0x0f, 0x0e, 0xb1, 0x84, 0xd1, 0x97, 0x63, 0x7d, - 0xc7, 0x69, 0x2f, 0x76, 0xa2, 0x9d, 0xb2, 0x1b, 0xd6, 0xfd, 0x3d, 0x12, 0xec, 0xb3, 0x47, 0xff, - 0x48, 0xfc, 0x72, 0x54, 0x80, 0xe5, 0x6b, 0x8b, 0x55, 0x8a, 0x89, 0xd3, 0x75, 0xd0, 0x22, 0x4c, - 0xca, 0xc2, 0x1a, 0x09, 0xd9, 0x15, 0x36, 0xca, 0xc8, 0x28, 0x67, 0x29, 0x51, 0xac, 0x88, 0x24, - 0xf1, 0x4d, 0x4e, 0x1a, 0x8e, 0x83, 0x93, 0xfe, 0x08, 0x8c, 0xbb, 0x9e, 0x1b, 0xb9, 0x4e, 0xe4, - 0x73, 0x7d, 0x18, 0x7f, 0xdf, 0x33, 0x41, 0x7f, 0x45, 0x07, 0x60, 0x13, 0xcf, 0xfe, 0x6f, 0x03, - 0x30, 0xcd, 0xa6, 0xed, 0xbd, 0x15, 0xf6, 0xcd, 0xb4, 0xc2, 0x6e, 0xa5, 0x57, 0xd8, 0x71, 0x3c, - 0x11, 0x1e, 0x78, 0x99, 0xbd, 0x09, 0x25, 0xe5, 0x1f, 0x26, 0x1d, 0x44, 0xad, 0x1c, 0x07, 0xd1, - 0xde, 0xdc, 0x87, 0x34, 0xb1, 0x2b, 0x66, 0x9a, 0xd8, 0xfd, 0x2d, 0x0b, 0x62, 0x05, 0x0f, 0xba, - 0x06, 0xa5, 0xb6, 0xcf, 0x2c, 0x47, 0x03, 0x69, 0x8e, 0xfd, 0x68, 0xe6, 0x45, 0xc5, 0x2f, 0x45, - 0xfe, 0xf1, 0x55, 0x59, 0x03, 0xc7, 0x95, 0xd1, 0x12, 0x0c, 0xb7, 0x03, 0x52, 0x8b, 0x58, 0x0c, - 0x95, 0x9e, 0x74, 0xf8, 0x1a, 0xe1, 0xf8, 0x58, 0x56, 0xb4, 0x7f, 0xce, 0x02, 0xe0, 0x56, 0x6c, - 0x8e, 0xb7, 0x4d, 0x4e, 0x40, 0x6a, 0x5d, 0x86, 0x81, 0xb0, 0x4d, 0xea, 0xdd, 0x6c, 0x7a, 0xe3, - 0xfe, 0xd4, 0xda, 0xa4, 0x1e, 0x0f, 0x38, 0xfd, 0x87, 0x59, 0x6d, 0xfb, 0xbb, 0x01, 0x26, 0x62, - 0xb4, 0x4a, 0x44, 0x5a, 0xe8, 0x59, 0x23, 0xa6, 0xc2, 0xd9, 0x44, 0x4c, 0x85, 0x12, 0xc3, 0xd6, - 0x04, 0xa4, 0x6f, 0x42, 0xb1, 0xe5, 0xdc, 0x13, 0x12, 0xb0, 0xa7, 0xbb, 0x77, 0x83, 0xd2, 0x5f, - 0x58, 0x73, 0xee, 0xf1, 0x47, 0xe2, 0xd3, 0x72, 0x81, 0xac, 0x39, 0xf7, 0x0e, 0xb9, 0xe5, 0x2e, - 0x3b, 0xa4, 0x6e, 0xb8, 0x61, 0xf4, 0xf9, 0xff, 0x1a, 0xff, 0x67, 0xcb, 0x8e, 0x36, 0xc2, 0xda, - 0x72, 0x3d, 0x61, 0xa0, 0xd5, 0x57, 0x5b, 0xae, 0x97, 0x6c, 0xcb, 0xf5, 0xfa, 0x68, 0xcb, 0xf5, - 0xd0, 0xdb, 0x30, 0x2c, 0xec, 0x27, 0x45, 0x0c, 0xa3, 0xcb, 0x7d, 0xb4, 0x27, 0xcc, 0x2f, 0x79, - 0x9b, 0x97, 0xe5, 0x23, 0x58, 0x94, 0xf6, 0x6c, 0x57, 0x36, 0x88, 0xfe, 0xba, 0x05, 0x13, 0xe2, - 0x37, 0x26, 0x6f, 0x75, 0x48, 0x18, 0x09, 0xde, 0xf3, 0xc3, 0xfd, 0xf7, 0x41, 0x54, 0xe4, 0x5d, - 0xf9, 0xb0, 0x3c, 0x66, 0x4d, 0x60, 0xcf, 0x1e, 0x25, 0x7a, 0x81, 0xfe, 0xa1, 0x05, 0xa7, 0x5a, - 0xce, 0x3d, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xe4, 0xfa, 0xc2, 0x0e, 0xe1, 0xa3, 0xfd, 0x4d, 0x7f, - 0xaa, 0x3a, 0xef, 0xa4, 0x54, 0x96, 0x9e, 0xca, 0x42, 0xe9, 0xd9, 0xd5, 0xcc, 0x7e, 0xcd, 0x6d, - 0xc1, 0x88, 0x5c, 0x6f, 0x19, 0xa2, 0x86, 0xb2, 0xce, 0x58, 0x1f, 0xd9, 0x7c, 0x55, 0x8f, 0x55, - 0x40, 0xdb, 0x11, 0x6b, 0xed, 0xa1, 0xb6, 0xf3, 0x26, 0x8c, 0xe9, 0x6b, 0xec, 0xa1, 0xb6, 0xf5, - 0x16, 0xcc, 0x64, 0xac, 0xa5, 0x87, 0xda, 0xe4, 0x5d, 0x38, 0x9b, 0xbb, 0x3e, 0x1e, 0x66, 0xc3, - 0xf6, 0xcf, 0x5a, 0xfa, 0x39, 0x78, 0x02, 0xaa, 0x83, 0x65, 0x53, 0x75, 0x70, 0xbe, 0xfb, 0xce, - 0xc9, 0xd1, 0x1f, 0xbc, 0xa1, 0x77, 0x9a, 0x9e, 0xea, 0xe8, 0x35, 0x18, 0x6a, 0xd2, 0x12, 0x69, - 0x85, 0x6b, 0xf7, 0xde, 0x91, 0x31, 0x2f, 0xc5, 0xca, 0x43, 0x2c, 0x28, 0xd8, 0xbf, 0x68, 0xc1, - 0xc0, 0x09, 0x8c, 0x04, 0x36, 0x47, 0xe2, 0xd9, 0x5c, 0xd2, 0x22, 0xbc, 0xf2, 0x02, 0x76, 0xee, - 0xae, 0xdc, 0x8b, 0x88, 0x17, 0xb2, 0xa7, 0x62, 0xe6, 0xc0, 0xfc, 0xa4, 0x05, 0x33, 0x37, 0x7c, - 0xa7, 0xb1, 0xe4, 0x34, 0x1d, 0xaf, 0x4e, 0x82, 0x8a, 0xb7, 0x7d, 0x24, 0x13, 0xf2, 0x42, 0x4f, - 0x13, 0xf2, 0x65, 0x69, 0x81, 0x35, 0x90, 0x3f, 0x7f, 0x94, 0x91, 0x4c, 0x46, 0x99, 0x31, 0x6c, - 0x85, 0x77, 0x00, 0xe9, 0xbd, 0x14, 0x0e, 0x3d, 0x18, 0x86, 0x5d, 0xde, 0x5f, 0x31, 0x89, 0x4f, - 0x66, 0x33, 0x78, 0xa9, 0xcf, 0xd3, 0x5c, 0x55, 0x78, 0x01, 0x96, 0x84, 0xec, 0x97, 0x20, 0x33, - 0x2a, 0x40, 0x6f, 0xe1, 0x83, 0xfd, 0x49, 0x98, 0x66, 0x35, 0x8f, 0xf8, 0x30, 0xb6, 0x13, 0xb2, - 0xcd, 0x8c, 0x78, 0x81, 0xf6, 0x17, 0x2c, 0x98, 0x5c, 0x4f, 0x84, 0x51, 0xbb, 0xc8, 0xb4, 0xa1, - 0x19, 0x22, 0xf5, 0x1a, 0x2b, 0xc5, 0x02, 0x7a, 0xec, 0x92, 0xac, 0xbf, 0xb0, 0x20, 0x0e, 0xd4, - 0x71, 0x02, 0xec, 0xdb, 0xb2, 0xc1, 0xbe, 0x65, 0x4a, 0x58, 0x54, 0x77, 0xf2, 0xb8, 0x37, 0x74, - 0x5d, 0x85, 0xb0, 0xea, 0x22, 0x5c, 0x89, 0xc9, 0xf0, 0xa5, 0x38, 0x61, 0xc6, 0xb9, 0x92, 0x41, - 0xad, 0xec, 0xdf, 0x2e, 0x00, 0x52, 0xb8, 0x7d, 0x87, 0xd8, 0x4a, 0xd7, 0x38, 0x9e, 0x10, 0x5b, - 0x7b, 0x80, 0x98, 0x3e, 0x3f, 0x70, 0xbc, 0x90, 0x93, 0x75, 0x85, 0xec, 0xee, 0x68, 0xc6, 0x02, - 0x73, 0xa2, 0x49, 0x74, 0x23, 0x45, 0x0d, 0x67, 0xb4, 0xa0, 0xd9, 0x69, 0x0c, 0xf6, 0x6b, 0xa7, - 0x31, 0xd4, 0xc3, 0x69, 0xef, 0x67, 0x2c, 0x18, 0x57, 0xc3, 0xf4, 0x2e, 0x31, 0xa9, 0x57, 0xfd, - 0xc9, 0x39, 0x40, 0xab, 0x5a, 0x97, 0xd9, 0xc5, 0xf2, 0xad, 0xcc, 0xf9, 0xd2, 0x69, 0xba, 0x6f, - 0x13, 0x15, 0xe0, 0x70, 0x5e, 0x38, 0x53, 0x8a, 0xd2, 0xc3, 0x83, 0xf9, 0x71, 0xf5, 0x8f, 0x07, - 0x54, 0x8e, 0xab, 0xd0, 0x23, 0x79, 0x32, 0xb1, 0x14, 0xd1, 0x8b, 0x30, 0xd8, 0xde, 0x71, 0x42, - 0x92, 0x70, 0x3d, 0x1a, 0xac, 0xd2, 0xc2, 0xc3, 0x83, 0xf9, 0x09, 0x55, 0x81, 0x95, 0x60, 0x8e, - 0xdd, 0x7f, 0xe0, 0xb2, 0xf4, 0xe2, 0xec, 0x19, 0xb8, 0xec, 0x4f, 0x2c, 0x18, 0x58, 0xf7, 0x1b, - 0x27, 0x71, 0x04, 0xbc, 0x6a, 0x1c, 0x01, 0x8f, 0xe5, 0xc5, 0xba, 0xcf, 0xdd, 0xfd, 0xab, 0x89, - 0xdd, 0x7f, 0x3e, 0x97, 0x42, 0xf7, 0x8d, 0xdf, 0x82, 0x51, 0x16, 0x41, 0x5f, 0xb8, 0x59, 0x3d, - 0x6f, 0x6c, 0xf8, 0xf9, 0xc4, 0x86, 0x9f, 0xd4, 0x50, 0xb5, 0x9d, 0xfe, 0x14, 0x0c, 0x0b, 0xbf, - 0x9d, 0xa4, 0x0f, 0xab, 0xc0, 0xc5, 0x12, 0x6e, 0xff, 0x78, 0x11, 0x8c, 0x88, 0xfd, 0xe8, 0x97, - 0x2d, 0x58, 0x08, 0xb8, 0x3d, 0x6f, 0xa3, 0xdc, 0x09, 0x5c, 0x6f, 0xbb, 0x56, 0xdf, 0x21, 0x8d, - 0x4e, 0xd3, 0xf5, 0xb6, 0x2b, 0xdb, 0x9e, 0xaf, 0x8a, 0x57, 0xee, 0x91, 0x7a, 0x87, 0x29, 0xc1, - 0x7a, 0xa4, 0x07, 0x50, 0x76, 0xf1, 0xcf, 0xdd, 0x3f, 0x98, 0x5f, 0xc0, 0x47, 0xa2, 0x8d, 0x8f, - 0xd8, 0x17, 0xf4, 0x1b, 0x16, 0x5c, 0xe6, 0x81, 0xec, 0xfb, 0xef, 0x7f, 0x97, 0xd7, 0x72, 0x55, - 0x92, 0x8a, 0x89, 0x6c, 0x90, 0xa0, 0xb5, 0xf4, 0x11, 0x31, 0xa0, 0x97, 0xab, 0x47, 0x6b, 0x0b, - 0x1f, 0xb5, 0x73, 0xf6, 0xbf, 0x28, 0xc2, 0xb8, 0x08, 0x70, 0x25, 0xee, 0x80, 0x17, 0x8d, 0x25, - 0xf1, 0x78, 0x62, 0x49, 0x4c, 0x1b, 0xc8, 0xc7, 0x73, 0xfc, 0x87, 0x30, 0x4d, 0x0f, 0xe7, 0x6b, - 0xc4, 0x09, 0xa2, 0x4d, 0xe2, 0x70, 0xf3, 0xab, 0xe2, 0x91, 0x4f, 0x7f, 0x25, 0x9e, 0xbb, 0x91, - 0x24, 0x86, 0xd3, 0xf4, 0xbf, 0x99, 0xee, 0x1c, 0x0f, 0xa6, 0x52, 0x31, 0xca, 0x3e, 0x05, 0x25, - 0xe5, 0x74, 0x22, 0x0e, 0x9d, 0xee, 0xa1, 0xfe, 0x92, 0x14, 0xb8, 0x08, 0x2d, 0x76, 0x78, 0x8a, - 0xc9, 0xd9, 0xff, 0xa8, 0x60, 0x34, 0xc8, 0x27, 0x71, 0x1d, 0x46, 0x9c, 0x30, 0x74, 0xb7, 0x3d, - 0xd2, 0x10, 0x3b, 0xf6, 0xfd, 0x79, 0x3b, 0xd6, 0x68, 0x86, 0x39, 0xfe, 0x2c, 0x8a, 0x9a, 0x58, - 0xd1, 0x40, 0xd7, 0xb8, 0x91, 0xdb, 0x9e, 0x7c, 0xef, 0xf5, 0x47, 0x0d, 0xa4, 0x19, 0xdc, 0x1e, - 0xc1, 0xa2, 0x3e, 0xfa, 0x34, 0xb7, 0x42, 0xbc, 0xee, 0xf9, 0x77, 0xbd, 0xab, 0xbe, 0x2f, 0x83, - 0x48, 0xf4, 0x47, 0x70, 0x5a, 0xda, 0x1e, 0xaa, 0xea, 0xd8, 0xa4, 0xd6, 0x5f, 0xd0, 0xcf, 0xcf, - 0xc1, 0x0c, 0x25, 0x6d, 0xfa, 0x78, 0x87, 0x88, 0xc0, 0xa4, 0x88, 0x9e, 0x26, 0xcb, 0xc4, 0xd8, - 0x65, 0x3e, 0xe5, 0xcc, 0xda, 0xb1, 0x1c, 0xf9, 0xba, 0x49, 0x02, 0x27, 0x69, 0xda, 0x3f, 0x65, - 0x01, 0xf3, 0x77, 0x3d, 0x01, 0x7e, 0xe4, 0x63, 0x26, 0x3f, 0x32, 0x9b, 0x37, 0xc8, 0x39, 0xac, - 0xc8, 0x0b, 0x7c, 0x65, 0x55, 0x03, 0xff, 0xde, 0xbe, 0x30, 0x1d, 0xe9, 0xfd, 0xfe, 0xb0, 0xff, - 0xaf, 0xc5, 0x0f, 0x31, 0xe5, 0x12, 0x82, 0xbe, 0x1d, 0x46, 0xea, 0x4e, 0xdb, 0xa9, 0xf3, 0xf4, - 0x32, 0xb9, 0x12, 0x3d, 0xa3, 0xd2, 0xc2, 0xb2, 0xa8, 0xc1, 0x25, 0x54, 0x32, 0x0a, 0xdf, 0x88, - 0x2c, 0xee, 0x29, 0x95, 0x52, 0x4d, 0xce, 0xed, 0xc2, 0xb8, 0x41, 0xec, 0xa1, 0x8a, 0x33, 0xbe, - 0x9d, 0x5f, 0xb1, 0x2a, 0x6a, 0x64, 0x0b, 0xa6, 0x3d, 0xed, 0x3f, 0xbd, 0x50, 0xe4, 0xe3, 0xf2, - 0xfd, 0xbd, 0x2e, 0x51, 0x76, 0xfb, 0x68, 0xae, 0xb4, 0x09, 0x32, 0x38, 0x4d, 0xd9, 0xfe, 0x09, - 0x0b, 0x1e, 0xd1, 0x11, 0x35, 0x6f, 0x9d, 0x5e, 0x3a, 0x82, 0x32, 0x8c, 0xf8, 0x6d, 0x12, 0x38, - 0x91, 0x1f, 0x88, 0x5b, 0xe3, 0x92, 0x1c, 0xf4, 0x9b, 0xa2, 0xfc, 0x50, 0x04, 0x67, 0x97, 0xd4, - 0x65, 0x39, 0x56, 0x35, 0xe9, 0xeb, 0x93, 0x0d, 0x46, 0x28, 0xfc, 0xb2, 0xd8, 0x19, 0xc0, 0xd4, - 0xe5, 0x21, 0x16, 0x10, 0xfb, 0x6b, 0x16, 0x5f, 0x58, 0x7a, 0xd7, 0xd1, 0x5b, 0x30, 0xd5, 0x72, - 0xa2, 0xfa, 0xce, 0xca, 0xbd, 0x76, 0xc0, 0x35, 0x2e, 0x72, 0x9c, 0x9e, 0xee, 0x35, 0x4e, 0xda, - 0x47, 0xc6, 0x86, 0x95, 0x6b, 0x09, 0x62, 0x38, 0x45, 0x1e, 0x6d, 0xc2, 0x28, 0x2b, 0x63, 0x2e, - 0x87, 0x61, 0x37, 0xd6, 0x20, 0xaf, 0x35, 0x65, 0x71, 0xb0, 0x16, 0xd3, 0xc1, 0x3a, 0x51, 0xfb, - 0xcb, 0x45, 0xbe, 0xdb, 0x19, 0x2b, 0xff, 0x14, 0x0c, 0xb7, 0xfd, 0xc6, 0x72, 0xa5, 0x8c, 0xc5, - 0x2c, 0xa8, 0x6b, 0xa4, 0xca, 0x8b, 0xb1, 0x84, 0xa3, 0x4b, 0x30, 0x22, 0x7e, 0x4a, 0x0d, 0x19, - 0x3b, 0x9b, 0x05, 0x5e, 0x88, 0x15, 0x14, 0x3d, 0x07, 0xd0, 0x0e, 0xfc, 0x3d, 0xb7, 0xc1, 0x42, - 0x61, 0x14, 0x4d, 0x63, 0xa1, 0xaa, 0x82, 0x60, 0x0d, 0x0b, 0xbd, 0x02, 0xe3, 0x1d, 0x2f, 0xe4, - 0xec, 0x88, 0x16, 0xf8, 0x56, 0x99, 0xb1, 0xdc, 0xd2, 0x81, 0xd8, 0xc4, 0x45, 0x8b, 0x30, 0x14, - 0x39, 0xcc, 0xf8, 0x65, 0x30, 0xdf, 0xf8, 0x76, 0x83, 0x62, 0xe8, 0x99, 0x4c, 0x68, 0x05, 0x2c, - 0x2a, 0xa2, 0x4f, 0x49, 0xef, 0x5f, 0x7e, 0xb0, 0x0b, 0xab, 0xf7, 0xfe, 0x2e, 0x01, 0xcd, 0xf7, - 0x57, 0x58, 0xd3, 0x1b, 0xb4, 0xd0, 0xcb, 0x00, 0xe4, 0x5e, 0x44, 0x02, 0xcf, 0x69, 0x2a, 0xdb, - 0x32, 0xc5, 0x17, 0x94, 0xfd, 0x75, 0x3f, 0xba, 0x15, 0x92, 0x15, 0x85, 0x81, 0x35, 0x6c, 0xfb, - 0x37, 0x4a, 0x00, 0x31, 0xdf, 0x8e, 0xde, 0x4e, 0x1d, 0x5c, 0xcf, 0x74, 0xe7, 0xf4, 0x8f, 0xef, - 0xd4, 0x42, 0xdf, 0x63, 0xc1, 0xa8, 0xd3, 0x6c, 0xfa, 0x75, 0x87, 0x87, 0x26, 0x2e, 0x74, 0x3f, - 0x38, 0x45, 0xfb, 0x8b, 0x71, 0x0d, 0xde, 0x85, 0xe7, 0xe5, 0x0a, 0xd5, 0x20, 0x3d, 0x7b, 0xa1, - 0x37, 0x8c, 0x3e, 0x24, 0x9f, 0x8a, 0x45, 0x63, 0x28, 0xd5, 0x53, 0xb1, 0xc4, 0xee, 0x08, 0xfd, - 0x95, 0x78, 0xcb, 0x78, 0x25, 0x0e, 0xe4, 0xbb, 0x37, 0x1a, 0xec, 0x6b, 0xaf, 0x07, 0x22, 0xaa, - 0xea, 0xa1, 0x0e, 0x06, 0xf3, 0x7d, 0x09, 0xb5, 0x77, 0x52, 0x8f, 0x30, 0x07, 0x6f, 0xc2, 0x64, - 0xc3, 0x64, 0x02, 0xc4, 0x4a, 0x7c, 0x32, 0x8f, 0x6e, 0x82, 0x67, 0x88, 0xaf, 0xfd, 0x04, 0x00, - 0x27, 0x09, 0xa3, 0x2a, 0x8f, 0x7c, 0x51, 0xf1, 0xb6, 0x7c, 0xe1, 0x79, 0x61, 0xe7, 0xce, 0xe5, - 0x7e, 0x18, 0x91, 0x16, 0xc5, 0x8c, 0x6f, 0xf7, 0x75, 0x51, 0x17, 0x2b, 0x2a, 0xe8, 0x35, 0x18, - 0x62, 0xce, 0x64, 0xe1, 0xec, 0x48, 0xbe, 0xc4, 0xd9, 0x0c, 0xe5, 0x16, 0x6f, 0x48, 0xf6, 0x37, - 0xc4, 0x82, 0x02, 0xba, 0x26, 0x5d, 0x35, 0xc3, 0x8a, 0x77, 0x2b, 0x24, 0xcc, 0x55, 0xb3, 0xb4, - 0xf4, 0xfe, 0xd8, 0x0b, 0x93, 0x97, 0x67, 0xe6, 0x3b, 0x33, 0x6a, 0x52, 0x2e, 0x4a, 0xfc, 0x97, - 0x69, 0xd4, 0x66, 0x21, 0xbf, 0x7b, 0x66, 0xaa, 0xb5, 0x78, 0x38, 0x6f, 0x9b, 0x24, 0x70, 0x92, - 0x26, 0xe5, 0x48, 0xf9, 0xae, 0x17, 0xbe, 0x1b, 0xbd, 0xce, 0x0e, 0xfe, 0x10, 0x67, 0xb7, 0x11, - 0x2f, 0xc1, 0xa2, 0xfe, 0x89, 0xb2, 0x07, 0x73, 0x1e, 0x4c, 0x25, 0xb7, 0xe8, 0x43, 0x65, 0x47, - 0xfe, 0x60, 0x00, 0x26, 0xcc, 0x25, 0x85, 0x2e, 0x43, 0x49, 0x10, 0x51, 0xa9, 0x0f, 0xd4, 0x2e, - 0x59, 0x93, 0x00, 0x1c, 0xe3, 0xb0, 0x8c, 0x17, 0xac, 0xba, 0x66, 0xac, 0x1b, 0x67, 0xbc, 0x50, - 0x10, 0xac, 0x61, 0xd1, 0x87, 0xd5, 0xa6, 0xef, 0x47, 0xea, 0x42, 0x52, 0xeb, 0x6e, 0x89, 0x95, - 0x62, 0x01, 0xa5, 0x17, 0xd1, 0x2e, 0x09, 0x3c, 0xd2, 0x34, 0x83, 0x24, 0xab, 0x8b, 0xe8, 0xba, - 0x0e, 0xc4, 0x26, 0x2e, 0xbd, 0x4e, 0xfd, 0x90, 0x2d, 0x64, 0xf1, 0x7c, 0x8b, 0x8d, 0x9f, 0x6b, - 0xdc, 0x5b, 0x5c, 0xc2, 0xd1, 0x27, 0xe1, 0x11, 0x15, 0x08, 0x0a, 0x73, 0x6d, 0x86, 0x6c, 0x71, - 0xc8, 0x90, 0xb6, 0x3c, 0xb2, 0x9c, 0x8d, 0x86, 0xf3, 0xea, 0xa3, 0x57, 0x61, 0x42, 0xb0, 0xf8, - 0x92, 0xe2, 0xb0, 0x69, 0x60, 0x73, 0xdd, 0x80, 0xe2, 0x04, 0xb6, 0x0c, 0xf3, 0xcc, 0xb8, 0x6c, - 0x49, 0x61, 0x24, 0x1d, 0xe6, 0x59, 0x87, 0xe3, 0x54, 0x0d, 0xb4, 0x08, 0x93, 0x9c, 0x07, 0x73, - 0xbd, 0x6d, 0x3e, 0x27, 0xc2, 0xb5, 0x4a, 0x6d, 0xa9, 0x9b, 0x26, 0x18, 0x27, 0xf1, 0xd1, 0x4b, - 0x30, 0xe6, 0x04, 0xf5, 0x1d, 0x37, 0x22, 0xf5, 0xa8, 0x13, 0x70, 0x9f, 0x2b, 0xcd, 0x42, 0x69, - 0x51, 0x83, 0x61, 0x03, 0xd3, 0x7e, 0x1b, 0x66, 0x32, 0xc2, 0x48, 0xd0, 0x85, 0xe3, 0xb4, 0x5d, - 0xf9, 0x4d, 0x09, 0x33, 0xe6, 0xc5, 0x6a, 0x45, 0x7e, 0x8d, 0x86, 0x45, 0x57, 0x27, 0x0b, 0x37, - 0xa1, 0x65, 0x4d, 0x54, 0xab, 0x73, 0x55, 0x02, 0x70, 0x8c, 0x63, 0xff, 0xaf, 0x02, 0x4c, 0x66, - 0xe8, 0x56, 0x58, 0xe6, 0xbe, 0xc4, 0x23, 0x25, 0x4e, 0xd4, 0x67, 0x46, 0x0d, 0x2f, 0x1c, 0x21, - 0x6a, 0x78, 0xb1, 0x57, 0xd4, 0xf0, 0x81, 0x77, 0x12, 0x35, 0xdc, 0x1c, 0xb1, 0xc1, 0xbe, 0x46, - 0x2c, 0x23, 0xd2, 0xf8, 0xd0, 0x11, 0x23, 0x8d, 0x1b, 0x83, 0x3e, 0xdc, 0xc7, 0xa0, 0xff, 0x70, - 0x01, 0xa6, 0x92, 0x96, 0x94, 0x27, 0x20, 0xb7, 0x7d, 0xcd, 0x90, 0xdb, 0x5e, 0xea, 0xc7, 0x71, - 0x36, 0x57, 0x86, 0x8b, 0x13, 0x32, 0xdc, 0x0f, 0xf6, 0x45, 0xad, 0xbb, 0x3c, 0xf7, 0xef, 0x14, - 0xe0, 0x74, 0xa6, 0xe7, 0xee, 0x09, 0x8c, 0xcd, 0x4d, 0x63, 0x6c, 0x9e, 0xed, 0xdb, 0xa9, 0x38, - 0x77, 0x80, 0xee, 0x24, 0x06, 0xe8, 0x72, 0xff, 0x24, 0xbb, 0x8f, 0xd2, 0x57, 0x8b, 0x70, 0x3e, - 0xb3, 0x5e, 0x2c, 0xf6, 0x5c, 0x35, 0xc4, 0x9e, 0xcf, 0x25, 0xc4, 0x9e, 0x76, 0xf7, 0xda, 0xc7, - 0x23, 0x07, 0x15, 0xee, 0xb2, 0x2c, 0x26, 0xc2, 0x03, 0xca, 0x40, 0x0d, 0x77, 0x59, 0x45, 0x08, - 0x9b, 0x74, 0xbf, 0x99, 0x64, 0x9f, 0xff, 0xce, 0x82, 0xb3, 0x99, 0x73, 0x73, 0x02, 0xb2, 0xae, - 0x75, 0x53, 0xd6, 0xf5, 0x54, 0xdf, 0xab, 0x35, 0x47, 0xf8, 0xf5, 0x6b, 0x03, 0x39, 0xdf, 0xc2, - 0x5e, 0xf2, 0x37, 0x61, 0xd4, 0xa9, 0xd7, 0x49, 0x18, 0xae, 0xf9, 0x0d, 0x15, 0x18, 0xf9, 0x59, - 0xf6, 0xce, 0x8a, 0x8b, 0x0f, 0x0f, 0xe6, 0xe7, 0x92, 0x24, 0x62, 0x30, 0xd6, 0x29, 0xa0, 0x4f, - 0xc3, 0x48, 0x28, 0xee, 0x4d, 0x31, 0xf7, 0xcf, 0xf7, 0x39, 0x38, 0xce, 0x26, 0x69, 0x9a, 0x91, - 0x9b, 0x94, 0xa4, 0x42, 0x91, 0x34, 0xa3, 0xbc, 0x14, 0x8e, 0x35, 0xca, 0xcb, 0x73, 0x00, 0x7b, - 0xea, 0x31, 0x90, 0x94, 0x3f, 0x68, 0xcf, 0x04, 0x0d, 0x0b, 0x7d, 0x1c, 0xa6, 0x42, 0x1e, 0xda, - 0x70, 0xb9, 0xe9, 0x84, 0xcc, 0x59, 0x46, 0xac, 0x42, 0x16, 0x1d, 0xaa, 0x96, 0x80, 0xe1, 0x14, - 0x36, 0x5a, 0x95, 0xad, 0xb2, 0x38, 0x8c, 0x7c, 0x61, 0x5e, 0x8c, 0x5b, 0x14, 0x79, 0x83, 0x4f, - 0x25, 0x87, 0x9f, 0x0d, 0xbc, 0x56, 0x13, 0x7d, 0x1a, 0x80, 0x2e, 0x1f, 0x21, 0x87, 0x18, 0xce, - 0x3f, 0x3c, 0xe9, 0xa9, 0xd2, 0xc8, 0xb4, 0xed, 0x65, 0x1e, 0xae, 0x65, 0x45, 0x04, 0x6b, 0x04, - 0xed, 0x1f, 0x1e, 0x80, 0x47, 0xbb, 0x9c, 0x91, 0x68, 0xd1, 0xd4, 0xc3, 0x3e, 0x9d, 0x7c, 0x5c, - 0xcf, 0x65, 0x56, 0x36, 0x5e, 0xdb, 0x89, 0xa5, 0x58, 0x78, 0xc7, 0x4b, 0xf1, 0x07, 0x2c, 0x4d, - 0xec, 0xc1, 0x2d, 0x3e, 0x3f, 0x76, 0xc4, 0xb3, 0xff, 0x18, 0xe5, 0x20, 0x5b, 0x19, 0xc2, 0x84, - 0xe7, 0xfa, 0xee, 0x4e, 0xdf, 0xd2, 0x85, 0x93, 0x95, 0x12, 0xff, 0x96, 0x05, 0xe7, 0xba, 0x86, - 0xf8, 0xf8, 0x06, 0x64, 0x18, 0xec, 0xcf, 0x5b, 0xf0, 0x78, 0x66, 0x0d, 0xc3, 0xcc, 0xe8, 0x32, - 0x94, 0xea, 0xb4, 0x50, 0xf3, 0xd2, 0x8c, 0xdd, 0xd7, 0x25, 0x00, 0xc7, 0x38, 0x47, 0x0c, 0x5f, - 0xf2, 0x2b, 0x16, 0xa4, 0x36, 0xfd, 0x09, 0xdc, 0x3e, 0x15, 0xf3, 0xf6, 0x79, 0x7f, 0x3f, 0xa3, - 0x99, 0x73, 0xf1, 0xfc, 0xf1, 0x24, 0x9c, 0xc9, 0xf1, 0x52, 0xda, 0x83, 0xe9, 0xed, 0x3a, 0x31, - 0xfd, 0x5f, 0xbb, 0x45, 0x91, 0xe9, 0xea, 0x2c, 0xcb, 0x32, 0x9b, 0x4e, 0xa7, 0x50, 0x70, 0xba, - 0x09, 0xf4, 0x79, 0x0b, 0x4e, 0x39, 0x77, 0xc3, 0x15, 0xca, 0x45, 0xb8, 0xf5, 0xa5, 0xa6, 0x5f, - 0xdf, 0xa5, 0x47, 0xb4, 0xdc, 0x08, 0x2f, 0x64, 0x4a, 0x76, 0xee, 0xd4, 0x52, 0xf8, 0x46, 0xf3, - 0x2c, 0xd5, 0x6b, 0x16, 0x16, 0xce, 0x6c, 0x0b, 0x61, 0x11, 0xff, 0x9f, 0xbe, 0x51, 0xba, 0x78, - 0x68, 0x67, 0xb9, 0x93, 0xf1, 0x6b, 0x51, 0x42, 0xb0, 0xa2, 0x83, 0x3e, 0x0b, 0xa5, 0x6d, 0xe9, - 0xe3, 0x99, 0x71, 0xed, 0xc6, 0x03, 0xd9, 0xdd, 0xf3, 0x95, 0xab, 0x67, 0x15, 0x12, 0x8e, 0x89, - 0xa2, 0x57, 0xa1, 0xe8, 0x6d, 0x85, 0xdd, 0xb2, 0xa5, 0x26, 0xec, 0xf0, 0x78, 0x1c, 0x84, 0xf5, - 0xd5, 0x1a, 0xa6, 0x15, 0xd1, 0x35, 0x28, 0x06, 0x9b, 0x0d, 0x21, 0x96, 0xcc, 0xdc, 0xa4, 0x78, - 0xa9, 0x9c, 0xd3, 0x2b, 0x46, 0x09, 0x2f, 0x95, 0x31, 0x25, 0x81, 0xaa, 0x30, 0xc8, 0x5c, 0x7b, - 0xc4, 0x25, 0x97, 0xc9, 0xce, 0x77, 0x71, 0x91, 0xe3, 0xc1, 0x12, 0x18, 0x02, 0xe6, 0x84, 0xd0, - 0x06, 0x0c, 0xd5, 0x59, 0x66, 0x4d, 0x11, 0x37, 0xee, 0x43, 0x99, 0x02, 0xc8, 0x2e, 0x29, 0x47, - 0x85, 0x3c, 0x8e, 0x61, 0x60, 0x41, 0x8b, 0x51, 0x25, 0xed, 0x9d, 0xad, 0x50, 0x64, 0x82, 0xce, - 0xa6, 0xda, 0x25, 0x93, 0xae, 0xa0, 0xca, 0x30, 0xb0, 0xa0, 0x85, 0x5e, 0x86, 0xc2, 0x56, 0x5d, - 0xb8, 0xed, 0x64, 0x4a, 0x22, 0xcd, 0x50, 0x16, 0x4b, 0x43, 0xf7, 0x0f, 0xe6, 0x0b, 0xab, 0xcb, - 0xb8, 0xb0, 0x55, 0x47, 0xeb, 0x30, 0xbc, 0xc5, 0x9d, 0xdf, 0x85, 0xb0, 0xf1, 0xc9, 0x6c, 0xbf, - 0xfc, 0x94, 0x7f, 0x3c, 0xf7, 0x58, 0x11, 0x00, 0x2c, 0x89, 0xb0, 0x70, 0xfa, 0xca, 0x89, 0x5f, - 0x84, 0x58, 0x5b, 0x38, 0x5a, 0xe0, 0x05, 0xce, 0x74, 0xc4, 0xa1, 0x00, 0xb0, 0x46, 0x91, 0xae, - 0x6a, 0x47, 0xa6, 0xe3, 0x17, 0xc1, 0x66, 0x32, 0x57, 0xb5, 0xca, 0xd9, 0xdf, 0x6d, 0x55, 0x2b, - 0x24, 0x1c, 0x13, 0x45, 0xbb, 0x30, 0xbe, 0x17, 0xb6, 0x77, 0x88, 0xdc, 0xd2, 0x2c, 0xf6, 0x4c, - 0xce, 0xbd, 0x7c, 0x5b, 0x20, 0xba, 0x41, 0xd4, 0x71, 0x9a, 0xa9, 0x53, 0x88, 0xe9, 0xf4, 0x6f, - 0xeb, 0xc4, 0xb0, 0x49, 0x9b, 0x0e, 0xff, 0x5b, 0x1d, 0x7f, 0x73, 0x3f, 0x22, 0x22, 0x32, 0x5a, - 0xe6, 0xf0, 0xbf, 0xce, 0x51, 0xd2, 0xc3, 0x2f, 0x00, 0x58, 0x12, 0x41, 0xb7, 0xc5, 0xf0, 0xb0, - 0xd3, 0x73, 0x2a, 0x3f, 0x7c, 0xe9, 0xa2, 0x44, 0xca, 0x19, 0x14, 0x76, 0x5a, 0xc6, 0xa4, 0xd8, - 0x29, 0xd9, 0xde, 0xf1, 0x23, 0xdf, 0x4b, 0x9c, 0xd0, 0xd3, 0xf9, 0xa7, 0x64, 0x35, 0x03, 0x3f, - 0x7d, 0x4a, 0x66, 0x61, 0xe1, 0xcc, 0xb6, 0x50, 0x03, 0x26, 0xda, 0x7e, 0x10, 0xdd, 0xf5, 0x03, - 0xb9, 0xbe, 0x50, 0x17, 0x61, 0x89, 0x81, 0x29, 0x5a, 0x64, 0x41, 0x07, 0x4d, 0x08, 0x4e, 0xd0, - 0x44, 0x9f, 0x80, 0xe1, 0xb0, 0xee, 0x34, 0x49, 0xe5, 0xe6, 0xec, 0x4c, 0xfe, 0xf5, 0x53, 0xe3, - 0x28, 0x39, 0xab, 0x8b, 0xc7, 0xde, 0xe7, 0x28, 0x58, 0x92, 0x43, 0xab, 0x30, 0xc8, 0xd2, 0xa5, - 0xb1, 0x30, 0x7e, 0x39, 0x51, 0x58, 0x53, 0x56, 0xd1, 0xfc, 0x6c, 0x62, 0xc5, 0x98, 0x57, 0xa7, - 0x7b, 0x40, 0xbc, 0x19, 0xfc, 0x70, 0xf6, 0x74, 0xfe, 0x1e, 0x10, 0x4f, 0x8d, 0x9b, 0xb5, 0x6e, - 0x7b, 0x40, 0x21, 0xe1, 0x98, 0x28, 0x3d, 0x99, 0xe9, 0x69, 0x7a, 0xa6, 0x8b, 0x39, 0x4f, 0xee, - 0x59, 0xca, 0x4e, 0x66, 0x7a, 0x92, 0x52, 0x12, 0xf6, 0xef, 0x0d, 0xa7, 0x79, 0x16, 0xf6, 0xca, - 0xfc, 0x2e, 0x2b, 0xa5, 0x80, 0xfc, 0x70, 0xbf, 0x42, 0xaf, 0x63, 0x64, 0xc1, 0x3f, 0x6f, 0xc1, - 0x99, 0x76, 0xe6, 0x87, 0x08, 0x06, 0xa0, 0x3f, 0xd9, 0x19, 0xff, 0x74, 0x15, 0xf2, 0x31, 0x1b, - 0x8e, 0x73, 0x5a, 0x4a, 0x3e, 0x73, 0x8a, 0xef, 0xf8, 0x99, 0xb3, 0x06, 0x23, 0x8c, 0xc9, 0xec, - 0x91, 0x69, 0x3a, 0xf9, 0xda, 0x63, 0xac, 0xc4, 0xb2, 0xa8, 0x88, 0x15, 0x09, 0xf4, 0x83, 0x16, - 0x9c, 0x4b, 0x76, 0x1d, 0x13, 0x06, 0x16, 0x71, 0x22, 0xf9, 0x03, 0x77, 0x55, 0x7c, 0x7f, 0x8a, - 0xff, 0x37, 0x90, 0x0f, 0x7b, 0x21, 0xe0, 0xee, 0x8d, 0xa1, 0x72, 0xc6, 0x0b, 0x7b, 0xc8, 0xd4, - 0x2a, 0xf4, 0xf1, 0xca, 0x7e, 0x01, 0xc6, 0x5a, 0x7e, 0xc7, 0x8b, 0x84, 0xf5, 0x8f, 0xb0, 0x44, - 0x60, 0x1a, 0xf8, 0x35, 0xad, 0x1c, 0x1b, 0x58, 0x89, 0xb7, 0xf9, 0xc8, 0x03, 0xbf, 0xcd, 0xdf, - 0x80, 0x31, 0x4f, 0x33, 0x57, 0x15, 0xfc, 0xc0, 0xc5, 0xfc, 0x18, 0xaf, 0xba, 0x71, 0x2b, 0xef, - 0xa5, 0x5e, 0x82, 0x0d, 0x6a, 0x27, 0xfb, 0xe0, 0xfb, 0x92, 0x95, 0xc1, 0xd4, 0x73, 0x11, 0xc0, - 0x47, 0x4d, 0x11, 0xc0, 0xc5, 0xa4, 0x08, 0x20, 0x25, 0x51, 0x36, 0x5e, 0xff, 0xfd, 0xa7, 0xb0, - 0xe9, 0x37, 0x10, 0xa2, 0xdd, 0x84, 0x0b, 0xbd, 0xae, 0x25, 0x66, 0x06, 0xd6, 0x50, 0xfa, 0xc3, - 0xd8, 0x0c, 0xac, 0x51, 0x29, 0x63, 0x06, 0xe9, 0x37, 0xc4, 0x8e, 0xfd, 0x3f, 0x2c, 0x28, 0x56, - 0xfd, 0xc6, 0x09, 0x3c, 0x78, 0x3f, 0x66, 0x3c, 0x78, 0x1f, 0xcd, 0xbe, 0x10, 0x1b, 0xb9, 0xf2, - 0xf0, 0x95, 0x84, 0x3c, 0xfc, 0x5c, 0x1e, 0x81, 0xee, 0xd2, 0xef, 0x9f, 0x2c, 0xc2, 0x68, 0xd5, - 0x6f, 0x28, 0x1b, 0xec, 0x5f, 0x7b, 0x10, 0x1b, 0xec, 0xdc, 0x44, 0x0c, 0x1a, 0x65, 0x66, 0x3d, - 0x26, 0xdd, 0x4f, 0xbf, 0xc1, 0x4c, 0xb1, 0xef, 0x10, 0x77, 0x7b, 0x27, 0x22, 0x8d, 0xe4, 0xe7, - 0x9c, 0x9c, 0x29, 0xf6, 0x7f, 0xb7, 0x60, 0x32, 0xd1, 0x3a, 0x6a, 0xc2, 0x78, 0x53, 0x97, 0xb6, - 0x8a, 0x75, 0xfa, 0x40, 0x82, 0x5a, 0x61, 0xca, 0xaa, 0x15, 0x61, 0x93, 0x38, 0x5a, 0x00, 0x50, - 0xea, 0x47, 0x29, 0xd6, 0x63, 0x5c, 0xbf, 0xd2, 0x4f, 0x86, 0x58, 0xc3, 0x40, 0x2f, 0xc2, 0x68, - 0xe4, 0xb7, 0xfd, 0xa6, 0xbf, 0xbd, 0x7f, 0x9d, 0xc8, 0xa0, 0x4e, 0xca, 0x40, 0x6d, 0x23, 0x06, - 0x61, 0x1d, 0xcf, 0xfe, 0xe9, 0x22, 0xff, 0x50, 0x2f, 0x72, 0xdf, 0x5b, 0x93, 0xef, 0xee, 0x35, - 0xf9, 0x55, 0x0b, 0xa6, 0x68, 0xeb, 0xcc, 0x06, 0x46, 0x5e, 0xb6, 0x2a, 0xb6, 0xb3, 0xd5, 0x25, - 0xb6, 0xf3, 0x45, 0x7a, 0x76, 0x35, 0xfc, 0x4e, 0x24, 0x24, 0x68, 0xda, 0xe1, 0x44, 0x4b, 0xb1, - 0x80, 0x0a, 0x3c, 0x12, 0x04, 0xc2, 0x6f, 0x4f, 0xc7, 0x23, 0x41, 0x80, 0x05, 0x54, 0x86, 0x7e, - 0x1e, 0xc8, 0x0e, 0xfd, 0xcc, 0x43, 0x54, 0x0a, 0x6b, 0x09, 0xc1, 0xf6, 0x68, 0x21, 0x2a, 0xa5, - 0x19, 0x45, 0x8c, 0x63, 0xff, 0x6c, 0x11, 0xc6, 0xaa, 0x7e, 0x23, 0x56, 0x00, 0xbe, 0x60, 0x28, - 0x00, 0x2f, 0x24, 0x14, 0x80, 0x53, 0x3a, 0xee, 0x7b, 0xea, 0xbe, 0xaf, 0x97, 0xba, 0xef, 0x9f, - 0x5b, 0x6c, 0xd6, 0xca, 0xeb, 0x35, 0x6e, 0x52, 0x85, 0xae, 0xc0, 0x28, 0x3b, 0x90, 0x98, 0xa3, - 0xa8, 0xd4, 0x8a, 0xb1, 0x94, 0x46, 0xeb, 0x71, 0x31, 0xd6, 0x71, 0xd0, 0x25, 0x18, 0x09, 0x89, - 0x13, 0xd4, 0x77, 0xd4, 0x19, 0x27, 0x54, 0x58, 0xbc, 0x0c, 0x2b, 0x28, 0x7a, 0x3d, 0x8e, 0x8e, - 0x58, 0xcc, 0x77, 0x3c, 0xd3, 0xfb, 0xc3, 0xb7, 0x48, 0x7e, 0x48, 0x44, 0xfb, 0x0e, 0xa0, 0x34, - 0x7e, 0x1f, 0x61, 0xc1, 0xe6, 0xcd, 0xb0, 0x60, 0xa5, 0x54, 0x48, 0xb0, 0x3f, 0xb7, 0x60, 0xa2, - 0xea, 0x37, 0xe8, 0xd6, 0xfd, 0x66, 0xda, 0xa7, 0x7a, 0x68, 0xd8, 0xa1, 0x2e, 0xa1, 0x61, 0x9f, - 0x80, 0xc1, 0xaa, 0xdf, 0xa8, 0x54, 0xbb, 0x79, 0x7d, 0xdb, 0x7f, 0xd7, 0x82, 0xe1, 0xaa, 0xdf, - 0x38, 0x01, 0xe1, 0xfc, 0x47, 0x4d, 0xe1, 0xfc, 0x23, 0x39, 0xeb, 0x26, 0x47, 0x1e, 0xff, 0xb7, - 0x07, 0x60, 0x9c, 0xf6, 0xd3, 0xdf, 0x96, 0x53, 0x69, 0x0c, 0x9b, 0xd5, 0xc7, 0xb0, 0x51, 0x5e, - 0xd8, 0x6f, 0x36, 0xfd, 0xbb, 0xc9, 0x69, 0x5d, 0x65, 0xa5, 0x58, 0x40, 0xd1, 0x33, 0x30, 0xd2, - 0x0e, 0xc8, 0x9e, 0xeb, 0x0b, 0x26, 0x53, 0x53, 0x75, 0x54, 0x45, 0x39, 0x56, 0x18, 0xf4, 0x71, - 0x16, 0xba, 0x5e, 0x9d, 0xd4, 0x48, 0xdd, 0xf7, 0x1a, 0x5c, 0x7e, 0x5d, 0x14, 0xe9, 0x1d, 0xb4, - 0x72, 0x6c, 0x60, 0xa1, 0x3b, 0x50, 0x62, 0xff, 0xd9, 0xb1, 0x73, 0xf4, 0x44, 0xa1, 0x22, 0x71, - 0x9c, 0x20, 0x80, 0x63, 0x5a, 0xe8, 0x39, 0x80, 0x48, 0xc6, 0x00, 0x0f, 0x45, 0x08, 0x28, 0xc5, - 0x90, 0xab, 0xe8, 0xe0, 0x21, 0xd6, 0xb0, 0xd0, 0xd3, 0x50, 0x8a, 0x1c, 0xb7, 0x79, 0xc3, 0xf5, - 0x48, 0xc8, 0xe4, 0xd2, 0x45, 0x99, 0xbf, 0x4d, 0x14, 0xe2, 0x18, 0x4e, 0x19, 0x22, 0x16, 0x1f, - 0x81, 0xa7, 0x19, 0x1e, 0x61, 0xd8, 0x8c, 0x21, 0xba, 0xa1, 0x4a, 0xb1, 0x86, 0x81, 0x76, 0xe0, - 0x31, 0xd7, 0x63, 0xa9, 0x10, 0x48, 0x6d, 0xd7, 0x6d, 0x6f, 0xdc, 0xa8, 0xdd, 0x26, 0x81, 0xbb, - 0xb5, 0xbf, 0xe4, 0xd4, 0x77, 0x89, 0x27, 0x53, 0x40, 0xbe, 0x5f, 0x74, 0xf1, 0xb1, 0x4a, 0x17, - 0x5c, 0xdc, 0x95, 0x92, 0xfd, 0x12, 0x9c, 0xae, 0xfa, 0x8d, 0xaa, 0x1f, 0x44, 0xab, 0x7e, 0x70, - 0xd7, 0x09, 0x1a, 0x72, 0xa5, 0xcc, 0xcb, 0x58, 0x05, 0xf4, 0x28, 0x1c, 0xe4, 0x07, 0x85, 0x11, - 0x87, 0xe0, 0x79, 0xc6, 0x7c, 0x1d, 0xd1, 0xc3, 0xa6, 0xce, 0xd8, 0x00, 0x95, 0x17, 0xe4, 0xaa, - 0x13, 0x11, 0x74, 0x93, 0xe5, 0x3b, 0x8e, 0x6f, 0x44, 0x51, 0xfd, 0x29, 0x2d, 0xdf, 0x71, 0x0c, - 0xcc, 0xbc, 0x42, 0xcd, 0xfa, 0xf6, 0xff, 0x1c, 0x64, 0x87, 0x63, 0x22, 0xb7, 0x04, 0xfa, 0x0c, - 0x4c, 0x84, 0xe4, 0x86, 0xeb, 0x75, 0xee, 0x49, 0x99, 0x40, 0x17, 0x1f, 0xa9, 0xda, 0x8a, 0x8e, - 0xc9, 0x25, 0x8b, 0x66, 0x19, 0x4e, 0x50, 0x43, 0x2d, 0x98, 0xb8, 0xeb, 0x7a, 0x0d, 0xff, 0x6e, - 0x28, 0xe9, 0x8f, 0xe4, 0x0b, 0x18, 0xef, 0x70, 0xcc, 0x44, 0x1f, 0x8d, 0xe6, 0xee, 0x18, 0xc4, - 0x70, 0x82, 0x38, 0x5d, 0x80, 0x41, 0xc7, 0x5b, 0x0c, 0x6f, 0x85, 0x24, 0x10, 0x99, 0xab, 0xd9, - 0x02, 0xc4, 0xb2, 0x10, 0xc7, 0x70, 0xba, 0x00, 0xd9, 0x9f, 0xab, 0x81, 0xdf, 0xe1, 0x91, 0xfa, - 0xc5, 0x02, 0xc4, 0xaa, 0x14, 0x6b, 0x18, 0x74, 0x83, 0xb2, 0x7f, 0xeb, 0xbe, 0x87, 0x7d, 0x3f, - 0x92, 0x5b, 0x9a, 0xe5, 0x4a, 0xd5, 0xca, 0xb1, 0x81, 0x85, 0x56, 0x01, 0x85, 0x9d, 0x76, 0xbb, - 0xc9, 0x8c, 0x2f, 0x9c, 0x26, 0x23, 0xc5, 0x15, 0xdf, 0x45, 0x1e, 0xc0, 0xb4, 0x96, 0x82, 0xe2, - 0x8c, 0x1a, 0xf4, 0xac, 0xde, 0x12, 0x5d, 0x1d, 0x64, 0x5d, 0xe5, 0xca, 0x88, 0x1a, 0xef, 0xa7, - 0x84, 0xa1, 0x15, 0x18, 0x0e, 0xf7, 0xc3, 0x7a, 0x24, 0x22, 0xb1, 0xe5, 0xa4, 0x0f, 0xaa, 0x31, - 0x14, 0x2d, 0x7b, 0x1d, 0xaf, 0x82, 0x65, 0x5d, 0x54, 0x87, 0x19, 0x41, 0x71, 0x79, 0xc7, 0xf1, - 0x54, 0x32, 0x16, 0x6e, 0x83, 0x7a, 0xe5, 0xfe, 0xc1, 0xfc, 0x8c, 0x68, 0x59, 0x07, 0x1f, 0x1e, - 0xcc, 0x9f, 0xa9, 0xfa, 0x8d, 0x0c, 0x08, 0xce, 0xa2, 0xc6, 0x17, 0x5f, 0xbd, 0xee, 0xb7, 0xda, - 0xd5, 0xc0, 0xdf, 0x72, 0x9b, 0xa4, 0x9b, 0x42, 0xa7, 0x66, 0x60, 0x8a, 0xc5, 0x67, 0x94, 0xe1, - 0x04, 0x35, 0xfb, 0xdb, 0x19, 0x3f, 0xc3, 0x92, 0x35, 0x47, 0x9d, 0x80, 0xa0, 0x16, 0x8c, 0xb7, - 0xd9, 0x36, 0x11, 0xf1, 0xf3, 0xc5, 0x5a, 0x7f, 0xa1, 0x4f, 0xc1, 0xc4, 0x5d, 0x7a, 0x0d, 0x28, - 0xc1, 0x21, 0x7b, 0xf1, 0x55, 0x75, 0x72, 0xd8, 0xa4, 0x6e, 0xff, 0xd8, 0x23, 0xec, 0x46, 0xac, - 0x71, 0x69, 0xc3, 0xb0, 0x30, 0x79, 0x17, 0x4f, 0xab, 0xb9, 0x7c, 0xb1, 0x57, 0x3c, 0x2d, 0xc2, - 0x6c, 0x1e, 0xcb, 0xba, 0xe8, 0xd3, 0x30, 0x41, 0x5f, 0x2a, 0x5a, 0x16, 0x94, 0x53, 0xf9, 0xa1, - 0x09, 0xe2, 0xe4, 0x27, 0x5a, 0x6e, 0x0d, 0xbd, 0x32, 0x4e, 0x10, 0x43, 0xaf, 0x33, 0xe3, 0x0c, - 0x33, 0xc1, 0x4a, 0x0f, 0xd2, 0xba, 0x1d, 0x86, 0x24, 0xab, 0x11, 0xc9, 0x4b, 0xde, 0x62, 0x3f, - 0xdc, 0xe4, 0x2d, 0xe8, 0x06, 0x8c, 0x8b, 0x8c, 0xc5, 0x62, 0xe5, 0x16, 0x0d, 0x69, 0xdc, 0x38, - 0xd6, 0x81, 0x87, 0xc9, 0x02, 0x6c, 0x56, 0x46, 0xdb, 0x70, 0x4e, 0xcb, 0x20, 0x74, 0x35, 0x70, - 0x98, 0x4a, 0xdd, 0x65, 0xc7, 0xa9, 0x76, 0x57, 0x3f, 0x7e, 0xff, 0x60, 0xfe, 0xdc, 0x46, 0x37, - 0x44, 0xdc, 0x9d, 0x0e, 0xba, 0x09, 0xa7, 0xb9, 0x63, 0x6d, 0x99, 0x38, 0x8d, 0xa6, 0xeb, 0x29, - 0x66, 0x80, 0x6f, 0xf9, 0xb3, 0xf7, 0x0f, 0xe6, 0x4f, 0x2f, 0x66, 0x21, 0xe0, 0xec, 0x7a, 0xe8, - 0xa3, 0x50, 0x6a, 0x78, 0xa1, 0x18, 0x83, 0x21, 0x23, 0x49, 0x53, 0xa9, 0xbc, 0x5e, 0x53, 0xdf, - 0x1f, 0xff, 0xc1, 0x71, 0x05, 0xb4, 0xcd, 0x25, 0xb6, 0x4a, 0x40, 0x32, 0x9c, 0x0a, 0x2c, 0x94, - 0x14, 0xb5, 0x19, 0xae, 0x75, 0x5c, 0x55, 0xa1, 0x2c, 0xce, 0x0d, 0xaf, 0x3b, 0x83, 0x30, 0x7a, - 0x0d, 0x10, 0x7d, 0x41, 0xb8, 0x75, 0xb2, 0x58, 0x67, 0xc9, 0x19, 0x98, 0x80, 0x7b, 0xc4, 0x74, - 0xf6, 0xaa, 0xa5, 0x30, 0x70, 0x46, 0x2d, 0x74, 0x8d, 0x9e, 0x2a, 0x7a, 0xa9, 0x38, 0xb5, 0x54, - 0x4a, 0xbd, 0x32, 0x69, 0x07, 0xa4, 0xee, 0x44, 0xa4, 0x61, 0x52, 0xc4, 0x89, 0x7a, 0xa8, 0x01, - 0x8f, 0x39, 0x9d, 0xc8, 0x67, 0xc2, 0x70, 0x13, 0x75, 0xc3, 0xdf, 0x25, 0x1e, 0xd3, 0x43, 0x8d, - 0x2c, 0x5d, 0xa0, 0xdc, 0xc6, 0x62, 0x17, 0x3c, 0xdc, 0x95, 0x0a, 0xe5, 0x12, 0x55, 0x0e, 0x5d, - 0x30, 0xc3, 0x25, 0x65, 0xe4, 0xd1, 0x7d, 0x11, 0x46, 0x77, 0xfc, 0x30, 0x5a, 0x27, 0xd1, 0x5d, - 0x3f, 0xd8, 0x15, 0x51, 0x2f, 0xe3, 0x48, 0xc9, 0x31, 0x08, 0xeb, 0x78, 0xf4, 0x19, 0xc8, 0xac, - 0x24, 0x2a, 0x65, 0xa6, 0xa0, 0x1e, 0x89, 0xcf, 0x98, 0x6b, 0xbc, 0x18, 0x4b, 0xb8, 0x44, 0xad, - 0x54, 0x97, 0x99, 0xb2, 0x39, 0x81, 0x5a, 0xa9, 0x2e, 0x63, 0x09, 0xa7, 0xcb, 0x35, 0xdc, 0x71, - 0x02, 0x52, 0x0d, 0xfc, 0x3a, 0x09, 0xb5, 0xf8, 0xdc, 0x8f, 0xf2, 0x98, 0x9e, 0x74, 0xb9, 0xd6, - 0xb2, 0x10, 0x70, 0x76, 0x3d, 0x44, 0xd2, 0xd9, 0xb3, 0x26, 0xf2, 0xb5, 0x04, 0x69, 0x7e, 0xa6, - 0xcf, 0x04, 0x5a, 0x1e, 0x4c, 0xa9, 0xbc, 0x5d, 0x3c, 0x8a, 0x67, 0x38, 0x3b, 0xc9, 0xd6, 0x76, - 0xff, 0x21, 0x40, 0x95, 0xde, 0xa5, 0x92, 0xa0, 0x84, 0x53, 0xb4, 0x8d, 0x88, 0x58, 0x53, 0x3d, - 0x23, 0x62, 0x5d, 0x86, 0x52, 0xd8, 0xd9, 0x6c, 0xf8, 0x2d, 0xc7, 0xf5, 0x98, 0xb2, 0x59, 0x7b, - 0x8f, 0xd4, 0x24, 0x00, 0xc7, 0x38, 0x68, 0x15, 0x46, 0x1c, 0xa9, 0x54, 0x41, 0xf9, 0x31, 0x50, - 0x94, 0x2a, 0x85, 0x87, 0x05, 0x90, 0x6a, 0x14, 0x55, 0x17, 0xbd, 0x02, 0xe3, 0xc2, 0x31, 0x54, - 0xa4, 0x8c, 0x9c, 0x31, 0xbd, 0x77, 0x6a, 0x3a, 0x10, 0x9b, 0xb8, 0xe8, 0x16, 0x8c, 0x46, 0x7e, - 0x93, 0xb9, 0xa0, 0x50, 0x36, 0xef, 0x4c, 0x7e, 0x34, 0xaf, 0x0d, 0x85, 0xa6, 0xcb, 0x33, 0x55, - 0x55, 0xac, 0xd3, 0x41, 0x1b, 0x7c, 0xbd, 0xb3, 0x38, 0xd5, 0x24, 0x9c, 0x7d, 0x24, 0xff, 0x4e, - 0x52, 0xe1, 0xac, 0xcd, 0xed, 0x20, 0x6a, 0x62, 0x9d, 0x0c, 0xba, 0x0a, 0xd3, 0xed, 0xc0, 0xf5, - 0xd9, 0x9a, 0x50, 0xfa, 0xb4, 0x59, 0x33, 0x49, 0x4e, 0x35, 0x89, 0x80, 0xd3, 0x75, 0x98, 0x5f, - 0xaf, 0x28, 0x9c, 0x3d, 0xcb, 0xb3, 0x4a, 0xf3, 0xe7, 0x1d, 0x2f, 0xc3, 0x0a, 0x8a, 0xd6, 0xd8, - 0x49, 0xcc, 0x25, 0x13, 0xb3, 0x73, 0xf9, 0x61, 0x57, 0x74, 0x09, 0x06, 0x67, 0x5e, 0xd5, 0x5f, - 0x1c, 0x53, 0x40, 0x0d, 0x2d, 0xfd, 0x20, 0x7d, 0x31, 0x84, 0xb3, 0x8f, 0x75, 0x31, 0x55, 0x4b, - 0x3c, 0x2f, 0x62, 0x86, 0xc0, 0x28, 0x0e, 0x71, 0x82, 0x26, 0xfa, 0x38, 0x4c, 0x89, 0x60, 0x71, - 0xf1, 0x30, 0x9d, 0x8b, 0x0d, 0x7b, 0x71, 0x02, 0x86, 0x53, 0xd8, 0x3c, 0x7e, 0xbf, 0xb3, 0xd9, - 0x24, 0xe2, 0xe8, 0xbb, 0xe1, 0x7a, 0xbb, 0xe1, 0xec, 0x79, 0x76, 0x3e, 0x88, 0xf8, 0xfd, 0x49, - 0x28, 0xce, 0xa8, 0x81, 0x36, 0x60, 0xaa, 0x1d, 0x10, 0xd2, 0x62, 0x8c, 0xbe, 0xb8, 0xcf, 0xe6, - 0xb9, 0x5b, 0x3b, 0xed, 0x49, 0x35, 0x01, 0x3b, 0xcc, 0x28, 0xc3, 0x29, 0x0a, 0xe8, 0x2e, 0x8c, - 0xf8, 0x7b, 0x24, 0xd8, 0x21, 0x4e, 0x63, 0xf6, 0x42, 0x17, 0x43, 0x73, 0x71, 0xb9, 0xdd, 0x14, - 0xb8, 0x09, 0x1d, 0xbc, 0x2c, 0xee, 0xad, 0x83, 0x97, 0x8d, 0xa1, 0x1f, 0xb2, 0xe0, 0xac, 0x14, - 0xdb, 0xd7, 0xda, 0x74, 0xd4, 0x97, 0x7d, 0x2f, 0x8c, 0x02, 0xee, 0x88, 0xfd, 0x78, 0xbe, 0x73, - 0xf2, 0x46, 0x4e, 0x25, 0x25, 0x1c, 0x3d, 0x9b, 0x87, 0x11, 0xe2, 0xfc, 0x16, 0xd1, 0x32, 0x4c, - 0x87, 0x24, 0x92, 0x87, 0xd1, 0x62, 0xb8, 0xfa, 0x7a, 0x79, 0x7d, 0xf6, 0x09, 0xee, 0x45, 0x4e, - 0x37, 0x43, 0x2d, 0x09, 0xc4, 0x69, 0xfc, 0xb9, 0x6f, 0x85, 0xe9, 0xd4, 0xf5, 0x7f, 0x94, 0xbc, - 0x24, 0x73, 0xbb, 0x30, 0x6e, 0x0c, 0xf1, 0x43, 0xd5, 0xe1, 0xfe, 0x9b, 0x61, 0x28, 0x29, 0xfd, - 0x1e, 0xba, 0x6c, 0xaa, 0x6d, 0xcf, 0x26, 0xd5, 0xb6, 0x23, 0xf4, 0x5d, 0xaf, 0x6b, 0x6a, 0x37, - 0x32, 0x62, 0x67, 0xe5, 0x6d, 0xe8, 0xfe, 0x9d, 0xa2, 0x35, 0x71, 0x6d, 0xb1, 0x6f, 0xfd, 0xef, - 0x40, 0x57, 0x09, 0xf0, 0x55, 0x98, 0xf6, 0x7c, 0xc6, 0x73, 0x92, 0x86, 0x64, 0x28, 0x18, 0xdf, - 0x50, 0xd2, 0x83, 0x51, 0x24, 0x10, 0x70, 0xba, 0x0e, 0x6d, 0x90, 0x5f, 0xfc, 0x49, 0x91, 0x33, - 0xe7, 0x0b, 0xb0, 0x80, 0xa2, 0x27, 0x60, 0xb0, 0xed, 0x37, 0x2a, 0x55, 0xc1, 0x6f, 0x6a, 0x11, - 0x1b, 0x1b, 0x95, 0x2a, 0xe6, 0x30, 0xb4, 0x08, 0x43, 0xec, 0x47, 0x38, 0x3b, 0x96, 0x1f, 0x75, - 0x80, 0xd5, 0xd0, 0xb2, 0xbe, 0xb0, 0x0a, 0x58, 0x54, 0x64, 0xa2, 0x2f, 0xca, 0xa4, 0x33, 0xd1, - 0xd7, 0xf0, 0x03, 0x8a, 0xbe, 0x24, 0x01, 0x1c, 0xd3, 0x42, 0xf7, 0xe0, 0xb4, 0xf1, 0x30, 0xe2, - 0x4b, 0x84, 0x84, 0xc2, 0xf3, 0xf9, 0x89, 0xae, 0x2f, 0x22, 0xa1, 0x2f, 0x3e, 0x27, 0x3a, 0x7d, - 0xba, 0x92, 0x45, 0x09, 0x67, 0x37, 0x80, 0x9a, 0x30, 0x5d, 0x4f, 0xb5, 0x3a, 0xd2, 0x7f, 0xab, - 0x6a, 0x42, 0xd3, 0x2d, 0xa6, 0x09, 0xa3, 0x57, 0x60, 0xe4, 0x2d, 0x3f, 0x64, 0x67, 0xb5, 0xe0, - 0x91, 0xa5, 0xdb, 0xec, 0xc8, 0xeb, 0x37, 0x6b, 0xac, 0xfc, 0xf0, 0x60, 0x7e, 0xb4, 0xea, 0x37, - 0xe4, 0x5f, 0xac, 0x2a, 0xa0, 0xef, 0xb5, 0x60, 0x2e, 0xfd, 0xf2, 0x52, 0x9d, 0x1e, 0xef, 0xbf, - 0xd3, 0xb6, 0x68, 0x74, 0x6e, 0x25, 0x97, 0x1c, 0xee, 0xd2, 0x94, 0xfd, 0x4b, 0x5c, 0xb7, 0x2b, - 0x34, 0x40, 0x24, 0xec, 0x34, 0x4f, 0x22, 0xd9, 0xe5, 0x8a, 0xa1, 0x9c, 0x7a, 0x60, 0xfb, 0x81, - 0x7f, 0x69, 0x31, 0xfb, 0x81, 0x13, 0x74, 0x14, 0x78, 0x1d, 0x46, 0x22, 0x99, 0xb2, 0xb4, 0x4b, - 0x7e, 0x4e, 0xad, 0x53, 0xcc, 0x86, 0x42, 0x71, 0xac, 0x2a, 0x3b, 0xa9, 0x22, 0x63, 0xff, 0x13, - 0x3e, 0x03, 0x12, 0x72, 0x02, 0x3a, 0x80, 0xb2, 0xa9, 0x03, 0x98, 0xef, 0xf1, 0x05, 0x39, 0xba, - 0x80, 0x7f, 0x6c, 0xf6, 0x9b, 0x49, 0x6a, 0xde, 0xed, 0x86, 0x2b, 0xf6, 0x17, 0x2c, 0x80, 0x38, - 0x20, 0x2e, 0x93, 0x2f, 0xfb, 0x81, 0xcc, 0x74, 0x98, 0x95, 0xd3, 0xe7, 0x25, 0xca, 0xa3, 0xfa, - 0x91, 0x5f, 0xf7, 0x9b, 0x42, 0xc3, 0xf5, 0x58, 0xac, 0x86, 0xe0, 0xe5, 0x87, 0xda, 0x6f, 0xac, - 0xb0, 0xd1, 0xbc, 0x0c, 0xbf, 0x55, 0x8c, 0x15, 0x63, 0x46, 0xe8, 0xad, 0x1f, 0xb1, 0xe0, 0x54, - 0x96, 0xd5, 0x29, 0x7d, 0xf1, 0x70, 0x99, 0x95, 0x32, 0x2a, 0x52, 0xb3, 0x79, 0x5b, 0x94, 0x63, - 0x85, 0xd1, 0x77, 0xfe, 0xae, 0xa3, 0x45, 0xa2, 0xbd, 0x09, 0xe3, 0xd5, 0x80, 0x68, 0x97, 0xeb, - 0xab, 0xdc, 0xa5, 0x9b, 0xf7, 0xe7, 0x99, 0x23, 0xbb, 0x73, 0xdb, 0x5f, 0x2e, 0xc0, 0x29, 0x6e, - 0x15, 0xb0, 0xb8, 0xe7, 0xbb, 0x8d, 0xaa, 0xdf, 0x10, 0xb9, 0xd7, 0x3e, 0x05, 0x63, 0x6d, 0x4d, - 0xd0, 0xd8, 0x2d, 0xaa, 0xa2, 0x2e, 0x90, 0x8c, 0x45, 0x23, 0x7a, 0x29, 0x36, 0x68, 0xa1, 0x06, - 0x8c, 0x91, 0x3d, 0xb7, 0xae, 0x54, 0xcb, 0x85, 0x23, 0x5f, 0x74, 0xaa, 0x95, 0x15, 0x8d, 0x0e, - 0x36, 0xa8, 0x3e, 0x84, 0xac, 0xba, 0xf6, 0x8f, 0x5a, 0xf0, 0x48, 0x4e, 0x0c, 0x46, 0xda, 0xdc, - 0x5d, 0x66, 0x7f, 0x21, 0x96, 0xad, 0x6a, 0x8e, 0x5b, 0x65, 0x60, 0x01, 0x45, 0x9f, 0x00, 0xe0, - 0x56, 0x15, 0xf4, 0xc9, 0xdd, 0x2b, 0x58, 0x9d, 0x11, 0x67, 0x4b, 0x0b, 0x99, 0x24, 0xeb, 0x63, - 0x8d, 0x96, 0xfd, 0x53, 0x45, 0x18, 0xe4, 0x09, 0xd2, 0x57, 0x61, 0x78, 0x87, 0x67, 0xa4, 0xe8, - 0x27, 0xf9, 0x45, 0x2c, 0x0c, 0xe1, 0x05, 0x58, 0x56, 0x46, 0x6b, 0x30, 0xc3, 0x33, 0x7a, 0x34, - 0xcb, 0xa4, 0xe9, 0xec, 0x4b, 0xc9, 0x1d, 0xcf, 0x86, 0xa9, 0x24, 0x98, 0x95, 0x34, 0x0a, 0xce, - 0xaa, 0x87, 0x5e, 0x85, 0x09, 0xfa, 0x92, 0xf2, 0x3b, 0x91, 0xa4, 0xc4, 0x73, 0x79, 0xa8, 0xa7, - 0xdb, 0x86, 0x01, 0xc5, 0x09, 0x6c, 0xfa, 0x98, 0x6f, 0xa7, 0x64, 0x94, 0x83, 0xf1, 0x63, 0xde, - 0x94, 0x4b, 0x9a, 0xb8, 0xcc, 0xdc, 0xb4, 0xc3, 0x8c, 0x6b, 0x37, 0x76, 0x02, 0x12, 0xee, 0xf8, - 0xcd, 0x06, 0x63, 0xfa, 0x06, 0x35, 0x73, 0xd3, 0x04, 0x1c, 0xa7, 0x6a, 0x50, 0x2a, 0x5b, 0x8e, - 0xdb, 0xec, 0x04, 0x24, 0xa6, 0x32, 0x64, 0x52, 0x59, 0x4d, 0xc0, 0x71, 0xaa, 0x06, 0x5d, 0x47, - 0xa7, 0xab, 0x81, 0x4f, 0x0f, 0x52, 0x19, 0x58, 0x46, 0xd9, 0x10, 0x0f, 0x4b, 0x1f, 0xd8, 0x2e, - 0x21, 0xd8, 0x84, 0x95, 0x25, 0xa7, 0x60, 0x18, 0x10, 0xd4, 0x84, 0xf7, 0xab, 0xa4, 0x82, 0xae, - 0xc0, 0xa8, 0xc8, 0xd3, 0xc0, 0x4c, 0x5d, 0xf9, 0xd4, 0x31, 0x83, 0x87, 0x72, 0x5c, 0x8c, 0x75, - 0x1c, 0xfb, 0xfb, 0x0a, 0x30, 0x93, 0xe1, 0xab, 0xc0, 0x8f, 0xaa, 0x6d, 0x37, 0x8c, 0x54, 0xc6, - 0x3f, 0xed, 0xa8, 0xe2, 0xe5, 0x58, 0x61, 0xd0, 0xfd, 0xc0, 0x0f, 0xc3, 0xe4, 0x01, 0x28, 0x6c, - 0x81, 0x05, 0xf4, 0x88, 0xb9, 0xf3, 0x2e, 0xc0, 0x40, 0x27, 0x24, 0x32, 0x78, 0xa2, 0xba, 0x1a, - 0x98, 0x1e, 0x8c, 0x41, 0x28, 0xab, 0xbe, 0xad, 0x54, 0x4a, 0x1a, 0xab, 0xce, 0x95, 0x4a, 0x1c, - 0x46, 0x3b, 0x17, 0x11, 0xcf, 0xf1, 0x22, 0xc1, 0xd0, 0xc7, 0x51, 0xc0, 0x58, 0x29, 0x16, 0x50, - 0xfb, 0x8b, 0x45, 0x38, 0x9b, 0xeb, 0xbd, 0x44, 0xbb, 0xde, 0xf2, 0x3d, 0x37, 0xf2, 0x95, 0x25, - 0x09, 0x8f, 0xfc, 0x45, 0xda, 0x3b, 0x6b, 0xa2, 0x1c, 0x2b, 0x0c, 0x74, 0x11, 0x06, 0x99, 0x14, - 0x2d, 0x95, 0xfb, 0x70, 0xa9, 0xcc, 0x43, 0xc1, 0x70, 0x70, 0xdf, 0x79, 0x65, 0x9f, 0xa0, 0xb7, - 0xa4, 0xdf, 0x4c, 0x1e, 0x5a, 0xb4, 0xbb, 0xbe, 0xdf, 0xc4, 0x0c, 0x88, 0x3e, 0x20, 0xc6, 0x2b, - 0x61, 0x3a, 0x81, 0x9d, 0x86, 0x1f, 0x6a, 0x83, 0xf6, 0x14, 0x0c, 0xef, 0x92, 0xfd, 0xc0, 0xf5, - 0xb6, 0x93, 0x26, 0x35, 0xd7, 0x79, 0x31, 0x96, 0x70, 0x33, 0x8d, 0xd5, 0xf0, 0x71, 0x27, 0x84, - 0x1d, 0xe9, 0x79, 0x05, 0xfe, 0x40, 0x11, 0x26, 0xf1, 0x52, 0xf9, 0xbd, 0x89, 0xb8, 0x95, 0x9e, - 0x88, 0xe3, 0x4e, 0x08, 0xdb, 0x7b, 0x36, 0x7e, 0xde, 0x82, 0x49, 0x96, 0x2d, 0x42, 0xc4, 0x8c, - 0x72, 0x7d, 0xef, 0x04, 0xd8, 0xcd, 0x27, 0x60, 0x30, 0xa0, 0x8d, 0x26, 0x93, 0x1e, 0xb2, 0x9e, - 0x60, 0x0e, 0x43, 0x8f, 0xc1, 0x00, 0xeb, 0x02, 0x9d, 0xbc, 0x31, 0x9e, 0x2f, 0xaa, 0xec, 0x44, - 0x0e, 0x66, 0xa5, 0x2c, 0x10, 0x0a, 0x26, 0xed, 0xa6, 0xcb, 0x3b, 0x1d, 0xeb, 0x38, 0xdf, 0x1d, - 0x7e, 0xcd, 0x99, 0x5d, 0x7b, 0x67, 0x81, 0x50, 0xb2, 0x49, 0x76, 0x7f, 0xca, 0xfd, 0x51, 0x01, - 0xce, 0x67, 0xd6, 0xeb, 0x3b, 0x10, 0x4a, 0xf7, 0xda, 0x0f, 0x33, 0x1f, 0x40, 0xf1, 0x04, 0x0d, - 0x16, 0x07, 0xfa, 0xe5, 0x30, 0x07, 0xfb, 0x88, 0x4f, 0x92, 0x39, 0x64, 0xef, 0x92, 0xf8, 0x24, - 0x99, 0x7d, 0xcb, 0x79, 0x8a, 0xfe, 0x45, 0x21, 0xe7, 0x5b, 0xd8, 0xa3, 0xf4, 0x12, 0x3d, 0x67, - 0x18, 0x30, 0x94, 0x0f, 0x3d, 0x7e, 0xc6, 0xf0, 0x32, 0xac, 0xa0, 0x68, 0x11, 0x26, 0x5b, 0xae, - 0x47, 0x0f, 0x9f, 0x7d, 0x93, 0xf1, 0x53, 0xe1, 0xa3, 0xd6, 0x4c, 0x30, 0x4e, 0xe2, 0x23, 0x57, - 0x8b, 0x5d, 0x52, 0xc8, 0x4f, 0x23, 0x9e, 0xdb, 0xdb, 0x05, 0x53, 0xff, 0xab, 0x46, 0x31, 0x23, - 0x8e, 0xc9, 0x9a, 0x26, 0x8b, 0x28, 0xf6, 0x2f, 0x8b, 0x18, 0xcb, 0x96, 0x43, 0xcc, 0xbd, 0x02, - 0xe3, 0x0f, 0x2c, 0x7c, 0xb6, 0xbf, 0x5a, 0x84, 0x47, 0xbb, 0x6c, 0x7b, 0x7e, 0xd6, 0x1b, 0x73, - 0xa0, 0x9d, 0xf5, 0xa9, 0x79, 0xa8, 0xc2, 0xa9, 0xad, 0x4e, 0xb3, 0xb9, 0xcf, 0x7c, 0x02, 0x48, - 0x43, 0x62, 0x08, 0x9e, 0x52, 0x3e, 0xc0, 0x4f, 0xad, 0x66, 0xe0, 0xe0, 0xcc, 0x9a, 0x94, 0xa1, - 0xa7, 0x37, 0xc9, 0xbe, 0x22, 0x95, 0x60, 0xe8, 0xb1, 0x0e, 0xc4, 0x26, 0x2e, 0xba, 0x0a, 0xd3, - 0xce, 0x9e, 0xe3, 0xf2, 0x00, 0xb0, 0x92, 0x00, 0xe7, 0xe8, 0x95, 0xcc, 0x70, 0x31, 0x89, 0x80, - 0xd3, 0x75, 0xd0, 0x6b, 0x80, 0xfc, 0x4d, 0x66, 0xed, 0xdb, 0xb8, 0x4a, 0x3c, 0xa1, 0xa6, 0x63, - 0x73, 0x57, 0x8c, 0x8f, 0x84, 0x9b, 0x29, 0x0c, 0x9c, 0x51, 0x2b, 0x11, 0x0b, 0x64, 0x28, 0x3f, - 0x16, 0x48, 0xf7, 0x73, 0xb1, 0x67, 0x2a, 0x8a, 0xff, 0x62, 0xd1, 0xeb, 0x8b, 0x33, 0xf9, 0x66, - 0x48, 0xbb, 0x57, 0x98, 0x99, 0x1d, 0x97, 0x27, 0x6a, 0x11, 0x2c, 0x4e, 0x6b, 0x66, 0x76, 0x31, - 0x10, 0x9b, 0xb8, 0x7c, 0x41, 0x84, 0xb1, 0xe3, 0xa4, 0xc1, 0xe2, 0x8b, 0xb8, 0x3b, 0x0a, 0x03, - 0x7d, 0x12, 0x86, 0x1b, 0xee, 0x9e, 0x1b, 0x0a, 0x69, 0xca, 0x91, 0x55, 0x17, 0xf1, 0x39, 0x58, - 0xe6, 0x64, 0xb0, 0xa4, 0x67, 0xff, 0x40, 0x01, 0xc6, 0x65, 0x8b, 0xaf, 0x77, 0xfc, 0xc8, 0x39, - 0x81, 0x6b, 0xf9, 0xaa, 0x71, 0x2d, 0x7f, 0xa0, 0x5b, 0xf0, 0x21, 0xd6, 0xa5, 0xdc, 0xeb, 0xf8, - 0x66, 0xe2, 0x3a, 0x7e, 0xb2, 0x37, 0xa9, 0xee, 0xd7, 0xf0, 0x3f, 0xb5, 0x60, 0xda, 0xc0, 0x3f, - 0x81, 0xdb, 0x60, 0xd5, 0xbc, 0x0d, 0x1e, 0xef, 0xf9, 0x0d, 0x39, 0xb7, 0xc0, 0x77, 0x17, 0x13, - 0x7d, 0x67, 0xa7, 0xff, 0x5b, 0x30, 0xb0, 0xe3, 0x04, 0x8d, 0x6e, 0xc1, 0xd6, 0x53, 0x95, 0x16, - 0xae, 0x39, 0x81, 0xd0, 0x53, 0x3e, 0xa3, 0xb2, 0x78, 0x3b, 0x41, 0x6f, 0x1d, 0x25, 0x6b, 0x0a, - 0xbd, 0x04, 0x43, 0x61, 0xdd, 0x6f, 0x2b, 0x2b, 0xfe, 0x0b, 0x3c, 0xc3, 0x37, 0x2d, 0x39, 0x3c, - 0x98, 0x47, 0x66, 0x73, 0xb4, 0x18, 0x0b, 0x7c, 0xf4, 0x29, 0x18, 0x67, 0xbf, 0x94, 0xd1, 0x50, - 0x31, 0x3f, 0x31, 0x53, 0x4d, 0x47, 0xe4, 0x16, 0x75, 0x46, 0x11, 0x36, 0x49, 0xcd, 0x6d, 0x43, - 0x49, 0x7d, 0xd6, 0x43, 0xd5, 0x0d, 0xfe, 0xc7, 0x22, 0xcc, 0x64, 0xac, 0x39, 0x14, 0x1a, 0x33, - 0x71, 0xa5, 0xcf, 0xa5, 0xfa, 0x0e, 0xe7, 0x22, 0x64, 0xaf, 0xa1, 0x86, 0x58, 0x5b, 0x7d, 0x37, - 0x7a, 0x2b, 0x24, 0xc9, 0x46, 0x69, 0x51, 0xef, 0x46, 0x69, 0x63, 0x27, 0x36, 0xd4, 0xb4, 0x21, - 0xd5, 0xd3, 0x87, 0x3a, 0xa7, 0x7f, 0x5a, 0x84, 0x53, 0x59, 0xf1, 0xd0, 0xd0, 0xe7, 0x12, 0xa9, - 0xfe, 0x5e, 0xe8, 0x37, 0x92, 0x1a, 0xcf, 0xff, 0xc7, 0x65, 0xc0, 0x4b, 0x0b, 0x66, 0xf2, 0xbf, - 0x9e, 0xc3, 0x2c, 0xda, 0x64, 0x41, 0x01, 0x02, 0x9e, 0xa2, 0x51, 0x1e, 0x1f, 0x1f, 0xee, 0xbb, - 0x03, 0x22, 0xb7, 0x63, 0x98, 0x30, 0x48, 0x90, 0xc5, 0xbd, 0x0d, 0x12, 0x64, 0xcb, 0x73, 0x2e, - 0x8c, 0x6a, 0x5f, 0xf3, 0x50, 0x67, 0x7c, 0x97, 0xde, 0x56, 0x5a, 0xbf, 0x1f, 0xea, 0xac, 0xff, - 0xa8, 0x05, 0x09, 0x1b, 0x75, 0x25, 0x16, 0xb3, 0x72, 0xc5, 0x62, 0x17, 0x60, 0x20, 0xf0, 0x9b, - 0x24, 0x99, 0x13, 0x0f, 0xfb, 0x4d, 0x82, 0x19, 0x84, 0x62, 0x44, 0xb1, 0xb0, 0x63, 0x4c, 0x7f, - 0xc8, 0x89, 0x27, 0xda, 0x13, 0x30, 0xd8, 0x24, 0x7b, 0xa4, 0x99, 0x4c, 0x5d, 0x72, 0x83, 0x16, - 0x62, 0x0e, 0xb3, 0x7f, 0x7e, 0x00, 0xce, 0x75, 0x0d, 0xab, 0x41, 0x9f, 0x43, 0xdb, 0x4e, 0x44, - 0xee, 0x3a, 0xfb, 0xc9, 0x1c, 0x03, 0x57, 0x79, 0x31, 0x96, 0x70, 0xe6, 0x45, 0xc4, 0x43, 0x05, - 0x27, 0x84, 0x88, 0x22, 0x42, 0xb0, 0x80, 0x9a, 0x42, 0xa9, 0xe2, 0x71, 0x08, 0xa5, 0x9e, 0x03, - 0x08, 0xc3, 0x26, 0xb7, 0xe4, 0x69, 0x08, 0xf7, 0xa4, 0x38, 0xa4, 0x74, 0xed, 0x86, 0x80, 0x60, - 0x0d, 0x0b, 0x95, 0x61, 0xaa, 0x1d, 0xf8, 0x11, 0x97, 0xc9, 0x96, 0xb9, 0xb1, 0xdb, 0xa0, 0x19, - 0xd1, 0xa0, 0x9a, 0x80, 0xe3, 0x54, 0x0d, 0xf4, 0x22, 0x8c, 0x8a, 0x28, 0x07, 0x55, 0xdf, 0x6f, - 0x0a, 0x31, 0x90, 0xb2, 0xff, 0xaa, 0xc5, 0x20, 0xac, 0xe3, 0x69, 0xd5, 0x98, 0xa0, 0x77, 0x38, - 0xb3, 0x1a, 0x17, 0xf6, 0x6a, 0x78, 0x89, 0xd8, 0x88, 0x23, 0x7d, 0xc5, 0x46, 0x8c, 0x05, 0x63, - 0xa5, 0xbe, 0x75, 0x5b, 0xd0, 0x53, 0x94, 0xf4, 0x33, 0x03, 0x30, 0x23, 0x16, 0xce, 0xc3, 0x5e, - 0x2e, 0xb7, 0xd2, 0xcb, 0xe5, 0x38, 0x44, 0x67, 0xef, 0xad, 0x99, 0x93, 0x5e, 0x33, 0x3f, 0x68, - 0x81, 0xc9, 0x5e, 0xa1, 0xbf, 0x94, 0x9b, 0xa4, 0xe5, 0xc5, 0x5c, 0x76, 0xad, 0x21, 0x2f, 0x90, - 0x77, 0x98, 0xae, 0xc5, 0xfe, 0xcf, 0x16, 0x3c, 0xde, 0x93, 0x22, 0x5a, 0x81, 0x12, 0xe3, 0x01, - 0xb5, 0xd7, 0xd9, 0x93, 0xca, 0x18, 0x56, 0x02, 0x72, 0x58, 0xd2, 0xb8, 0x26, 0x5a, 0x49, 0x65, - 0xc3, 0x79, 0x2a, 0x23, 0x1b, 0xce, 0x69, 0x63, 0x78, 0x1e, 0x30, 0x1d, 0xce, 0xf7, 0xd3, 0x1b, - 0xc7, 0x70, 0x44, 0x41, 0x1f, 0x36, 0xc4, 0x7e, 0x76, 0x42, 0xec, 0x87, 0x4c, 0x6c, 0xed, 0x0e, - 0xf9, 0x38, 0x4c, 0xb1, 0xf0, 0x47, 0xcc, 0x34, 0x5b, 0xb8, 0xc8, 0x14, 0x62, 0xf3, 0xcb, 0x1b, - 0x09, 0x18, 0x4e, 0x61, 0xdb, 0x7f, 0x58, 0x84, 0x21, 0xbe, 0xfd, 0x4e, 0xe0, 0x4d, 0xf8, 0x34, - 0x94, 0xdc, 0x56, 0xab, 0xc3, 0x13, 0x9c, 0x0c, 0x72, 0xbf, 0x58, 0x3a, 0x4f, 0x15, 0x59, 0x88, - 0x63, 0x38, 0x5a, 0x15, 0x12, 0xe7, 0x2e, 0x11, 0x16, 0x79, 0xc7, 0x17, 0xca, 0x4e, 0xe4, 0x70, - 0x06, 0x47, 0xdd, 0xb3, 0xb1, 0x6c, 0x1a, 0x7d, 0x06, 0x20, 0x8c, 0x02, 0xd7, 0xdb, 0xa6, 0x65, - 0x22, 0xa0, 0xe8, 0x07, 0xbb, 0x50, 0xab, 0x29, 0x64, 0x4e, 0x33, 0x3e, 0x73, 0x14, 0x00, 0x6b, - 0x14, 0xd1, 0x82, 0x71, 0xd3, 0xcf, 0x25, 0xe6, 0x0e, 0x38, 0xd5, 0x78, 0xce, 0xe6, 0x3e, 0x02, - 0x25, 0x45, 0xbc, 0x97, 0xfc, 0x69, 0x4c, 0x67, 0x8b, 0x3e, 0x06, 0x93, 0x89, 0xbe, 0x1d, 0x49, - 0x7c, 0xf5, 0x0b, 0x16, 0x4c, 0xf2, 0xce, 0xac, 0x78, 0x7b, 0xe2, 0x36, 0x78, 0x1b, 0x4e, 0x35, - 0x33, 0x4e, 0x65, 0x31, 0xfd, 0xfd, 0x9f, 0xe2, 0x4a, 0x5c, 0x95, 0x05, 0xc5, 0x99, 0x6d, 0xa0, - 0x4b, 0x74, 0xc7, 0xd1, 0x53, 0xd7, 0x69, 0x0a, 0x37, 0xd9, 0x31, 0xbe, 0xdb, 0x78, 0x19, 0x56, - 0x50, 0xfb, 0x77, 0x2c, 0x98, 0xe6, 0x3d, 0xbf, 0x4e, 0xf6, 0xd5, 0xd9, 0xf4, 0xf5, 0xec, 0xbb, - 0x48, 0xad, 0x55, 0xc8, 0x49, 0xad, 0xa5, 0x7f, 0x5a, 0xb1, 0xeb, 0xa7, 0x7d, 0xd9, 0x02, 0xb1, - 0x42, 0x4e, 0x40, 0x08, 0xf1, 0xad, 0xa6, 0x10, 0x62, 0x2e, 0x7f, 0x13, 0xe4, 0x48, 0x1f, 0xfe, - 0xdc, 0x82, 0x29, 0x8e, 0x10, 0x6b, 0xcb, 0xbf, 0xae, 0xf3, 0xd0, 0x4f, 0x02, 0xde, 0xeb, 0x64, - 0x7f, 0xc3, 0xaf, 0x3a, 0xd1, 0x4e, 0xf6, 0x47, 0x19, 0x93, 0x35, 0xd0, 0x75, 0xb2, 0x1a, 0x72, - 0x03, 0x1d, 0x21, 0xab, 0xf7, 0x91, 0x33, 0x4f, 0xd8, 0x5f, 0xb3, 0x00, 0xf1, 0x66, 0x0c, 0xc6, - 0x8d, 0xb2, 0x43, 0xac, 0x54, 0xbb, 0xe8, 0xe2, 0xa3, 0x49, 0x41, 0xb0, 0x86, 0x75, 0x2c, 0xc3, - 0x93, 0x30, 0x79, 0x28, 0xf6, 0x36, 0x79, 0x38, 0xc2, 0x88, 0xfe, 0xdb, 0x21, 0x48, 0x3a, 0xe3, - 0xa0, 0xdb, 0x30, 0x56, 0x77, 0xda, 0xce, 0xa6, 0xdb, 0x74, 0x23, 0x97, 0x84, 0xdd, 0x6c, 0xa5, - 0x96, 0x35, 0x3c, 0xa1, 0xa4, 0xd6, 0x4a, 0xb0, 0x41, 0x07, 0x2d, 0x00, 0xb4, 0x03, 0x77, 0xcf, - 0x6d, 0x92, 0x6d, 0x26, 0x2b, 0x61, 0x8e, 0xf9, 0xdc, 0x00, 0x48, 0x96, 0x62, 0x0d, 0x23, 0xc3, - 0xf3, 0xb9, 0xf8, 0x90, 0x3d, 0x9f, 0xe1, 0xc4, 0x3c, 0x9f, 0x07, 0x8e, 0xe4, 0xf9, 0x3c, 0x72, - 0x64, 0xcf, 0xe7, 0xc1, 0xbe, 0x3c, 0x9f, 0x31, 0x9c, 0x91, 0xbc, 0x27, 0xfd, 0xbf, 0xea, 0x36, - 0x89, 0x78, 0x70, 0xf0, 0x68, 0x02, 0x73, 0xf7, 0x0f, 0xe6, 0xcf, 0xe0, 0x4c, 0x0c, 0x9c, 0x53, - 0x13, 0x7d, 0x02, 0x66, 0x9d, 0x66, 0xd3, 0xbf, 0xab, 0x26, 0x75, 0x25, 0xac, 0x3b, 0x4d, 0xae, - 0x84, 0x18, 0x66, 0x54, 0x1f, 0xbb, 0x7f, 0x30, 0x3f, 0xbb, 0x98, 0x83, 0x83, 0x73, 0x6b, 0xa3, - 0x8f, 0x42, 0xa9, 0x1d, 0xf8, 0xf5, 0x35, 0xcd, 0x63, 0xf0, 0x3c, 0x1d, 0xc0, 0xaa, 0x2c, 0x3c, - 0x3c, 0x98, 0x1f, 0x57, 0x7f, 0xd8, 0x85, 0x1f, 0x57, 0xc8, 0x70, 0x65, 0x1e, 0x3d, 0x56, 0x57, - 0xe6, 0x5d, 0x98, 0xa9, 0x91, 0xc0, 0x65, 0x39, 0xc0, 0x1b, 0xf1, 0xf9, 0xb4, 0x01, 0xa5, 0x20, - 0x71, 0x22, 0xf7, 0x15, 0xf5, 0x50, 0x4b, 0x01, 0x20, 0x4f, 0xe0, 0x98, 0x90, 0xfd, 0x7f, 0x2c, - 0x18, 0x16, 0xce, 0x37, 0x27, 0xc0, 0x35, 0x2e, 0x1a, 0x9a, 0x84, 0xf9, 0xec, 0x01, 0x63, 0x9d, - 0xc9, 0xd5, 0x21, 0x54, 0x12, 0x3a, 0x84, 0xc7, 0xbb, 0x11, 0xe9, 0xae, 0x3d, 0xf8, 0x9b, 0x45, - 0xca, 0xbd, 0x1b, 0x6e, 0xa0, 0x0f, 0x7f, 0x08, 0xd6, 0x61, 0x38, 0x14, 0x6e, 0x88, 0x85, 0x7c, - 0xbb, 0xf9, 0xe4, 0x24, 0xc6, 0x76, 0x6c, 0xc2, 0xf1, 0x50, 0x12, 0xc9, 0xf4, 0x6f, 0x2c, 0x3e, - 0x44, 0xff, 0xc6, 0x5e, 0x8e, 0xb2, 0x03, 0xc7, 0xe1, 0x28, 0x6b, 0x7f, 0x85, 0xdd, 0x9c, 0x7a, - 0xf9, 0x09, 0x30, 0x55, 0x57, 0xcd, 0x3b, 0xd6, 0xee, 0xb2, 0xb2, 0x44, 0xa7, 0x72, 0x98, 0xab, - 0x9f, 0xb3, 0xe0, 0x5c, 0xc6, 0x57, 0x69, 0x9c, 0xd6, 0x33, 0x30, 0xe2, 0x74, 0x1a, 0xae, 0xda, - 0xcb, 0x9a, 0x3e, 0x71, 0x51, 0x94, 0x63, 0x85, 0x81, 0x96, 0x61, 0x9a, 0xdc, 0x6b, 0xbb, 0x5c, - 0x95, 0xaa, 0x1b, 0x9b, 0x16, 0xb9, 0xc7, 0xd6, 0x4a, 0x12, 0x88, 0xd3, 0xf8, 0x2a, 0x38, 0x49, - 0x31, 0x37, 0x38, 0xc9, 0x3f, 0xb0, 0x60, 0x54, 0x39, 0xe2, 0x3d, 0xf4, 0xd1, 0xfe, 0xb8, 0x39, - 0xda, 0x8f, 0x76, 0x19, 0xed, 0x9c, 0x61, 0xfe, 0xad, 0x82, 0xea, 0x6f, 0xd5, 0x0f, 0xa2, 0x3e, - 0x38, 0xb8, 0x07, 0x37, 0x8f, 0xbf, 0x02, 0xa3, 0x4e, 0xbb, 0x2d, 0x01, 0xd2, 0x06, 0x8d, 0xc5, - 0xb0, 0x8d, 0x8b, 0xb1, 0x8e, 0xa3, 0xac, 0xf5, 0x8b, 0xb9, 0xd6, 0xfa, 0x0d, 0x80, 0xc8, 0x09, - 0xb6, 0x49, 0x44, 0xcb, 0x44, 0x20, 0xb1, 0xfc, 0xf3, 0xa6, 0x13, 0xb9, 0xcd, 0x05, 0xd7, 0x8b, - 0xc2, 0x28, 0x58, 0xa8, 0x78, 0xd1, 0xcd, 0x80, 0x3f, 0x21, 0xb5, 0x48, 0x3d, 0x8a, 0x16, 0xd6, - 0xe8, 0x4a, 0xa7, 0x73, 0xd6, 0xc6, 0xa0, 0x69, 0xcc, 0xb0, 0x2e, 0xca, 0xb1, 0xc2, 0xb0, 0x3f, - 0xc2, 0x6e, 0x1f, 0x36, 0xa6, 0x47, 0x0b, 0x6d, 0xf3, 0xe5, 0x51, 0x35, 0x1b, 0x4c, 0x93, 0x59, - 0xd6, 0x03, 0xe8, 0x74, 0x3f, 0xec, 0x69, 0xc3, 0xba, 0xef, 0x58, 0x1c, 0x65, 0x07, 0x7d, 0x5b, - 0xca, 0x40, 0xe5, 0xd9, 0x1e, 0xb7, 0xc6, 0x11, 0x4c, 0x52, 0x58, 0x42, 0x0b, 0x16, 0xee, 0xbf, - 0x52, 0x15, 0xfb, 0x42, 0x4b, 0x68, 0x21, 0x00, 0x38, 0xc6, 0xa1, 0xcc, 0x94, 0xfa, 0x13, 0xce, - 0xa2, 0x38, 0xb0, 0xa3, 0xc2, 0x0e, 0xb1, 0x86, 0x81, 0x2e, 0x0b, 0x81, 0x02, 0xd7, 0x0b, 0x3c, - 0x9a, 0x10, 0x28, 0xc8, 0xe1, 0xd2, 0xa4, 0x40, 0x57, 0x60, 0x54, 0xe5, 0xb4, 0xad, 0xf2, 0x54, - 0xa9, 0x62, 0x99, 0xad, 0xc4, 0xc5, 0x58, 0xc7, 0x41, 0x1b, 0x30, 0x19, 0x72, 0x39, 0x9b, 0x8a, - 0xb6, 0xcb, 0xe5, 0x95, 0x1f, 0x94, 0x56, 0x40, 0x35, 0x13, 0x7c, 0xc8, 0x8a, 0xf8, 0xe9, 0x24, - 0x1d, 0xc3, 0x93, 0x24, 0xd0, 0xab, 0x30, 0xd1, 0xf4, 0x9d, 0xc6, 0x92, 0xd3, 0x74, 0xbc, 0x3a, - 0x1b, 0x9f, 0x11, 0x33, 0x35, 0xe2, 0x0d, 0x03, 0x8a, 0x13, 0xd8, 0x94, 0x79, 0xd3, 0x4b, 0x44, - 0x84, 0x68, 0xc7, 0xdb, 0x26, 0xa1, 0xc8, 0x50, 0xca, 0x98, 0xb7, 0x1b, 0x39, 0x38, 0x38, 0xb7, - 0x36, 0x7a, 0x09, 0xc6, 0xe4, 0xe7, 0x6b, 0x71, 0x14, 0x62, 0xc7, 0x07, 0x0d, 0x86, 0x0d, 0x4c, - 0x74, 0x17, 0x4e, 0xcb, 0xff, 0x1b, 0x81, 0xb3, 0xb5, 0xe5, 0xd6, 0x85, 0x73, 0x31, 0xf7, 0x90, - 0x5c, 0x94, 0x6e, 0x7c, 0x2b, 0x59, 0x48, 0x87, 0x07, 0xf3, 0x17, 0xc4, 0xa8, 0x65, 0xc2, 0xd9, - 0x24, 0x66, 0xd3, 0x47, 0x6b, 0x30, 0xb3, 0x43, 0x9c, 0x66, 0xb4, 0xb3, 0xbc, 0x43, 0xea, 0xbb, - 0x72, 0xd3, 0xb1, 0xe8, 0x0c, 0x9a, 0xbb, 0xc0, 0xb5, 0x34, 0x0a, 0xce, 0xaa, 0x87, 0xde, 0x80, - 0xd9, 0x76, 0x67, 0xb3, 0xe9, 0x86, 0x3b, 0xeb, 0x7e, 0xc4, 0x4c, 0x81, 0x54, 0x8a, 0x5c, 0x11, - 0xc6, 0x41, 0xc5, 0xbf, 0xa8, 0xe6, 0xe0, 0xe1, 0x5c, 0x0a, 0xe8, 0x6d, 0x38, 0x9d, 0x58, 0x0c, - 0xc2, 0x91, 0x7d, 0x22, 0x3f, 0xde, 0x7e, 0x2d, 0xab, 0x82, 0x88, 0x09, 0x91, 0x05, 0xc2, 0xd9, - 0x4d, 0xd0, 0xc7, 0x87, 0x16, 0xe0, 0x34, 0x9c, 0x9d, 0x8a, 0x6d, 0x96, 0xb5, 0x28, 0xa8, 0x21, - 0x36, 0xb0, 0xd0, 0xcb, 0x00, 0x6e, 0x7b, 0xd5, 0x69, 0xb9, 0x4d, 0xfa, 0xc8, 0x9c, 0x61, 0x75, - 0xe8, 0x83, 0x03, 0x2a, 0x55, 0x59, 0x4a, 0x4f, 0x75, 0xf1, 0x6f, 0x1f, 0x6b, 0xd8, 0xa8, 0x0a, - 0x13, 0xe2, 0xdf, 0xbe, 0x58, 0x0c, 0xd3, 0xca, 0xd3, 0x7c, 0x42, 0xd6, 0x50, 0x2b, 0x00, 0x99, - 0x25, 0x6c, 0xce, 0x13, 0xf5, 0xd1, 0x36, 0x9c, 0x13, 0x39, 0x98, 0x89, 0xbe, 0xba, 0xe5, 0xec, - 0x85, 0x2c, 0x3c, 0xfe, 0x08, 0x0f, 0x20, 0xb3, 0xd8, 0x0d, 0x11, 0x77, 0xa7, 0xf3, 0xce, 0x2c, - 0xe0, 0x7e, 0xdb, 0xa2, 0xb5, 0x35, 0x2e, 0x19, 0x7d, 0x16, 0xc6, 0xf4, 0x3d, 0x27, 0x6e, 0xfc, - 0x8b, 0xd9, 0x4c, 0xa4, 0xb6, 0x37, 0x39, 0x8f, 0xad, 0xf6, 0x9f, 0x0e, 0xc3, 0x06, 0x45, 0x54, - 0xcf, 0x70, 0xa3, 0xbe, 0xdc, 0x1f, 0x47, 0xd1, 0xbf, 0x01, 0x18, 0x81, 0xec, 0x25, 0x87, 0x6e, - 0xc0, 0x48, 0xbd, 0xe9, 0x12, 0x2f, 0xaa, 0x54, 0xbb, 0x05, 0x3e, 0x5b, 0x16, 0x38, 0x62, 0x0d, - 0x8b, 0x98, 0xf1, 0xbc, 0x0c, 0x2b, 0x0a, 0xf6, 0xaf, 0x16, 0x60, 0xbe, 0x47, 0x02, 0x82, 0x84, - 0x3a, 0xc8, 0xea, 0x4b, 0x1d, 0xb4, 0x28, 0x73, 0x30, 0xaf, 0x27, 0x24, 0x4d, 0x89, 0xfc, 0xca, - 0xb1, 0xbc, 0x29, 0x89, 0xdf, 0xb7, 0x79, 0xbe, 0xae, 0x51, 0x1a, 0xe8, 0xe9, 0x60, 0x62, 0x68, - 0x92, 0x07, 0xfb, 0x7f, 0x7e, 0xe6, 0x6a, 0x05, 0xed, 0xaf, 0x14, 0xe0, 0xb4, 0x1a, 0xc2, 0x6f, - 0xde, 0x81, 0xbb, 0x95, 0x1e, 0xb8, 0x63, 0xd0, 0xa9, 0xda, 0x37, 0x61, 0x88, 0x47, 0x72, 0xeb, - 0x83, 0xed, 0x7d, 0xc2, 0x0c, 0x7a, 0xaa, 0x38, 0x2d, 0x23, 0xf0, 0xe9, 0xf7, 0x5a, 0x30, 0xb9, - 0xb1, 0x5c, 0xad, 0xf9, 0xf5, 0x5d, 0x12, 0x2d, 0xf2, 0x67, 0x0a, 0xd6, 0x1c, 0x4e, 0x1f, 0x84, - 0x35, 0xcd, 0x62, 0x7a, 0x2f, 0xc0, 0xc0, 0x8e, 0x1f, 0x46, 0x49, 0x83, 0x8b, 0x6b, 0x7e, 0x18, - 0x61, 0x06, 0xb1, 0x7f, 0xd7, 0x82, 0xc1, 0x0d, 0xc7, 0xf5, 0x22, 0x29, 0x9c, 0xb7, 0x72, 0x84, - 0xf3, 0xfd, 0x7c, 0x17, 0x7a, 0x11, 0x86, 0xc8, 0xd6, 0x16, 0xa9, 0x47, 0x62, 0x56, 0xa5, 0xb7, - 0xfe, 0xd0, 0x0a, 0x2b, 0xa5, 0x7c, 0x18, 0x6b, 0x8c, 0xff, 0xc5, 0x02, 0x19, 0xdd, 0x81, 0x52, - 0xe4, 0xb6, 0xc8, 0x62, 0xa3, 0x21, 0x54, 0xd6, 0x0f, 0x10, 0x71, 0x60, 0x43, 0x12, 0xc0, 0x31, - 0x2d, 0xfb, 0x8b, 0x05, 0x80, 0x38, 0x04, 0x4e, 0xaf, 0x4f, 0x5c, 0x4a, 0x29, 0x33, 0x2f, 0x66, - 0x28, 0x33, 0x51, 0x4c, 0x30, 0x43, 0x93, 0xa9, 0x86, 0xa9, 0xd8, 0xd7, 0x30, 0x0d, 0x1c, 0x65, - 0x98, 0x96, 0x61, 0x3a, 0x0e, 0xe1, 0x63, 0x46, 0x30, 0x63, 0x4f, 0xd3, 0x8d, 0x24, 0x10, 0xa7, - 0xf1, 0x6d, 0x02, 0x17, 0x54, 0x24, 0x13, 0x71, 0xa3, 0x31, 0x8b, 0x68, 0x5d, 0x39, 0xdc, 0x63, - 0x9c, 0x62, 0x6d, 0x6d, 0x21, 0x57, 0x5b, 0xfb, 0x13, 0x16, 0x9c, 0x4a, 0xb6, 0xc3, 0x5c, 0x54, - 0xbf, 0x60, 0xc1, 0x69, 0xa6, 0xb3, 0x66, 0xad, 0xa6, 0x35, 0xe4, 0x2f, 0x74, 0x8d, 0xce, 0x92, - 0xd3, 0xe3, 0x38, 0x2c, 0xc4, 0x5a, 0x16, 0x69, 0x9c, 0xdd, 0xa2, 0xfd, 0x9f, 0x0a, 0x30, 0x9b, - 0x17, 0xd6, 0x85, 0x39, 0x4c, 0x38, 0xf7, 0x6a, 0xbb, 0xe4, 0xae, 0x30, 0x4b, 0x8f, 0x1d, 0x26, - 0x78, 0x31, 0x96, 0xf0, 0x64, 0x4c, 0xf9, 0x42, 0x7f, 0x31, 0xe5, 0xd1, 0x0e, 0x4c, 0xdf, 0xdd, - 0x21, 0xde, 0x2d, 0x2f, 0x74, 0x22, 0x37, 0xdc, 0x72, 0x99, 0x7e, 0x97, 0xaf, 0x9b, 0x97, 0xa5, - 0xf1, 0xf8, 0x9d, 0x24, 0xc2, 0xe1, 0xc1, 0xfc, 0x39, 0xa3, 0x20, 0xee, 0x32, 0x3f, 0x48, 0x70, - 0x9a, 0x68, 0x3a, 0x24, 0xff, 0xc0, 0x43, 0x0c, 0xc9, 0x6f, 0x7f, 0xc1, 0x82, 0xb3, 0xb9, 0x79, - 0x40, 0xd1, 0x25, 0x18, 0x71, 0xda, 0x2e, 0x17, 0x91, 0x8b, 0x63, 0x94, 0x89, 0x62, 0xaa, 0x15, - 0x2e, 0x20, 0x57, 0x50, 0x95, 0x9f, 0xbc, 0x90, 0x9b, 0x9f, 0xbc, 0x67, 0xba, 0x71, 0xfb, 0x7b, - 0x2c, 0x10, 0xce, 0x9e, 0x7d, 0x9c, 0xdd, 0x9f, 0x82, 0xb1, 0xbd, 0x74, 0xda, 0x9e, 0x0b, 0xf9, - 0xde, 0xaf, 0x22, 0x59, 0x8f, 0x62, 0xc8, 0x8c, 0x14, 0x3d, 0x06, 0x2d, 0xbb, 0x01, 0x02, 0x5a, - 0x26, 0x4c, 0x00, 0xdc, 0xbb, 0x37, 0xcf, 0x01, 0x34, 0x18, 0xae, 0x96, 0xe4, 0x5d, 0xdd, 0xcc, - 0x65, 0x05, 0xc1, 0x1a, 0x96, 0xfd, 0xef, 0x0b, 0x30, 0x2a, 0xd3, 0xc4, 0x74, 0xbc, 0x7e, 0xc4, - 0x34, 0x47, 0xca, 0x1b, 0x49, 0x5f, 0xf1, 0x4c, 0x8e, 0x58, 0x8d, 0xa5, 0x5b, 0xea, 0x15, 0xbf, - 0x26, 0x01, 0x38, 0xc6, 0xa1, 0xbb, 0x28, 0xec, 0x6c, 0x32, 0xf4, 0x84, 0x6b, 0x62, 0x8d, 0x17, - 0x63, 0x09, 0x47, 0x9f, 0x80, 0x29, 0x5e, 0x2f, 0xf0, 0xdb, 0xce, 0x36, 0xd7, 0x3d, 0x0c, 0xaa, - 0x98, 0x02, 0x53, 0x6b, 0x09, 0xd8, 0xe1, 0xc1, 0xfc, 0xa9, 0x64, 0x19, 0x53, 0xaa, 0xa5, 0xa8, - 0x30, 0x13, 0x23, 0xde, 0x08, 0xdd, 0xfd, 0x29, 0xcb, 0xa4, 0x18, 0x84, 0x75, 0x3c, 0xfb, 0xb3, - 0x80, 0xd2, 0x09, 0x73, 0xd0, 0x6b, 0xdc, 0xae, 0xd4, 0x0d, 0x48, 0xa3, 0x9b, 0x92, 0x4d, 0xf7, - 0x9c, 0x97, 0x5e, 0x45, 0xbc, 0x16, 0x56, 0xf5, 0xed, 0xbf, 0x5a, 0x84, 0xa9, 0xa4, 0x1f, 0x35, - 0xba, 0x06, 0x43, 0x9c, 0xf5, 0x10, 0xe4, 0xbb, 0xd8, 0x70, 0x68, 0xde, 0xd7, 0xec, 0x10, 0x16, - 0xdc, 0x8b, 0xa8, 0x8f, 0xde, 0x80, 0xd1, 0x86, 0x7f, 0xd7, 0xbb, 0xeb, 0x04, 0x8d, 0xc5, 0x6a, - 0x45, 0x2c, 0xe7, 0xcc, 0x47, 0x65, 0x39, 0x46, 0xd3, 0x3d, 0xba, 0x99, 0xbe, 0x32, 0x06, 0x61, - 0x9d, 0x1c, 0xda, 0x60, 0xf1, 0xbd, 0xb7, 0xdc, 0xed, 0x35, 0xa7, 0xdd, 0xcd, 0xc9, 0x60, 0x59, - 0x22, 0x69, 0x94, 0xc7, 0x45, 0x10, 0x70, 0x0e, 0xc0, 0x31, 0x21, 0xf4, 0x39, 0x98, 0x09, 0x73, - 0x44, 0xdd, 0x79, 0xf9, 0xd3, 0xba, 0x49, 0x7f, 0x97, 0x1e, 0xa1, 0xcf, 0xfd, 0x2c, 0xa1, 0x78, - 0x56, 0x33, 0xf6, 0x8f, 0x9c, 0x02, 0x63, 0x13, 0x1b, 0xe9, 0x34, 0xad, 0x63, 0x4a, 0xa7, 0x89, - 0x61, 0x84, 0xb4, 0xda, 0xd1, 0x7e, 0xd9, 0x0d, 0xba, 0x25, 0x99, 0x5e, 0x11, 0x38, 0x69, 0x9a, - 0x12, 0x82, 0x15, 0x9d, 0xec, 0x9c, 0xa7, 0xc5, 0xaf, 0x63, 0xce, 0xd3, 0x81, 0x13, 0xcc, 0x79, - 0xba, 0x0e, 0xc3, 0xdb, 0x6e, 0x84, 0x49, 0xdb, 0x17, 0x4c, 0x7f, 0xe6, 0x3a, 0xbc, 0xca, 0x51, - 0xd2, 0xd9, 0xf5, 0x04, 0x00, 0x4b, 0x22, 0xe8, 0x35, 0xb5, 0x03, 0x87, 0xf2, 0x1f, 0xe6, 0x69, - 0x63, 0x83, 0xcc, 0x3d, 0x28, 0x32, 0x9b, 0x0e, 0x3f, 0x68, 0x66, 0xd3, 0x55, 0x99, 0x8f, 0x74, - 0x24, 0xdf, 0x23, 0x88, 0xa5, 0x1b, 0xed, 0x91, 0x85, 0xf4, 0xb6, 0x9e, 0xc3, 0xb5, 0x94, 0x7f, - 0x12, 0xa8, 0xf4, 0xac, 0x7d, 0x66, 0x6e, 0xfd, 0x1e, 0x0b, 0x4e, 0xb7, 0xb3, 0xd2, 0x19, 0x0b, - 0xbd, 0xfc, 0x8b, 0x7d, 0x67, 0x4c, 0x36, 0x1a, 0x64, 0xf2, 0xac, 0x4c, 0x34, 0x9c, 0xdd, 0x1c, - 0x1d, 0xe8, 0x60, 0xb3, 0x21, 0xf4, 0xc3, 0x4f, 0xe4, 0xa4, 0x80, 0xed, 0x92, 0xf8, 0x75, 0x23, - 0x23, 0xdd, 0xe8, 0xfb, 0xf3, 0xd2, 0x8d, 0xf6, 0x9d, 0x64, 0xf4, 0x35, 0x95, 0xfc, 0x75, 0x3c, - 0x7f, 0x29, 0xf1, 0xd4, 0xae, 0x3d, 0x53, 0xbe, 0xbe, 0xa6, 0x52, 0xbe, 0x76, 0x09, 0xde, 0xca, - 0x13, 0xba, 0xf6, 0x4c, 0xf4, 0xaa, 0x25, 0x6b, 0x9d, 0x3c, 0x9e, 0x64, 0xad, 0xc6, 0x55, 0xc3, - 0xf3, 0x85, 0x3e, 0xdd, 0xe3, 0xaa, 0x31, 0xe8, 0x76, 0xbf, 0x6c, 0x78, 0x62, 0xda, 0xe9, 0x07, - 0x4a, 0x4c, 0x7b, 0x5b, 0x4f, 0xf4, 0x8a, 0x7a, 0x64, 0x32, 0xa5, 0x48, 0x7d, 0xa6, 0x77, 0xbd, - 0xad, 0x5f, 0x80, 0x33, 0xf9, 0x74, 0xd5, 0x3d, 0x97, 0xa6, 0x9b, 0x79, 0x05, 0xa6, 0xd2, 0xc6, - 0x9e, 0x3a, 0x99, 0xb4, 0xb1, 0xa7, 0x8f, 0x3d, 0x6d, 0xec, 0x99, 0x13, 0x48, 0x1b, 0xfb, 0xc8, - 0x09, 0xa6, 0x8d, 0xbd, 0xcd, 0x8c, 0x59, 0x78, 0xc8, 0x1c, 0x11, 0x6c, 0x36, 0x3b, 0xb0, 0x69, - 0x56, 0x5c, 0x1d, 0xfe, 0x71, 0x0a, 0x84, 0x63, 0x52, 0x19, 0xe9, 0x68, 0x67, 0x1f, 0x42, 0x3a, - 0xda, 0xf5, 0x38, 0x1d, 0xed, 0xd9, 0xfc, 0xa9, 0xce, 0x70, 0x7f, 0xc8, 0x49, 0x42, 0x7b, 0x5b, - 0x4f, 0x1e, 0xfb, 0x68, 0x17, 0x8d, 0x45, 0x96, 0xe0, 0xb1, 0x4b, 0xca, 0xd8, 0x57, 0x79, 0xca, - 0xd8, 0xc7, 0xf2, 0x4f, 0xf2, 0xe4, 0x75, 0x67, 0x24, 0x8a, 0xa5, 0xfd, 0x52, 0x61, 0x0d, 0x59, - 0x58, 0xdd, 0x9c, 0x7e, 0xa9, 0xb8, 0x88, 0xe9, 0x7e, 0x29, 0x10, 0x8e, 0x49, 0xd9, 0xdf, 0x57, - 0x80, 0xf3, 0xdd, 0xf7, 0x5b, 0x2c, 0x4d, 0xad, 0xc6, 0x0a, 0xdc, 0x84, 0x34, 0x95, 0xbf, 0xd9, - 0x62, 0xac, 0xbe, 0xa3, 0xb4, 0x5d, 0x85, 0x69, 0xe5, 0x37, 0xd1, 0x74, 0xeb, 0xfb, 0xeb, 0xf1, - 0xcb, 0x57, 0xf9, 0x9a, 0xd7, 0x92, 0x08, 0x38, 0x5d, 0x07, 0x2d, 0xc2, 0xa4, 0x51, 0x58, 0x29, - 0x8b, 0xb7, 0x99, 0x12, 0xdf, 0xd6, 0x4c, 0x30, 0x4e, 0xe2, 0xdb, 0x5f, 0xb2, 0xe0, 0x91, 0x9c, - 0x4c, 0x6f, 0x7d, 0x07, 0x21, 0xdb, 0x82, 0xc9, 0xb6, 0x59, 0xb5, 0x47, 0xdc, 0x44, 0x23, 0x9f, - 0x9c, 0xea, 0x6b, 0x02, 0x80, 0x93, 0x44, 0xed, 0x3f, 0xb3, 0xe0, 0x5c, 0x57, 0x43, 0x40, 0x84, - 0xe1, 0xcc, 0x76, 0x2b, 0x74, 0x96, 0x03, 0xd2, 0x20, 0x5e, 0xe4, 0x3a, 0xcd, 0x5a, 0x9b, 0xd4, - 0x35, 0x79, 0x38, 0xb3, 0xa8, 0xbb, 0xba, 0x56, 0x5b, 0x4c, 0x63, 0xe0, 0x9c, 0x9a, 0x68, 0x15, - 0x50, 0x1a, 0x22, 0x66, 0x98, 0x05, 0x68, 0x4e, 0xd3, 0xc3, 0x19, 0x35, 0xd0, 0x47, 0x60, 0x5c, - 0x19, 0x18, 0x6a, 0x33, 0xce, 0x0e, 0x76, 0xac, 0x03, 0xb0, 0x89, 0xb7, 0x74, 0xe9, 0xd7, 0x7f, - 0xff, 0xfc, 0xfb, 0x7e, 0xf3, 0xf7, 0xcf, 0xbf, 0xef, 0x77, 0x7e, 0xff, 0xfc, 0xfb, 0xbe, 0xe3, - 0xfe, 0x79, 0xeb, 0xd7, 0xef, 0x9f, 0xb7, 0x7e, 0xf3, 0xfe, 0x79, 0xeb, 0x77, 0xee, 0x9f, 0xb7, - 0x7e, 0xef, 0xfe, 0x79, 0xeb, 0x8b, 0x7f, 0x70, 0xfe, 0x7d, 0x9f, 0x2a, 0xec, 0x5d, 0xf9, 0xff, - 0x01, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x5d, 0xe2, 0x04, 0x4d, 0x03, 0x01, 0x00, + // 14018 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x1c, 0xd9, + 0x79, 0x18, 0xaa, 0x9e, 0xc1, 0x6b, 0x3e, 0xbc, 0x0f, 0x48, 0x2e, 0x88, 0x5d, 0x12, 0xdc, 0xa6, + 0xc4, 0xe5, 0x6a, 0x77, 0x41, 0x71, 0x1f, 0xd2, 0x7a, 0x57, 0x5a, 0x0b, 0xc0, 0x00, 0xe4, 0x2c, + 0x09, 0x70, 0xf6, 0x0c, 0x48, 0x4a, 0xf2, 0x4a, 0xa5, 0xc6, 0xcc, 0x01, 0xd0, 0xc2, 0x4c, 0xf7, + 0x6c, 0x77, 0x0f, 0x48, 0xec, 0x95, 0xeb, 0xfa, 0xca, 0x4f, 0xf9, 0x71, 0x4b, 0x75, 0xcb, 0x75, + 0x93, 0xd8, 0x2e, 0x57, 0xca, 0x71, 0xca, 0x56, 0x94, 0xa4, 0xe2, 0xd8, 0xb1, 0x1d, 0xcb, 0x89, + 0x9d, 0x38, 0x0f, 0x27, 0x3f, 0x1c, 0xc7, 0x95, 0x58, 0xae, 0x72, 0x05, 0xb1, 0xe9, 0x54, 0xb9, + 0xf4, 0x23, 0xb6, 0x13, 0x3b, 0x3f, 0x82, 0xb8, 0xe2, 0xd4, 0x79, 0xf6, 0x39, 0xfd, 0x98, 0x19, + 0x70, 0x41, 0x68, 0xa5, 0xda, 0x7f, 0x33, 0xe7, 0xfb, 0xce, 0x77, 0x4e, 0x9f, 0xe7, 0x77, 0xbe, + 0x27, 0xbc, 0xba, 0xfb, 0x72, 0xb8, 0xe0, 0xfa, 0x57, 0x76, 0x3b, 0x9b, 0x24, 0xf0, 0x48, 0x44, + 0xc2, 0x2b, 0x7b, 0xc4, 0x6b, 0xf8, 0xc1, 0x15, 0x01, 0x70, 0xda, 0xee, 0x95, 0xba, 0x1f, 0x90, + 0x2b, 0x7b, 0x57, 0xaf, 0x6c, 0x13, 0x8f, 0x04, 0x4e, 0x44, 0x1a, 0x0b, 0xed, 0xc0, 0x8f, 0x7c, + 0x84, 0x38, 0xce, 0x82, 0xd3, 0x76, 0x17, 0x28, 0xce, 0xc2, 0xde, 0xd5, 0xb9, 0xe7, 0xb6, 0xdd, + 0x68, 0xa7, 0xb3, 0xb9, 0x50, 0xf7, 0x5b, 0x57, 0xb6, 0xfd, 0x6d, 0xff, 0x0a, 0x43, 0xdd, 0xec, + 0x6c, 0xb1, 0x7f, 0xec, 0x0f, 0xfb, 0xc5, 0x49, 0xcc, 0xbd, 0x18, 0x37, 0xd3, 0x72, 0xea, 0x3b, + 0xae, 0x47, 0x82, 0xfd, 0x2b, 0xed, 0xdd, 0x6d, 0xd6, 0x6e, 0x40, 0x42, 0xbf, 0x13, 0xd4, 0x49, + 0xb2, 0xe1, 0xae, 0xb5, 0xc2, 0x2b, 0x2d, 0x12, 0x39, 0x19, 0xdd, 0x9d, 0xbb, 0x92, 0x57, 0x2b, + 0xe8, 0x78, 0x91, 0xdb, 0x4a, 0x37, 0xf3, 0xe1, 0x5e, 0x15, 0xc2, 0xfa, 0x0e, 0x69, 0x39, 0xa9, + 0x7a, 0x2f, 0xe4, 0xd5, 0xeb, 0x44, 0x6e, 0xf3, 0x8a, 0xeb, 0x45, 0x61, 0x14, 0x24, 0x2b, 0xd9, + 0x5f, 0xb3, 0xe0, 0xc2, 0xe2, 0xdd, 0xda, 0x4a, 0xd3, 0x09, 0x23, 0xb7, 0xbe, 0xd4, 0xf4, 0xeb, + 0xbb, 0xb5, 0xc8, 0x0f, 0xc8, 0x1d, 0xbf, 0xd9, 0x69, 0x91, 0x1a, 0x1b, 0x08, 0xf4, 0x2c, 0x8c, + 0xec, 0xb1, 0xff, 0x95, 0xf2, 0xac, 0x75, 0xc1, 0xba, 0x5c, 0x5a, 0x9a, 0xfa, 0xcd, 0x83, 0xf9, + 0xf7, 0x3d, 0x38, 0x98, 0x1f, 0xb9, 0x23, 0xca, 0xb1, 0xc2, 0x40, 0x97, 0x60, 0x68, 0x2b, 0xdc, + 0xd8, 0x6f, 0x93, 0xd9, 0x02, 0xc3, 0x9d, 0x10, 0xb8, 0x43, 0xab, 0x35, 0x5a, 0x8a, 0x05, 0x14, + 0x5d, 0x81, 0x52, 0xdb, 0x09, 0x22, 0x37, 0x72, 0x7d, 0x6f, 0xb6, 0x78, 0xc1, 0xba, 0x3c, 0xb8, + 0x34, 0x2d, 0x50, 0x4b, 0x55, 0x09, 0xc0, 0x31, 0x0e, 0xed, 0x46, 0x40, 0x9c, 0xc6, 0x2d, 0xaf, + 0xb9, 0x3f, 0x3b, 0x70, 0xc1, 0xba, 0x3c, 0x12, 0x77, 0x03, 0x8b, 0x72, 0xac, 0x30, 0xec, 0x1f, + 0x2b, 0xc0, 0xc8, 0xe2, 0xd6, 0x96, 0xeb, 0xb9, 0xd1, 0x3e, 0xba, 0x03, 0x63, 0x9e, 0xdf, 0x20, + 0xf2, 0x3f, 0xfb, 0x8a, 0xd1, 0xe7, 0x2f, 0x2c, 0xa4, 0x97, 0xd2, 0xc2, 0xba, 0x86, 0xb7, 0x34, + 0xf5, 0xe0, 0x60, 0x7e, 0x4c, 0x2f, 0xc1, 0x06, 0x1d, 0x84, 0x61, 0xb4, 0xed, 0x37, 0x14, 0xd9, + 0x02, 0x23, 0x3b, 0x9f, 0x45, 0xb6, 0x1a, 0xa3, 0x2d, 0x4d, 0x3e, 0x38, 0x98, 0x1f, 0xd5, 0x0a, + 0xb0, 0x4e, 0x04, 0x6d, 0xc2, 0x24, 0xfd, 0xeb, 0x45, 0xae, 0xa2, 0x5b, 0x64, 0x74, 0x2f, 0xe6, + 0xd1, 0xd5, 0x50, 0x97, 0x66, 0x1e, 0x1c, 0xcc, 0x4f, 0x26, 0x0a, 0x71, 0x92, 0xa0, 0xfd, 0x36, + 0x4c, 0x2c, 0x46, 0x91, 0x53, 0xdf, 0x21, 0x0d, 0x3e, 0x83, 0xe8, 0x45, 0x18, 0xf0, 0x9c, 0x16, + 0x11, 0xf3, 0x7b, 0x41, 0x0c, 0xec, 0xc0, 0xba, 0xd3, 0x22, 0x87, 0x07, 0xf3, 0x53, 0xb7, 0x3d, + 0xf7, 0xad, 0x8e, 0x58, 0x15, 0xb4, 0x0c, 0x33, 0x6c, 0xf4, 0x3c, 0x40, 0x83, 0xec, 0xb9, 0x75, + 0x52, 0x75, 0xa2, 0x1d, 0x31, 0xdf, 0x48, 0xd4, 0x85, 0xb2, 0x82, 0x60, 0x0d, 0xcb, 0xbe, 0x0f, + 0xa5, 0xc5, 0x3d, 0xdf, 0x6d, 0x54, 0xfd, 0x46, 0x88, 0x76, 0x61, 0xb2, 0x1d, 0x90, 0x2d, 0x12, + 0xa8, 0xa2, 0x59, 0xeb, 0x42, 0xf1, 0xf2, 0xe8, 0xf3, 0x97, 0x33, 0x3f, 0xd6, 0x44, 0x5d, 0xf1, + 0xa2, 0x60, 0x7f, 0xe9, 0x31, 0xd1, 0xde, 0x64, 0x02, 0x8a, 0x93, 0x94, 0xed, 0x7f, 0x51, 0x80, + 0xd3, 0x8b, 0x6f, 0x77, 0x02, 0x52, 0x76, 0xc3, 0xdd, 0xe4, 0x0a, 0x6f, 0xb8, 0xe1, 0xee, 0x7a, + 0x3c, 0x02, 0x6a, 0x69, 0x95, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x39, 0x18, 0xa6, 0xbf, 0x6f, 0xe3, + 0x8a, 0xf8, 0xe4, 0x19, 0x81, 0x3c, 0x5a, 0x76, 0x22, 0xa7, 0xcc, 0x41, 0x58, 0xe2, 0xa0, 0x35, + 0x18, 0xad, 0xb3, 0x0d, 0xb9, 0xbd, 0xe6, 0x37, 0x08, 0x9b, 0xcc, 0xd2, 0xd2, 0x33, 0x14, 0x7d, + 0x39, 0x2e, 0x3e, 0x3c, 0x98, 0x9f, 0xe5, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, 0x5b, + 0xed, 0xaf, 0x01, 0x46, 0x09, 0x32, 0xf6, 0xd6, 0x65, 0x6d, 0xab, 0x0c, 0xb2, 0xad, 0x32, 0x96, + 0xbd, 0x4d, 0xd0, 0x55, 0x18, 0xd8, 0x75, 0xbd, 0xc6, 0xec, 0x10, 0xa3, 0x75, 0x8e, 0xce, 0xf9, + 0x0d, 0xd7, 0x6b, 0x1c, 0x1e, 0xcc, 0x4f, 0x1b, 0xdd, 0xa1, 0x85, 0x98, 0xa1, 0xda, 0x7f, 0x6e, + 0xc1, 0x3c, 0x83, 0xad, 0xba, 0x4d, 0x52, 0x25, 0x41, 0xe8, 0x86, 0x11, 0xf1, 0x22, 0x63, 0x40, + 0x9f, 0x07, 0x08, 0x49, 0x3d, 0x20, 0x91, 0x36, 0xa4, 0x6a, 0x61, 0xd4, 0x14, 0x04, 0x6b, 0x58, + 0xf4, 0x40, 0x08, 0x77, 0x9c, 0x80, 0xad, 0x2f, 0x31, 0xb0, 0xea, 0x40, 0xa8, 0x49, 0x00, 0x8e, + 0x71, 0x8c, 0x03, 0xa1, 0xd8, 0xeb, 0x40, 0x40, 0x1f, 0x83, 0xc9, 0xb8, 0xb1, 0xb0, 0xed, 0xd4, + 0xe5, 0x00, 0xb2, 0x2d, 0x53, 0x33, 0x41, 0x38, 0x89, 0x6b, 0xff, 0x1d, 0x4b, 0x2c, 0x1e, 0xfa, + 0xd5, 0xef, 0xf2, 0x6f, 0xb5, 0x7f, 0xd9, 0x82, 0xe1, 0x25, 0xd7, 0x6b, 0xb8, 0xde, 0x36, 0xfa, + 0x2c, 0x8c, 0xd0, 0xbb, 0xa9, 0xe1, 0x44, 0x8e, 0x38, 0xf7, 0x3e, 0xa4, 0xed, 0x2d, 0x75, 0x55, + 0x2c, 0xb4, 0x77, 0xb7, 0x69, 0x41, 0xb8, 0x40, 0xb1, 0xe9, 0x6e, 0xbb, 0xb5, 0xf9, 0x39, 0x52, + 0x8f, 0xd6, 0x48, 0xe4, 0xc4, 0x9f, 0x13, 0x97, 0x61, 0x45, 0x15, 0xdd, 0x80, 0xa1, 0xc8, 0x09, + 0xb6, 0x49, 0x24, 0x0e, 0xc0, 0xcc, 0x83, 0x8a, 0xd7, 0xc4, 0x74, 0x47, 0x12, 0xaf, 0x4e, 0xe2, + 0x6b, 0x61, 0x83, 0x55, 0xc5, 0x82, 0x84, 0xfd, 0x23, 0xc3, 0x70, 0x76, 0xb9, 0x56, 0xc9, 0x59, + 0x57, 0x97, 0x60, 0xa8, 0x11, 0xb8, 0x7b, 0x24, 0x10, 0xe3, 0xac, 0xa8, 0x94, 0x59, 0x29, 0x16, + 0x50, 0xf4, 0x32, 0x8c, 0xf1, 0x0b, 0xe9, 0xba, 0xe3, 0x35, 0x9a, 0x72, 0x88, 0x4f, 0x09, 0xec, + 0xb1, 0x3b, 0x1a, 0x0c, 0x1b, 0x98, 0x47, 0x5c, 0x54, 0x97, 0x12, 0x9b, 0x31, 0xef, 0xb2, 0xfb, + 0xa2, 0x05, 0x53, 0xbc, 0x99, 0xc5, 0x28, 0x0a, 0xdc, 0xcd, 0x4e, 0x44, 0xc2, 0xd9, 0x41, 0x76, + 0xd2, 0x2d, 0x67, 0x8d, 0x56, 0xee, 0x08, 0x2c, 0xdc, 0x49, 0x50, 0xe1, 0x87, 0xe0, 0xac, 0x68, + 0x77, 0x2a, 0x09, 0xc6, 0xa9, 0x66, 0xd1, 0x77, 0x5b, 0x30, 0x57, 0xf7, 0xbd, 0x28, 0xf0, 0x9b, + 0x4d, 0x12, 0x54, 0x3b, 0x9b, 0x4d, 0x37, 0xdc, 0xe1, 0xeb, 0x14, 0x93, 0x2d, 0x76, 0x12, 0xe4, + 0xcc, 0xa1, 0x42, 0x12, 0x73, 0x78, 0xfe, 0xc1, 0xc1, 0xfc, 0xdc, 0x72, 0x2e, 0x29, 0xdc, 0xa5, + 0x19, 0xb4, 0x0b, 0x88, 0x5e, 0xa5, 0xb5, 0xc8, 0xd9, 0x26, 0x71, 0xe3, 0xc3, 0xfd, 0x37, 0x7e, + 0xe6, 0xc1, 0xc1, 0x3c, 0x5a, 0x4f, 0x91, 0xc0, 0x19, 0x64, 0xd1, 0x5b, 0x70, 0x8a, 0x96, 0xa6, + 0xbe, 0x75, 0xa4, 0xff, 0xe6, 0x66, 0x1f, 0x1c, 0xcc, 0x9f, 0x5a, 0xcf, 0x20, 0x82, 0x33, 0x49, + 0xa3, 0xef, 0xb2, 0xe0, 0x6c, 0xfc, 0xf9, 0x2b, 0xf7, 0xdb, 0x8e, 0xd7, 0x88, 0x1b, 0x2e, 0xf5, + 0xdf, 0x30, 0x3d, 0x93, 0xcf, 0x2e, 0xe7, 0x51, 0xc2, 0xf9, 0x8d, 0xcc, 0x2d, 0xc3, 0xe9, 0xcc, + 0xd5, 0x82, 0xa6, 0xa0, 0xb8, 0x4b, 0x38, 0x17, 0x54, 0xc2, 0xf4, 0x27, 0x3a, 0x05, 0x83, 0x7b, + 0x4e, 0xb3, 0x23, 0x36, 0x0a, 0xe6, 0x7f, 0x5e, 0x29, 0xbc, 0x6c, 0xd9, 0xff, 0xb2, 0x08, 0x93, + 0xcb, 0xb5, 0xca, 0x43, 0xed, 0x42, 0xfd, 0x1a, 0x2a, 0x74, 0xbd, 0x86, 0xe2, 0x4b, 0xad, 0x98, + 0x7b, 0xa9, 0xfd, 0xdf, 0x19, 0x5b, 0x68, 0x80, 0x6d, 0xa1, 0x6f, 0xcb, 0xd9, 0x42, 0xc7, 0xbc, + 0x71, 0xf6, 0x72, 0x56, 0xd1, 0x20, 0x9b, 0xcc, 0x4c, 0x8e, 0xe5, 0xa6, 0x5f, 0x77, 0x9a, 0xc9, + 0xa3, 0xef, 0x88, 0x4b, 0xe9, 0x78, 0xe6, 0xb1, 0x0e, 0x63, 0xcb, 0x4e, 0xdb, 0xd9, 0x74, 0x9b, + 0x6e, 0xe4, 0x92, 0x10, 0x3d, 0x05, 0x45, 0xa7, 0xd1, 0x60, 0xdc, 0x56, 0x69, 0xe9, 0xf4, 0x83, + 0x83, 0xf9, 0xe2, 0x62, 0x83, 0x5e, 0xfb, 0xa0, 0xb0, 0xf6, 0x31, 0xc5, 0x40, 0x1f, 0x84, 0x81, + 0x46, 0xe0, 0xb7, 0x67, 0x0b, 0x0c, 0x93, 0xee, 0xba, 0x81, 0x72, 0xe0, 0xb7, 0x13, 0xa8, 0x0c, + 0xc7, 0xfe, 0xf5, 0x02, 0x3c, 0xb1, 0x4c, 0xda, 0x3b, 0xab, 0xb5, 0x9c, 0xf3, 0xfb, 0x32, 0x8c, + 0xb4, 0x7c, 0xcf, 0x8d, 0xfc, 0x20, 0x14, 0x4d, 0xb3, 0x15, 0xb1, 0x26, 0xca, 0xb0, 0x82, 0xa2, + 0x0b, 0x30, 0xd0, 0x8e, 0x99, 0xca, 0x31, 0xc9, 0x90, 0x32, 0x76, 0x92, 0x41, 0x28, 0x46, 0x27, + 0x24, 0x81, 0x58, 0x31, 0x0a, 0xe3, 0x76, 0x48, 0x02, 0xcc, 0x20, 0xf1, 0xcd, 0x4c, 0xef, 0x6c, + 0x71, 0x42, 0x27, 0x6e, 0x66, 0x0a, 0xc1, 0x1a, 0x16, 0xaa, 0x42, 0x29, 0x4c, 0xcc, 0x6c, 0x5f, + 0xdb, 0x74, 0x9c, 0x5d, 0xdd, 0x6a, 0x26, 0x63, 0x22, 0xc6, 0x8d, 0x32, 0xd4, 0xf3, 0xea, 0xfe, + 0x6a, 0x01, 0x10, 0x1f, 0xc2, 0x6f, 0xb2, 0x81, 0xbb, 0x9d, 0x1e, 0xb8, 0xfe, 0xb7, 0xc4, 0x71, + 0x8d, 0xde, 0x5f, 0x58, 0xf0, 0xc4, 0xb2, 0xeb, 0x35, 0x48, 0x90, 0xb3, 0x00, 0x1f, 0xcd, 0x5b, + 0xf6, 0x68, 0x4c, 0x83, 0xb1, 0xc4, 0x06, 0x8e, 0x61, 0x89, 0xd9, 0x7f, 0x6a, 0x01, 0xe2, 0x9f, + 0xfd, 0xae, 0xfb, 0xd8, 0xdb, 0xe9, 0x8f, 0x3d, 0x86, 0x65, 0x61, 0xdf, 0x84, 0x89, 0xe5, 0xa6, + 0x4b, 0xbc, 0xa8, 0x52, 0x5d, 0xf6, 0xbd, 0x2d, 0x77, 0x1b, 0xbd, 0x02, 0x13, 0x91, 0xdb, 0x22, + 0x7e, 0x27, 0xaa, 0x91, 0xba, 0xef, 0xb1, 0x97, 0xa4, 0x75, 0x79, 0x70, 0x09, 0x3d, 0x38, 0x98, + 0x9f, 0xd8, 0x30, 0x20, 0x38, 0x81, 0x69, 0xff, 0x3e, 0x1d, 0x3f, 0xbf, 0xd5, 0xf6, 0x3d, 0xe2, + 0x45, 0xcb, 0xbe, 0xd7, 0xe0, 0x12, 0x87, 0x57, 0x60, 0x20, 0xa2, 0xe3, 0xc1, 0xc7, 0xee, 0x92, + 0xdc, 0x28, 0x74, 0x14, 0x0e, 0x0f, 0xe6, 0xcf, 0xa4, 0x6b, 0xb0, 0x71, 0x62, 0x75, 0xd0, 0xb7, + 0xc1, 0x50, 0x18, 0x39, 0x51, 0x27, 0x14, 0xa3, 0xf9, 0xa4, 0x1c, 0xcd, 0x1a, 0x2b, 0x3d, 0x3c, + 0x98, 0x9f, 0x54, 0xd5, 0x78, 0x11, 0x16, 0x15, 0xd0, 0xd3, 0x30, 0xdc, 0x22, 0x61, 0xe8, 0x6c, + 0xcb, 0xdb, 0x70, 0x52, 0xd4, 0x1d, 0x5e, 0xe3, 0xc5, 0x58, 0xc2, 0xd1, 0x45, 0x18, 0x24, 0x41, + 0xe0, 0x07, 0x62, 0x8f, 0x8e, 0x0b, 0xc4, 0xc1, 0x15, 0x5a, 0x88, 0x39, 0xcc, 0xfe, 0x77, 0x16, + 0x4c, 0xaa, 0xbe, 0xf2, 0xb6, 0x4e, 0xe0, 0x55, 0xf0, 0x29, 0x80, 0xba, 0xfc, 0xc0, 0x90, 0xdd, + 0x1e, 0xa3, 0xcf, 0x5f, 0xca, 0xbc, 0xa8, 0x53, 0xc3, 0x18, 0x53, 0x56, 0x45, 0x21, 0xd6, 0xa8, + 0xd9, 0xff, 0xc4, 0x82, 0x99, 0xc4, 0x17, 0xdd, 0x74, 0xc3, 0x08, 0xbd, 0x99, 0xfa, 0xaa, 0x85, + 0xfe, 0xbe, 0x8a, 0xd6, 0x66, 0xdf, 0xa4, 0x96, 0xb2, 0x2c, 0xd1, 0xbe, 0xe8, 0x3a, 0x0c, 0xba, + 0x11, 0x69, 0xc9, 0x8f, 0xb9, 0xd8, 0xf5, 0x63, 0x78, 0xaf, 0xe2, 0x19, 0xa9, 0xd0, 0x9a, 0x98, + 0x13, 0xb0, 0x7f, 0xbd, 0x08, 0x25, 0xbe, 0x6c, 0xd7, 0x9c, 0xf6, 0x09, 0xcc, 0xc5, 0x33, 0x50, + 0x72, 0x5b, 0xad, 0x4e, 0xe4, 0x6c, 0x8a, 0xe3, 0x7c, 0x84, 0x6f, 0xad, 0x8a, 0x2c, 0xc4, 0x31, + 0x1c, 0x55, 0x60, 0x80, 0x75, 0x85, 0x7f, 0xe5, 0x53, 0xd9, 0x5f, 0x29, 0xfa, 0xbe, 0x50, 0x76, + 0x22, 0x87, 0x73, 0x52, 0xea, 0x1e, 0xa1, 0x45, 0x98, 0x91, 0x40, 0x0e, 0xc0, 0xa6, 0xeb, 0x39, + 0xc1, 0x3e, 0x2d, 0x9b, 0x2d, 0x32, 0x82, 0xcf, 0x75, 0x27, 0xb8, 0xa4, 0xf0, 0x39, 0x59, 0xf5, + 0x61, 0x31, 0x00, 0x6b, 0x44, 0xe7, 0x3e, 0x02, 0x25, 0x85, 0x7c, 0x14, 0x86, 0x68, 0xee, 0x63, + 0x30, 0x99, 0x68, 0xab, 0x57, 0xf5, 0x31, 0x9d, 0x9f, 0xfa, 0x15, 0x76, 0x64, 0x88, 0x5e, 0xaf, + 0x78, 0x7b, 0xe2, 0xc8, 0x7d, 0x1b, 0x4e, 0x35, 0x33, 0x4e, 0x32, 0x31, 0xaf, 0xfd, 0x9f, 0x7c, + 0x4f, 0x88, 0xcf, 0x3e, 0x95, 0x05, 0xc5, 0x99, 0x6d, 0x50, 0x1e, 0xc1, 0x6f, 0xd3, 0x0d, 0xe2, + 0x34, 0x75, 0x76, 0xfb, 0x96, 0x28, 0xc3, 0x0a, 0x4a, 0xcf, 0xbb, 0x53, 0xaa, 0xf3, 0x37, 0xc8, + 0x7e, 0x8d, 0x34, 0x49, 0x3d, 0xf2, 0x83, 0x6f, 0x68, 0xf7, 0xcf, 0xf1, 0xd1, 0xe7, 0xc7, 0xe5, + 0xa8, 0x20, 0x50, 0xbc, 0x41, 0xf6, 0xf9, 0x54, 0xe8, 0x5f, 0x57, 0xec, 0xfa, 0x75, 0x3f, 0x67, + 0xc1, 0xb8, 0xfa, 0xba, 0x13, 0x38, 0x17, 0x96, 0xcc, 0x73, 0xe1, 0x5c, 0xd7, 0x05, 0x9e, 0x73, + 0x22, 0x7c, 0xb5, 0x00, 0x67, 0x15, 0x0e, 0x7d, 0x1b, 0xf0, 0x3f, 0x62, 0x55, 0x5d, 0x81, 0x92, + 0xa7, 0xa4, 0x56, 0x96, 0x29, 0x2e, 0x8a, 0x65, 0x56, 0x31, 0x0e, 0x65, 0xf1, 0xbc, 0x58, 0xb4, + 0x34, 0xa6, 0x8b, 0x73, 0x85, 0xe8, 0x76, 0x09, 0x8a, 0x1d, 0xb7, 0x21, 0x2e, 0x98, 0x0f, 0xc9, + 0xd1, 0xbe, 0x5d, 0x29, 0x1f, 0x1e, 0xcc, 0x3f, 0x99, 0xa7, 0x4a, 0xa0, 0x37, 0x5b, 0xb8, 0x70, + 0xbb, 0x52, 0xc6, 0xb4, 0x32, 0x5a, 0x84, 0x49, 0xa9, 0x2d, 0xb9, 0x43, 0xd9, 0x2d, 0xdf, 0x13, + 0xf7, 0x90, 0x92, 0xc9, 0x62, 0x13, 0x8c, 0x93, 0xf8, 0xa8, 0x0c, 0x53, 0xbb, 0x9d, 0x4d, 0xd2, + 0x24, 0x11, 0xff, 0xe0, 0x1b, 0x84, 0x4b, 0x2c, 0x4b, 0xf1, 0xcb, 0xec, 0x46, 0x02, 0x8e, 0x53, + 0x35, 0xec, 0xbf, 0x62, 0xf7, 0x81, 0x18, 0xbd, 0x6a, 0xe0, 0xd3, 0x85, 0x45, 0xa9, 0x7f, 0x23, + 0x97, 0x73, 0x3f, 0xab, 0xe2, 0x06, 0xd9, 0xdf, 0xf0, 0x29, 0x67, 0x9e, 0xbd, 0x2a, 0x8c, 0x35, + 0x3f, 0xd0, 0x75, 0xcd, 0xff, 0x42, 0x01, 0x4e, 0xab, 0x11, 0x30, 0x98, 0xc0, 0x6f, 0xf6, 0x31, + 0xb8, 0x0a, 0xa3, 0x0d, 0xb2, 0xe5, 0x74, 0x9a, 0x91, 0x12, 0x9f, 0x0f, 0x72, 0x15, 0x4a, 0x39, + 0x2e, 0xc6, 0x3a, 0xce, 0x11, 0x86, 0xed, 0x7f, 0x8c, 0xb2, 0x8b, 0x38, 0x72, 0xe8, 0x1a, 0x57, + 0xbb, 0xc6, 0xca, 0xdd, 0x35, 0x17, 0x61, 0xd0, 0x6d, 0x51, 0xc6, 0xac, 0x60, 0xf2, 0x5b, 0x15, + 0x5a, 0x88, 0x39, 0x0c, 0x7d, 0x00, 0x86, 0xeb, 0x7e, 0xab, 0xe5, 0x78, 0x0d, 0x76, 0xe5, 0x95, + 0x96, 0x46, 0x29, 0xef, 0xb6, 0xcc, 0x8b, 0xb0, 0x84, 0xa1, 0x27, 0x60, 0xc0, 0x09, 0xb6, 0xb9, + 0x0c, 0xa3, 0xb4, 0x34, 0x42, 0x5b, 0x5a, 0x0c, 0xb6, 0x43, 0xcc, 0x4a, 0xe9, 0x13, 0xec, 0x9e, + 0x1f, 0xec, 0xba, 0xde, 0x76, 0xd9, 0x0d, 0xc4, 0x96, 0x50, 0x77, 0xe1, 0x5d, 0x05, 0xc1, 0x1a, + 0x16, 0x5a, 0x85, 0xc1, 0xb6, 0x1f, 0x44, 0xe1, 0xec, 0x10, 0x1b, 0xee, 0x27, 0x73, 0x0e, 0x22, + 0xfe, 0xb5, 0x55, 0x3f, 0x88, 0xe2, 0x0f, 0xa0, 0xff, 0x42, 0xcc, 0xab, 0xa3, 0x9b, 0x30, 0x4c, + 0xbc, 0xbd, 0xd5, 0xc0, 0x6f, 0xcd, 0xce, 0xe4, 0x53, 0x5a, 0xe1, 0x28, 0x7c, 0x99, 0xc5, 0x3c, + 0xaa, 0x28, 0xc6, 0x92, 0x04, 0xfa, 0x36, 0x28, 0x12, 0x6f, 0x6f, 0x76, 0x98, 0x51, 0x9a, 0xcb, + 0xa1, 0x74, 0xc7, 0x09, 0xe2, 0x33, 0x7f, 0xc5, 0xdb, 0xc3, 0xb4, 0x0e, 0xfa, 0x24, 0x94, 0xe4, + 0x81, 0x11, 0x0a, 0x61, 0x5d, 0xe6, 0x82, 0x95, 0xc7, 0x0c, 0x26, 0x6f, 0x75, 0xdc, 0x80, 0xb4, + 0x88, 0x17, 0x85, 0xf1, 0x09, 0x29, 0xa1, 0x21, 0x8e, 0xa9, 0xa1, 0x4f, 0x4a, 0x09, 0xf1, 0x9a, + 0xdf, 0xf1, 0xa2, 0x70, 0xb6, 0xc4, 0xba, 0x97, 0xa9, 0xbb, 0xbb, 0x13, 0xe3, 0x25, 0x45, 0xc8, + 0xbc, 0x32, 0x36, 0x48, 0xa1, 0x4f, 0xc3, 0x38, 0xff, 0xcf, 0x35, 0x60, 0xe1, 0xec, 0x69, 0x46, + 0xfb, 0x42, 0x3e, 0x6d, 0x8e, 0xb8, 0x74, 0x5a, 0x10, 0x1f, 0xd7, 0x4b, 0x43, 0x6c, 0x52, 0x43, + 0x18, 0xc6, 0x9b, 0xee, 0x1e, 0xf1, 0x48, 0x18, 0x56, 0x03, 0x7f, 0x93, 0xcc, 0x02, 0x1b, 0x98, + 0xb3, 0xd9, 0x1a, 0x33, 0x7f, 0x93, 0x2c, 0x4d, 0x53, 0x9a, 0x37, 0xf5, 0x3a, 0xd8, 0x24, 0x81, + 0x6e, 0xc3, 0x04, 0x7d, 0xb1, 0xb9, 0x31, 0xd1, 0xd1, 0x5e, 0x44, 0xd9, 0xbb, 0x0a, 0x1b, 0x95, + 0x70, 0x82, 0x08, 0xba, 0x05, 0x63, 0x61, 0xe4, 0x04, 0x51, 0xa7, 0xcd, 0x89, 0x9e, 0xe9, 0x45, + 0x94, 0x29, 0x5c, 0x6b, 0x5a, 0x15, 0x6c, 0x10, 0x40, 0xaf, 0x43, 0xa9, 0xe9, 0x6e, 0x91, 0xfa, + 0x7e, 0xbd, 0x49, 0x66, 0xc7, 0x18, 0xb5, 0xcc, 0x43, 0xe5, 0xa6, 0x44, 0xe2, 0x7c, 0xae, 0xfa, + 0x8b, 0xe3, 0xea, 0xe8, 0x0e, 0x9c, 0x89, 0x48, 0xd0, 0x72, 0x3d, 0x87, 0x1e, 0x06, 0xe2, 0x69, + 0xc5, 0x14, 0x99, 0xe3, 0x6c, 0xb7, 0x9d, 0x17, 0xb3, 0x71, 0x66, 0x23, 0x13, 0x0b, 0xe7, 0xd4, + 0x46, 0xf7, 0x61, 0x36, 0x03, 0xe2, 0x37, 0xdd, 0xfa, 0xfe, 0xec, 0x29, 0x46, 0xf9, 0xa3, 0x82, + 0xf2, 0xec, 0x46, 0x0e, 0xde, 0x61, 0x17, 0x18, 0xce, 0xa5, 0x8e, 0x6e, 0xc1, 0x24, 0x3b, 0x81, + 0xaa, 0x9d, 0x66, 0x53, 0x34, 0x38, 0xc1, 0x1a, 0xfc, 0x80, 0xbc, 0x8f, 0x2b, 0x26, 0xf8, 0xf0, + 0x60, 0x1e, 0xe2, 0x7f, 0x38, 0x59, 0x1b, 0x6d, 0x32, 0x9d, 0x59, 0x27, 0x70, 0xa3, 0x7d, 0x7a, + 0x6e, 0x90, 0xfb, 0xd1, 0xec, 0x64, 0x57, 0x79, 0x85, 0x8e, 0xaa, 0x14, 0x6b, 0x7a, 0x21, 0x4e, + 0x12, 0xa4, 0x47, 0x6a, 0x18, 0x35, 0x5c, 0x6f, 0x76, 0x8a, 0xbf, 0x4b, 0xe4, 0x89, 0x54, 0xa3, + 0x85, 0x98, 0xc3, 0x98, 0xbe, 0x8c, 0xfe, 0xb8, 0x45, 0x6f, 0xae, 0x69, 0x86, 0x18, 0xeb, 0xcb, + 0x24, 0x00, 0xc7, 0x38, 0x94, 0x99, 0x8c, 0xa2, 0xfd, 0x59, 0xc4, 0x50, 0xd5, 0xc1, 0xb2, 0xb1, + 0xf1, 0x49, 0x4c, 0xcb, 0xed, 0x4d, 0x98, 0x50, 0x07, 0x21, 0x1b, 0x13, 0x34, 0x0f, 0x83, 0x8c, + 0x7d, 0x12, 0xd2, 0xb5, 0x12, 0xed, 0x02, 0x63, 0xad, 0x30, 0x2f, 0x67, 0x5d, 0x70, 0xdf, 0x26, + 0x4b, 0xfb, 0x11, 0xe1, 0x6f, 0xfa, 0xa2, 0xd6, 0x05, 0x09, 0xc0, 0x31, 0x8e, 0xfd, 0xbf, 0x39, + 0x1b, 0x1a, 0x9f, 0xb6, 0x7d, 0xdc, 0x2f, 0xcf, 0xc2, 0xc8, 0x8e, 0x1f, 0x46, 0x14, 0x9b, 0xb5, + 0x31, 0x18, 0x33, 0x9e, 0xd7, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x55, 0x18, 0xaf, 0xeb, 0x0d, 0x88, + 0xcb, 0x51, 0x1d, 0x23, 0x46, 0xeb, 0xd8, 0xc4, 0x45, 0x2f, 0xc3, 0x08, 0xb3, 0x01, 0xa9, 0xfb, + 0x4d, 0xc1, 0xb5, 0xc9, 0x1b, 0x7e, 0xa4, 0x2a, 0xca, 0x0f, 0xb5, 0xdf, 0x58, 0x61, 0xa3, 0x4b, + 0x30, 0x44, 0xbb, 0x50, 0xa9, 0x8a, 0x6b, 0x49, 0x09, 0x8a, 0xae, 0xb3, 0x52, 0x2c, 0xa0, 0xf6, + 0xff, 0x57, 0xd0, 0x46, 0x99, 0xbe, 0x87, 0x09, 0xaa, 0xc2, 0xf0, 0x3d, 0xc7, 0x8d, 0x5c, 0x6f, + 0x5b, 0xf0, 0x1f, 0x4f, 0x77, 0xbd, 0xa3, 0x58, 0xa5, 0xbb, 0xbc, 0x02, 0xbf, 0x45, 0xc5, 0x1f, + 0x2c, 0xc9, 0x50, 0x8a, 0x41, 0xc7, 0xf3, 0x28, 0xc5, 0x42, 0xbf, 0x14, 0x31, 0xaf, 0xc0, 0x29, + 0x8a, 0x3f, 0x58, 0x92, 0x41, 0x6f, 0x02, 0xc8, 0x1d, 0x46, 0x1a, 0xc2, 0xf6, 0xe2, 0xd9, 0xde, + 0x44, 0x37, 0x54, 0x9d, 0xa5, 0x09, 0x7a, 0x47, 0xc7, 0xff, 0xb1, 0x46, 0xcf, 0x8e, 0x18, 0x9f, + 0x96, 0xee, 0x0c, 0xfa, 0x0e, 0xba, 0xc4, 0x9d, 0x20, 0x22, 0x8d, 0xc5, 0x48, 0x0c, 0xce, 0x07, + 0xfb, 0x7b, 0xa4, 0x6c, 0xb8, 0x2d, 0xa2, 0x6f, 0x07, 0x41, 0x04, 0xc7, 0xf4, 0xec, 0x5f, 0x2a, + 0xc2, 0x6c, 0x5e, 0x77, 0xe9, 0xa2, 0x23, 0xf7, 0xdd, 0x68, 0x99, 0xb2, 0x57, 0x96, 0xb9, 0xe8, + 0x56, 0x44, 0x39, 0x56, 0x18, 0x74, 0xf6, 0x43, 0x77, 0x5b, 0xbe, 0x31, 0x07, 0xe3, 0xd9, 0xaf, + 0xb1, 0x52, 0x2c, 0xa0, 0x14, 0x2f, 0x20, 0x4e, 0x28, 0x8c, 0x7b, 0xb4, 0x55, 0x82, 0x59, 0x29, + 0x16, 0x50, 0x5d, 0xda, 0x35, 0xd0, 0x43, 0xda, 0x65, 0x0c, 0xd1, 0xe0, 0xf1, 0x0e, 0x11, 0xfa, + 0x0c, 0xc0, 0x96, 0xeb, 0xb9, 0xe1, 0x0e, 0xa3, 0x3e, 0x74, 0x64, 0xea, 0x8a, 0x39, 0x5b, 0x55, + 0x54, 0xb0, 0x46, 0x11, 0xbd, 0x04, 0xa3, 0x6a, 0x03, 0x56, 0xca, 0x4c, 0xd3, 0xa9, 0x59, 0x8e, + 0xc4, 0xa7, 0x51, 0x19, 0xeb, 0x78, 0xf6, 0xe7, 0x92, 0xeb, 0x45, 0xec, 0x00, 0x6d, 0x7c, 0xad, + 0x7e, 0xc7, 0xb7, 0xd0, 0x7d, 0x7c, 0xed, 0xaf, 0x17, 0x61, 0xd2, 0x68, 0xac, 0x13, 0xf6, 0x71, + 0x66, 0x5d, 0xa3, 0x07, 0xb8, 0x13, 0x11, 0xb1, 0xff, 0xec, 0xde, 0x5b, 0x45, 0x3f, 0xe4, 0xe9, + 0x0e, 0xe0, 0xf5, 0xd1, 0x67, 0xa0, 0xd4, 0x74, 0x42, 0x26, 0x39, 0x23, 0x62, 0xdf, 0xf5, 0x43, + 0x2c, 0x7e, 0x98, 0x38, 0x61, 0xa4, 0xdd, 0x9a, 0x9c, 0x76, 0x4c, 0x92, 0xde, 0x34, 0x94, 0x3f, + 0x91, 0xd6, 0x63, 0xaa, 0x13, 0x94, 0x89, 0xd9, 0xc7, 0x1c, 0x86, 0x5e, 0x86, 0xb1, 0x80, 0xb0, + 0x55, 0xb1, 0x4c, 0xb9, 0x39, 0xb6, 0xcc, 0x06, 0x63, 0xb6, 0x0f, 0x6b, 0x30, 0x6c, 0x60, 0xc6, + 0x6f, 0x83, 0xa1, 0x2e, 0x6f, 0x83, 0xa7, 0x61, 0x98, 0xfd, 0x50, 0x2b, 0x40, 0xcd, 0x46, 0x85, + 0x17, 0x63, 0x09, 0x4f, 0x2e, 0x98, 0x91, 0xfe, 0x16, 0x0c, 0x7d, 0x7d, 0x88, 0x45, 0xcd, 0xb4, + 0xcc, 0x23, 0xfc, 0x94, 0x13, 0x4b, 0x1e, 0x4b, 0x98, 0xfd, 0x41, 0x98, 0x28, 0x3b, 0xa4, 0xe5, + 0x7b, 0x2b, 0x5e, 0xa3, 0xed, 0xbb, 0x5e, 0x84, 0x66, 0x61, 0x80, 0x5d, 0x22, 0xfc, 0x08, 0x18, + 0xa0, 0x0d, 0x61, 0x56, 0x62, 0x6f, 0xc3, 0xe9, 0xb2, 0x7f, 0xcf, 0xbb, 0xe7, 0x04, 0x8d, 0xc5, + 0x6a, 0x45, 0x7b, 0x5f, 0xaf, 0xcb, 0xf7, 0x1d, 0x37, 0xda, 0xca, 0x3c, 0x7a, 0xb5, 0x9a, 0x9c, + 0xad, 0x5d, 0x75, 0x9b, 0x24, 0x47, 0x0a, 0xf2, 0xd7, 0x0a, 0x46, 0x4b, 0x31, 0xbe, 0xd2, 0x6a, + 0x59, 0xb9, 0x5a, 0xad, 0x37, 0x60, 0x64, 0xcb, 0x25, 0xcd, 0x06, 0x26, 0x5b, 0x62, 0x25, 0x3e, + 0x95, 0x6f, 0x87, 0xb2, 0x4a, 0x31, 0xa5, 0xd4, 0x8b, 0xbf, 0x0e, 0x57, 0x45, 0x65, 0xac, 0xc8, + 0xa0, 0x5d, 0x98, 0x92, 0x0f, 0x06, 0x09, 0x15, 0xeb, 0xf2, 0xe9, 0x6e, 0xaf, 0x10, 0x93, 0xf8, + 0xa9, 0x07, 0x07, 0xf3, 0x53, 0x38, 0x41, 0x06, 0xa7, 0x08, 0xd3, 0xe7, 0x60, 0x8b, 0x9e, 0xc0, + 0x03, 0x6c, 0xf8, 0xd9, 0x73, 0x90, 0xbd, 0x6c, 0x59, 0xa9, 0xfd, 0x13, 0x16, 0x3c, 0x96, 0x1a, + 0x19, 0xf1, 0xc2, 0x3f, 0xe6, 0x59, 0x48, 0xbe, 0xb8, 0x0b, 0xbd, 0x5f, 0xdc, 0xf6, 0xdf, 0xb5, + 0xe0, 0xd4, 0x4a, 0xab, 0x1d, 0xed, 0x97, 0x5d, 0x53, 0x05, 0xf5, 0x11, 0x18, 0x6a, 0x91, 0x86, + 0xdb, 0x69, 0x89, 0x99, 0x9b, 0x97, 0xa7, 0xd4, 0x1a, 0x2b, 0x3d, 0x3c, 0x98, 0x1f, 0xaf, 0x45, + 0x7e, 0xe0, 0x6c, 0x13, 0x5e, 0x80, 0x05, 0x3a, 0x3b, 0xeb, 0xdd, 0xb7, 0xc9, 0x4d, 0xb7, 0xe5, + 0x4a, 0xbb, 0xa2, 0xae, 0x32, 0xbb, 0x05, 0x39, 0xa0, 0x0b, 0x6f, 0x74, 0x1c, 0x2f, 0x72, 0xa3, + 0x7d, 0xa1, 0x3d, 0x92, 0x44, 0x70, 0x4c, 0xcf, 0xfe, 0x9a, 0x05, 0x93, 0x72, 0xdd, 0x2f, 0x36, + 0x1a, 0x01, 0x09, 0x43, 0x34, 0x07, 0x05, 0xb7, 0x2d, 0x7a, 0x09, 0xa2, 0x97, 0x85, 0x4a, 0x15, + 0x17, 0xdc, 0xb6, 0x64, 0xcb, 0xd8, 0x41, 0x58, 0x34, 0x15, 0x69, 0xd7, 0x45, 0x39, 0x56, 0x18, + 0xe8, 0x32, 0x8c, 0x78, 0x7e, 0x83, 0xdb, 0x76, 0xf1, 0x2b, 0x8d, 0x2d, 0xb0, 0x75, 0x51, 0x86, + 0x15, 0x14, 0x55, 0xa1, 0xc4, 0xcd, 0x9e, 0xe2, 0x45, 0xdb, 0x97, 0xf1, 0x14, 0xfb, 0xb2, 0x0d, + 0x59, 0x13, 0xc7, 0x44, 0xec, 0x5f, 0xb3, 0x60, 0x4c, 0x7e, 0x59, 0x9f, 0x3c, 0x27, 0xdd, 0x5a, + 0x31, 0xbf, 0x19, 0x6f, 0x2d, 0xca, 0x33, 0x32, 0x88, 0xc1, 0x2a, 0x16, 0x8f, 0xc4, 0x2a, 0x5e, + 0x85, 0x51, 0xa7, 0xdd, 0xae, 0x9a, 0x7c, 0x26, 0x5b, 0x4a, 0x8b, 0x71, 0x31, 0xd6, 0x71, 0xec, + 0x1f, 0x2f, 0xc0, 0x84, 0xfc, 0x82, 0x5a, 0x67, 0x33, 0x24, 0x11, 0xda, 0x80, 0x92, 0xc3, 0x67, + 0x89, 0xc8, 0x45, 0x7e, 0x31, 0x5b, 0x8e, 0x60, 0x4c, 0x69, 0x7c, 0xe1, 0x2f, 0xca, 0xda, 0x38, + 0x26, 0x84, 0x9a, 0x30, 0xed, 0xf9, 0x11, 0x3b, 0xfc, 0x15, 0xbc, 0x9b, 0x6a, 0x27, 0x49, 0xfd, + 0xac, 0xa0, 0x3e, 0xbd, 0x9e, 0xa4, 0x82, 0xd3, 0x84, 0xd1, 0x8a, 0x94, 0xcd, 0x14, 0xf3, 0x85, + 0x01, 0xfa, 0xc4, 0x65, 0x8b, 0x66, 0xec, 0x5f, 0xb5, 0xa0, 0x24, 0xd1, 0x4e, 0x42, 0x8b, 0xb7, + 0x06, 0xc3, 0x21, 0x9b, 0x04, 0x39, 0x34, 0x76, 0xb7, 0x8e, 0xf3, 0xf9, 0x8a, 0xef, 0x34, 0xfe, + 0x3f, 0xc4, 0x92, 0x06, 0x13, 0xcd, 0xab, 0xee, 0xbf, 0x4b, 0x44, 0xf3, 0xaa, 0x3f, 0x39, 0x97, + 0xd2, 0x1f, 0xb3, 0x3e, 0x6b, 0xb2, 0x2e, 0xca, 0x7a, 0xb5, 0x03, 0xb2, 0xe5, 0xde, 0x4f, 0xb2, + 0x5e, 0x55, 0x56, 0x8a, 0x05, 0x14, 0xbd, 0x09, 0x63, 0x75, 0x29, 0x93, 0x8d, 0x77, 0xf8, 0xa5, + 0xae, 0xfa, 0x01, 0xa5, 0x4a, 0xe2, 0xb2, 0x90, 0x65, 0xad, 0x3e, 0x36, 0xa8, 0x99, 0x66, 0x04, + 0xc5, 0x5e, 0x66, 0x04, 0x31, 0xdd, 0x7c, 0xa5, 0xfa, 0x4f, 0x5a, 0x30, 0xc4, 0x65, 0x71, 0xfd, + 0x89, 0x42, 0x35, 0xcd, 0x5a, 0x3c, 0x76, 0x77, 0x68, 0xa1, 0xd0, 0x94, 0xa1, 0x35, 0x28, 0xb1, + 0x1f, 0x4c, 0x96, 0x58, 0xcc, 0xb7, 0xba, 0xe7, 0xad, 0xea, 0x1d, 0xbc, 0x23, 0xab, 0xe1, 0x98, + 0x82, 0xfd, 0xa3, 0x45, 0x7a, 0xba, 0xc5, 0xa8, 0xc6, 0xa5, 0x6f, 0x3d, 0xba, 0x4b, 0xbf, 0xf0, + 0xa8, 0x2e, 0xfd, 0x6d, 0x98, 0xac, 0x6b, 0x7a, 0xb8, 0x78, 0x26, 0x2f, 0x77, 0x5d, 0x24, 0x9a, + 0xca, 0x8e, 0x4b, 0x59, 0x96, 0x4d, 0x22, 0x38, 0x49, 0x15, 0x7d, 0x07, 0x8c, 0xf1, 0x79, 0x16, + 0xad, 0x70, 0x4b, 0x8c, 0x0f, 0xe4, 0xaf, 0x17, 0xbd, 0x09, 0x2e, 0x95, 0xd3, 0xaa, 0x63, 0x83, + 0x98, 0xfd, 0x67, 0x16, 0xa0, 0x95, 0xf6, 0x0e, 0x69, 0x91, 0xc0, 0x69, 0xc6, 0xe2, 0xf4, 0x1f, + 0xb4, 0x60, 0x96, 0xa4, 0x8a, 0x97, 0xfd, 0x56, 0x4b, 0x3c, 0x5a, 0x72, 0xde, 0xd5, 0x2b, 0x39, + 0x75, 0x94, 0x5b, 0xc2, 0x6c, 0x1e, 0x06, 0xce, 0x6d, 0x0f, 0xad, 0xc1, 0x0c, 0xbf, 0x25, 0x15, + 0x40, 0xb3, 0xbd, 0x7e, 0x5c, 0x10, 0x9e, 0xd9, 0x48, 0xa3, 0xe0, 0xac, 0x7a, 0xf6, 0xf7, 0x8c, + 0x41, 0x6e, 0x2f, 0xde, 0xd3, 0x23, 0xbc, 0xa7, 0x47, 0x78, 0x4f, 0x8f, 0xf0, 0x9e, 0x1e, 0xe1, + 0x3d, 0x3d, 0xc2, 0xb7, 0xbc, 0x1e, 0xe1, 0x4f, 0x2c, 0x98, 0x49, 0x5f, 0x03, 0x27, 0xc1, 0x98, + 0x77, 0x60, 0x26, 0x7d, 0xd7, 0x75, 0xb5, 0xb3, 0x4b, 0xf7, 0x33, 0xbe, 0xf7, 0x32, 0xbe, 0x01, + 0x67, 0xd1, 0xb7, 0x7f, 0xc3, 0x82, 0xd3, 0x0a, 0xd9, 0x78, 0xe9, 0x7f, 0x1e, 0x66, 0xf8, 0xf9, + 0xb2, 0xdc, 0x74, 0xdc, 0xd6, 0x06, 0x69, 0xb5, 0x9b, 0x4e, 0x24, 0xcd, 0x0c, 0xae, 0x66, 0x6e, + 0xd5, 0x84, 0x89, 0xae, 0x51, 0x71, 0xe9, 0x31, 0xda, 0xaf, 0x0c, 0x00, 0xce, 0x6a, 0xc6, 0x30, + 0x4a, 0x2d, 0xf4, 0x34, 0x13, 0xfe, 0xa5, 0x11, 0x18, 0x5c, 0xd9, 0x23, 0x5e, 0x74, 0x02, 0x13, + 0x55, 0x87, 0x09, 0xd7, 0xdb, 0xf3, 0x9b, 0x7b, 0xa4, 0xc1, 0xe1, 0x47, 0x79, 0xe8, 0x9f, 0x11, + 0xa4, 0x27, 0x2a, 0x06, 0x09, 0x9c, 0x20, 0xf9, 0x28, 0x84, 0xed, 0xd7, 0x60, 0x88, 0xdf, 0x71, + 0x42, 0xd2, 0x9e, 0x79, 0xa5, 0xb1, 0x41, 0x14, 0x37, 0x77, 0xac, 0x08, 0xe0, 0x77, 0xa8, 0xa8, + 0x8e, 0x3e, 0x07, 0x13, 0x5b, 0x6e, 0x10, 0x46, 0x1b, 0x6e, 0x8b, 0x84, 0x91, 0xd3, 0x6a, 0x3f, + 0x84, 0x70, 0x5d, 0x8d, 0xc3, 0xaa, 0x41, 0x09, 0x27, 0x28, 0xa3, 0x6d, 0x18, 0x6f, 0x3a, 0x7a, + 0x53, 0xc3, 0x47, 0x6e, 0x4a, 0x5d, 0x9e, 0x37, 0x75, 0x42, 0xd8, 0xa4, 0x4b, 0x4f, 0x9b, 0x3a, + 0x93, 0x0f, 0x8f, 0x30, 0xa9, 0x89, 0x3a, 0x6d, 0xb8, 0x60, 0x98, 0xc3, 0x28, 0x1f, 0xc8, 0xec, + 0x87, 0x4b, 0x26, 0x1f, 0xa8, 0x59, 0x09, 0x7f, 0x16, 0x4a, 0x84, 0x0e, 0x21, 0x25, 0x2c, 0xee, + 0xdf, 0x2b, 0xfd, 0xf5, 0x75, 0xcd, 0xad, 0x07, 0xbe, 0xa9, 0xd6, 0x58, 0x91, 0x94, 0x70, 0x4c, + 0x14, 0x2d, 0xc3, 0x50, 0x48, 0x02, 0x97, 0x84, 0xe2, 0x26, 0xee, 0x32, 0x8d, 0x0c, 0x8d, 0xbb, + 0xde, 0xf0, 0xdf, 0x58, 0x54, 0xa5, 0xcb, 0xcb, 0x61, 0x12, 0x5f, 0x76, 0x57, 0x6a, 0xcb, 0x6b, + 0x91, 0x95, 0x62, 0x01, 0x45, 0xaf, 0xc3, 0x70, 0x40, 0x9a, 0x4c, 0x6f, 0x36, 0xde, 0xff, 0x22, + 0xe7, 0x6a, 0x38, 0x5e, 0x0f, 0x4b, 0x02, 0xe8, 0x06, 0xa0, 0x80, 0x50, 0x3e, 0xd2, 0xf5, 0xb6, + 0x95, 0x55, 0xad, 0xb8, 0x87, 0xd4, 0xb9, 0x85, 0x63, 0x0c, 0xe9, 0x05, 0x85, 0x33, 0xaa, 0xa1, + 0x6b, 0x30, 0xad, 0x4a, 0x2b, 0x5e, 0x18, 0x39, 0xf4, 0xfc, 0x9f, 0x64, 0xb4, 0x94, 0x18, 0x07, + 0x27, 0x11, 0x70, 0xba, 0x8e, 0xfd, 0x65, 0x0b, 0xf8, 0x38, 0x9f, 0x80, 0xf0, 0xe2, 0x35, 0x53, + 0x78, 0x71, 0x36, 0x77, 0xe6, 0x72, 0x04, 0x17, 0x5f, 0xb6, 0x60, 0x54, 0x9b, 0xd9, 0x78, 0xcd, + 0x5a, 0x5d, 0xd6, 0x6c, 0x07, 0xa6, 0xe8, 0x4a, 0xbf, 0xb5, 0x19, 0x92, 0x60, 0x8f, 0x34, 0xd8, + 0xc2, 0x2c, 0x3c, 0xdc, 0xc2, 0x54, 0x16, 0x7c, 0x37, 0x13, 0x04, 0x71, 0xaa, 0x09, 0xfb, 0xb3, + 0xb2, 0xab, 0xca, 0xe0, 0xb1, 0xae, 0xe6, 0x3c, 0x61, 0xf0, 0xa8, 0x66, 0x15, 0xc7, 0x38, 0x74, + 0xab, 0xed, 0xf8, 0x61, 0x94, 0x34, 0x78, 0xbc, 0xee, 0x87, 0x11, 0x66, 0x10, 0xfb, 0x05, 0x80, + 0x95, 0xfb, 0xa4, 0xce, 0x57, 0xac, 0xfe, 0xb6, 0xb2, 0xf2, 0xdf, 0x56, 0xf6, 0xef, 0x58, 0x30, + 0xb1, 0xba, 0x6c, 0xdc, 0x73, 0x0b, 0x00, 0xfc, 0x41, 0x78, 0xf7, 0xee, 0xba, 0xb4, 0x16, 0xe0, + 0x0a, 0x5f, 0x55, 0x8a, 0x35, 0x0c, 0x74, 0x16, 0x8a, 0xcd, 0x8e, 0x27, 0xa4, 0xab, 0xc3, 0x94, + 0x7b, 0xb8, 0xd9, 0xf1, 0x30, 0x2d, 0xd3, 0x3c, 0x2e, 0x8a, 0x7d, 0x7b, 0x5c, 0xf4, 0x8c, 0x7c, + 0x80, 0xe6, 0x61, 0xf0, 0xde, 0x3d, 0xb7, 0xc1, 0xfd, 0x4b, 0x85, 0x25, 0xc3, 0xdd, 0xbb, 0x95, + 0x72, 0x88, 0x79, 0xb9, 0xfd, 0xa5, 0x22, 0xcc, 0xad, 0x36, 0xc9, 0xfd, 0x77, 0xe8, 0x63, 0xdb, + 0xaf, 0xbf, 0xc8, 0xd1, 0xe4, 0x54, 0x47, 0xf5, 0x09, 0xea, 0x3d, 0x1e, 0x5b, 0x30, 0xcc, 0xed, + 0xfd, 0xa4, 0xc7, 0xed, 0xab, 0x59, 0xad, 0xe7, 0x0f, 0xc8, 0x02, 0xb7, 0x1b, 0x14, 0x0e, 0x83, + 0xea, 0xc2, 0x14, 0xa5, 0x58, 0x12, 0x9f, 0x7b, 0x05, 0xc6, 0x74, 0xcc, 0x23, 0x79, 0xe7, 0xfd, + 0x3f, 0x45, 0x98, 0xa2, 0x3d, 0x78, 0xa4, 0x13, 0x71, 0x3b, 0x3d, 0x11, 0xc7, 0xed, 0xa1, 0xd5, + 0x7b, 0x36, 0xde, 0x4c, 0xce, 0xc6, 0xd5, 0xbc, 0xd9, 0x38, 0xe9, 0x39, 0xf8, 0x6e, 0x0b, 0x66, + 0x56, 0x9b, 0x7e, 0x7d, 0x37, 0xe1, 0x45, 0xf5, 0x12, 0x8c, 0xd2, 0xe3, 0x38, 0x34, 0x1c, 0xfc, + 0x8d, 0x90, 0x0f, 0x02, 0x84, 0x75, 0x3c, 0xad, 0xda, 0xed, 0xdb, 0x95, 0x72, 0x56, 0xa4, 0x08, + 0x01, 0xc2, 0x3a, 0x9e, 0xfd, 0x5b, 0x16, 0x9c, 0xbb, 0xb6, 0xbc, 0x12, 0x2f, 0xc5, 0x54, 0xb0, + 0x8a, 0x4b, 0x30, 0xd4, 0x6e, 0x68, 0x5d, 0x89, 0xa5, 0xcf, 0x65, 0xd6, 0x0b, 0x01, 0x7d, 0xb7, + 0x04, 0x62, 0xf9, 0x59, 0x0b, 0x66, 0xae, 0xb9, 0x11, 0xbd, 0x5d, 0x93, 0x61, 0x13, 0xe8, 0xf5, + 0x1a, 0xba, 0x91, 0x1f, 0xec, 0x27, 0xc3, 0x26, 0x60, 0x05, 0xc1, 0x1a, 0x16, 0x6f, 0x79, 0xcf, + 0x65, 0x96, 0xe6, 0x05, 0x53, 0x0f, 0x87, 0x45, 0x39, 0x56, 0x18, 0xf4, 0xc3, 0x1a, 0x6e, 0xc0, + 0x44, 0x98, 0xfb, 0xe2, 0x84, 0x55, 0x1f, 0x56, 0x96, 0x00, 0x1c, 0xe3, 0xd0, 0xd7, 0xdc, 0xfc, + 0xb5, 0x66, 0x27, 0x8c, 0x48, 0xb0, 0x15, 0xe6, 0x9c, 0x8e, 0x2f, 0x40, 0x89, 0x48, 0x85, 0x81, + 0xe8, 0xb5, 0xe2, 0x18, 0x95, 0x26, 0x81, 0x47, 0x6f, 0x50, 0x78, 0x7d, 0xf8, 0x64, 0x1e, 0xcd, + 0xa9, 0x6e, 0x15, 0x10, 0xd1, 0xdb, 0xd2, 0xc3, 0x59, 0x30, 0xbf, 0xf8, 0x95, 0x14, 0x14, 0x67, + 0xd4, 0xb0, 0x7f, 0xc2, 0x82, 0xd3, 0xea, 0x83, 0xdf, 0x75, 0x9f, 0x69, 0xff, 0x7c, 0x01, 0xc6, + 0xaf, 0x6f, 0x6c, 0x54, 0xaf, 0x91, 0x48, 0x5c, 0xdb, 0xbd, 0xcd, 0x00, 0xb0, 0xa6, 0xcd, 0xec, + 0xf6, 0x98, 0xeb, 0x44, 0x6e, 0x73, 0x81, 0x47, 0x45, 0x5a, 0xa8, 0x78, 0xd1, 0xad, 0xa0, 0x16, + 0x05, 0xae, 0xb7, 0x9d, 0xa9, 0xff, 0x94, 0xcc, 0x45, 0x31, 0x8f, 0xb9, 0x40, 0x2f, 0xc0, 0x10, + 0x0b, 0xcb, 0x24, 0x27, 0xe1, 0x71, 0xf5, 0x16, 0x62, 0xa5, 0x87, 0x07, 0xf3, 0xa5, 0xdb, 0xb8, + 0xc2, 0xff, 0x60, 0x81, 0x8a, 0x6e, 0xc3, 0xe8, 0x4e, 0x14, 0xb5, 0xaf, 0x13, 0xa7, 0x41, 0x9f, + 0xee, 0xfc, 0x38, 0x3c, 0x9f, 0x75, 0x1c, 0xd2, 0x41, 0xe0, 0x68, 0xf1, 0x09, 0x12, 0x97, 0x85, + 0x58, 0xa7, 0x63, 0xd7, 0x00, 0x62, 0xd8, 0x31, 0x29, 0x72, 0xec, 0x3f, 0xb2, 0x60, 0x98, 0x47, + 0xc8, 0x08, 0xd0, 0x47, 0x61, 0x80, 0xdc, 0x27, 0x75, 0xc1, 0xf1, 0x66, 0x76, 0x38, 0xe6, 0xb4, + 0xb8, 0x40, 0x9a, 0xfe, 0xc7, 0xac, 0x16, 0xba, 0x0e, 0xc3, 0xb4, 0xb7, 0xd7, 0x54, 0xb8, 0x90, + 0x27, 0xf3, 0xbe, 0x58, 0x4d, 0x3b, 0x67, 0xce, 0x44, 0x11, 0x96, 0xd5, 0x99, 0xf6, 0xbc, 0xde, + 0xae, 0xd1, 0x13, 0x3b, 0xea, 0xc6, 0x58, 0x6c, 0x2c, 0x57, 0x39, 0x92, 0xa0, 0xc6, 0xb5, 0xe7, + 0xb2, 0x10, 0xc7, 0x44, 0xec, 0x0d, 0x28, 0xd1, 0x49, 0x5d, 0x6c, 0xba, 0x4e, 0x77, 0x83, 0x80, + 0x67, 0xa0, 0x24, 0xd5, 0xfd, 0xa1, 0xf0, 0x8c, 0x67, 0x54, 0xa5, 0x35, 0x40, 0x88, 0x63, 0xb8, + 0xbd, 0x05, 0xa7, 0x98, 0xf1, 0xa6, 0x13, 0xed, 0x18, 0x7b, 0xac, 0xf7, 0x62, 0x7e, 0x56, 0x3c, + 0x20, 0xf9, 0xcc, 0xcc, 0x6a, 0xce, 0xa7, 0x63, 0x92, 0x62, 0xfc, 0x98, 0xb4, 0xbf, 0x3e, 0x00, + 0x8f, 0x57, 0x6a, 0xf9, 0xc1, 0x53, 0x5e, 0x86, 0x31, 0xce, 0x97, 0xd2, 0xa5, 0xed, 0x34, 0x45, + 0xbb, 0x4a, 0x12, 0xbd, 0xa1, 0xc1, 0xb0, 0x81, 0x89, 0xce, 0x41, 0xd1, 0x7d, 0xcb, 0x4b, 0xba, + 0x66, 0x55, 0xde, 0x58, 0xc7, 0xb4, 0x9c, 0x82, 0x29, 0x8b, 0xcb, 0xef, 0x0e, 0x05, 0x56, 0x6c, + 0xee, 0x6b, 0x30, 0xe1, 0x86, 0xf5, 0xd0, 0xad, 0x78, 0xf4, 0x9c, 0xd1, 0x4e, 0x2a, 0x25, 0xdc, + 0xa0, 0x9d, 0x56, 0x50, 0x9c, 0xc0, 0xd6, 0x2e, 0xb2, 0xc1, 0xbe, 0xd9, 0xe4, 0x9e, 0xae, 0xe2, + 0xf4, 0x05, 0xd0, 0x66, 0x5f, 0x17, 0x32, 0x95, 0x82, 0x78, 0x01, 0xf0, 0x0f, 0x0e, 0xb1, 0x84, + 0xd1, 0x97, 0x63, 0x7d, 0xc7, 0x69, 0x2f, 0x76, 0xa2, 0x9d, 0xb2, 0x1b, 0xd6, 0xfd, 0x3d, 0x12, + 0xec, 0xb3, 0x47, 0xff, 0x48, 0xfc, 0x72, 0x54, 0x80, 0xe5, 0xeb, 0x8b, 0x55, 0x8a, 0x89, 0xd3, + 0x75, 0xd0, 0x22, 0x4c, 0xca, 0xc2, 0x1a, 0x09, 0xd9, 0x15, 0x36, 0xca, 0xc8, 0x28, 0x67, 0x29, + 0x51, 0xac, 0x88, 0x24, 0xf1, 0x4d, 0x4e, 0x1a, 0x8e, 0x83, 0x93, 0xfe, 0x08, 0x8c, 0xbb, 0x9e, + 0x1b, 0xb9, 0x4e, 0xe4, 0x73, 0x7d, 0x18, 0x7f, 0xdf, 0x33, 0x41, 0x7f, 0x45, 0x07, 0x60, 0x13, + 0xcf, 0xfe, 0x2f, 0x03, 0x30, 0xcd, 0xa6, 0xed, 0xbd, 0x15, 0xf6, 0xad, 0xb4, 0xc2, 0x6e, 0xa7, + 0x57, 0xd8, 0x71, 0x3c, 0x11, 0x1e, 0x7a, 0x99, 0x7d, 0x0e, 0x4a, 0xca, 0x3f, 0x4c, 0x3a, 0x88, + 0x5a, 0x39, 0x0e, 0xa2, 0xbd, 0xb9, 0x0f, 0x69, 0x62, 0x57, 0xcc, 0x34, 0xb1, 0xfb, 0x1b, 0x16, + 0xc4, 0x0a, 0x1e, 0x74, 0x1d, 0x4a, 0x6d, 0x9f, 0x59, 0x8e, 0x06, 0xd2, 0x1c, 0xfb, 0xf1, 0xcc, + 0x8b, 0x8a, 0x5f, 0x8a, 0xfc, 0xe3, 0xab, 0xb2, 0x06, 0x8e, 0x2b, 0xa3, 0x25, 0x18, 0x6e, 0x07, + 0xa4, 0x16, 0xb1, 0x18, 0x2a, 0x3d, 0xe9, 0xf0, 0x35, 0xc2, 0xf1, 0xb1, 0xac, 0x68, 0xff, 0x82, + 0x05, 0xc0, 0xad, 0xd8, 0x1c, 0x6f, 0x9b, 0x9c, 0x80, 0xd4, 0xba, 0x0c, 0x03, 0x61, 0x9b, 0xd4, + 0xbb, 0xd9, 0xf4, 0xc6, 0xfd, 0xa9, 0xb5, 0x49, 0x3d, 0x1e, 0x70, 0xfa, 0x0f, 0xb3, 0xda, 0xf6, + 0xf7, 0x02, 0x4c, 0xc4, 0x68, 0x95, 0x88, 0xb4, 0xd0, 0x73, 0x46, 0x4c, 0x85, 0xb3, 0x89, 0x98, + 0x0a, 0x25, 0x86, 0xad, 0x09, 0x48, 0x3f, 0x07, 0xc5, 0x96, 0x73, 0x5f, 0x48, 0xc0, 0x9e, 0xe9, + 0xde, 0x0d, 0x4a, 0x7f, 0x61, 0xcd, 0xb9, 0xcf, 0x1f, 0x89, 0xcf, 0xc8, 0x05, 0xb2, 0xe6, 0xdc, + 0x3f, 0xe4, 0x96, 0xbb, 0xec, 0x90, 0xba, 0xe9, 0x86, 0xd1, 0x17, 0xfe, 0x73, 0xfc, 0x9f, 0x2d, + 0x3b, 0xda, 0x08, 0x6b, 0xcb, 0xf5, 0x84, 0x81, 0x56, 0x5f, 0x6d, 0xb9, 0x5e, 0xb2, 0x2d, 0xd7, + 0xeb, 0xa3, 0x2d, 0xd7, 0x43, 0x6f, 0xc3, 0xb0, 0xb0, 0x9f, 0x14, 0x31, 0x8c, 0xae, 0xf4, 0xd1, + 0x9e, 0x30, 0xbf, 0xe4, 0x6d, 0x5e, 0x91, 0x8f, 0x60, 0x51, 0xda, 0xb3, 0x5d, 0xd9, 0x20, 0xfa, + 0xff, 0x2d, 0x98, 0x10, 0xbf, 0x31, 0x79, 0xab, 0x43, 0xc2, 0x48, 0xf0, 0x9e, 0x1f, 0xee, 0xbf, + 0x0f, 0xa2, 0x22, 0xef, 0xca, 0x87, 0xe5, 0x31, 0x6b, 0x02, 0x7b, 0xf6, 0x28, 0xd1, 0x0b, 0xf4, + 0xf7, 0x2d, 0x38, 0xd5, 0x72, 0xee, 0xf3, 0x16, 0x79, 0x19, 0x76, 0x22, 0xd7, 0x17, 0x76, 0x08, + 0x1f, 0xed, 0x6f, 0xfa, 0x53, 0xd5, 0x79, 0x27, 0xa5, 0xb2, 0xf4, 0x54, 0x16, 0x4a, 0xcf, 0xae, + 0x66, 0xf6, 0x6b, 0x6e, 0x0b, 0x46, 0xe4, 0x7a, 0xcb, 0x10, 0x35, 0x94, 0x75, 0xc6, 0xfa, 0xc8, + 0xe6, 0xab, 0x7a, 0xac, 0x02, 0xda, 0x8e, 0x58, 0x6b, 0x8f, 0xb4, 0x9d, 0xcf, 0xc1, 0x98, 0xbe, + 0xc6, 0x1e, 0x69, 0x5b, 0x6f, 0xc1, 0x4c, 0xc6, 0x5a, 0x7a, 0xa4, 0x4d, 0xde, 0x83, 0xb3, 0xb9, + 0xeb, 0xe3, 0x51, 0x36, 0x6c, 0xff, 0xbc, 0xa5, 0x9f, 0x83, 0x27, 0xa0, 0x3a, 0x58, 0x36, 0x55, + 0x07, 0xe7, 0xbb, 0xef, 0x9c, 0x1c, 0xfd, 0xc1, 0x9b, 0x7a, 0xa7, 0xe9, 0xa9, 0x8e, 0x5e, 0x87, + 0xa1, 0x26, 0x2d, 0x91, 0x56, 0xb8, 0x76, 0xef, 0x1d, 0x19, 0xf3, 0x52, 0xac, 0x3c, 0xc4, 0x82, + 0x82, 0xfd, 0xcb, 0x16, 0x0c, 0x9c, 0xc0, 0x48, 0x60, 0x73, 0x24, 0x9e, 0xcb, 0x25, 0x2d, 0xc2, + 0x2b, 0x2f, 0x60, 0xe7, 0xde, 0xca, 0xfd, 0x88, 0x78, 0x21, 0x7b, 0x2a, 0x66, 0x0e, 0xcc, 0x4f, + 0x5b, 0x30, 0x73, 0xd3, 0x77, 0x1a, 0x4b, 0x4e, 0xd3, 0xf1, 0xea, 0x24, 0xa8, 0x78, 0xdb, 0x47, + 0x32, 0x21, 0x2f, 0xf4, 0x34, 0x21, 0x5f, 0x96, 0x16, 0x58, 0x03, 0xf9, 0xf3, 0x47, 0x19, 0xc9, + 0x64, 0x94, 0x19, 0xc3, 0x56, 0x78, 0x07, 0x90, 0xde, 0x4b, 0xe1, 0xd0, 0x83, 0x61, 0xd8, 0xe5, + 0xfd, 0x15, 0x93, 0xf8, 0x54, 0x36, 0x83, 0x97, 0xfa, 0x3c, 0xcd, 0x55, 0x85, 0x17, 0x60, 0x49, + 0xc8, 0x7e, 0x19, 0x32, 0xa3, 0x02, 0xf4, 0x16, 0x3e, 0xd8, 0x9f, 0x84, 0x69, 0x56, 0xf3, 0x88, + 0x0f, 0x63, 0x3b, 0x21, 0xdb, 0xcc, 0x88, 0x17, 0x68, 0x7f, 0xd1, 0x82, 0xc9, 0xf5, 0x44, 0x18, + 0xb5, 0x4b, 0x4c, 0x1b, 0x9a, 0x21, 0x52, 0xaf, 0xb1, 0x52, 0x2c, 0xa0, 0xc7, 0x2e, 0xc9, 0xfa, + 0x2b, 0x0b, 0xe2, 0x40, 0x1d, 0x27, 0xc0, 0xbe, 0x2d, 0x1b, 0xec, 0x5b, 0xa6, 0x84, 0x45, 0x75, + 0x27, 0x8f, 0x7b, 0x43, 0x37, 0x54, 0x08, 0xab, 0x2e, 0xc2, 0x95, 0x98, 0x0c, 0x5f, 0x8a, 0x13, + 0x66, 0x9c, 0x2b, 0x19, 0xd4, 0xca, 0xfe, 0xdd, 0x02, 0x20, 0x85, 0xdb, 0x77, 0x88, 0xad, 0x74, + 0x8d, 0xe3, 0x09, 0xb1, 0xb5, 0x07, 0x88, 0xe9, 0xf3, 0x03, 0xc7, 0x0b, 0x39, 0x59, 0x57, 0xc8, + 0xee, 0x8e, 0x66, 0x2c, 0x30, 0x27, 0x9a, 0x44, 0x37, 0x53, 0xd4, 0x70, 0x46, 0x0b, 0x9a, 0x9d, + 0xc6, 0x60, 0xbf, 0x76, 0x1a, 0x43, 0x3d, 0x9c, 0xf6, 0x7e, 0xce, 0x82, 0x71, 0x35, 0x4c, 0xef, + 0x12, 0x93, 0x7a, 0xd5, 0x9f, 0x9c, 0x03, 0xb4, 0xaa, 0x75, 0x99, 0x5d, 0x2c, 0xdf, 0xce, 0x9c, + 0x2f, 0x9d, 0xa6, 0xfb, 0x36, 0x51, 0x01, 0x0e, 0xe7, 0x85, 0x33, 0xa5, 0x28, 0x3d, 0x3c, 0x98, + 0x1f, 0x57, 0xff, 0x78, 0x40, 0xe5, 0xb8, 0x0a, 0x3d, 0x92, 0x27, 0x13, 0x4b, 0x11, 0xbd, 0x04, + 0x83, 0xed, 0x1d, 0x27, 0x24, 0x09, 0xd7, 0xa3, 0xc1, 0x2a, 0x2d, 0x3c, 0x3c, 0x98, 0x9f, 0x50, + 0x15, 0x58, 0x09, 0xe6, 0xd8, 0xfd, 0x07, 0x2e, 0x4b, 0x2f, 0xce, 0x9e, 0x81, 0xcb, 0xfe, 0xcc, + 0x82, 0x81, 0x75, 0xbf, 0x71, 0x12, 0x47, 0xc0, 0x6b, 0xc6, 0x11, 0xf0, 0x44, 0x5e, 0xac, 0xfb, + 0xdc, 0xdd, 0xbf, 0x9a, 0xd8, 0xfd, 0xe7, 0x73, 0x29, 0x74, 0xdf, 0xf8, 0x2d, 0x18, 0x65, 0x11, + 0xf4, 0x85, 0x9b, 0xd5, 0x0b, 0xc6, 0x86, 0x9f, 0x4f, 0x6c, 0xf8, 0x49, 0x0d, 0x55, 0xdb, 0xe9, + 0x4f, 0xc3, 0xb0, 0xf0, 0xdb, 0x49, 0xfa, 0xb0, 0x0a, 0x5c, 0x2c, 0xe1, 0xf6, 0x4f, 0x16, 0xc1, + 0x88, 0xd8, 0x8f, 0x7e, 0xd5, 0x82, 0x85, 0x80, 0xdb, 0xf3, 0x36, 0xca, 0x9d, 0xc0, 0xf5, 0xb6, + 0x6b, 0xf5, 0x1d, 0xd2, 0xe8, 0x34, 0x5d, 0x6f, 0xbb, 0xb2, 0xed, 0xf9, 0xaa, 0x78, 0xe5, 0x3e, + 0xa9, 0x77, 0x98, 0x12, 0xac, 0x47, 0x7a, 0x00, 0x65, 0x17, 0xff, 0xfc, 0x83, 0x83, 0xf9, 0x05, + 0x7c, 0x24, 0xda, 0xf8, 0x88, 0x7d, 0x41, 0xbf, 0x65, 0xc1, 0x15, 0x1e, 0xc8, 0xbe, 0xff, 0xfe, + 0x77, 0x79, 0x2d, 0x57, 0x25, 0xa9, 0x98, 0xc8, 0x06, 0x09, 0x5a, 0x4b, 0x1f, 0x11, 0x03, 0x7a, + 0xa5, 0x7a, 0xb4, 0xb6, 0xf0, 0x51, 0x3b, 0x67, 0xff, 0xb3, 0x22, 0x8c, 0x8b, 0x00, 0x57, 0xe2, + 0x0e, 0x78, 0xc9, 0x58, 0x12, 0x4f, 0x26, 0x96, 0xc4, 0xb4, 0x81, 0x7c, 0x3c, 0xc7, 0x7f, 0x08, + 0xd3, 0xf4, 0x70, 0xbe, 0x4e, 0x9c, 0x20, 0xda, 0x24, 0x0e, 0x37, 0xbf, 0x2a, 0x1e, 0xf9, 0xf4, + 0x57, 0xe2, 0xb9, 0x9b, 0x49, 0x62, 0x38, 0x4d, 0xff, 0x5b, 0xe9, 0xce, 0xf1, 0x60, 0x2a, 0x15, + 0xa3, 0xec, 0x53, 0x50, 0x52, 0x4e, 0x27, 0xe2, 0xd0, 0xe9, 0x1e, 0xea, 0x2f, 0x49, 0x81, 0x8b, + 0xd0, 0x62, 0x87, 0xa7, 0x98, 0x9c, 0xfd, 0x0f, 0x0a, 0x46, 0x83, 0x7c, 0x12, 0xd7, 0x61, 0xc4, + 0x09, 0x43, 0x77, 0xdb, 0x23, 0x0d, 0xb1, 0x63, 0xdf, 0x9f, 0xb7, 0x63, 0x8d, 0x66, 0x98, 0xe3, + 0xcf, 0xa2, 0xa8, 0x89, 0x15, 0x0d, 0x74, 0x9d, 0x1b, 0xb9, 0xed, 0xc9, 0xf7, 0x5e, 0x7f, 0xd4, + 0x40, 0x9a, 0xc1, 0xed, 0x11, 0x2c, 0xea, 0xa3, 0x4f, 0x73, 0x2b, 0xc4, 0x1b, 0x9e, 0x7f, 0xcf, + 0xbb, 0xe6, 0xfb, 0x32, 0x88, 0x44, 0x7f, 0x04, 0xa7, 0xa5, 0xed, 0xa1, 0xaa, 0x8e, 0x4d, 0x6a, + 0xfd, 0x05, 0xfd, 0xfc, 0x3c, 0xcc, 0x50, 0xd2, 0xa6, 0x8f, 0x77, 0x88, 0x08, 0x4c, 0x8a, 0xe8, + 0x69, 0xb2, 0x4c, 0x8c, 0x5d, 0xe6, 0x53, 0xce, 0xac, 0x1d, 0xcb, 0x91, 0x6f, 0x98, 0x24, 0x70, + 0x92, 0xa6, 0xfd, 0x33, 0x16, 0x30, 0x7f, 0xd7, 0x13, 0xe0, 0x47, 0x3e, 0x66, 0xf2, 0x23, 0xb3, + 0x79, 0x83, 0x9c, 0xc3, 0x8a, 0xbc, 0xc8, 0x57, 0x56, 0x35, 0xf0, 0xef, 0xef, 0x0b, 0xd3, 0x91, + 0xde, 0xef, 0x0f, 0xfb, 0x7f, 0x59, 0xfc, 0x10, 0x53, 0x2e, 0x21, 0xe8, 0x3b, 0x61, 0xa4, 0xee, + 0xb4, 0x9d, 0x3a, 0x4f, 0x2f, 0x93, 0x2b, 0xd1, 0x33, 0x2a, 0x2d, 0x2c, 0x8b, 0x1a, 0x5c, 0x42, + 0x25, 0xa3, 0xf0, 0x8d, 0xc8, 0xe2, 0x9e, 0x52, 0x29, 0xd5, 0xe4, 0xdc, 0x2e, 0x8c, 0x1b, 0xc4, + 0x1e, 0xa9, 0x38, 0xe3, 0x3b, 0xf9, 0x15, 0xab, 0xa2, 0x46, 0xb6, 0x60, 0xda, 0xd3, 0xfe, 0xd3, + 0x0b, 0x45, 0x3e, 0x2e, 0xdf, 0xdf, 0xeb, 0x12, 0x65, 0xb7, 0x8f, 0xe6, 0x4a, 0x9b, 0x20, 0x83, + 0xd3, 0x94, 0xed, 0x9f, 0xb2, 0xe0, 0x31, 0x1d, 0x51, 0xf3, 0xd6, 0xe9, 0xa5, 0x23, 0x28, 0xc3, + 0x88, 0xdf, 0x26, 0x81, 0x13, 0xf9, 0x81, 0xb8, 0x35, 0x2e, 0xcb, 0x41, 0xbf, 0x25, 0xca, 0x0f, + 0x45, 0x70, 0x76, 0x49, 0x5d, 0x96, 0x63, 0x55, 0x93, 0xbe, 0x3e, 0xd9, 0x60, 0x84, 0xc2, 0x2f, + 0x8b, 0x9d, 0x01, 0x4c, 0x5d, 0x1e, 0x62, 0x01, 0xb1, 0xbf, 0x6e, 0xf1, 0x85, 0xa5, 0x77, 0x1d, + 0xbd, 0x05, 0x53, 0x2d, 0x27, 0xaa, 0xef, 0xac, 0xdc, 0x6f, 0x07, 0x5c, 0xe3, 0x22, 0xc7, 0xe9, + 0x99, 0x5e, 0xe3, 0xa4, 0x7d, 0x64, 0x6c, 0x58, 0xb9, 0x96, 0x20, 0x86, 0x53, 0xe4, 0xd1, 0x26, + 0x8c, 0xb2, 0x32, 0xe6, 0x72, 0x18, 0x76, 0x63, 0x0d, 0xf2, 0x5a, 0x53, 0x16, 0x07, 0x6b, 0x31, + 0x1d, 0xac, 0x13, 0xb5, 0xbf, 0x52, 0xe4, 0xbb, 0x9d, 0xb1, 0xf2, 0x4f, 0xc3, 0x70, 0xdb, 0x6f, + 0x2c, 0x57, 0xca, 0x58, 0xcc, 0x82, 0xba, 0x46, 0xaa, 0xbc, 0x18, 0x4b, 0x38, 0xba, 0x0c, 0x23, + 0xe2, 0xa7, 0xd4, 0x90, 0xb1, 0xb3, 0x59, 0xe0, 0x85, 0x58, 0x41, 0xd1, 0xf3, 0x00, 0xed, 0xc0, + 0xdf, 0x73, 0x1b, 0x2c, 0x14, 0x46, 0xd1, 0x34, 0x16, 0xaa, 0x2a, 0x08, 0xd6, 0xb0, 0xd0, 0xab, + 0x30, 0xde, 0xf1, 0x42, 0xce, 0x8e, 0x68, 0x81, 0x6f, 0x95, 0x19, 0xcb, 0x6d, 0x1d, 0x88, 0x4d, + 0x5c, 0xb4, 0x08, 0x43, 0x91, 0xc3, 0x8c, 0x5f, 0x06, 0xf3, 0x8d, 0x6f, 0x37, 0x28, 0x86, 0x9e, + 0xc9, 0x84, 0x56, 0xc0, 0xa2, 0x22, 0xfa, 0x94, 0xf4, 0xfe, 0xe5, 0x07, 0xbb, 0xb0, 0x7a, 0xef, + 0xef, 0x12, 0xd0, 0x7c, 0x7f, 0x85, 0x35, 0xbd, 0x41, 0x0b, 0xbd, 0x02, 0x40, 0xee, 0x47, 0x24, + 0xf0, 0x9c, 0xa6, 0xb2, 0x2d, 0x53, 0x7c, 0x41, 0xd9, 0x5f, 0xf7, 0xa3, 0xdb, 0x21, 0x59, 0x51, + 0x18, 0x58, 0xc3, 0xb6, 0x7f, 0xab, 0x04, 0x10, 0xf3, 0xed, 0xe8, 0xed, 0xd4, 0xc1, 0xf5, 0x6c, + 0x77, 0x4e, 0xff, 0xf8, 0x4e, 0x2d, 0xf4, 0x7d, 0x16, 0x8c, 0x3a, 0xcd, 0xa6, 0x5f, 0x77, 0x78, + 0x68, 0xe2, 0x42, 0xf7, 0x83, 0x53, 0xb4, 0xbf, 0x18, 0xd7, 0xe0, 0x5d, 0x78, 0x41, 0xae, 0x50, + 0x0d, 0xd2, 0xb3, 0x17, 0x7a, 0xc3, 0xe8, 0x43, 0xf2, 0xa9, 0x58, 0x34, 0x86, 0x52, 0x3d, 0x15, + 0x4b, 0xec, 0x8e, 0xd0, 0x5f, 0x89, 0xb7, 0x8d, 0x57, 0xe2, 0x40, 0xbe, 0x7b, 0xa3, 0xc1, 0xbe, + 0xf6, 0x7a, 0x20, 0xa2, 0xaa, 0x1e, 0xea, 0x60, 0x30, 0xdf, 0x97, 0x50, 0x7b, 0x27, 0xf5, 0x08, + 0x73, 0xf0, 0x39, 0x98, 0x6c, 0x98, 0x4c, 0x80, 0x58, 0x89, 0x4f, 0xe5, 0xd1, 0x4d, 0xf0, 0x0c, + 0xf1, 0xb5, 0x9f, 0x00, 0xe0, 0x24, 0x61, 0x54, 0xe5, 0x91, 0x2f, 0x2a, 0xde, 0x96, 0x2f, 0x3c, + 0x2f, 0xec, 0xdc, 0xb9, 0xdc, 0x0f, 0x23, 0xd2, 0xa2, 0x98, 0xf1, 0xed, 0xbe, 0x2e, 0xea, 0x62, + 0x45, 0x05, 0xbd, 0x0e, 0x43, 0xcc, 0x99, 0x2c, 0x9c, 0x1d, 0xc9, 0x97, 0x38, 0x9b, 0xa1, 0xdc, + 0xe2, 0x0d, 0xc9, 0xfe, 0x86, 0x58, 0x50, 0x40, 0xd7, 0xa5, 0xab, 0x66, 0x58, 0xf1, 0x6e, 0x87, + 0x84, 0xb9, 0x6a, 0x96, 0x96, 0xde, 0x1f, 0x7b, 0x61, 0xf2, 0xf2, 0xcc, 0x7c, 0x67, 0x46, 0x4d, + 0xca, 0x45, 0x89, 0xff, 0x32, 0x8d, 0xda, 0x2c, 0xe4, 0x77, 0xcf, 0x4c, 0xb5, 0x16, 0x0f, 0xe7, + 0x1d, 0x93, 0x04, 0x4e, 0xd2, 0xa4, 0x1c, 0x29, 0xdf, 0xf5, 0xc2, 0x77, 0xa3, 0xd7, 0xd9, 0xc1, + 0x1f, 0xe2, 0xec, 0x36, 0xe2, 0x25, 0x58, 0xd4, 0x3f, 0x51, 0xf6, 0x60, 0xce, 0x83, 0xa9, 0xe4, + 0x16, 0x7d, 0xa4, 0xec, 0xc8, 0x1f, 0x0d, 0xc0, 0x84, 0xb9, 0xa4, 0xd0, 0x15, 0x28, 0x09, 0x22, + 0x2a, 0xf5, 0x81, 0xda, 0x25, 0x6b, 0x12, 0x80, 0x63, 0x1c, 0x96, 0xf1, 0x82, 0x55, 0xd7, 0x8c, + 0x75, 0xe3, 0x8c, 0x17, 0x0a, 0x82, 0x35, 0x2c, 0xfa, 0xb0, 0xda, 0xf4, 0xfd, 0x48, 0x5d, 0x48, + 0x6a, 0xdd, 0x2d, 0xb1, 0x52, 0x2c, 0xa0, 0xf4, 0x22, 0xda, 0x25, 0x81, 0x47, 0x9a, 0x66, 0x90, + 0x64, 0x75, 0x11, 0xdd, 0xd0, 0x81, 0xd8, 0xc4, 0xa5, 0xd7, 0xa9, 0x1f, 0xb2, 0x85, 0x2c, 0x9e, + 0x6f, 0xb1, 0xf1, 0x73, 0x8d, 0x7b, 0x8b, 0x4b, 0x38, 0xfa, 0x24, 0x3c, 0xa6, 0x02, 0x41, 0x61, + 0xae, 0xcd, 0x90, 0x2d, 0x0e, 0x19, 0xd2, 0x96, 0xc7, 0x96, 0xb3, 0xd1, 0x70, 0x5e, 0x7d, 0xf4, + 0x1a, 0x4c, 0x08, 0x16, 0x5f, 0x52, 0x1c, 0x36, 0x0d, 0x6c, 0x6e, 0x18, 0x50, 0x9c, 0xc0, 0x96, + 0x61, 0x9e, 0x19, 0x97, 0x2d, 0x29, 0x8c, 0xa4, 0xc3, 0x3c, 0xeb, 0x70, 0x9c, 0xaa, 0x81, 0x16, + 0x61, 0x92, 0xf3, 0x60, 0xae, 0xb7, 0xcd, 0xe7, 0x44, 0xb8, 0x56, 0xa9, 0x2d, 0x75, 0xcb, 0x04, + 0xe3, 0x24, 0x3e, 0x7a, 0x19, 0xc6, 0x9c, 0xa0, 0xbe, 0xe3, 0x46, 0xa4, 0x1e, 0x75, 0x02, 0xee, + 0x73, 0xa5, 0x59, 0x28, 0x2d, 0x6a, 0x30, 0x6c, 0x60, 0xda, 0x6f, 0xc3, 0x4c, 0x46, 0x18, 0x09, + 0xba, 0x70, 0x9c, 0xb6, 0x2b, 0xbf, 0x29, 0x61, 0xc6, 0xbc, 0x58, 0xad, 0xc8, 0xaf, 0xd1, 0xb0, + 0xe8, 0xea, 0x64, 0xe1, 0x26, 0xb4, 0xac, 0x89, 0x6a, 0x75, 0xae, 0x4a, 0x00, 0x8e, 0x71, 0xec, + 0xff, 0x5e, 0x80, 0xc9, 0x0c, 0xdd, 0x0a, 0xcb, 0xdc, 0x97, 0x78, 0xa4, 0xc4, 0x89, 0xfa, 0xcc, + 0xa8, 0xe1, 0x85, 0x23, 0x44, 0x0d, 0x2f, 0xf6, 0x8a, 0x1a, 0x3e, 0xf0, 0x4e, 0xa2, 0x86, 0x9b, + 0x23, 0x36, 0xd8, 0xd7, 0x88, 0x65, 0x44, 0x1a, 0x1f, 0x3a, 0x62, 0xa4, 0x71, 0x63, 0xd0, 0x87, + 0xfb, 0x18, 0xf4, 0x1f, 0x2d, 0xc0, 0x54, 0xd2, 0x92, 0xf2, 0x04, 0xe4, 0xb6, 0xaf, 0x1b, 0x72, + 0xdb, 0xcb, 0xfd, 0x38, 0xce, 0xe6, 0xca, 0x70, 0x71, 0x42, 0x86, 0xfb, 0xc1, 0xbe, 0xa8, 0x75, + 0x97, 0xe7, 0xfe, 0xad, 0x02, 0x9c, 0xce, 0xf4, 0xdc, 0x3d, 0x81, 0xb1, 0xb9, 0x65, 0x8c, 0xcd, + 0x73, 0x7d, 0x3b, 0x15, 0xe7, 0x0e, 0xd0, 0xdd, 0xc4, 0x00, 0x5d, 0xe9, 0x9f, 0x64, 0xf7, 0x51, + 0xfa, 0x5a, 0x11, 0xce, 0x67, 0xd6, 0x8b, 0xc5, 0x9e, 0xab, 0x86, 0xd8, 0xf3, 0xf9, 0x84, 0xd8, + 0xd3, 0xee, 0x5e, 0xfb, 0x78, 0xe4, 0xa0, 0xc2, 0x5d, 0x96, 0xc5, 0x44, 0x78, 0x48, 0x19, 0xa8, + 0xe1, 0x2e, 0xab, 0x08, 0x61, 0x93, 0xee, 0xb7, 0x92, 0xec, 0xf3, 0xdf, 0x58, 0x70, 0x36, 0x73, + 0x6e, 0x4e, 0x40, 0xd6, 0xb5, 0x6e, 0xca, 0xba, 0x9e, 0xee, 0x7b, 0xb5, 0xe6, 0x08, 0xbf, 0x7e, + 0x63, 0x20, 0xe7, 0x5b, 0xd8, 0x4b, 0xfe, 0x16, 0x8c, 0x3a, 0xf5, 0x3a, 0x09, 0xc3, 0x35, 0xbf, + 0xa1, 0x02, 0x23, 0x3f, 0xc7, 0xde, 0x59, 0x71, 0xf1, 0xe1, 0xc1, 0xfc, 0x5c, 0x92, 0x44, 0x0c, + 0xc6, 0x3a, 0x05, 0xf4, 0x69, 0x18, 0x09, 0xc5, 0xbd, 0x29, 0xe6, 0xfe, 0x85, 0x3e, 0x07, 0xc7, + 0xd9, 0x24, 0x4d, 0x33, 0x72, 0x93, 0x92, 0x54, 0x28, 0x92, 0x66, 0x94, 0x97, 0xc2, 0xb1, 0x46, + 0x79, 0x79, 0x1e, 0x60, 0x4f, 0x3d, 0x06, 0x92, 0xf2, 0x07, 0xed, 0x99, 0xa0, 0x61, 0xa1, 0x8f, + 0xc3, 0x54, 0xc8, 0x43, 0x1b, 0x2e, 0x37, 0x9d, 0x90, 0x39, 0xcb, 0x88, 0x55, 0xc8, 0xa2, 0x43, + 0xd5, 0x12, 0x30, 0x9c, 0xc2, 0x46, 0xab, 0xb2, 0x55, 0x16, 0x87, 0x91, 0x2f, 0xcc, 0x4b, 0x71, + 0x8b, 0x22, 0x6f, 0xf0, 0xa9, 0xe4, 0xf0, 0xb3, 0x81, 0xd7, 0x6a, 0xa2, 0x4f, 0x03, 0xd0, 0xe5, + 0x23, 0xe4, 0x10, 0xc3, 0xf9, 0x87, 0x27, 0x3d, 0x55, 0x1a, 0x99, 0xb6, 0xbd, 0xcc, 0xc3, 0xb5, + 0xac, 0x88, 0x60, 0x8d, 0xa0, 0xfd, 0xa3, 0x03, 0xf0, 0x78, 0x97, 0x33, 0x12, 0x2d, 0x9a, 0x7a, + 0xd8, 0x67, 0x92, 0x8f, 0xeb, 0xb9, 0xcc, 0xca, 0xc6, 0x6b, 0x3b, 0xb1, 0x14, 0x0b, 0xef, 0x78, + 0x29, 0xfe, 0x90, 0xa5, 0x89, 0x3d, 0xb8, 0xc5, 0xe7, 0xc7, 0x8e, 0x78, 0xf6, 0x1f, 0xa3, 0x1c, + 0x64, 0x2b, 0x43, 0x98, 0xf0, 0x7c, 0xdf, 0xdd, 0xe9, 0x5b, 0xba, 0x70, 0xb2, 0x52, 0xe2, 0xdf, + 0xb1, 0xe0, 0x5c, 0xd7, 0x10, 0x1f, 0xdf, 0x84, 0x0c, 0x83, 0xfd, 0x05, 0x0b, 0x9e, 0xcc, 0xac, + 0x61, 0x98, 0x19, 0x5d, 0x81, 0x52, 0x9d, 0x16, 0x6a, 0x5e, 0x9a, 0xb1, 0xfb, 0xba, 0x04, 0xe0, + 0x18, 0xe7, 0x88, 0xe1, 0x4b, 0x7e, 0xcd, 0x82, 0xd4, 0xa6, 0x3f, 0x81, 0xdb, 0xa7, 0x62, 0xde, + 0x3e, 0xef, 0xef, 0x67, 0x34, 0x73, 0x2e, 0x9e, 0x3f, 0x9d, 0x84, 0x33, 0x39, 0x5e, 0x4a, 0x7b, + 0x30, 0xbd, 0x5d, 0x27, 0xa6, 0xff, 0x6b, 0xb7, 0x28, 0x32, 0x5d, 0x9d, 0x65, 0x59, 0x66, 0xd3, + 0xe9, 0x14, 0x0a, 0x4e, 0x37, 0x81, 0xbe, 0x60, 0xc1, 0x29, 0xe7, 0x5e, 0xb8, 0x42, 0xb9, 0x08, + 0xb7, 0xbe, 0xd4, 0xf4, 0xeb, 0xbb, 0xf4, 0x88, 0x96, 0x1b, 0xe1, 0xc5, 0x4c, 0xc9, 0xce, 0xdd, + 0x5a, 0x0a, 0xdf, 0x68, 0x9e, 0xa5, 0x7a, 0xcd, 0xc2, 0xc2, 0x99, 0x6d, 0x21, 0x2c, 0xe2, 0xff, + 0xd3, 0x37, 0x4a, 0x17, 0x0f, 0xed, 0x2c, 0x77, 0x32, 0x7e, 0x2d, 0x4a, 0x08, 0x56, 0x74, 0xd0, + 0x67, 0xa1, 0xb4, 0x2d, 0x7d, 0x3c, 0x33, 0xae, 0xdd, 0x78, 0x20, 0xbb, 0x7b, 0xbe, 0x72, 0xf5, + 0xac, 0x42, 0xc2, 0x31, 0x51, 0xf4, 0x1a, 0x14, 0xbd, 0xad, 0xb0, 0x5b, 0xb6, 0xd4, 0x84, 0x1d, + 0x1e, 0x8f, 0x83, 0xb0, 0xbe, 0x5a, 0xc3, 0xb4, 0x22, 0xba, 0x0e, 0xc5, 0x60, 0xb3, 0x21, 0xc4, + 0x92, 0x99, 0x9b, 0x14, 0x2f, 0x95, 0x73, 0x7a, 0xc5, 0x28, 0xe1, 0xa5, 0x32, 0xa6, 0x24, 0x50, + 0x15, 0x06, 0x99, 0x6b, 0x8f, 0xb8, 0xe4, 0x32, 0xd9, 0xf9, 0x2e, 0x2e, 0x72, 0x3c, 0x58, 0x02, + 0x43, 0xc0, 0x9c, 0x10, 0xda, 0x80, 0xa1, 0x3a, 0xcb, 0xac, 0x29, 0xe2, 0xc6, 0x7d, 0x28, 0x53, + 0x00, 0xd9, 0x25, 0xe5, 0xa8, 0x90, 0xc7, 0x31, 0x0c, 0x2c, 0x68, 0x31, 0xaa, 0xa4, 0xbd, 0xb3, + 0x15, 0x8a, 0x4c, 0xd0, 0xd9, 0x54, 0xbb, 0x64, 0xd2, 0x15, 0x54, 0x19, 0x06, 0x16, 0xb4, 0xd0, + 0x2b, 0x50, 0xd8, 0xaa, 0x0b, 0xb7, 0x9d, 0x4c, 0x49, 0xa4, 0x19, 0xca, 0x62, 0x69, 0xe8, 0xc1, + 0xc1, 0x7c, 0x61, 0x75, 0x19, 0x17, 0xb6, 0xea, 0x68, 0x1d, 0x86, 0xb7, 0xb8, 0xf3, 0xbb, 0x10, + 0x36, 0x3e, 0x95, 0xed, 0x97, 0x9f, 0xf2, 0x8f, 0xe7, 0x1e, 0x2b, 0x02, 0x80, 0x25, 0x11, 0x16, + 0x4e, 0x5f, 0x39, 0xf1, 0x8b, 0x10, 0x6b, 0x0b, 0x47, 0x0b, 0xbc, 0xc0, 0x99, 0x8e, 0x38, 0x14, + 0x00, 0xd6, 0x28, 0xd2, 0x55, 0xed, 0xc8, 0x74, 0xfc, 0x22, 0xd8, 0x4c, 0xe6, 0xaa, 0x56, 0x39, + 0xfb, 0xbb, 0xad, 0x6a, 0x85, 0x84, 0x63, 0xa2, 0x68, 0x17, 0xc6, 0xf7, 0xc2, 0xf6, 0x0e, 0x91, + 0x5b, 0x9a, 0xc5, 0x9e, 0xc9, 0xb9, 0x97, 0xef, 0x08, 0x44, 0x37, 0x88, 0x3a, 0x4e, 0x33, 0x75, + 0x0a, 0x31, 0x9d, 0xfe, 0x1d, 0x9d, 0x18, 0x36, 0x69, 0xd3, 0xe1, 0x7f, 0xab, 0xe3, 0x6f, 0xee, + 0x47, 0x44, 0x44, 0x46, 0xcb, 0x1c, 0xfe, 0x37, 0x38, 0x4a, 0x7a, 0xf8, 0x05, 0x00, 0x4b, 0x22, + 0xe8, 0x8e, 0x18, 0x1e, 0x76, 0x7a, 0x4e, 0xe5, 0x87, 0x2f, 0x5d, 0x94, 0x48, 0x39, 0x83, 0xc2, + 0x4e, 0xcb, 0x98, 0x14, 0x3b, 0x25, 0xdb, 0x3b, 0x7e, 0xe4, 0x7b, 0x89, 0x13, 0x7a, 0x3a, 0xff, + 0x94, 0xac, 0x66, 0xe0, 0xa7, 0x4f, 0xc9, 0x2c, 0x2c, 0x9c, 0xd9, 0x16, 0x6a, 0xc0, 0x44, 0xdb, + 0x0f, 0xa2, 0x7b, 0x7e, 0x20, 0xd7, 0x17, 0xea, 0x22, 0x2c, 0x31, 0x30, 0x45, 0x8b, 0x2c, 0xe8, + 0xa0, 0x09, 0xc1, 0x09, 0x9a, 0xe8, 0x13, 0x30, 0x1c, 0xd6, 0x9d, 0x26, 0xa9, 0xdc, 0x9a, 0x9d, + 0xc9, 0xbf, 0x7e, 0x6a, 0x1c, 0x25, 0x67, 0x75, 0xf1, 0xd8, 0xfb, 0x1c, 0x05, 0x4b, 0x72, 0x68, + 0x15, 0x06, 0x59, 0xba, 0x34, 0x16, 0xc6, 0x2f, 0x27, 0x0a, 0x6b, 0xca, 0x2a, 0x9a, 0x9f, 0x4d, + 0xac, 0x18, 0xf3, 0xea, 0x74, 0x0f, 0x88, 0x37, 0x83, 0x1f, 0xce, 0x9e, 0xce, 0xdf, 0x03, 0xe2, + 0xa9, 0x71, 0xab, 0xd6, 0x6d, 0x0f, 0x28, 0x24, 0x1c, 0x13, 0xa5, 0x27, 0x33, 0x3d, 0x4d, 0xcf, + 0x74, 0x31, 0xe7, 0xc9, 0x3d, 0x4b, 0xd9, 0xc9, 0x4c, 0x4f, 0x52, 0x4a, 0xc2, 0xfe, 0x83, 0xe1, + 0x34, 0xcf, 0xc2, 0x5e, 0x99, 0xdf, 0x63, 0xa5, 0x14, 0x90, 0x1f, 0xee, 0x57, 0xe8, 0x75, 0x8c, + 0x2c, 0xf8, 0x17, 0x2c, 0x38, 0xd3, 0xce, 0xfc, 0x10, 0xc1, 0x00, 0xf4, 0x27, 0x3b, 0xe3, 0x9f, + 0xae, 0x42, 0x3e, 0x66, 0xc3, 0x71, 0x4e, 0x4b, 0xc9, 0x67, 0x4e, 0xf1, 0x1d, 0x3f, 0x73, 0xd6, + 0x60, 0x84, 0x31, 0x99, 0x3d, 0x32, 0x4d, 0x27, 0x5f, 0x7b, 0x8c, 0x95, 0x58, 0x16, 0x15, 0xb1, + 0x22, 0x81, 0x7e, 0xd8, 0x82, 0x73, 0xc9, 0xae, 0x63, 0xc2, 0xc0, 0x22, 0x4e, 0x24, 0x7f, 0xe0, + 0xae, 0x8a, 0xef, 0x4f, 0xf1, 0xff, 0x06, 0xf2, 0x61, 0x2f, 0x04, 0xdc, 0xbd, 0x31, 0x54, 0xce, + 0x78, 0x61, 0x0f, 0x99, 0x5a, 0x85, 0x3e, 0x5e, 0xd9, 0x2f, 0xc2, 0x58, 0xcb, 0xef, 0x78, 0x91, + 0xb0, 0xfe, 0x11, 0x96, 0x08, 0x4c, 0x03, 0xbf, 0xa6, 0x95, 0x63, 0x03, 0x2b, 0xf1, 0x36, 0x1f, + 0x79, 0xe8, 0xb7, 0xf9, 0x9b, 0x30, 0xe6, 0x69, 0xe6, 0xaa, 0x82, 0x1f, 0xb8, 0x94, 0x1f, 0xe3, + 0x55, 0x37, 0x6e, 0xe5, 0xbd, 0xd4, 0x4b, 0xb0, 0x41, 0xed, 0x64, 0x1f, 0x7c, 0x5f, 0xb6, 0x32, + 0x98, 0x7a, 0x2e, 0x02, 0xf8, 0xa8, 0x29, 0x02, 0xb8, 0x94, 0x14, 0x01, 0xa4, 0x24, 0xca, 0xc6, + 0xeb, 0xbf, 0xff, 0x14, 0x36, 0xfd, 0x06, 0x42, 0xb4, 0x9b, 0x70, 0xa1, 0xd7, 0xb5, 0xc4, 0xcc, + 0xc0, 0x1a, 0x4a, 0x7f, 0x18, 0x9b, 0x81, 0x35, 0x2a, 0x65, 0xcc, 0x20, 0xfd, 0x86, 0xd8, 0xb1, + 0xff, 0xab, 0x05, 0xc5, 0xaa, 0xdf, 0x38, 0x81, 0x07, 0xef, 0xc7, 0x8c, 0x07, 0xef, 0xe3, 0xd9, + 0x17, 0x62, 0x23, 0x57, 0x1e, 0xbe, 0x92, 0x90, 0x87, 0x9f, 0xcb, 0x23, 0xd0, 0x5d, 0xfa, 0xfd, + 0xd3, 0x45, 0x18, 0xad, 0xfa, 0x0d, 0x65, 0x83, 0xfd, 0x1b, 0x0f, 0x63, 0x83, 0x9d, 0x9b, 0x88, + 0x41, 0xa3, 0xcc, 0xac, 0xc7, 0xa4, 0xfb, 0xe9, 0x37, 0x99, 0x29, 0xf6, 0x5d, 0xe2, 0x6e, 0xef, + 0x44, 0xa4, 0x91, 0xfc, 0x9c, 0x93, 0x33, 0xc5, 0xfe, 0x83, 0x02, 0x4c, 0x26, 0x5a, 0x47, 0x4d, + 0x18, 0x6f, 0xea, 0xd2, 0x56, 0xb1, 0x4e, 0x1f, 0x4a, 0x50, 0x2b, 0x4c, 0x59, 0xb5, 0x22, 0x6c, + 0x12, 0x47, 0x0b, 0x00, 0x4a, 0xfd, 0x28, 0xc5, 0x7a, 0x8c, 0xeb, 0x57, 0xfa, 0xc9, 0x10, 0x6b, + 0x18, 0xe8, 0x25, 0x18, 0x8d, 0xfc, 0xb6, 0xdf, 0xf4, 0xb7, 0xf7, 0x6f, 0x10, 0x19, 0xd4, 0x49, + 0x19, 0xa8, 0x6d, 0xc4, 0x20, 0xac, 0xe3, 0xa1, 0xfb, 0x30, 0xad, 0x88, 0xd4, 0x8e, 0x41, 0x02, + 0xcd, 0xa4, 0x0a, 0xeb, 0x49, 0x8a, 0x38, 0xdd, 0x88, 0xfd, 0xb3, 0x45, 0x3e, 0xc4, 0x5e, 0xe4, + 0xbe, 0xb7, 0x1b, 0xde, 0xdd, 0xbb, 0xe1, 0x6b, 0x16, 0x4c, 0xd1, 0xd6, 0x99, 0xf5, 0x8d, 0xbc, + 0xe6, 0x55, 0x54, 0x69, 0xab, 0x4b, 0x54, 0xe9, 0x4b, 0xf4, 0xd4, 0x6c, 0xf8, 0x9d, 0x48, 0xc8, + 0xee, 0xb4, 0x63, 0x91, 0x96, 0x62, 0x01, 0x15, 0x78, 0x24, 0x08, 0x84, 0xc7, 0xa0, 0x8e, 0x47, + 0x82, 0x00, 0x0b, 0xa8, 0x0c, 0x3a, 0x3d, 0x90, 0x1d, 0x74, 0x9a, 0x07, 0xc7, 0x14, 0x76, 0x1a, + 0x82, 0xe1, 0xd2, 0x82, 0x63, 0x4a, 0x03, 0x8e, 0x18, 0xc7, 0xfe, 0xf9, 0x22, 0x8c, 0x55, 0xfd, + 0x46, 0xac, 0x7a, 0x7c, 0xd1, 0x50, 0x3d, 0x5e, 0x48, 0xa8, 0x1e, 0xa7, 0x74, 0xdc, 0xf7, 0x14, + 0x8d, 0xdf, 0x28, 0x45, 0xe3, 0x3f, 0xb5, 0xd8, 0xac, 0x95, 0xd7, 0x6b, 0xdc, 0x98, 0x0b, 0x5d, + 0x85, 0x51, 0x76, 0xc0, 0x30, 0x17, 0x55, 0xa9, 0x8f, 0x63, 0xc9, 0x94, 0xd6, 0xe3, 0x62, 0xac, + 0xe3, 0xa0, 0xcb, 0x30, 0x12, 0x12, 0x27, 0xa8, 0xef, 0xa8, 0xd3, 0x55, 0x28, 0xcf, 0x78, 0x19, + 0x56, 0x50, 0xf4, 0x46, 0x1c, 0x97, 0xb1, 0x98, 0xef, 0xf2, 0xa6, 0xf7, 0x87, 0x6f, 0x91, 0xfc, + 0x60, 0x8c, 0xf6, 0x5d, 0x40, 0x69, 0xfc, 0x3e, 0x02, 0x92, 0xcd, 0x9b, 0x01, 0xc9, 0x4a, 0xa9, + 0x60, 0x64, 0x7f, 0x69, 0xc1, 0x44, 0xd5, 0x6f, 0xd0, 0xad, 0xfb, 0xad, 0xb4, 0x4f, 0xf5, 0xa0, + 0xb4, 0x43, 0x5d, 0x82, 0xd2, 0x5e, 0x84, 0xc1, 0xaa, 0xdf, 0xa8, 0x54, 0xbb, 0xf9, 0x9b, 0xdb, + 0x7f, 0xdb, 0x82, 0xe1, 0xaa, 0xdf, 0x38, 0x01, 0xb5, 0xc0, 0x47, 0x4d, 0xb5, 0xc0, 0x63, 0x39, + 0xeb, 0x26, 0x47, 0x13, 0xf0, 0x37, 0x07, 0x60, 0x9c, 0xf6, 0xd3, 0xdf, 0x96, 0x53, 0x69, 0x0c, + 0x9b, 0xd5, 0xc7, 0xb0, 0x51, 0x2e, 0xdc, 0x6f, 0x36, 0xfd, 0x7b, 0xc9, 0x69, 0x5d, 0x65, 0xa5, + 0x58, 0x40, 0xd1, 0xb3, 0x30, 0xd2, 0x0e, 0xc8, 0x9e, 0xeb, 0x0b, 0xf6, 0x56, 0x53, 0xb2, 0x54, + 0x45, 0x39, 0x56, 0x18, 0xf4, 0x59, 0x18, 0xba, 0x1e, 0xbd, 0xca, 0xeb, 0xbe, 0xd7, 0xe0, 0x92, + 0xf3, 0xa2, 0x48, 0x2c, 0xa1, 0x95, 0x63, 0x03, 0x0b, 0xdd, 0x85, 0x12, 0xfb, 0xcf, 0x8e, 0x9d, + 0xa3, 0xa7, 0x28, 0x15, 0x29, 0xeb, 0x04, 0x01, 0x1c, 0xd3, 0x42, 0xcf, 0x03, 0x44, 0x32, 0xfa, + 0x78, 0x28, 0x82, 0x4f, 0xa9, 0xa7, 0x80, 0x8a, 0x4b, 0x1e, 0x62, 0x0d, 0x0b, 0x3d, 0x03, 0xa5, + 0xc8, 0x71, 0x9b, 0x37, 0x5d, 0x8f, 0x84, 0x4c, 0x22, 0x5e, 0x94, 0x99, 0xe3, 0x44, 0x21, 0x8e, + 0xe1, 0x94, 0x15, 0x63, 0x91, 0x19, 0x78, 0x82, 0xe3, 0x11, 0x86, 0xcd, 0x58, 0xb1, 0x9b, 0xaa, + 0x14, 0x6b, 0x18, 0x68, 0x07, 0x9e, 0x70, 0x3d, 0x96, 0x84, 0x81, 0xd4, 0x76, 0xdd, 0xf6, 0xc6, + 0xcd, 0xda, 0x1d, 0x12, 0xb8, 0x5b, 0xfb, 0x4b, 0x4e, 0x7d, 0x97, 0x78, 0x32, 0xf9, 0xe4, 0xfb, + 0x45, 0x17, 0x9f, 0xa8, 0x74, 0xc1, 0xc5, 0x5d, 0x29, 0xd9, 0x2f, 0xc3, 0xe9, 0xaa, 0xdf, 0xa8, + 0xfa, 0x41, 0xb4, 0xea, 0x07, 0xf7, 0x9c, 0xa0, 0x21, 0x57, 0xca, 0xbc, 0x8c, 0x92, 0x40, 0x8f, + 0xc2, 0x41, 0x7e, 0x50, 0x18, 0x11, 0x10, 0x5e, 0x60, 0xcc, 0xd7, 0x11, 0x7d, 0x7b, 0xea, 0x8c, + 0x0d, 0x50, 0x19, 0x49, 0xae, 0x39, 0x11, 0x41, 0xb7, 0x58, 0xa6, 0xe5, 0xf8, 0x46, 0x14, 0xd5, + 0x9f, 0xd6, 0x32, 0x2d, 0xc7, 0xc0, 0xcc, 0x2b, 0xd4, 0xac, 0x6f, 0xff, 0xb7, 0x41, 0x76, 0x38, + 0x26, 0xb2, 0x5a, 0xa0, 0xcf, 0xc0, 0x44, 0x48, 0x6e, 0xba, 0x5e, 0xe7, 0xbe, 0x94, 0x46, 0x74, + 0xf1, 0xce, 0xaa, 0xad, 0xe8, 0x98, 0x5c, 0xa6, 0x69, 0x96, 0xe1, 0x04, 0x35, 0xd4, 0x82, 0x89, + 0x7b, 0xae, 0xd7, 0xf0, 0xef, 0x85, 0x92, 0xfe, 0x48, 0xbe, 0x68, 0xf3, 0x2e, 0xc7, 0x4c, 0xf4, + 0xd1, 0x68, 0xee, 0xae, 0x41, 0x0c, 0x27, 0x88, 0xd3, 0x05, 0x18, 0x74, 0xbc, 0xc5, 0xf0, 0x76, + 0x48, 0x02, 0x91, 0x33, 0x9b, 0x2d, 0x40, 0x2c, 0x0b, 0x71, 0x0c, 0xa7, 0x0b, 0x90, 0xfd, 0xb9, + 0x16, 0xf8, 0x1d, 0x9e, 0x23, 0x40, 0x2c, 0x40, 0xac, 0x4a, 0xb1, 0x86, 0x41, 0x37, 0x28, 0xfb, + 0xb7, 0xee, 0x7b, 0xd8, 0xf7, 0x23, 0xb9, 0xa5, 0x59, 0x96, 0x56, 0xad, 0x1c, 0x1b, 0x58, 0x68, + 0x15, 0x50, 0xd8, 0x69, 0xb7, 0x9b, 0xcc, 0xec, 0xc3, 0x69, 0x32, 0x52, 0x5c, 0xe5, 0x5e, 0xe4, + 0xa1, 0x53, 0x6b, 0x29, 0x28, 0xce, 0xa8, 0x41, 0xcf, 0xea, 0x2d, 0xd1, 0xd5, 0x41, 0xd6, 0x55, + 0xae, 0x06, 0xa9, 0xf1, 0x7e, 0x4a, 0x18, 0x5a, 0x81, 0xe1, 0x70, 0x3f, 0xac, 0x47, 0x22, 0x06, + 0x5c, 0x4e, 0xe2, 0xa2, 0x1a, 0x43, 0xd1, 0xf2, 0xe6, 0xf1, 0x2a, 0x58, 0xd6, 0x45, 0x75, 0x98, + 0x11, 0x14, 0x97, 0x77, 0x1c, 0x4f, 0xa5, 0x81, 0xe1, 0xd6, 0xaf, 0x57, 0x1f, 0x1c, 0xcc, 0xcf, + 0x88, 0x96, 0x75, 0xf0, 0xe1, 0xc1, 0xfc, 0x99, 0xaa, 0xdf, 0xc8, 0x80, 0xe0, 0x2c, 0x6a, 0x7c, + 0xf1, 0xd5, 0xeb, 0x7e, 0xab, 0x5d, 0x0d, 0xfc, 0x2d, 0xb7, 0x49, 0xba, 0xa9, 0x92, 0x6a, 0x06, + 0xa6, 0x58, 0x7c, 0x46, 0x19, 0x4e, 0x50, 0xb3, 0xbf, 0x93, 0xf1, 0x33, 0x2c, 0x4d, 0x74, 0xd4, + 0x09, 0x08, 0x6a, 0xc1, 0x78, 0x9b, 0x6d, 0x13, 0x11, 0xb9, 0x5f, 0xac, 0xf5, 0x17, 0xfb, 0x14, + 0x89, 0xdc, 0xa3, 0xd7, 0x80, 0x12, 0x59, 0xb2, 0xb7, 0x66, 0x55, 0x27, 0x87, 0x4d, 0xea, 0xf6, + 0x4f, 0x3c, 0xc6, 0x6e, 0xc4, 0x1a, 0x97, 0x73, 0x0c, 0x0b, 0x63, 0x7b, 0xf1, 0xb4, 0x9a, 0xcb, + 0x17, 0xb8, 0xc5, 0xd3, 0x22, 0x0c, 0xf6, 0xb1, 0xac, 0x8b, 0x3e, 0x0d, 0x13, 0xf4, 0xa5, 0xa2, + 0xe5, 0x5f, 0x39, 0x95, 0x1f, 0x14, 0x21, 0x4e, 0xbb, 0xa2, 0x65, 0xf5, 0xd0, 0x2b, 0xe3, 0x04, + 0x31, 0xf4, 0x06, 0x33, 0x0b, 0x31, 0x53, 0xbb, 0xf4, 0x20, 0xad, 0x5b, 0x80, 0x48, 0xb2, 0x1a, + 0x91, 0xbc, 0xb4, 0x31, 0xf6, 0xa3, 0x4d, 0x1b, 0x83, 0x6e, 0xc2, 0xb8, 0xc8, 0x95, 0x2c, 0x56, + 0x6e, 0xd1, 0x90, 0x03, 0x8e, 0x63, 0x1d, 0x78, 0x98, 0x2c, 0xc0, 0x66, 0x65, 0xb4, 0x0d, 0xe7, + 0xb4, 0xdc, 0x45, 0xd7, 0x02, 0x87, 0x29, 0xf3, 0x5d, 0x76, 0x9c, 0x6a, 0x77, 0xf5, 0x93, 0x0f, + 0x0e, 0xe6, 0xcf, 0x6d, 0x74, 0x43, 0xc4, 0xdd, 0xe9, 0xa0, 0x5b, 0x70, 0x9a, 0xbb, 0xf4, 0x96, + 0x89, 0xd3, 0x68, 0xba, 0x9e, 0x62, 0x06, 0xf8, 0x96, 0x3f, 0xfb, 0xe0, 0x60, 0xfe, 0xf4, 0x62, + 0x16, 0x02, 0xce, 0xae, 0x87, 0x3e, 0x0a, 0xa5, 0x86, 0x17, 0x8a, 0x31, 0x18, 0x32, 0xd2, 0x43, + 0x95, 0xca, 0xeb, 0x35, 0xf5, 0xfd, 0xf1, 0x1f, 0x1c, 0x57, 0x40, 0xdb, 0x5c, 0x56, 0xac, 0x24, + 0x18, 0xc3, 0xa9, 0x90, 0x46, 0x49, 0x21, 0x9f, 0xe1, 0xd4, 0xc7, 0x95, 0x24, 0xca, 0xd6, 0xdd, + 0xf0, 0xf7, 0x33, 0x08, 0xa3, 0xd7, 0x01, 0xd1, 0x17, 0x84, 0x5b, 0x27, 0x8b, 0x75, 0x96, 0x16, + 0x82, 0x89, 0xd6, 0x47, 0x4c, 0x37, 0xb3, 0x5a, 0x0a, 0x03, 0x67, 0xd4, 0x42, 0xd7, 0xe9, 0xa9, + 0xa2, 0x97, 0x8a, 0x53, 0x4b, 0x25, 0xf3, 0x2b, 0x93, 0x76, 0x40, 0xea, 0x4e, 0x44, 0x1a, 0x26, + 0x45, 0x9c, 0xa8, 0x87, 0x1a, 0xf0, 0x84, 0xd3, 0x89, 0x7c, 0x26, 0x86, 0x37, 0x51, 0x37, 0xfc, + 0x5d, 0xe2, 0x31, 0x0d, 0xd8, 0xc8, 0xd2, 0x05, 0xca, 0x6d, 0x2c, 0x76, 0xc1, 0xc3, 0x5d, 0xa9, + 0x50, 0x2e, 0x51, 0x65, 0xef, 0x05, 0x33, 0x50, 0x53, 0x46, 0x06, 0xdf, 0x97, 0x60, 0x74, 0xc7, + 0x0f, 0xa3, 0x75, 0x12, 0xdd, 0xf3, 0x83, 0x5d, 0x11, 0x6f, 0x33, 0x8e, 0xd1, 0x1c, 0x83, 0xb0, + 0x8e, 0x47, 0x9f, 0x81, 0xcc, 0x3e, 0xa3, 0x52, 0x66, 0xaa, 0xf1, 0x91, 0xf8, 0x8c, 0xb9, 0xce, + 0x8b, 0xb1, 0x84, 0x4b, 0xd4, 0x4a, 0x75, 0x99, 0xa9, 0xb9, 0x13, 0xa8, 0x95, 0xea, 0x32, 0x96, + 0x70, 0xba, 0x5c, 0xc3, 0x1d, 0x27, 0x20, 0xd5, 0xc0, 0xaf, 0x93, 0x50, 0x8b, 0x0c, 0xfe, 0x38, + 0x8f, 0x26, 0x4a, 0x97, 0x6b, 0x2d, 0x0b, 0x01, 0x67, 0xd7, 0x43, 0x24, 0x9d, 0xb7, 0x6b, 0x22, + 0x5f, 0x3f, 0x91, 0xe6, 0x67, 0xfa, 0x4c, 0xdd, 0xe5, 0xc1, 0x94, 0xca, 0x18, 0xc6, 0xe3, 0x87, + 0x86, 0xb3, 0x93, 0x6c, 0x6d, 0xf7, 0x1f, 0x7c, 0x54, 0x69, 0x7c, 0x2a, 0x09, 0x4a, 0x38, 0x45, + 0xdb, 0x88, 0xc5, 0x35, 0xd5, 0x33, 0x16, 0xd7, 0x15, 0x28, 0x85, 0x9d, 0xcd, 0x86, 0xdf, 0x72, + 0x5c, 0x8f, 0xa9, 0xb9, 0xb5, 0xf7, 0x48, 0x4d, 0x02, 0x70, 0x8c, 0x83, 0x56, 0x61, 0xc4, 0x91, + 0xea, 0x1c, 0x94, 0x1f, 0x7d, 0x45, 0x29, 0x71, 0x78, 0x40, 0x02, 0xa9, 0xc0, 0x51, 0x75, 0xd1, + 0xab, 0x30, 0x2e, 0x5c, 0x52, 0x45, 0xb2, 0xca, 0x19, 0xd3, 0x6f, 0xa8, 0xa6, 0x03, 0xb1, 0x89, + 0x8b, 0x6e, 0xc3, 0x68, 0xe4, 0x37, 0x99, 0xf3, 0x0b, 0x65, 0xf3, 0xce, 0xe4, 0xc7, 0x11, 0xdb, + 0x50, 0x68, 0xba, 0x24, 0x55, 0x55, 0xc5, 0x3a, 0x1d, 0xb4, 0xc1, 0xd7, 0x3b, 0x8b, 0x90, 0x4d, + 0xc2, 0xd9, 0xc7, 0xf2, 0xef, 0x24, 0x15, 0x48, 0xdb, 0xdc, 0x0e, 0xa2, 0x26, 0xd6, 0xc9, 0xa0, + 0x6b, 0x30, 0xdd, 0x0e, 0x5c, 0x9f, 0xad, 0x09, 0xa5, 0xc9, 0x9b, 0x35, 0xd3, 0xf3, 0x54, 0x93, + 0x08, 0x38, 0x5d, 0x87, 0x79, 0x14, 0x8b, 0xc2, 0xd9, 0xb3, 0x3c, 0x9f, 0x35, 0x7f, 0xde, 0xf1, + 0x32, 0xac, 0xa0, 0x68, 0x8d, 0x9d, 0xc4, 0x5c, 0x32, 0x31, 0x3b, 0x97, 0x1f, 0xf0, 0x45, 0x97, + 0x60, 0x70, 0xe6, 0x55, 0xfd, 0xc5, 0x31, 0x05, 0xd4, 0xd0, 0x12, 0x1f, 0xd2, 0x17, 0x43, 0x38, + 0xfb, 0x44, 0x17, 0x23, 0xb9, 0xc4, 0xf3, 0x22, 0x66, 0x08, 0x8c, 0xe2, 0x10, 0x27, 0x68, 0xa2, + 0x8f, 0xc3, 0x94, 0x08, 0x53, 0x17, 0x0f, 0xd3, 0xb9, 0xd8, 0xa4, 0x18, 0x27, 0x60, 0x38, 0x85, + 0xcd, 0x33, 0x07, 0x38, 0x9b, 0x4d, 0x22, 0x8e, 0xbe, 0x9b, 0xae, 0xb7, 0x1b, 0xce, 0x9e, 0x67, + 0xe7, 0x83, 0xc8, 0x1c, 0x90, 0x84, 0xe2, 0x8c, 0x1a, 0x68, 0x03, 0xa6, 0xda, 0x01, 0x21, 0x2d, + 0xc6, 0xe8, 0x8b, 0xfb, 0x6c, 0x9e, 0x3b, 0xd4, 0xd3, 0x9e, 0x54, 0x13, 0xb0, 0xc3, 0x8c, 0x32, + 0x9c, 0xa2, 0x80, 0xee, 0xc1, 0x88, 0xbf, 0x47, 0x82, 0x1d, 0xe2, 0x34, 0x66, 0x2f, 0x74, 0x31, + 0x71, 0x17, 0x97, 0xdb, 0x2d, 0x81, 0x9b, 0xd0, 0xfe, 0xcb, 0xe2, 0xde, 0xda, 0x7f, 0xd9, 0x18, + 0xfa, 0x11, 0x0b, 0xce, 0x4a, 0x85, 0x41, 0xad, 0x4d, 0x47, 0x7d, 0xd9, 0xf7, 0xc2, 0x28, 0xe0, + 0x2e, 0xe0, 0x4f, 0xe6, 0xbb, 0x45, 0x6f, 0xe4, 0x54, 0x52, 0xc2, 0xd1, 0xb3, 0x79, 0x18, 0x21, + 0xce, 0x6f, 0x11, 0x2d, 0xc3, 0x74, 0x48, 0x22, 0x79, 0x18, 0x2d, 0x86, 0xab, 0x6f, 0x94, 0xd7, + 0x67, 0x2f, 0x72, 0xff, 0x75, 0xba, 0x19, 0x6a, 0x49, 0x20, 0x4e, 0xe3, 0xcf, 0x7d, 0x3b, 0x4c, + 0xa7, 0xae, 0xff, 0xa3, 0x64, 0x44, 0x99, 0xdb, 0x85, 0x71, 0x63, 0x88, 0x1f, 0xa9, 0xf6, 0xf8, + 0x5f, 0x0d, 0x43, 0x49, 0x69, 0x16, 0xd1, 0x15, 0x53, 0x61, 0x7c, 0x36, 0xa9, 0x30, 0x1e, 0xa1, + 0xef, 0x7a, 0x5d, 0x47, 0xbc, 0x91, 0x11, 0xb5, 0x2b, 0x6f, 0x43, 0xf7, 0xef, 0x8e, 0xad, 0x89, + 0x6b, 0x8b, 0x7d, 0x6b, 0x9e, 0x07, 0xba, 0x4a, 0x80, 0xaf, 0xc1, 0xb4, 0xe7, 0x33, 0x9e, 0x93, + 0x34, 0x24, 0x43, 0xc1, 0xf8, 0x86, 0x92, 0x1e, 0x06, 0x23, 0x81, 0x80, 0xd3, 0x75, 0x68, 0x83, + 0xfc, 0xe2, 0x4f, 0x8a, 0x9c, 0x39, 0x5f, 0x80, 0x05, 0x14, 0x5d, 0x84, 0xc1, 0xb6, 0xdf, 0xa8, + 0x54, 0x05, 0xbf, 0xa9, 0xc5, 0x8a, 0x6c, 0x54, 0xaa, 0x98, 0xc3, 0xd0, 0x22, 0x0c, 0xb1, 0x1f, + 0xe1, 0xec, 0x58, 0x7e, 0xbc, 0x03, 0x56, 0x43, 0xcb, 0x37, 0xc3, 0x2a, 0x60, 0x51, 0x91, 0x89, + 0xbe, 0x28, 0x93, 0xce, 0x44, 0x5f, 0xc3, 0x0f, 0x29, 0xfa, 0x92, 0x04, 0x70, 0x4c, 0x0b, 0xdd, + 0x87, 0xd3, 0xc6, 0xc3, 0x88, 0x2f, 0x11, 0x12, 0x0a, 0x9f, 0xeb, 0x8b, 0x5d, 0x5f, 0x44, 0x42, + 0x53, 0x7d, 0x4e, 0x74, 0xfa, 0x74, 0x25, 0x8b, 0x12, 0xce, 0x6e, 0x00, 0x35, 0x61, 0xba, 0x9e, + 0x6a, 0x75, 0xa4, 0xff, 0x56, 0xd5, 0x84, 0xa6, 0x5b, 0x4c, 0x13, 0x46, 0xaf, 0xc2, 0xc8, 0x5b, + 0x7e, 0xc8, 0xce, 0x6a, 0xc1, 0x23, 0x4b, 0x87, 0xdd, 0x91, 0x37, 0x6e, 0xd5, 0x58, 0xf9, 0xe1, + 0xc1, 0xfc, 0x68, 0xd5, 0x6f, 0xc8, 0xbf, 0x58, 0x55, 0x40, 0xdf, 0x6f, 0xc1, 0x5c, 0xfa, 0xe5, + 0xa5, 0x3a, 0x3d, 0xde, 0x7f, 0xa7, 0x6d, 0xd1, 0xe8, 0xdc, 0x4a, 0x2e, 0x39, 0xdc, 0xa5, 0x29, + 0xfb, 0x57, 0x2c, 0x26, 0x75, 0x13, 0x1a, 0x20, 0x12, 0x76, 0x9a, 0x27, 0x91, 0x66, 0x73, 0xc5, + 0x50, 0x4e, 0x3d, 0xb4, 0xe5, 0xc2, 0x3f, 0xb7, 0x98, 0xe5, 0xc2, 0x09, 0xba, 0x28, 0xbc, 0x01, + 0x23, 0x91, 0x4c, 0x96, 0xda, 0x25, 0x33, 0xa8, 0xd6, 0x29, 0x66, 0xbd, 0xa1, 0x38, 0x56, 0x95, + 0x17, 0x55, 0x91, 0xb1, 0xff, 0x11, 0x9f, 0x01, 0x09, 0x39, 0x01, 0x1d, 0x40, 0xd9, 0xd4, 0x01, + 0xcc, 0xf7, 0xf8, 0x82, 0x1c, 0x5d, 0xc0, 0x3f, 0x34, 0xfb, 0xcd, 0x24, 0x35, 0xef, 0x76, 0x93, + 0x19, 0xfb, 0x8b, 0x16, 0x40, 0x1c, 0x8a, 0x97, 0xc9, 0x97, 0xfd, 0x40, 0xe6, 0x58, 0xcc, 0xca, + 0x26, 0xf4, 0x32, 0xe5, 0x51, 0xfd, 0xc8, 0xaf, 0xfb, 0x4d, 0xa1, 0xe1, 0x7a, 0x22, 0x56, 0x43, + 0xf0, 0xf2, 0x43, 0xed, 0x37, 0x56, 0xd8, 0x68, 0x5e, 0x06, 0xfe, 0x2a, 0xc6, 0x8a, 0x31, 0x23, + 0xe8, 0xd7, 0x8f, 0x59, 0x70, 0x2a, 0xcb, 0xde, 0x95, 0xbe, 0x78, 0xb8, 0xcc, 0x4a, 0x99, 0x33, + 0xa9, 0xd9, 0xbc, 0x23, 0xca, 0xb1, 0xc2, 0xe8, 0x3b, 0x73, 0xd8, 0xd1, 0x62, 0xe0, 0xde, 0x82, + 0xf1, 0x6a, 0x40, 0xb4, 0xcb, 0xf5, 0x35, 0xee, 0x4c, 0xce, 0xfb, 0xf3, 0xec, 0x91, 0x1d, 0xc9, + 0xed, 0xaf, 0x14, 0xe0, 0x14, 0xb7, 0x0a, 0x58, 0xdc, 0xf3, 0xdd, 0x46, 0xd5, 0x6f, 0x88, 0xac, + 0x6f, 0x9f, 0x82, 0xb1, 0xb6, 0x26, 0x68, 0xec, 0x16, 0xcf, 0x51, 0x17, 0x48, 0xc6, 0xa2, 0x11, + 0xbd, 0x14, 0x1b, 0xb4, 0x50, 0x03, 0xc6, 0xc8, 0x9e, 0x5b, 0x57, 0xaa, 0xe5, 0xc2, 0x91, 0x2f, + 0x3a, 0xd5, 0xca, 0x8a, 0x46, 0x07, 0x1b, 0x54, 0x1f, 0x41, 0x3e, 0x5f, 0xfb, 0xc7, 0x2d, 0x78, + 0x2c, 0x27, 0xfa, 0x23, 0x6d, 0xee, 0x1e, 0xb3, 0xbf, 0x10, 0xcb, 0x56, 0x35, 0xc7, 0xad, 0x32, + 0xb0, 0x80, 0xa2, 0x4f, 0x00, 0x70, 0xab, 0x0a, 0xfa, 0xe4, 0xee, 0x15, 0x26, 0xcf, 0x88, 0xf0, + 0xa5, 0x05, 0x6b, 0x92, 0xf5, 0xb1, 0x46, 0xcb, 0xfe, 0x99, 0x22, 0x0c, 0xf2, 0xd4, 0xec, 0xab, + 0x30, 0xbc, 0xc3, 0x73, 0x61, 0xf4, 0x93, 0x76, 0x23, 0x16, 0x86, 0xf0, 0x02, 0x2c, 0x2b, 0xa3, + 0x35, 0x98, 0xe1, 0xb9, 0x44, 0x9a, 0x65, 0xd2, 0x74, 0xf6, 0xa5, 0xe4, 0x8e, 0xe7, 0xe1, 0x54, + 0x12, 0xcc, 0x4a, 0x1a, 0x05, 0x67, 0xd5, 0x43, 0xaf, 0xc1, 0x04, 0x7d, 0x49, 0xf9, 0x9d, 0x48, + 0x52, 0xe2, 0x59, 0x44, 0xd4, 0xd3, 0x6d, 0xc3, 0x80, 0xe2, 0x04, 0x36, 0x7d, 0xcc, 0xb7, 0x53, + 0x32, 0xca, 0xc1, 0xf8, 0x31, 0x6f, 0xca, 0x25, 0x4d, 0x5c, 0x66, 0xe8, 0xda, 0x61, 0x66, 0xbd, + 0x1b, 0x3b, 0x01, 0x09, 0x77, 0xfc, 0x66, 0x83, 0x31, 0x7d, 0x83, 0x9a, 0xa1, 0x6b, 0x02, 0x8e, + 0x53, 0x35, 0x28, 0x95, 0x2d, 0xc7, 0x6d, 0x76, 0x02, 0x12, 0x53, 0x19, 0x32, 0xa9, 0xac, 0x26, + 0xe0, 0x38, 0x55, 0x83, 0xae, 0xa3, 0xd3, 0xd5, 0xc0, 0xa7, 0x07, 0xa9, 0x0c, 0x69, 0xa3, 0xac, + 0x97, 0x87, 0xa5, 0xf7, 0x6d, 0x97, 0xe0, 0x6f, 0xc2, 0xbe, 0x93, 0x53, 0x30, 0x0c, 0x08, 0x6a, + 0xc2, 0xef, 0x56, 0x52, 0x41, 0x57, 0x61, 0x54, 0x64, 0x88, 0x60, 0x46, 0xb6, 0x7c, 0xea, 0x98, + 0xc1, 0x43, 0x39, 0x2e, 0xc6, 0x3a, 0x8e, 0xfd, 0x03, 0x05, 0x98, 0xc9, 0xf0, 0x92, 0xe0, 0x47, + 0xd5, 0xb6, 0x1b, 0x46, 0x2a, 0xd7, 0xa0, 0x76, 0x54, 0xf1, 0x72, 0xac, 0x30, 0xe8, 0x7e, 0xe0, + 0x87, 0x61, 0xf2, 0x00, 0x14, 0x56, 0xc8, 0x02, 0x7a, 0xc4, 0xac, 0x7d, 0x17, 0x60, 0xa0, 0x13, + 0x12, 0x19, 0xb6, 0x51, 0x5d, 0x0d, 0x4c, 0x0f, 0xc6, 0x20, 0x94, 0x55, 0xdf, 0x56, 0x2a, 0x25, + 0x8d, 0x55, 0xe7, 0x4a, 0x25, 0x0e, 0xa3, 0x9d, 0x8b, 0x88, 0xe7, 0x78, 0x91, 0x60, 0xe8, 0xe3, + 0xf8, 0x63, 0xac, 0x14, 0x0b, 0xa8, 0xfd, 0xa5, 0x22, 0x9c, 0xcd, 0xf5, 0x9b, 0xa2, 0x5d, 0x6f, + 0xf9, 0x9e, 0x1b, 0xf9, 0xca, 0x92, 0x84, 0xc7, 0x1c, 0x23, 0xed, 0x9d, 0x35, 0x51, 0x8e, 0x15, + 0x06, 0xba, 0x04, 0x83, 0x4c, 0x8a, 0x96, 0xca, 0xba, 0xb8, 0x54, 0xe6, 0x41, 0x68, 0x38, 0xb8, + 0xef, 0x8c, 0xb6, 0x17, 0xe9, 0x2d, 0xe9, 0x37, 0x93, 0x87, 0x16, 0xed, 0xae, 0xef, 0x37, 0x31, + 0x03, 0xa2, 0x0f, 0x88, 0xf1, 0x4a, 0x98, 0x4e, 0x60, 0xa7, 0xe1, 0x87, 0xda, 0xa0, 0x3d, 0x0d, + 0xc3, 0xbb, 0x64, 0x3f, 0x70, 0xbd, 0xed, 0xa4, 0x49, 0xcd, 0x0d, 0x5e, 0x8c, 0x25, 0xdc, 0x4c, + 0xa0, 0x35, 0x7c, 0xdc, 0xa9, 0x68, 0x47, 0x7a, 0x5e, 0x81, 0x3f, 0x54, 0x84, 0x49, 0xbc, 0x54, + 0x7e, 0x6f, 0x22, 0x6e, 0xa7, 0x27, 0xe2, 0xb8, 0x53, 0xd1, 0xf6, 0x9e, 0x8d, 0x5f, 0xb4, 0x60, + 0x92, 0xe5, 0xa9, 0x10, 0xd1, 0xaa, 0x5c, 0xdf, 0x3b, 0x01, 0x76, 0xf3, 0x22, 0x0c, 0x06, 0xb4, + 0xd1, 0x64, 0xba, 0x45, 0xd6, 0x13, 0xcc, 0x61, 0xe8, 0x09, 0x18, 0x60, 0x5d, 0xa0, 0x93, 0x37, + 0xc6, 0x33, 0x55, 0x95, 0x9d, 0xc8, 0xc1, 0xac, 0x94, 0x85, 0x60, 0xc1, 0xa4, 0xdd, 0x74, 0x79, + 0xa7, 0x63, 0x1d, 0xe7, 0xbb, 0xc3, 0xa3, 0x3a, 0xb3, 0x6b, 0xef, 0x2c, 0x04, 0x4b, 0x36, 0xc9, + 0xee, 0x4f, 0xb9, 0x3f, 0x29, 0xc0, 0xf9, 0xcc, 0x7a, 0x7d, 0x87, 0x60, 0xe9, 0x5e, 0xfb, 0x51, + 0x66, 0x22, 0x28, 0x9e, 0xa0, 0xc1, 0xe2, 0x40, 0xbf, 0x1c, 0xe6, 0x60, 0x1f, 0x91, 0x51, 0x32, + 0x87, 0xec, 0x5d, 0x12, 0x19, 0x25, 0xb3, 0x6f, 0x39, 0x4f, 0xd1, 0xbf, 0x2a, 0xe4, 0x7c, 0x0b, + 0x7b, 0x94, 0x5e, 0xa6, 0xe7, 0x0c, 0x03, 0x86, 0xf2, 0xa1, 0xc7, 0xcf, 0x18, 0x5e, 0x86, 0x15, + 0x14, 0x2d, 0xc2, 0x64, 0xcb, 0xf5, 0xe8, 0xe1, 0xb3, 0x6f, 0x32, 0x7e, 0x2a, 0x70, 0xd5, 0x9a, + 0x09, 0xc6, 0x49, 0x7c, 0xe4, 0x6a, 0x51, 0x53, 0x0a, 0xf9, 0x09, 0xcc, 0x73, 0x7b, 0xbb, 0x60, + 0xea, 0x7f, 0xd5, 0x28, 0x66, 0x44, 0x50, 0x59, 0xd3, 0x64, 0x11, 0xc5, 0xfe, 0x65, 0x11, 0x63, + 0xd9, 0x72, 0x88, 0xb9, 0x57, 0x61, 0xfc, 0xa1, 0x85, 0xcf, 0xf6, 0xd7, 0x8a, 0xf0, 0x78, 0x97, + 0x6d, 0xcf, 0xcf, 0x7a, 0x63, 0x0e, 0xb4, 0xb3, 0x3e, 0x35, 0x0f, 0x55, 0x38, 0xb5, 0xd5, 0x69, + 0x36, 0xf7, 0x99, 0x1d, 0x3f, 0x69, 0x48, 0x0c, 0xc1, 0x53, 0xca, 0x07, 0xf8, 0xa9, 0xd5, 0x0c, + 0x1c, 0x9c, 0x59, 0x93, 0x32, 0xf4, 0xf4, 0x26, 0xd9, 0x57, 0xa4, 0x12, 0x0c, 0x3d, 0xd6, 0x81, + 0xd8, 0xc4, 0x45, 0xd7, 0x60, 0xda, 0xd9, 0x73, 0x5c, 0x1e, 0x7a, 0x56, 0x12, 0xe0, 0x1c, 0xbd, + 0x92, 0x19, 0x2e, 0x26, 0x11, 0x70, 0xba, 0x0e, 0x7a, 0x1d, 0x90, 0xbf, 0xc9, 0xac, 0x7d, 0x1b, + 0xd7, 0x88, 0x27, 0xd4, 0x74, 0x6c, 0xee, 0x8a, 0xf1, 0x91, 0x70, 0x2b, 0x85, 0x81, 0x33, 0x6a, + 0x25, 0xa2, 0x90, 0x0c, 0xe5, 0x47, 0x21, 0xe9, 0x7e, 0x2e, 0xf6, 0x4c, 0x82, 0xf1, 0x9f, 0x2c, + 0x7a, 0x7d, 0x71, 0x26, 0xdf, 0x0c, 0xa6, 0xf7, 0x2a, 0x33, 0xb3, 0xe3, 0xf2, 0x44, 0x2d, 0x76, + 0xc6, 0x69, 0xcd, 0xcc, 0x2e, 0x06, 0x62, 0x13, 0x97, 0x2f, 0x88, 0x30, 0x76, 0xd9, 0x34, 0x58, + 0x7c, 0x11, 0xf1, 0x47, 0x61, 0xa0, 0x4f, 0xc2, 0x70, 0xc3, 0xdd, 0x73, 0x43, 0x21, 0x4d, 0x39, + 0xb2, 0xea, 0x22, 0x3e, 0x07, 0xcb, 0x9c, 0x0c, 0x96, 0xf4, 0xec, 0x1f, 0x2a, 0xc0, 0xb8, 0x6c, + 0xf1, 0x8d, 0x8e, 0x1f, 0x39, 0x27, 0x70, 0x2d, 0x5f, 0x33, 0xae, 0xe5, 0x0f, 0x74, 0x0b, 0x7b, + 0xc4, 0xba, 0x94, 0x7b, 0x1d, 0xdf, 0x4a, 0x5c, 0xc7, 0x4f, 0xf5, 0x26, 0xd5, 0xfd, 0x1a, 0xfe, + 0xc7, 0x16, 0x4c, 0x1b, 0xf8, 0x27, 0x70, 0x1b, 0xac, 0x9a, 0xb7, 0xc1, 0x93, 0x3d, 0xbf, 0x21, + 0xe7, 0x16, 0xf8, 0xde, 0x62, 0xa2, 0xef, 0xec, 0xf4, 0x7f, 0x0b, 0x06, 0x76, 0x9c, 0xa0, 0xd1, + 0x2d, 0xcc, 0x7b, 0xaa, 0xd2, 0xc2, 0x75, 0x27, 0x10, 0x7a, 0xca, 0x67, 0x55, 0xfe, 0x70, 0x27, + 0xe8, 0xad, 0xa3, 0x64, 0x4d, 0xa1, 0x97, 0x61, 0x28, 0xac, 0xfb, 0x6d, 0x65, 0xc5, 0x7f, 0x81, + 0xe7, 0x16, 0xa7, 0x25, 0x87, 0x07, 0xf3, 0xc8, 0x6c, 0x8e, 0x16, 0x63, 0x81, 0x8f, 0x3e, 0x05, + 0xe3, 0xec, 0x97, 0x32, 0x1a, 0x2a, 0xe6, 0xa7, 0x84, 0xaa, 0xe9, 0x88, 0xdc, 0xa2, 0xce, 0x28, + 0xc2, 0x26, 0xa9, 0xb9, 0x6d, 0x28, 0xa9, 0xcf, 0x7a, 0xa4, 0xba, 0xc1, 0x7f, 0x5f, 0x84, 0x99, + 0x8c, 0x35, 0x87, 0x42, 0x63, 0x26, 0xae, 0xf6, 0xb9, 0x54, 0xdf, 0xe1, 0x5c, 0x84, 0xec, 0x35, + 0xd4, 0x10, 0x6b, 0xab, 0xef, 0x46, 0x6f, 0x87, 0x24, 0xd9, 0x28, 0x2d, 0xea, 0xdd, 0x28, 0x6d, + 0xec, 0xc4, 0x86, 0x9a, 0x36, 0xa4, 0x7a, 0xfa, 0x48, 0xe7, 0xf4, 0xcf, 0x8b, 0x70, 0x2a, 0x2b, + 0x12, 0x1b, 0xfa, 0x7c, 0x22, 0xc9, 0xe0, 0x8b, 0xfd, 0xc6, 0x70, 0xe3, 0x99, 0x07, 0xb9, 0x0c, + 0x78, 0x69, 0xc1, 0x4c, 0x3b, 0xd8, 0x73, 0x98, 0x45, 0x9b, 0x2c, 0x1c, 0x41, 0xc0, 0x93, 0x43, + 0xca, 0xe3, 0xe3, 0xc3, 0x7d, 0x77, 0x40, 0x64, 0x95, 0x0c, 0x13, 0x06, 0x09, 0xb2, 0xb8, 0xb7, + 0x41, 0x82, 0x6c, 0x79, 0xce, 0x85, 0x51, 0xed, 0x6b, 0x1e, 0xe9, 0x8c, 0xef, 0xd2, 0xdb, 0x4a, + 0xeb, 0xf7, 0x23, 0x9d, 0xf5, 0x1f, 0xb7, 0x20, 0x61, 0xa3, 0xae, 0xc4, 0x62, 0x56, 0xae, 0x58, + 0xec, 0x02, 0x0c, 0x04, 0x7e, 0x93, 0x24, 0xb3, 0xf1, 0x61, 0xbf, 0x49, 0x30, 0x83, 0x50, 0x8c, + 0x28, 0x16, 0x76, 0x8c, 0xe9, 0x0f, 0x39, 0xf1, 0x44, 0xbb, 0x08, 0x83, 0x4d, 0xb2, 0x47, 0x9a, + 0xc9, 0xa4, 0x29, 0x37, 0x69, 0x21, 0xe6, 0x30, 0xfb, 0x17, 0x07, 0xe0, 0x5c, 0xd7, 0x80, 0x1e, + 0xf4, 0x39, 0xb4, 0xed, 0x44, 0xe4, 0x9e, 0xb3, 0x9f, 0xcc, 0x6e, 0x70, 0x8d, 0x17, 0x63, 0x09, + 0x67, 0x5e, 0x44, 0x3c, 0x48, 0x71, 0x42, 0x88, 0x28, 0x62, 0x13, 0x0b, 0xa8, 0x29, 0x94, 0x2a, + 0x1e, 0x87, 0x50, 0xea, 0x79, 0x80, 0x30, 0x6c, 0x72, 0x4b, 0x9e, 0x86, 0x70, 0x4f, 0x8a, 0x83, + 0x59, 0xd7, 0x6e, 0x0a, 0x08, 0xd6, 0xb0, 0x50, 0x19, 0xa6, 0xda, 0x81, 0x1f, 0x71, 0x99, 0x6c, + 0x99, 0x1b, 0xbb, 0x0d, 0x9a, 0xb1, 0x14, 0xaa, 0x09, 0x38, 0x4e, 0xd5, 0x40, 0x2f, 0xc1, 0xa8, + 0x88, 0xaf, 0x50, 0xf5, 0xfd, 0xa6, 0x10, 0x03, 0x29, 0xfb, 0xaf, 0x5a, 0x0c, 0xc2, 0x3a, 0x9e, + 0x56, 0x8d, 0x09, 0x7a, 0x87, 0x33, 0xab, 0x71, 0x61, 0xaf, 0x86, 0x97, 0x88, 0xca, 0x38, 0xd2, + 0x57, 0x54, 0xc6, 0x58, 0x30, 0x56, 0xea, 0x5b, 0xb7, 0x05, 0x3d, 0x45, 0x49, 0x3f, 0x37, 0x00, + 0x33, 0x62, 0xe1, 0x3c, 0xea, 0xe5, 0x72, 0x3b, 0xbd, 0x5c, 0x8e, 0x43, 0x74, 0xf6, 0xde, 0x9a, + 0x39, 0xe9, 0x35, 0xf3, 0xc3, 0x16, 0x98, 0xec, 0x15, 0xfa, 0xbf, 0x72, 0xd3, 0xc3, 0xbc, 0x94, + 0xcb, 0xae, 0x35, 0xe4, 0x05, 0xf2, 0x0e, 0x13, 0xc5, 0xd8, 0xff, 0xd1, 0x82, 0x27, 0x7b, 0x52, + 0x44, 0x2b, 0x50, 0x62, 0x3c, 0xa0, 0xf6, 0x3a, 0x7b, 0x4a, 0x19, 0xc3, 0x4a, 0x40, 0x0e, 0x4b, + 0x1a, 0xd7, 0x44, 0x2b, 0xa9, 0x3c, 0x3c, 0x4f, 0x67, 0xe4, 0xe1, 0x39, 0x6d, 0x0c, 0xcf, 0x43, + 0x26, 0xe2, 0xf9, 0x41, 0x7a, 0xe3, 0x18, 0x8e, 0x28, 0xe8, 0xc3, 0x86, 0xd8, 0xcf, 0x4e, 0x88, + 0xfd, 0x90, 0x89, 0xad, 0xdd, 0x21, 0x1f, 0x87, 0x29, 0x16, 0x78, 0x89, 0x99, 0x66, 0x0b, 0x17, + 0x99, 0x42, 0x6c, 0x7e, 0x79, 0x33, 0x01, 0xc3, 0x29, 0x6c, 0xfb, 0x8f, 0x8b, 0x30, 0xc4, 0xb7, + 0xdf, 0x09, 0xbc, 0x09, 0x9f, 0x81, 0x92, 0xdb, 0x6a, 0x75, 0x78, 0x6a, 0x95, 0x41, 0xee, 0x17, + 0x4b, 0xe7, 0xa9, 0x22, 0x0b, 0x71, 0x0c, 0x47, 0xab, 0x42, 0xe2, 0xdc, 0x25, 0xb6, 0x23, 0xef, + 0xf8, 0x42, 0xd9, 0x89, 0x1c, 0xce, 0xe0, 0xa8, 0x7b, 0x36, 0x96, 0x4d, 0xa3, 0xcf, 0x00, 0x84, + 0x51, 0xe0, 0x7a, 0xdb, 0xb4, 0x4c, 0x84, 0x32, 0xfd, 0x60, 0x17, 0x6a, 0x35, 0x85, 0xcc, 0x69, + 0xc6, 0x67, 0x8e, 0x02, 0x60, 0x8d, 0x22, 0x5a, 0x30, 0x6e, 0xfa, 0xb9, 0xc4, 0xdc, 0x01, 0xa7, + 0x1a, 0xcf, 0xd9, 0xdc, 0x47, 0xa0, 0xa4, 0x88, 0xf7, 0x92, 0x3f, 0x8d, 0xe9, 0x6c, 0xd1, 0xc7, + 0x60, 0x32, 0xd1, 0xb7, 0x23, 0x89, 0xaf, 0x7e, 0xc9, 0x82, 0x49, 0xde, 0x99, 0x15, 0x6f, 0x4f, + 0xdc, 0x06, 0x6f, 0xc3, 0xa9, 0x66, 0xc6, 0xa9, 0x2c, 0xa6, 0xbf, 0xff, 0x53, 0x5c, 0x89, 0xab, + 0xb2, 0xa0, 0x38, 0xb3, 0x0d, 0x74, 0x99, 0xee, 0x38, 0x7a, 0xea, 0x3a, 0x4d, 0xe1, 0x26, 0x3b, + 0xc6, 0x77, 0x1b, 0x2f, 0xc3, 0x0a, 0x6a, 0xff, 0x9e, 0x05, 0xd3, 0xbc, 0xe7, 0x37, 0xc8, 0xbe, + 0x3a, 0x9b, 0xbe, 0x91, 0x7d, 0x17, 0x49, 0xbd, 0x0a, 0x39, 0x49, 0xbd, 0xf4, 0x4f, 0x2b, 0x76, + 0xfd, 0xb4, 0xaf, 0x58, 0x20, 0x56, 0xc8, 0x09, 0x08, 0x21, 0xbe, 0xdd, 0x14, 0x42, 0xcc, 0xe5, + 0x6f, 0x82, 0x1c, 0xe9, 0xc3, 0x5f, 0x5a, 0x30, 0xc5, 0x11, 0x62, 0x6d, 0xf9, 0x37, 0x74, 0x1e, + 0xfa, 0x49, 0xfd, 0x7b, 0x83, 0xec, 0x6f, 0xf8, 0x55, 0x27, 0xda, 0xc9, 0xfe, 0x28, 0x63, 0xb2, + 0x06, 0xba, 0x4e, 0x56, 0x43, 0x6e, 0xa0, 0x23, 0xe4, 0x13, 0x3f, 0x72, 0xce, 0x0b, 0xfb, 0xeb, + 0x16, 0x20, 0xde, 0x8c, 0xc1, 0xb8, 0x51, 0x76, 0x88, 0x95, 0x6a, 0x17, 0x5d, 0x7c, 0x34, 0x29, + 0x08, 0xd6, 0xb0, 0x8e, 0x65, 0x78, 0x12, 0x26, 0x0f, 0xc5, 0xde, 0x26, 0x0f, 0x47, 0x18, 0xd1, + 0x7f, 0x3d, 0x04, 0x49, 0x67, 0x1c, 0x74, 0x07, 0xc6, 0xea, 0x4e, 0xdb, 0xd9, 0x74, 0x9b, 0x6e, + 0xe4, 0x92, 0xb0, 0x9b, 0xad, 0xd4, 0xb2, 0x86, 0x27, 0x94, 0xd4, 0x5a, 0x09, 0x36, 0xe8, 0xa0, + 0x05, 0x80, 0x76, 0xe0, 0xee, 0xb9, 0x4d, 0xb2, 0xcd, 0x64, 0x25, 0xcc, 0x31, 0x9f, 0x1b, 0x00, + 0xc9, 0x52, 0xac, 0x61, 0x64, 0x78, 0x3e, 0x17, 0x1f, 0xb1, 0xe7, 0x33, 0x9c, 0x98, 0xe7, 0xf3, + 0xc0, 0x91, 0x3c, 0x9f, 0x47, 0x8e, 0xec, 0xf9, 0x3c, 0xd8, 0x97, 0xe7, 0x33, 0x86, 0x33, 0x92, + 0xf7, 0xa4, 0xff, 0x57, 0xdd, 0x26, 0x11, 0x0f, 0x0e, 0x1e, 0x4d, 0x60, 0xee, 0xc1, 0xc1, 0xfc, + 0x19, 0x9c, 0x89, 0x81, 0x73, 0x6a, 0xa2, 0x4f, 0xc0, 0xac, 0xd3, 0x6c, 0xfa, 0xf7, 0xd4, 0xa4, + 0xae, 0x84, 0x75, 0xa7, 0xc9, 0x95, 0x10, 0xc3, 0x8c, 0xea, 0x13, 0x0f, 0x0e, 0xe6, 0x67, 0x17, + 0x73, 0x70, 0x70, 0x6e, 0x6d, 0xf4, 0x51, 0x28, 0xb5, 0x03, 0xbf, 0xbe, 0xa6, 0x79, 0x0c, 0x9e, + 0xa7, 0x03, 0x58, 0x95, 0x85, 0x87, 0x07, 0xf3, 0xe3, 0xea, 0x0f, 0xbb, 0xf0, 0xe3, 0x0a, 0x19, + 0xae, 0xcc, 0xa3, 0xc7, 0xea, 0xca, 0xbc, 0x0b, 0x33, 0x35, 0x12, 0xb8, 0x2c, 0xfb, 0x78, 0x23, + 0x3e, 0x9f, 0x36, 0xa0, 0x14, 0x24, 0x4e, 0xe4, 0xbe, 0xe2, 0x2d, 0x6a, 0xc9, 0x07, 0xe4, 0x09, + 0x1c, 0x13, 0xb2, 0xff, 0xa7, 0x05, 0xc3, 0xc2, 0xf9, 0xe6, 0x04, 0xb8, 0xc6, 0x45, 0x43, 0x93, + 0x30, 0x9f, 0x3d, 0x60, 0xac, 0x33, 0xb9, 0x3a, 0x84, 0x4a, 0x42, 0x87, 0xf0, 0x64, 0x37, 0x22, + 0xdd, 0xb5, 0x07, 0x7f, 0xbd, 0x48, 0xb9, 0x77, 0xc3, 0x0d, 0xf4, 0xd1, 0x0f, 0xc1, 0x3a, 0x0c, + 0x87, 0xc2, 0x0d, 0xb1, 0x90, 0x6f, 0x37, 0x9f, 0x9c, 0xc4, 0xd8, 0x8e, 0x4d, 0x38, 0x1e, 0x4a, + 0x22, 0x99, 0xfe, 0x8d, 0xc5, 0x47, 0xe8, 0xdf, 0xd8, 0xcb, 0x51, 0x76, 0xe0, 0x38, 0x1c, 0x65, + 0xed, 0xaf, 0xb2, 0x9b, 0x53, 0x2f, 0x3f, 0x01, 0xa6, 0xea, 0x9a, 0x79, 0xc7, 0xda, 0x5d, 0x56, + 0x96, 0xe8, 0x54, 0x0e, 0x73, 0xf5, 0x0b, 0x16, 0x9c, 0xcb, 0xf8, 0x2a, 0x8d, 0xd3, 0x7a, 0x16, + 0x46, 0x9c, 0x4e, 0xc3, 0x55, 0x7b, 0x59, 0xd3, 0x27, 0x2e, 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x32, + 0x4c, 0x93, 0xfb, 0x6d, 0x97, 0xab, 0x52, 0x75, 0x63, 0xd3, 0x22, 0xf7, 0xd8, 0x5a, 0x49, 0x02, + 0x71, 0x1a, 0x5f, 0x05, 0x27, 0x29, 0xe6, 0x06, 0x27, 0xf9, 0x7b, 0x16, 0x8c, 0x2a, 0x47, 0xbc, + 0x47, 0x3e, 0xda, 0x1f, 0x37, 0x47, 0xfb, 0xf1, 0x2e, 0xa3, 0x9d, 0x33, 0xcc, 0xbf, 0x53, 0x50, + 0xfd, 0xad, 0xfa, 0x41, 0xd4, 0x07, 0x07, 0xf7, 0xf0, 0xe6, 0xf1, 0x57, 0x61, 0xd4, 0x69, 0xb7, + 0x25, 0x40, 0xda, 0xa0, 0xb1, 0xe8, 0xb9, 0x71, 0x31, 0xd6, 0x71, 0x94, 0xb5, 0x7e, 0x31, 0xd7, + 0x5a, 0xbf, 0x01, 0x10, 0x39, 0xc1, 0x36, 0x89, 0x68, 0x99, 0x08, 0x24, 0x96, 0x7f, 0xde, 0x74, + 0x22, 0xb7, 0xb9, 0xe0, 0x7a, 0x51, 0x18, 0x05, 0x0b, 0x15, 0x2f, 0xba, 0x15, 0xf0, 0x27, 0xa4, + 0x16, 0xa9, 0x47, 0xd1, 0xc2, 0x1a, 0x5d, 0xe9, 0x74, 0xce, 0xda, 0x18, 0x34, 0x8d, 0x19, 0xd6, + 0x45, 0x39, 0x56, 0x18, 0xf6, 0x47, 0xd8, 0xed, 0xc3, 0xc6, 0xf4, 0x68, 0xa1, 0x6d, 0xbe, 0x32, + 0xaa, 0x66, 0x83, 0x69, 0x32, 0xcb, 0x7a, 0x00, 0x9d, 0xee, 0x87, 0x3d, 0x6d, 0x58, 0xf7, 0x1d, + 0x8b, 0xa3, 0xec, 0xa0, 0xef, 0x48, 0x19, 0xa8, 0x3c, 0xd7, 0xe3, 0xd6, 0x38, 0x82, 0x49, 0x0a, + 0x4b, 0xa5, 0xc1, 0x12, 0x0d, 0x54, 0xaa, 0x62, 0x5f, 0x68, 0xa9, 0x34, 0x04, 0x00, 0xc7, 0x38, + 0x94, 0x99, 0x52, 0x7f, 0xc2, 0x59, 0x14, 0x87, 0x94, 0x54, 0xd8, 0x21, 0xd6, 0x30, 0xd0, 0x15, + 0x21, 0x50, 0xe0, 0x7a, 0x81, 0xc7, 0x13, 0x02, 0x05, 0x39, 0x5c, 0x9a, 0x14, 0xe8, 0x2a, 0x8c, + 0xaa, 0x6c, 0xba, 0x55, 0x9e, 0xa4, 0x55, 0x2c, 0xb3, 0x95, 0xb8, 0x18, 0xeb, 0x38, 0x68, 0x03, + 0x26, 0x43, 0x2e, 0x67, 0x53, 0x71, 0x7e, 0xb9, 0xbc, 0xf2, 0x83, 0xd2, 0x0a, 0xa8, 0x66, 0x82, + 0x0f, 0x59, 0x11, 0x3f, 0x9d, 0xa4, 0x63, 0x78, 0x92, 0x04, 0x7a, 0x0d, 0x26, 0x9a, 0xbe, 0xd3, + 0x58, 0x72, 0x9a, 0x8e, 0x57, 0x67, 0xe3, 0x33, 0x62, 0x26, 0x65, 0xbc, 0x69, 0x40, 0x71, 0x02, + 0x9b, 0x32, 0x6f, 0x7a, 0x89, 0x88, 0x4d, 0xed, 0x78, 0xdb, 0x24, 0x14, 0xb9, 0x51, 0x19, 0xf3, + 0x76, 0x33, 0x07, 0x07, 0xe7, 0xd6, 0x46, 0x2f, 0xc3, 0x98, 0xfc, 0x7c, 0x2d, 0x8e, 0x42, 0xec, + 0xf8, 0xa0, 0xc1, 0xb0, 0x81, 0x89, 0xee, 0xc1, 0x69, 0xf9, 0x7f, 0x23, 0x70, 0xb6, 0xb6, 0xdc, + 0xba, 0x70, 0x2e, 0xe6, 0x1e, 0x92, 0x8b, 0xd2, 0x8d, 0x6f, 0x25, 0x0b, 0xe9, 0xf0, 0x60, 0xfe, + 0x82, 0x18, 0xb5, 0x4c, 0x38, 0x9b, 0xc4, 0x6c, 0xfa, 0x68, 0x0d, 0x66, 0x76, 0x88, 0xd3, 0x8c, + 0x76, 0x96, 0x77, 0x48, 0x7d, 0x57, 0x6e, 0x3a, 0x16, 0x9d, 0x41, 0x73, 0x17, 0xb8, 0x9e, 0x46, + 0xc1, 0x59, 0xf5, 0xd0, 0x9b, 0x30, 0xdb, 0xee, 0x6c, 0x36, 0xdd, 0x70, 0x67, 0xdd, 0x8f, 0x98, + 0x29, 0x90, 0x4a, 0xce, 0x2b, 0xc2, 0x38, 0xa8, 0xf8, 0x17, 0xd5, 0x1c, 0x3c, 0x9c, 0x4b, 0x01, + 0xbd, 0x0d, 0xa7, 0x13, 0x8b, 0x41, 0x38, 0xb2, 0x4f, 0xe4, 0x47, 0xfa, 0xaf, 0x65, 0x55, 0x10, + 0x31, 0x21, 0xb2, 0x40, 0x38, 0xbb, 0x09, 0xfa, 0xf8, 0xd0, 0x42, 0xab, 0x86, 0xb3, 0x53, 0xb1, + 0xcd, 0xb2, 0x16, 0x7f, 0x35, 0xc4, 0x06, 0x16, 0x7a, 0x05, 0xc0, 0x6d, 0xaf, 0x3a, 0x2d, 0xb7, + 0x49, 0x1f, 0x99, 0x33, 0xac, 0x0e, 0x7d, 0x70, 0x40, 0xa5, 0x2a, 0x4b, 0xe9, 0xa9, 0x2e, 0xfe, + 0xed, 0x63, 0x0d, 0x1b, 0x55, 0x61, 0x42, 0xfc, 0xdb, 0x17, 0x8b, 0x61, 0x5a, 0x79, 0x9a, 0x4f, + 0xc8, 0x1a, 0x6a, 0x05, 0x20, 0xb3, 0x84, 0xcd, 0x79, 0xa2, 0x3e, 0xda, 0x86, 0x73, 0x22, 0xfb, + 0x33, 0xd1, 0x57, 0xb7, 0x9c, 0xbd, 0x90, 0x05, 0xe6, 0x1f, 0xe1, 0x01, 0x64, 0x16, 0xbb, 0x21, + 0xe2, 0xee, 0x74, 0xde, 0x99, 0x05, 0xdc, 0xef, 0x5a, 0xb4, 0xb6, 0xc6, 0x25, 0xa3, 0xcf, 0xc2, + 0x98, 0xbe, 0xe7, 0xc4, 0x8d, 0x7f, 0x29, 0x9b, 0x89, 0xd4, 0xf6, 0x26, 0xe7, 0xb1, 0xd5, 0xfe, + 0xd3, 0x61, 0xd8, 0xa0, 0x88, 0xea, 0x19, 0x6e, 0xd4, 0x57, 0xfa, 0xe3, 0x28, 0xfa, 0x37, 0x00, + 0x23, 0x90, 0xbd, 0xe4, 0xd0, 0x4d, 0x18, 0xa9, 0x37, 0x5d, 0xe2, 0x45, 0x95, 0x6a, 0xb7, 0xc0, + 0x67, 0xcb, 0x02, 0x47, 0xac, 0x61, 0x11, 0xad, 0x9e, 0x97, 0x61, 0x45, 0xc1, 0xfe, 0xf5, 0x02, + 0xcc, 0xf7, 0x48, 0x7d, 0x90, 0x50, 0x07, 0x59, 0x7d, 0xa9, 0x83, 0x16, 0x65, 0xf6, 0xe7, 0xf5, + 0x84, 0xa4, 0x29, 0x91, 0xd9, 0x39, 0x96, 0x37, 0x25, 0xf1, 0xfb, 0x36, 0xcf, 0xd7, 0x35, 0x4a, + 0x03, 0x3d, 0x1d, 0x4c, 0x0c, 0x4d, 0xf2, 0x60, 0xff, 0xcf, 0xcf, 0x5c, 0xad, 0xa0, 0xfd, 0xd5, + 0x02, 0x9c, 0x56, 0x43, 0xf8, 0xad, 0x3b, 0x70, 0xb7, 0xd3, 0x03, 0x77, 0x0c, 0x3a, 0x55, 0xfb, + 0x16, 0x0c, 0xf1, 0x48, 0x6e, 0x7d, 0xb0, 0xbd, 0x17, 0xcd, 0xa0, 0xa7, 0x8a, 0xd3, 0x32, 0x02, + 0x9f, 0x7e, 0xbf, 0x05, 0x93, 0x1b, 0xcb, 0xd5, 0x9a, 0x5f, 0xdf, 0x25, 0xd1, 0x22, 0x7f, 0xa6, + 0x60, 0xcd, 0xe1, 0xf4, 0x61, 0x58, 0xd3, 0x2c, 0xa6, 0xf7, 0x02, 0x0c, 0xec, 0xf8, 0x61, 0x94, + 0x34, 0xb8, 0xb8, 0xee, 0x87, 0x11, 0x66, 0x10, 0xfb, 0xf7, 0x2d, 0x18, 0xdc, 0x70, 0x5c, 0x2f, + 0x92, 0xc2, 0x79, 0x2b, 0x47, 0x38, 0xdf, 0xcf, 0x77, 0xa1, 0x97, 0x60, 0x88, 0x6c, 0x6d, 0x91, + 0x7a, 0x24, 0x66, 0x55, 0x7a, 0xeb, 0x0f, 0xad, 0xb0, 0x52, 0xca, 0x87, 0xb1, 0xc6, 0xf8, 0x5f, + 0x2c, 0x90, 0xd1, 0x5d, 0x28, 0x45, 0x6e, 0x8b, 0x2c, 0x36, 0x1a, 0x42, 0x65, 0xfd, 0x10, 0x11, + 0x07, 0x36, 0x24, 0x01, 0x1c, 0xd3, 0xb2, 0xbf, 0x54, 0x00, 0x88, 0x43, 0xe0, 0xf4, 0xfa, 0xc4, + 0xa5, 0x94, 0x32, 0xf3, 0x52, 0x86, 0x32, 0x13, 0xc5, 0x04, 0x33, 0x34, 0x99, 0x6a, 0x98, 0x8a, + 0x7d, 0x0d, 0xd3, 0xc0, 0x51, 0x86, 0x69, 0x19, 0xa6, 0xe3, 0x10, 0x3e, 0x66, 0x04, 0x33, 0xf6, + 0x34, 0xdd, 0x48, 0x02, 0x71, 0x1a, 0xdf, 0x26, 0x70, 0x41, 0x45, 0x32, 0x11, 0x37, 0x1a, 0xb3, + 0x88, 0xd6, 0x95, 0xc3, 0x3d, 0xc6, 0x29, 0xd6, 0xd6, 0x16, 0x72, 0xb5, 0xb5, 0x3f, 0x65, 0xc1, + 0xa9, 0x64, 0x3b, 0xcc, 0x45, 0xf5, 0x8b, 0x16, 0x9c, 0x66, 0x3a, 0x6b, 0xd6, 0x6a, 0x5a, 0x43, + 0xfe, 0x62, 0xd7, 0xe8, 0x2c, 0x39, 0x3d, 0x8e, 0xc3, 0x42, 0xac, 0x65, 0x91, 0xc6, 0xd9, 0x2d, + 0xda, 0xff, 0xa1, 0x00, 0xb3, 0x79, 0x61, 0x5d, 0x98, 0xc3, 0x84, 0x73, 0xbf, 0xb6, 0x4b, 0xee, + 0x09, 0xb3, 0xf4, 0xd8, 0x61, 0x82, 0x17, 0x63, 0x09, 0x4f, 0x46, 0xb3, 0x2f, 0xf4, 0x19, 0xcd, + 0x7e, 0x07, 0xa6, 0xef, 0xed, 0x10, 0xef, 0xb6, 0x17, 0x3a, 0x91, 0x1b, 0x6e, 0xb9, 0x4c, 0xbf, + 0xcb, 0xd7, 0xcd, 0x2b, 0xd2, 0x78, 0xfc, 0x6e, 0x12, 0xe1, 0xf0, 0x60, 0xfe, 0x9c, 0x51, 0x10, + 0x77, 0x99, 0x1f, 0x24, 0x38, 0x4d, 0x34, 0x9d, 0x0c, 0x60, 0xe0, 0x11, 0x26, 0x03, 0xb0, 0xbf, + 0x68, 0xc1, 0xd9, 0xdc, 0x0c, 0xa4, 0xe8, 0x32, 0x8c, 0x38, 0x6d, 0x97, 0x8b, 0xc8, 0xc5, 0x31, + 0xca, 0x44, 0x31, 0xd5, 0x0a, 0x17, 0x90, 0x2b, 0xa8, 0xca, 0x8c, 0x5e, 0xc8, 0xcd, 0x8c, 0xde, + 0x33, 0xd1, 0xb9, 0xfd, 0x7d, 0x16, 0x08, 0x67, 0xcf, 0x3e, 0xce, 0xee, 0x4f, 0xc1, 0xd8, 0x5e, + 0x3a, 0x61, 0xd0, 0x85, 0x7c, 0xef, 0x57, 0x91, 0x26, 0x48, 0x31, 0x64, 0x46, 0x72, 0x20, 0x83, + 0x96, 0xdd, 0x00, 0x01, 0x2d, 0x13, 0x26, 0x00, 0xee, 0xdd, 0x9b, 0xe7, 0x01, 0x1a, 0x0c, 0x57, + 0x4b, 0x2f, 0xaf, 0x6e, 0xe6, 0xb2, 0x82, 0x60, 0x0d, 0xcb, 0xfe, 0xb7, 0x05, 0x18, 0x95, 0x09, + 0x6a, 0x3a, 0x5e, 0x3f, 0x62, 0x9a, 0x23, 0x65, 0xac, 0xa4, 0xaf, 0x78, 0x26, 0x47, 0xac, 0xc6, + 0xd2, 0x2d, 0xf5, 0x8a, 0x5f, 0x93, 0x00, 0x1c, 0xe3, 0xd0, 0x5d, 0x14, 0x76, 0x36, 0x19, 0x7a, + 0xc2, 0x35, 0xb1, 0xc6, 0x8b, 0xb1, 0x84, 0xa3, 0x4f, 0xc0, 0x14, 0xaf, 0x17, 0xf8, 0x6d, 0x67, + 0x9b, 0xeb, 0x1e, 0x06, 0x55, 0x4c, 0x81, 0xa9, 0xb5, 0x04, 0xec, 0xf0, 0x60, 0xfe, 0x54, 0xb2, + 0x8c, 0x29, 0xd5, 0x52, 0x54, 0x98, 0x89, 0x11, 0x6f, 0x84, 0xee, 0xfe, 0x94, 0x65, 0x52, 0x0c, + 0xc2, 0x3a, 0x9e, 0xfd, 0x59, 0x40, 0xe9, 0x54, 0x3d, 0xe8, 0x75, 0x6e, 0x57, 0xea, 0x06, 0xa4, + 0xd1, 0x4d, 0xc9, 0xa6, 0x7b, 0xce, 0x4b, 0xaf, 0x22, 0x5e, 0x0b, 0xab, 0xfa, 0xf6, 0xff, 0x5b, + 0x84, 0xa9, 0xa4, 0x1f, 0x35, 0xba, 0x0e, 0x43, 0x9c, 0xf5, 0x10, 0xe4, 0xbb, 0xd8, 0x70, 0x68, + 0xde, 0xd7, 0xec, 0x10, 0x16, 0xdc, 0x8b, 0xa8, 0x8f, 0xde, 0x84, 0xd1, 0x86, 0x7f, 0xcf, 0xbb, + 0xe7, 0x04, 0x8d, 0xc5, 0x6a, 0x45, 0x2c, 0xe7, 0xcc, 0x47, 0x65, 0x39, 0x46, 0xd3, 0x3d, 0xba, + 0x99, 0xbe, 0x32, 0x06, 0x61, 0x9d, 0x1c, 0xda, 0x60, 0xf1, 0xbd, 0xb7, 0xdc, 0xed, 0x35, 0xa7, + 0xdd, 0xcd, 0xc9, 0x60, 0x59, 0x22, 0x69, 0x94, 0xc7, 0x45, 0x10, 0x70, 0x0e, 0xc0, 0x31, 0x21, + 0xf4, 0x79, 0x98, 0x09, 0x73, 0x44, 0xdd, 0x79, 0x99, 0xdb, 0xba, 0x49, 0x7f, 0x97, 0x1e, 0xa3, + 0xcf, 0xfd, 0x2c, 0xa1, 0x78, 0x56, 0x33, 0xf6, 0x8f, 0x9d, 0x02, 0x63, 0x13, 0x1b, 0x89, 0x3c, + 0xad, 0x63, 0x4a, 0xe4, 0x89, 0x61, 0x84, 0xb4, 0xda, 0xd1, 0x7e, 0xd9, 0x0d, 0xba, 0xa5, 0xb7, + 0x5e, 0x11, 0x38, 0x69, 0x9a, 0x12, 0x82, 0x15, 0x9d, 0xec, 0x6c, 0xab, 0xc5, 0x6f, 0x60, 0xb6, + 0xd5, 0x81, 0x13, 0xcc, 0xb6, 0xba, 0x0e, 0xc3, 0xdb, 0x6e, 0x84, 0x49, 0xdb, 0x17, 0x4c, 0x7f, + 0xe6, 0x3a, 0xbc, 0xc6, 0x51, 0xd2, 0x79, 0xfd, 0x04, 0x00, 0x4b, 0x22, 0xe8, 0x75, 0xb5, 0x03, + 0x87, 0xf2, 0x1f, 0xe6, 0x69, 0x63, 0x83, 0xcc, 0x3d, 0x28, 0x72, 0xaa, 0x0e, 0x3f, 0x6c, 0x4e, + 0xd5, 0x55, 0x99, 0x09, 0x75, 0x24, 0xdf, 0x23, 0x88, 0x25, 0x3a, 0xed, 0x91, 0xff, 0xf4, 0x8e, + 0x9e, 0x3d, 0xb6, 0x94, 0x7f, 0x12, 0xa8, 0xc4, 0xb0, 0x7d, 0xe6, 0x8c, 0xfd, 0x3e, 0x0b, 0x4e, + 0xb7, 0xb3, 0x12, 0x29, 0x0b, 0xbd, 0xfc, 0x4b, 0x7d, 0xe7, 0x6a, 0x36, 0x1a, 0x64, 0xf2, 0xac, + 0x4c, 0x34, 0x9c, 0xdd, 0x1c, 0x1d, 0xe8, 0x60, 0xb3, 0x21, 0xf4, 0xc3, 0x17, 0x73, 0x92, 0xcf, + 0x76, 0x49, 0x39, 0xbb, 0x91, 0x91, 0xe8, 0xf4, 0xfd, 0x79, 0x89, 0x4e, 0xfb, 0x4e, 0x6f, 0xfa, + 0xba, 0x4a, 0x3b, 0x3b, 0x9e, 0xbf, 0x94, 0x78, 0x52, 0xd9, 0x9e, 0xc9, 0x66, 0x5f, 0x57, 0xc9, + 0x66, 0xbb, 0x04, 0x6f, 0xe5, 0xa9, 0x64, 0x7b, 0xa6, 0x98, 0xd5, 0xd2, 0xc4, 0x4e, 0x1e, 0x4f, + 0x9a, 0x58, 0xe3, 0xaa, 0xe1, 0x99, 0x4a, 0x9f, 0xe9, 0x71, 0xd5, 0x18, 0x74, 0xbb, 0x5f, 0x36, + 0x3c, 0x25, 0xee, 0xf4, 0x43, 0xa5, 0xc4, 0xbd, 0xa3, 0xa7, 0x98, 0x45, 0x3d, 0x72, 0xa8, 0x52, + 0xa4, 0x3e, 0x13, 0xcb, 0xde, 0xd1, 0x2f, 0xc0, 0x99, 0x7c, 0xba, 0xea, 0x9e, 0x4b, 0xd3, 0xcd, + 0xbc, 0x02, 0x53, 0x09, 0x6b, 0x4f, 0x9d, 0x4c, 0xc2, 0xda, 0xd3, 0xc7, 0x9e, 0xb0, 0xf6, 0xcc, + 0x09, 0x24, 0xac, 0x7d, 0xec, 0x04, 0x13, 0xd6, 0xde, 0x61, 0xc6, 0x2c, 0x3c, 0x64, 0x8e, 0x08, + 0x36, 0x9b, 0x1d, 0xd8, 0x34, 0x2b, 0xae, 0x0e, 0xff, 0x38, 0x05, 0xc2, 0x31, 0xa9, 0x8c, 0x44, + 0xb8, 0xb3, 0x8f, 0x20, 0x11, 0xee, 0x7a, 0x9c, 0x08, 0xf7, 0x6c, 0xfe, 0x54, 0x67, 0xb8, 0x3f, + 0xe4, 0xa4, 0xbf, 0xbd, 0xa3, 0xa7, 0xad, 0x7d, 0xbc, 0x8b, 0xc6, 0x22, 0x4b, 0xf0, 0xd8, 0x25, + 0x59, 0xed, 0x6b, 0x3c, 0x59, 0xed, 0x13, 0xf9, 0x27, 0x79, 0xf2, 0xba, 0x33, 0x52, 0xd4, 0xd2, + 0x7e, 0xa9, 0xb0, 0x86, 0x2c, 0xac, 0x6e, 0x4e, 0xbf, 0x54, 0x5c, 0xc4, 0x74, 0xbf, 0x14, 0x08, + 0xc7, 0xa4, 0xec, 0x1f, 0x28, 0xc0, 0xf9, 0xee, 0xfb, 0x2d, 0x96, 0xa6, 0x56, 0x63, 0x05, 0x6e, + 0x42, 0x9a, 0xca, 0xdf, 0x6c, 0x31, 0x56, 0xdf, 0x51, 0xda, 0xae, 0xc1, 0xb4, 0xf2, 0x9b, 0x68, + 0xba, 0xf5, 0xfd, 0xf5, 0xf8, 0xe5, 0xab, 0x7c, 0xcd, 0x6b, 0x49, 0x04, 0x9c, 0xae, 0x83, 0x16, + 0x61, 0xd2, 0x28, 0xac, 0x94, 0xc5, 0xdb, 0x4c, 0x89, 0x6f, 0x6b, 0x26, 0x18, 0x27, 0xf1, 0xed, + 0x2f, 0x5b, 0xf0, 0x58, 0x4e, 0xa6, 0xb7, 0xbe, 0x83, 0x90, 0x6d, 0xc1, 0x64, 0xdb, 0xac, 0xda, + 0x23, 0x6e, 0xa2, 0x91, 0x4f, 0x4e, 0xf5, 0x35, 0x01, 0xc0, 0x49, 0xa2, 0xf6, 0x5f, 0x58, 0x70, + 0xae, 0xab, 0x21, 0x20, 0xc2, 0x70, 0x66, 0xbb, 0x15, 0x3a, 0xcb, 0x01, 0x69, 0x10, 0x2f, 0x72, + 0x9d, 0x66, 0xad, 0x4d, 0xea, 0x9a, 0x3c, 0x9c, 0x59, 0xd4, 0x5d, 0x5b, 0xab, 0x2d, 0xa6, 0x31, + 0x70, 0x4e, 0x4d, 0xb4, 0x0a, 0x28, 0x0d, 0x11, 0x33, 0xcc, 0x02, 0x34, 0xa7, 0xe9, 0xe1, 0x8c, + 0x1a, 0xe8, 0x23, 0x30, 0xae, 0x0c, 0x0c, 0xb5, 0x19, 0x67, 0x07, 0x3b, 0xd6, 0x01, 0xd8, 0xc4, + 0x5b, 0xba, 0xfc, 0x9b, 0x7f, 0x78, 0xfe, 0x7d, 0xbf, 0xfd, 0x87, 0xe7, 0xdf, 0xf7, 0x7b, 0x7f, + 0x78, 0xfe, 0x7d, 0xdf, 0xf5, 0xe0, 0xbc, 0xf5, 0x9b, 0x0f, 0xce, 0x5b, 0xbf, 0xfd, 0xe0, 0xbc, + 0xf5, 0x7b, 0x0f, 0xce, 0x5b, 0x7f, 0xf0, 0xe0, 0xbc, 0xf5, 0xa5, 0x3f, 0x3a, 0xff, 0xbe, 0x4f, + 0x15, 0xf6, 0xae, 0xfe, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0xf2, 0xc7, 0x88, 0xc7, 0x03, + 0x01, 0x00, } func (m *AWSElasticBlockStoreVolumeSource) Marshal() (dAtA []byte, err error) { @@ -14121,6 +14123,18 @@ func (m *PodAffinityTerm) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.NamespaceSelector != nil { + { + size, err := m.NamespaceSelector.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } i -= len(m.TopologyKey) copy(dAtA[i:], m.TopologyKey) i = encodeVarintGenerated(dAtA, i, uint64(len(m.TopologyKey))) @@ -22111,6 +22125,10 @@ func (m *PodAffinityTerm) Size() (n int) { } l = len(m.TopologyKey) n += 1 + l + sovGenerated(uint64(l)) + if m.NamespaceSelector != nil { + l = m.NamespaceSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -26033,6 +26051,7 @@ func (this *PodAffinityTerm) String() string { `LabelSelector:` + strings.Replace(fmt.Sprintf("%v", this.LabelSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`, `Namespaces:` + fmt.Sprintf("%v", this.Namespaces) + `,`, `TopologyKey:` + fmt.Sprintf("%v", this.TopologyKey) + `,`, + `NamespaceSelector:` + strings.Replace(fmt.Sprintf("%v", this.NamespaceSelector), "LabelSelector", "v1.LabelSelector", 1) + `,`, `}`, }, "") return s @@ -50188,6 +50207,42 @@ func (m *PodAffinityTerm) Unmarshal(dAtA []byte) error { } m.TopologyKey = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NamespaceSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NamespaceSelector == nil { + m.NamespaceSelector = &v1.LabelSelector{} + } + if err := m.NamespaceSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index 57ad1dbeefe3..3a8e0848b7a7 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -3010,8 +3010,10 @@ message PodAffinityTerm { // +optional optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labelSelector = 1; - // namespaces specifies which namespaces the labelSelector applies to (matches against); - // null or empty list means "this pod's namespace" + // namespaces specifies a static list of namespace names that the term applies to. + // The term is applied to the union of the namespaces listed in this field + // and the ones selected by namespaceSelector. + // null or empty namespaces list and null namespaceSelector means "this pod's namespace" // +optional repeated string namespaces = 2; @@ -3021,6 +3023,15 @@ message PodAffinityTerm { // selected pods is running. // Empty topologyKey is not allowed. optional string topologyKey = 3; + + // A label query over the set of namespaces that the term applies to. + // The term is applied to the union of the namespaces selected by this field + // and the ones listed in the namespaces field. + // null selector and null or empty namespaces list means "this pod's namespace". + // An empty selector ({}) matches all namespaces. + // This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector namespaceSelector = 4; } // Pod anti affinity is a group of inter pod anti affinity scheduling rules. diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 9b50b8536d1b..16f0a6ae9ef0 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -2774,8 +2774,10 @@ type PodAffinityTerm struct { // A label query over a set of resources, in this case pods. // +optional LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,1,opt,name=labelSelector"` - // namespaces specifies which namespaces the labelSelector applies to (matches against); - // null or empty list means "this pod's namespace" + // namespaces specifies a static list of namespace names that the term applies to. + // The term is applied to the union of the namespaces listed in this field + // and the ones selected by namespaceSelector. + // null or empty namespaces list and null namespaceSelector means "this pod's namespace" // +optional Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,2,rep,name=namespaces"` // This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching @@ -2784,6 +2786,14 @@ type PodAffinityTerm struct { // selected pods is running. // Empty topologyKey is not allowed. TopologyKey string `json:"topologyKey" protobuf:"bytes,3,opt,name=topologyKey"` + // A label query over the set of namespaces that the term applies to. + // The term is applied to the union of the namespaces selected by this field + // and the ones listed in the namespaces field. + // null selector and null or empty namespaces list means "this pod's namespace". + // An empty selector ({}) matches all namespaces. + // This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled. + // +optional + NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,4,opt,name=namespaceSelector"` } // Node affinity is a group of node affinity scheduling rules. @@ -5625,6 +5635,9 @@ const ( ResourceQuotaScopeNotBestEffort ResourceQuotaScope = "NotBestEffort" // Match all pod objects that have priority class mentioned ResourceQuotaScopePriorityClass ResourceQuotaScope = "PriorityClass" + // Match all pod objects that have cross-namespace pod (anti)affinity mentioned. + // This is an alpha feature enabled by the PodAffinityNamespaceSelector feature flag. + ResourceQuotaScopeCrossNamespacePodAffinity ResourceQuotaScope = "CrossNamespacePodAffinity" ) // ResourceQuotaSpec defines the desired hard limits to enforce for Quota. diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index fe96109f3b3b..3f61078e5005 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1449,10 +1449,11 @@ func (PodAffinity) SwaggerDoc() map[string]string { } var map_PodAffinityTerm = map[string]string{ - "": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running", - "labelSelector": "A label query over a set of resources, in this case pods.", - "namespaces": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\"", - "topologyKey": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.", + "": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running", + "labelSelector": "A label query over a set of resources, in this case pods.", + "namespaces": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "topologyKey": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.", + "namespaceSelector": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.", } func (PodAffinityTerm) SwaggerDoc() map[string]string { diff --git a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go index b868f9ba5b95..ab49ddfaf096 100644 --- a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -3360,6 +3360,11 @@ func (in *PodAffinityTerm) DeepCopyInto(out *PodAffinityTerm) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.NamespaceSelector != nil { + in, out := &in.NamespaceSelector, &out.NamespaceSelector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } return } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json index be2d12834003..cb5084e541fc 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.json @@ -1326,28 +1326,50 @@ "namespaces": [ "416" ], - "topologyKey": "417" + "topologyKey": "417", + "namespaceSelector": { + "matchLabels": { + "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + }, + "matchExpressions": [ + { + "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -2092358209, + "weight": -555161071, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L": "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7" + "73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C": "r-v-3-BO" }, "matchExpressions": [ { - "key": "yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH", - "operator": "DoesNotExist" + "key": "q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L", + "operator": "Exists" } ] }, "namespaces": [ - "424" + "430" ], - "topologyKey": "425" + "topologyKey": "431", + "namespaceSelector": { + "matchLabels": { + "r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y": "w1k8KLu..ly--JM" + }, + "matchExpressions": [ + { + "key": "RT.0zo", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1357,141 +1379,165 @@ { "labelSelector": { "matchLabels": { - "H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0": "8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O" + "FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C": "m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH" }, "matchExpressions": [ { - "key": "I.4_W_-_-7Tp_.---c", + "key": "7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g", "operator": "DoesNotExist" } ] }, "namespaces": [ - "432" + "444" ], - "topologyKey": "433" + "topologyKey": "445", + "namespaceSelector": { + "matchLabels": { + "p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22": "eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p" + }, + "matchExpressions": [ + { + "key": "Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w", + "operator": "In", + "values": [ + "u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1084136601, + "weight": 339079271, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4": "2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l" + "ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o": "Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV" }, "matchExpressions": [ { - "key": "2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t", - "operator": "NotIn", - "values": [ - "Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2" - ] + "key": "3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5", + "operator": "Exists" } ] }, "namespaces": [ - "440" + "458" ], - "topologyKey": "441" + "topologyKey": "459", + "namespaceSelector": { + "matchLabels": { + "E35H__.B_E": "U..u8gwbk" + }, + "matchExpressions": [ + { + "key": "Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "442", + "schedulerName": "466", "tolerations": [ { - "key": "443", - "operator": "Ž彙pg稠氦Ņs", - "value": "444", - "effect": "ưg", - "tolerationSeconds": 7158818521862381855 + "key": "467", + "operator": "ŭʔb'?舍ȃʥx臥]å摞", + "value": "468", + "tolerationSeconds": 3053978290188957517 } ], "hostAliases": [ { - "ip": "445", + "ip": "469", "hostnames": [ - "446" + "470" ] } ], - "priorityClassName": "447", - "priority": 197024033, + "priorityClassName": "471", + "priority": -340583156, "dnsConfig": { "nameservers": [ - "448" + "472" ], "searches": [ - "449" + "473" ], "options": [ { - "name": "450", - "value": "451" + "name": "474", + "value": "475" } ] }, "readinessGates": [ { - "conditionType": "" + "conditionType": "țc£PAÎǨȨ栋" } ], - "runtimeClassName": "452", + "runtimeClassName": "476", "enableServiceLinks": false, - "preemptionPolicy": "礗渶", + "preemptionPolicy": "n{鳻", "overhead": { - "[IŚȆĸsǞÃ+?Ď筌ʨ:": "664" + "隅DžbİEMǶɼ`|褞": "229" }, "topologySpreadConstraints": [ { - "maxSkew": -918148948, - "topologyKey": "453", - "whenUnsatisfiable": "亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc", + "maxSkew": 1486667065, + "topologyKey": "477", + "whenUnsatisfiable": "DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞", "labelSelector": { "matchLabels": { - "cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2": "3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7" + "H_55..--E3_2D-1DW__o_-.k": "7" }, "matchExpressions": [ { - "key": "37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6", - "operator": "DoesNotExist" + "key": "oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b", + "operator": "NotIn", + "values": [ + "H1z..j_.r3--T" + ] } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, "updateStrategy": { - "type": "翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u", + "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -985724127, - "revisionHistoryLimit": 2137111260 + "minReadySeconds": 1750503412, + "revisionHistoryLimit": 128240007 }, "status": { - "currentNumberScheduled": 408491268, - "numberMisscheduled": -1833348558, - "desiredNumberScheduled": 1883709155, - "numberReady": 484752614, - "observedGeneration": 3359608726763190142, - "updatedNumberScheduled": 1401559245, - "numberAvailable": -406189540, - "numberUnavailable": -2095625968, - "collisionCount": 223996911, + "currentNumberScheduled": -900194589, + "numberMisscheduled": 295177820, + "desiredNumberScheduled": 1576197985, + "numberReady": -702578810, + "observedGeneration": -1989254568785172688, + "updatedNumberScheduled": -855944448, + "numberAvailable": -1556190810, + "numberUnavailable": -487001726, + "collisionCount": -2081947001, "conditions": [ { - "type": "Y囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±", - "status": "楗鱶镖喗vȥ倉螆ȨX\u003e,«ɒó", - "lastTransitionTime": "2480-06-05T07:37:49Z", - "reason": "460", - "message": "461" + "type": "薑Ȣ#闬輙怀¹bCũw¼ ǫ", + "status": ":$", + "lastTransitionTime": "2082-11-07T20:44:23Z", + "reason": "484", + "message": "485" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb index 0e125062a89a..95e8d654971c 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml index 5359a92be38b..6a67977b7bc0 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.DaemonSet.yaml @@ -30,8 +30,8 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -985724127 - revisionHistoryLimit: 2137111260 + minReadySeconds: 1750503412 + revisionHistoryLimit: 128240007 selector: matchExpressions: - key: p503---477-49p---o61---4fy--9---7--9-9s-0-u5lj2--10pq-0-7-9-2-0/fP81.-.9Vdx.TB_M-H_5_.t..bG0 @@ -104,14 +104,20 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH + - key: q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L + operator: Exists + matchLabels: + 73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C: r-v-3-BO + namespaceSelector: + matchExpressions: + - key: RT.0zo operator: DoesNotExist matchLabels: - nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L: 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7 + r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y: w1k8KLu..ly--JM namespaces: - - "424" - topologyKey: "425" - weight: -2092358209 + - "430" + topologyKey: "431" + weight: -555161071 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -119,6 +125,12 @@ spec: operator: DoesNotExist matchLabels: p_N-1: O-BZ..6-1.S-B3_.b7 + namespaceSelector: + matchExpressions: + - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 + operator: DoesNotExist + matchLabels: + 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM namespaces: - "416" topologyKey: "417" @@ -127,26 +139,38 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t - operator: NotIn - values: - - Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2 + - key: 3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5 + operator: Exists matchLabels: - 6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4: 2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l + ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o: Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV + namespaceSelector: + matchExpressions: + - key: Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i + operator: Exists + matchLabels: + E35H__.B_E: U..u8gwbk namespaces: - - "440" - topologyKey: "441" - weight: -1084136601 + - "458" + topologyKey: "459" + weight: 339079271 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: I.4_W_-_-7Tp_.---c + - key: 7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g operator: DoesNotExist matchLabels: - H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0: 8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O + FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C: m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH + namespaceSelector: + matchExpressions: + - key: Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w + operator: In + values: + - u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d + matchLabels: + p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22: eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p namespaces: - - "432" - topologyKey: "433" + - "444" + topologyKey: "445" automountServiceAccountToken: false containers: - args: @@ -325,12 +349,12 @@ spec: workingDir: "248" dnsConfig: nameservers: - - "448" + - "472" options: - - name: "450" - value: "451" + - name: "474" + value: "475" searches: - - "449" + - "473" dnsPolicy: '#t(ȗŜŲ&洪y儕l' enableServiceLinks: false ephemeralContainers: @@ -511,8 +535,8 @@ spec: workingDir: "318" hostAliases: - hostnames: - - "446" - ip: "445" + - "470" + ip: "469" hostIPC: true hostNetwork: true hostname: "400" @@ -696,15 +720,15 @@ spec: nodeSelector: "384": "385" overhead: - '[IŚȆĸsǞÃ+?Ď筌ʨ:': "664" - preemptionPolicy: 礗渶 - priority: 197024033 - priorityClassName: "447" + 隅DžbİEMǶɼ`|褞: "229" + preemptionPolicy: n{鳻 + priority: -340583156 + priorityClassName: "471" readinessGates: - - conditionType: "" + - conditionType: țc£PAÎǨȨ栋 restartPolicy: '''呪欼萜õ箘鸰呾顓闉ȦT瑄ǻG' - runtimeClassName: "452" - schedulerName: "442" + runtimeClassName: "476" + schedulerName: "466" securityContext: fsGroup: -4548866432246561416 fsGroupChangePolicy: Ð扬 @@ -730,26 +754,27 @@ spec: runAsUserName: "395" serviceAccount: "387" serviceAccountName: "386" - setHostnameAsFQDN: true + setHostnameAsFQDN: false shareProcessNamespace: false subdomain: "401" terminationGracePeriodSeconds: -155552760352472950 tolerations: - - effect: ưg - key: "443" - operator: Ž彙pg稠氦Ņs - tolerationSeconds: 7158818521862381855 - value: "444" + - key: "467" + operator: ŭʔb'?舍ȃʥx臥]å摞 + tolerationSeconds: 3053978290188957517 + value: "468" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6 - operator: DoesNotExist + - key: oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b + operator: NotIn + values: + - H1z..j_.r3--T matchLabels: - cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2: 3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7 - maxSkew: -918148948 - topologyKey: "453" - whenUnsatisfiable: 亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc + H_55..--E3_2D-1DW__o_-.k: "7" + maxSkew: 1486667065 + topologyKey: "477" + whenUnsatisfiable: DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞 volumes: - awsElasticBlockStore: fsType: "47" @@ -1006,20 +1031,20 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: 翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u + type: șa汸<ƋlɋN磋镮ȺPÈ status: - collisionCount: 223996911 + collisionCount: -2081947001 conditions: - - lastTransitionTime: "2480-06-05T07:37:49Z" - message: "461" - reason: "460" - status: 楗鱶镖喗vȥ倉螆ȨX>,«ɒó - type: Y囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ± - currentNumberScheduled: 408491268 - desiredNumberScheduled: 1883709155 - numberAvailable: -406189540 - numberMisscheduled: -1833348558 - numberReady: 484752614 - numberUnavailable: -2095625968 - observedGeneration: 3359608726763190142 - updatedNumberScheduled: 1401559245 + - lastTransitionTime: "2082-11-07T20:44:23Z" + message: "485" + reason: "484" + status: :$ + type: 薑Ȣ#闬輙怀¹bCũw¼ ǫ + currentNumberScheduled: -900194589 + desiredNumberScheduled: 1576197985 + numberAvailable: -1556190810 + numberMisscheduled: 295177820 + numberReady: -702578810 + numberUnavailable: -487001726 + observedGeneration: -1989254568785172688 + updatedNumberScheduled: -855944448 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json index c4355bde5b95..73b5ea741717 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1468,33 +1518,33 @@ } }, "strategy": { - "type": "xʚ=5谠vÐ仆dždĄ跞肞", + "type": "周藢烡Z树Ȁ謁", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -1934555365, - "revisionHistoryLimit": -1189243539, - "progressDeadlineSeconds": -1510243221 + "minReadySeconds": -59186930, + "revisionHistoryLimit": -1552013182, + "progressDeadlineSeconds": -1489341847 }, "status": { - "observedGeneration": 8090469215987662586, - "replicas": 782219862, - "updatedReplicas": 1380163777, - "readyReplicas": 877113289, - "availableReplicas": -1172851921, - "unavailableReplicas": -763028101, + "observedGeneration": -2332090839308115724, + "replicas": -524542843, + "updatedReplicas": 1697527023, + "readyReplicas": -194384924, + "availableReplicas": -1758862804, + "unavailableReplicas": -78446609, "conditions": [ { - "type": "ʤY囙邵鄨o鷺ɷ裝TG奟cõ乨", - "status": "íEd楗鱶镖喗vȥ倉螆ȨX\u003e", - "lastUpdateTime": "2792-08-11T23:40:18Z", - "lastTransitionTime": "2151-08-19T18:24:00Z", - "reason": "459", - "message": "460" + "type": "$R\"}łfÐ@.ȇʟɃ咇", + "status": "輷東t½ǩ £tMǍ}箼愆+P;抣", + "lastUpdateTime": "2068-08-23T03:26:39Z", + "lastTransitionTime": "2814-04-03T03:21:18Z", + "reason": "483", + "message": "484" } ], - "collisionCount": -73034396 + "collisionCount": -346883331 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb index d391cb5d1647..e735e0963e12 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml index 0606d49a488d..634a2b8aa3a9 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.Deployment.yaml @@ -30,10 +30,10 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1934555365 - progressDeadlineSeconds: -1510243221 + minReadySeconds: -59186930 + progressDeadlineSeconds: -1489341847 replicas: 896585016 - revisionHistoryLimit: -1189243539 + revisionHistoryLimit: -1552013182 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -44,7 +44,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: xʚ=5谠vÐ仆dždĄ跞肞 + type: 周藢烡Z树Ȁ謁 template: metadata: annotations: @@ -109,15 +109,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -125,6 +131,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -133,26 +147,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -331,12 +360,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -518,8 +547,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -703,15 +732,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -742,21 +771,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1012,17 +1041,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -1172851921 - collisionCount: -73034396 + availableReplicas: -1758862804 + collisionCount: -346883331 conditions: - - lastTransitionTime: "2151-08-19T18:24:00Z" - lastUpdateTime: "2792-08-11T23:40:18Z" - message: "460" - reason: "459" - status: íEd楗鱶镖喗vȥ倉螆ȨX> - type: ʤY囙邵鄨o鷺ɷ裝TG奟cõ乨 - observedGeneration: 8090469215987662586 - readyReplicas: 877113289 - replicas: 782219862 - unavailableReplicas: -763028101 - updatedReplicas: 1380163777 + - lastTransitionTime: "2814-04-03T03:21:18Z" + lastUpdateTime: "2068-08-23T03:26:39Z" + message: "484" + reason: "483" + status: 輷東t½ǩ £tMǍ}箼愆+P;抣 + type: $R"}łfÐ@.ȇʟɃ咇 + observedGeneration: -2332090839308115724 + readyReplicas: -194384924 + replicas: -524542843 + unavailableReplicas: -78446609 + updatedReplicas: 1697527023 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json index 21d21d3dd95a..ef69b246e367 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.json @@ -1325,31 +1325,53 @@ "namespaces": [ "412" ], - "topologyKey": "413" + "topologyKey": "413", + "namespaceSelector": { + "matchLabels": { + "p_._.-miJ4s": "0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1" + }, + "matchExpressions": [ + { + "key": "1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1387858949, + "weight": -1731963575, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "y_-3_L_2--_v2.5p_6": "u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q" + "v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z": "jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4" }, "matchExpressions": [ { - "key": "3--51", - "operator": "NotIn", - "values": [ - "C.-e16-O5" - ] + "key": "wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2", + "operator": "Exists" } ] }, "namespaces": [ - "420" + "426" ], - "topologyKey": "421" + "topologyKey": "427", + "namespaceSelector": { + "matchLabels": { + "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr": "5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4" + }, + "matchExpressions": [ + { + "key": "L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP", + "operator": "In", + "values": [ + "7-.-_I-F.Pt" + ] + } + ] + } } } ] @@ -1359,109 +1381,131 @@ { "labelSelector": { "matchLabels": { - "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + "aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345": "y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP" }, "matchExpressions": [ { - "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", - "operator": "DoesNotExist" + "key": "O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o", + "operator": "Exists" } ] }, "namespaces": [ - "428" + "440" ], - "topologyKey": "429" + "topologyKey": "441", + "namespaceSelector": { + "matchLabels": { + "bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8": "8_2v89U--8.3N_.n1.--.._-x4" + }, + "matchExpressions": [ + { + "key": "7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C", + "operator": "NotIn", + "values": [ + "0--_qv4--_.6_N_9X-B.s8.B" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -824709210, + "weight": -1832836223, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j": "O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p" + "BQ.9-_.m7-Q____vSW_4-__h": "w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj" }, "matchExpressions": [ { - "key": "H72-_--pT7p", - "operator": "NotIn", - "values": [ - "0_._f" - ] + "key": "dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A", + "operator": "Exists" } ] }, "namespaces": [ - "436" + "454" ], - "topologyKey": "437" + "topologyKey": "455", + "namespaceSelector": { + "matchLabels": { + "8.7-72qz.W.d.._1-3968": "G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO" + }, + "matchExpressions": [ + { + "key": "006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W", + "operator": "NotIn", + "values": [ + "z87_2---2.E.p9-.-3.__a.bl_--..-A" + ] + } + ] + } } } ] } }, - "schedulerName": "438", + "schedulerName": "462", "tolerations": [ { - "key": "439", - "operator": "ƞ=掔廛ĤJŇv膈ǣʛsĊ剞", - "value": "440", - "effect": "Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻(", - "tolerationSeconds": 5238971742940252651 + "key": "463", + "operator": "Ü", + "value": "464", + "effect": "貛香\"砻B鷋RȽXv*!ɝ茀Ǩ", + "tolerationSeconds": 8594241010639209901 } ], "hostAliases": [ { - "ip": "441", + "ip": "465", "hostnames": [ - "442" + "466" ] } ], - "priorityClassName": "443", - "priority": -125022959, + "priorityClassName": "467", + "priority": 878153992, "dnsConfig": { "nameservers": [ - "444" + "468" ], "searches": [ - "445" + "469" ], "options": [ { - "name": "446", - "value": "447" + "name": "470", + "value": "471" } ] }, "readinessGates": [ { - "conditionType": "Ɍ邪鳖üzÁ" + "conditionType": "=ȑ-A敲ʉ" } ], - "runtimeClassName": "448", + "runtimeClassName": "472", "enableServiceLinks": false, - "preemptionPolicy": ".Ą", + "preemptionPolicy": "梊蝴.Ĉ马āƭw鰕ǰ\"șa", "overhead": { - "ɨ悪@黝Ɓ": "177" + "\u003cƋlɋN磋镮ȺPÈɥ偁髕ģƗ": "283" }, "topologySpreadConstraints": [ { - "maxSkew": -1569123121, - "topologyKey": "449", - "whenUnsatisfiable": "魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥", + "maxSkew": -702578810, + "topologyKey": "473", + "whenUnsatisfiable": "Ž氮怉ƥ;\"薑Ȣ#闬輙怀¹bCũw", "labelSelector": { "matchLabels": { - "4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G": "8-c_C.G.h--m.f" + "N-_.F": "09z2" }, "matchExpressions": [ { - "key": "OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA", - "operator": "NotIn", - "values": [ - "7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8" - ] + "key": "z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0", + "operator": "DoesNotExist" } ] } @@ -1472,18 +1516,18 @@ } }, "status": { - "replicas": 337922430, - "fullyLabeledReplicas": 31486357, - "readyReplicas": -1983654895, - "availableReplicas": 1308809900, - "observedGeneration": -5594148640067537624, + "replicas": 432535745, + "fullyLabeledReplicas": 2073220944, + "readyReplicas": -141868138, + "availableReplicas": -1324418171, + "observedGeneration": -5431516755862952643, "conditions": [ { - "type": "议ĪS", - "status": "?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\\k%橳", - "lastTransitionTime": "2125-04-24T12:13:40Z", - "reason": "456", - "message": "457" + "type": "ƻ舁Ȁ贠ȇö匉a揘O 籇", + "status": "楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ", + "lastTransitionTime": "2169-06-15T23:50:17Z", + "reason": "480", + "message": "481" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb index a819a81d8a51..2d47e567c495 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml index c2bab763278a..cabecec115a5 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.ReplicaSet.yaml @@ -104,16 +104,22 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3--51 - operator: NotIn + - key: wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2 + operator: Exists + matchLabels: + v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z: jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4 + namespaceSelector: + matchExpressions: + - key: L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP + operator: In values: - - C.-e16-O5 + - 7-.-_I-F.Pt matchLabels: - y_-3_L_2--_v2.5p_6: u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q + 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr: 5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4 namespaces: - - "420" - topologyKey: "421" - weight: 1387858949 + - "426" + topologyKey: "427" + weight: -1731963575 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -121,6 +127,12 @@ spec: operator: DoesNotExist matchLabels: a-z_-..6W.VKs: "1" + namespaceSelector: + matchExpressions: + - key: 1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9 + operator: DoesNotExist + matchLabels: + p_._.-miJ4s: 0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1 namespaces: - "412" topologyKey: "413" @@ -129,26 +141,40 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: H72-_--pT7p + - key: dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A + operator: Exists + matchLabels: + BQ.9-_.m7-Q____vSW_4-__h: w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj + namespaceSelector: + matchExpressions: + - key: 006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W operator: NotIn values: - - 0_._f + - z87_2---2.E.p9-.-3.__a.bl_--..-A matchLabels: - O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j: O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p + 8.7-72qz.W.d.._1-3968: G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO namespaces: - - "436" - topologyKey: "437" - weight: -824709210 + - "454" + topologyKey: "455" + weight: -1832836223 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 - operator: DoesNotExist + - key: O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o + operator: Exists + matchLabels: + aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345: y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP + namespaceSelector: + matchExpressions: + - key: 7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C + operator: NotIn + values: + - 0--_qv4--_.6_N_9X-B.s8.B matchLabels: - 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM + bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8: 8_2v89U--8.3N_.n1.--.._-x4 namespaces: - - "428" - topologyKey: "429" + - "440" + topologyKey: "441" automountServiceAccountToken: true containers: - args: @@ -327,12 +353,12 @@ spec: workingDir: "247" dnsConfig: nameservers: - - "444" + - "468" options: - - name: "446" - value: "447" + - name: "470" + value: "471" searches: - - "445" + - "469" enableServiceLinks: false ephemeralContainers: - args: @@ -513,8 +539,8 @@ spec: workingDir: "314" hostAliases: - hostnames: - - "442" - ip: "441" + - "466" + ip: "465" hostname: "396" imagePullSecrets: - name: "395" @@ -697,15 +723,15 @@ spec: nodeSelector: "380": "381" overhead: - ɨ悪@黝Ɓ: "177" - preemptionPolicy: .Ą - priority: -125022959 - priorityClassName: "443" + <ƋlɋN磋镮ȺPÈɥ偁髕ģƗ: "283" + preemptionPolicy: 梊蝴.Ĉ马āƭw鰕ǰ"șa + priority: 878153992 + priorityClassName: "467" readinessGates: - - conditionType: Ɍ邪鳖üzÁ + - conditionType: =ȑ-A敲ʉ restartPolicy: 嵞嬯t{Eɾ敹Ȯ-湷D谹 - runtimeClassName: "448" - schedulerName: "438" + runtimeClassName: "472" + schedulerName: "462" securityContext: fsGroup: -3029419263270634763 fsGroupChangePolicy: ?jĎĭ¥#ƱÁR»淹揀. @@ -736,23 +762,21 @@ spec: subdomain: "397" terminationGracePeriodSeconds: -2985049970189992560 tolerations: - - effect: Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻( - key: "439" - operator: ƞ=掔廛ĤJŇv膈ǣʛsĊ剞 - tolerationSeconds: 5238971742940252651 - value: "440" + - effect: 貛香"砻B鷋RȽXv*!ɝ茀Ǩ + key: "463" + operator: Ü + tolerationSeconds: 8594241010639209901 + value: "464" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA - operator: NotIn - values: - - 7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8 + - key: z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0 + operator: DoesNotExist matchLabels: - 4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G: 8-c_C.G.h--m.f - maxSkew: -1569123121 - topologyKey: "449" - whenUnsatisfiable: 魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥 + N-_.F: 09z2 + maxSkew: -702578810 + topologyKey: "473" + whenUnsatisfiable: Ž氮怉ƥ;"薑Ȣ#闬輙怀¹bCũw volumes: - awsElasticBlockStore: fsType: "47" @@ -1004,14 +1028,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: 1308809900 + availableReplicas: -1324418171 conditions: - - lastTransitionTime: "2125-04-24T12:13:40Z" - message: "457" - reason: "456" - status: ?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\k%橳 - type: 议ĪS - fullyLabeledReplicas: 31486357 - observedGeneration: -5594148640067537624 - readyReplicas: -1983654895 - replicas: 337922430 + - lastTransitionTime: "2169-06-15T23:50:17Z" + message: "481" + reason: "480" + status: 楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ + type: ƻ舁Ȁ贠ȇö匉a揘O 籇 + fullyLabeledReplicas: 2073220944 + observedGeneration: -5431516755862952643 + readyReplicas: -141868138 + replicas: 432535745 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json index dec88c6d69a3..13fc152f0ae4 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1470,126 +1520,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "459", - "generateName": "460", - "namespace": "461", - "selfLink": "462", - "uid": "S誖Śs垦Ȋ髴T唼=`朇c", - "resourceVersion": "8285629342346774721", - "generation": -5107762106575809276, + "name": "483", + "generateName": "484", + "namespace": "485", + "selfLink": "486", + "uid": "0斃搡Cʼn嘡ʇɆȏ+\u0026ɃB沅零ș", + "resourceVersion": "6510253963764562049", + "generation": -2252894353040736578, "creationTimestamp": null, - "deletionGracePeriodSeconds": -6486445241316991261, + "deletionGracePeriodSeconds": -834876888064929876, "labels": { - "464": "465" + "488": "489" }, "annotations": { - "466": "467" + "490": "491" }, "ownerReferences": [ { - "apiVersion": "468", - "kind": "469", - "name": "470", - "uid": "/nēɅĀ埰ʀł!U詨nj1ýǝ", - "controller": true, - "blockOwnerDeletion": false + "apiVersion": "492", + "kind": "493", + "name": "494", + "uid": "\\%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ", + "controller": false, + "blockOwnerDeletion": true } ], "finalizers": [ - "471" + "495" ], - "clusterName": "472", + "clusterName": "496", "managedFields": [ { - "manager": "473", - "operation": "壛ĐíEd楗鱶镖喗vȥ", - "apiVersion": "474", - "fieldsType": "475" + "manager": "497", + "operation": "MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň", + "apiVersion": "498", + "fieldsType": "499" } ] }, "spec": { "accessModes": [ - "Y斩I儑瓔¯" + "V礆á¤拈tY" ], "selector": { "matchLabels": { - "k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5": "8_B-ks7dx" + "PX-.-d4BadE-.1-V...t27-4..7": "l----i_Ii" }, "matchExpressions": [ { - "key": "vUK_-.j21---__y.9O.L-.m.3--4", + "key": "e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4", "operator": "In", "values": [ - "37u-h---dY7_M_-._M52" + "s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7" ] } ] }, "resources": { "limits": { - "涟雒驭堣Qwn:Ʋå譥a超": "19" + "sx羳ıȦjJ綒鷈颿懽]轸Jc'V{": "821" }, "requests": { - "ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ": "368" + "(踶NJđƟ": "357" } }, - "volumeName": "482", - "storageClassName": "483", - "volumeMode": "'降\\4)ȳɍǟm{煰œ憼", + "volumeName": "506", + "storageClassName": "507", + "volumeMode": "穜", "dataSource": { - "apiGroup": "484", - "kind": "485", - "name": "486" + "apiGroup": "508", + "kind": "509", + "name": "510" } }, "status": { - "phase": "ʌ槧ą°Z拕獘:pȚ\\猫ï卒ú", + "phase": "睭憲Ħ焵i,ŋŨNâ", "accessModes": [ - "èƾ竒决瘛Ǫǵ" + "§" ], "capacity": { - "Ǧ澵貛香\"砻B鷋": "578" + "Ǫ魚": "27" }, "conditions": [ { - "type": "|nET¬%ȎdžĤɂR湛", - "status": "WU=ȑ-A敲ʉ2腠梊", - "lastProbeTime": "2230-04-25T02:33:53Z", - "lastTransitionTime": "2843-07-14T02:23:26Z", - "reason": "487", - "message": "488" + "type": "qĖĖȠ姓ȇ\u003e尪", + "status": "t飜ĈȖ董缞濪葷c", + "lastProbeTime": "2398-05-12T06:43:28Z", + "lastTransitionTime": "2943-12-07T17:53:42Z", + "reason": "511", + "message": "512" } ] } } ], - "serviceName": "489", - "podManagementPolicy": "`ŇaƬȿŬ捕|", + "serviceName": "513", + "podManagementPolicy": "5Ë", "updateStrategy": { - "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", + "type": "t谍Ã\u0026榠塹ǜŬɽŌ拭#{", "rollingUpdate": { - "partition": -83826225 + "partition": 199912760 } }, - "revisionHistoryLimit": -1872519086 + "revisionHistoryLimit": -506157639 }, "status": { - "observedGeneration": -3866306318826551410, - "replicas": 1852870468, - "readyReplicas": -1993494670, - "currentReplicas": -463159422, - "updatedReplicas": 463674701, - "currentRevision": "490", - "updateRevision": "491", - "collisionCount": -1556190810, + "observedGeneration": 364197194076938036, + "replicas": 1410850501, + "readyReplicas": -827735561, + "currentReplicas": 1956611085, + "updatedReplicas": 1768089178, + "currentRevision": "514", + "updateRevision": "515", + "collisionCount": -565639840, "conditions": [ { - "type": "ȩ硘(ǒ[", - "status": "闬輙怀¹bCũw¼ ǫđ槴Ċį軠\u003e", - "lastTransitionTime": "2446-08-01T12:34:13Z", - "reason": "492", - "message": "493" + "type": "tyȸɡ[", + "status": "萀灗\u0026Eōɴbȣ瀢璩", + "lastTransitionTime": "2251-02-17T11:59:12Z", + "reason": "516", + "message": "517" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb index 58c131c74d48..4b14400ee065 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml index 5701eb932e34..72c7005e0937 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: '`ŇaƬȿŬ捕|' + podManagementPolicy: 5Ë replicas: 896585016 - revisionHistoryLimit: -1872519086 + revisionHistoryLimit: -506157639 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "489" + serviceName: "513" template: metadata: annotations: @@ -104,15 +104,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -120,6 +126,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -128,26 +142,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -326,12 +355,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -513,8 +542,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -698,15 +727,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -737,21 +766,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1008,87 +1037,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -83826225 - type: șa汸<ƋlɋN磋镮ȺPÈ + partition: 199912760 + type: t谍Ã&榠塹ǜŬɽŌ拭#{ volumeClaimTemplates: - metadata: annotations: - "466": "467" - clusterName: "472" + "490": "491" + clusterName: "496" creationTimestamp: null - deletionGracePeriodSeconds: -6486445241316991261 + deletionGracePeriodSeconds: -834876888064929876 finalizers: - - "471" - generateName: "460" - generation: -5107762106575809276 + - "495" + generateName: "484" + generation: -2252894353040736578 labels: - "464": "465" + "488": "489" managedFields: - - apiVersion: "474" - fieldsType: "475" - manager: "473" - operation: 壛ĐíEd楗鱶镖喗vȥ - name: "459" - namespace: "461" + - apiVersion: "498" + fieldsType: "499" + manager: "497" + operation: MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň + name: "483" + namespace: "485" ownerReferences: - - apiVersion: "468" - blockOwnerDeletion: false - controller: true - kind: "469" - name: "470" - uid: /nēɅĀ埰ʀł!U詨nj1ýǝ - resourceVersion: "8285629342346774721" - selfLink: "462" - uid: S誖Śs垦Ȋ髴T唼=`朇c + - apiVersion: "492" + blockOwnerDeletion: true + controller: false + kind: "493" + name: "494" + uid: \%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ + resourceVersion: "6510253963764562049" + selfLink: "486" + uid: 0斃搡Cʼn嘡ʇɆȏ+&ɃB沅零ș spec: accessModes: - - Y斩I儑瓔¯ + - V礆á¤拈tY dataSource: - apiGroup: "484" - kind: "485" - name: "486" + apiGroup: "508" + kind: "509" + name: "510" resources: limits: - 涟雒驭堣Qwn:Ʋå譥a超: "19" + sx羳ıȦjJ綒鷈颿懽]轸Jc'V{: "821" requests: - ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ: "368" + (踶NJđƟ: "357" selector: matchExpressions: - - key: vUK_-.j21---__y.9O.L-.m.3--4 + - key: e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4 operator: In values: - - 37u-h---dY7_M_-._M52 + - s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7 matchLabels: - ? k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5 - : 8_B-ks7dx - storageClassName: "483" - volumeMode: '''降\4)ȳɍǟm{煰œ憼' - volumeName: "482" + PX-.-d4BadE-.1-V...t27-4..7: l----i_Ii + storageClassName: "507" + volumeMode: 穜 + volumeName: "506" status: accessModes: - - èƾ竒决瘛Ǫǵ + - § capacity: - Ǧ澵貛香"砻B鷋: "578" + Ǫ魚: "27" conditions: - - lastProbeTime: "2230-04-25T02:33:53Z" - lastTransitionTime: "2843-07-14T02:23:26Z" - message: "488" - reason: "487" - status: WU=ȑ-A敲ʉ2腠梊 - type: '|nET¬%ȎdžĤɂR湛' - phase: ʌ槧ą°Z拕獘:pȚ\猫ï卒ú + - lastProbeTime: "2398-05-12T06:43:28Z" + lastTransitionTime: "2943-12-07T17:53:42Z" + message: "512" + reason: "511" + status: t飜ĈȖ董缞濪葷c + type: qĖĖȠ姓ȇ>尪 + phase: 睭憲Ħ焵i,ŋŨNâ status: - collisionCount: -1556190810 + collisionCount: -565639840 conditions: - - lastTransitionTime: "2446-08-01T12:34:13Z" - message: "493" - reason: "492" - status: 闬輙怀¹bCũw¼ ǫđ槴Ċį軠> - type: ȩ硘(ǒ[ - currentReplicas: -463159422 - currentRevision: "490" - observedGeneration: -3866306318826551410 - readyReplicas: -1993494670 - replicas: 1852870468 - updateRevision: "491" - updatedReplicas: 463674701 + - lastTransitionTime: "2251-02-17T11:59:12Z" + message: "517" + reason: "516" + status: 萀灗&Eōɴbȣ瀢璩 + type: tyȸɡ[ + currentReplicas: 1956611085 + currentRevision: "514" + observedGeneration: 364197194076938036 + readyReplicas: -827735561 + replicas: 1410850501 + updateRevision: "515" + updatedReplicas: 1768089178 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json index b6be11c2c017..ce935828ff8b 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1468,36 +1518,36 @@ } }, "strategy": { - "type": "xʚ=5谠vÐ仆dždĄ跞肞", + "type": "周藢烡Z树Ȁ謁", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -1934555365, - "revisionHistoryLimit": -1189243539, + "minReadySeconds": -59186930, + "revisionHistoryLimit": -1552013182, "rollbackTo": { - "revision": -7874172095994035093 + "revision": 2617808240737153641 }, - "progressDeadlineSeconds": 484752614 + "progressDeadlineSeconds": 1872617698 }, "status": { - "observedGeneration": 3359608726763190142, - "replicas": 1401559245, - "updatedReplicas": -406189540, - "readyReplicas": -2095625968, - "availableReplicas": -303330375, - "unavailableReplicas": 584721644, + "observedGeneration": -2252894353040736578, + "replicas": -274917863, + "updatedReplicas": -944451668, + "readyReplicas": 1371521704, + "availableReplicas": 1084489079, + "unavailableReplicas": -730503981, "conditions": [ { - "type": "ʀł!", - "status": "o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ6", - "lastUpdateTime": "2096-03-01T11:48:47Z", - "lastTransitionTime": "2035-01-21T08:11:33Z", - "reason": "459", - "message": "460" + "type": "傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½", + "status": "n坾\u0026Pɫ(ʙÆ", + "lastUpdateTime": "2310-01-11T15:23:07Z", + "lastTransitionTime": "2921-01-30T02:07:21Z", + "reason": "483", + "message": "484" } ], - "collisionCount": 2099542463 + "collisionCount": -836297709 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb index be498b1196a5..c9d540346ff3 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml index 2fd7da45b1b6..a894886643a3 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.Deployment.yaml @@ -30,12 +30,12 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1934555365 - progressDeadlineSeconds: 484752614 + minReadySeconds: -59186930 + progressDeadlineSeconds: 1872617698 replicas: 896585016 - revisionHistoryLimit: -1189243539 + revisionHistoryLimit: -1552013182 rollbackTo: - revision: -7874172095994035093 + revision: 2617808240737153641 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -46,7 +46,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: xʚ=5谠vÐ仆dždĄ跞肞 + type: 周藢烡Z树Ȁ謁 template: metadata: annotations: @@ -111,15 +111,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -127,6 +133,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -135,26 +149,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -333,12 +362,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -520,8 +549,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -705,15 +734,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -744,21 +773,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1014,17 +1043,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -303330375 - collisionCount: 2099542463 + availableReplicas: 1084489079 + collisionCount: -836297709 conditions: - - lastTransitionTime: "2035-01-21T08:11:33Z" - lastUpdateTime: "2096-03-01T11:48:47Z" - message: "460" - reason: "459" - status: o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ6 - type: ʀł! - observedGeneration: 3359608726763190142 - readyReplicas: -2095625968 - replicas: 1401559245 - unavailableReplicas: 584721644 - updatedReplicas: -406189540 + - lastTransitionTime: "2921-01-30T02:07:21Z" + lastUpdateTime: "2310-01-11T15:23:07Z" + message: "484" + reason: "483" + status: n坾&Pɫ(ʙÆ + type: 傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ + observedGeneration: -2252894353040736578 + readyReplicas: 1371521704 + replicas: -274917863 + unavailableReplicas: -730503981 + updatedReplicas: -944451668 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json index a3b8b0be878c..e6ca294c3003 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1470,126 +1520,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "459", - "generateName": "460", - "namespace": "461", - "selfLink": "462", - "uid": "S誖Śs垦Ȋ髴T唼=`朇c", - "resourceVersion": "8285629342346774721", - "generation": -5107762106575809276, + "name": "483", + "generateName": "484", + "namespace": "485", + "selfLink": "486", + "uid": "0斃搡Cʼn嘡ʇɆȏ+\u0026ɃB沅零ș", + "resourceVersion": "6510253963764562049", + "generation": -2252894353040736578, "creationTimestamp": null, - "deletionGracePeriodSeconds": -6486445241316991261, + "deletionGracePeriodSeconds": -834876888064929876, "labels": { - "464": "465" + "488": "489" }, "annotations": { - "466": "467" + "490": "491" }, "ownerReferences": [ { - "apiVersion": "468", - "kind": "469", - "name": "470", - "uid": "/nēɅĀ埰ʀł!U詨nj1ýǝ", - "controller": true, - "blockOwnerDeletion": false + "apiVersion": "492", + "kind": "493", + "name": "494", + "uid": "\\%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ", + "controller": false, + "blockOwnerDeletion": true } ], "finalizers": [ - "471" + "495" ], - "clusterName": "472", + "clusterName": "496", "managedFields": [ { - "manager": "473", - "operation": "壛ĐíEd楗鱶镖喗vȥ", - "apiVersion": "474", - "fieldsType": "475" + "manager": "497", + "operation": "MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň", + "apiVersion": "498", + "fieldsType": "499" } ] }, "spec": { "accessModes": [ - "Y斩I儑瓔¯" + "V礆á¤拈tY" ], "selector": { "matchLabels": { - "k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5": "8_B-ks7dx" + "PX-.-d4BadE-.1-V...t27-4..7": "l----i_Ii" }, "matchExpressions": [ { - "key": "vUK_-.j21---__y.9O.L-.m.3--4", + "key": "e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4", "operator": "In", "values": [ - "37u-h---dY7_M_-._M52" + "s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7" ] } ] }, "resources": { "limits": { - "涟雒驭堣Qwn:Ʋå譥a超": "19" + "sx羳ıȦjJ綒鷈颿懽]轸Jc'V{": "821" }, "requests": { - "ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ": "368" + "(踶NJđƟ": "357" } }, - "volumeName": "482", - "storageClassName": "483", - "volumeMode": "'降\\4)ȳɍǟm{煰œ憼", + "volumeName": "506", + "storageClassName": "507", + "volumeMode": "穜", "dataSource": { - "apiGroup": "484", - "kind": "485", - "name": "486" + "apiGroup": "508", + "kind": "509", + "name": "510" } }, "status": { - "phase": "ʌ槧ą°Z拕獘:pȚ\\猫ï卒ú", + "phase": "睭憲Ħ焵i,ŋŨNâ", "accessModes": [ - "èƾ竒决瘛Ǫǵ" + "§" ], "capacity": { - "Ǧ澵貛香\"砻B鷋": "578" + "Ǫ魚": "27" }, "conditions": [ { - "type": "|nET¬%ȎdžĤɂR湛", - "status": "WU=ȑ-A敲ʉ2腠梊", - "lastProbeTime": "2230-04-25T02:33:53Z", - "lastTransitionTime": "2843-07-14T02:23:26Z", - "reason": "487", - "message": "488" + "type": "qĖĖȠ姓ȇ\u003e尪", + "status": "t飜ĈȖ董缞濪葷c", + "lastProbeTime": "2398-05-12T06:43:28Z", + "lastTransitionTime": "2943-12-07T17:53:42Z", + "reason": "511", + "message": "512" } ] } } ], - "serviceName": "489", - "podManagementPolicy": "`ŇaƬȿŬ捕|", + "serviceName": "513", + "podManagementPolicy": "5Ë", "updateStrategy": { - "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", + "type": "t谍Ã\u0026榠塹ǜŬɽŌ拭#{", "rollingUpdate": { - "partition": -83826225 + "partition": 199912760 } }, - "revisionHistoryLimit": -1872519086 + "revisionHistoryLimit": -506157639 }, "status": { - "observedGeneration": 4142968120221896284, - "replicas": 1576197985, - "readyReplicas": -702578810, - "currentReplicas": 1539090224, - "updatedReplicas": -855944448, - "currentRevision": "490", - "updateRevision": "491", - "collisionCount": 1955001098, + "observedGeneration": 2100470955518965372, + "replicas": -24672617, + "readyReplicas": -1853819642, + "currentReplicas": 1828682905, + "updatedReplicas": 870669277, + "currentRevision": "514", + "updateRevision": "515", + "collisionCount": -1525880366, "conditions": [ { - "type": ";\"薑Ȣ#闬輙怀¹bCũw¼ ǫđ槴Ċ", - "status": "觇ƒ幦ų勏Y9=ȳB鼲糰E", - "lastTransitionTime": "2209-03-11T07:19:12Z", - "reason": "492", - "message": "493" + "type": "囵敪KʄS萀灗\u0026", + "status": "受Äeć鮪L\u003e寄撴", + "lastTransitionTime": "2424-05-22T16:12:05Z", + "reason": "516", + "message": "517" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb index 2ffb0c3a8151..8085589874f0 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml index 5f019d402dcc..d8583c337353 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta1.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: '`ŇaƬȿŬ捕|' + podManagementPolicy: 5Ë replicas: 896585016 - revisionHistoryLimit: -1872519086 + revisionHistoryLimit: -506157639 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "489" + serviceName: "513" template: metadata: annotations: @@ -104,15 +104,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -120,6 +126,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -128,26 +142,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -326,12 +355,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -513,8 +542,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -698,15 +727,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -737,21 +766,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1008,87 +1037,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -83826225 - type: șa汸<ƋlɋN磋镮ȺPÈ + partition: 199912760 + type: t谍Ã&榠塹ǜŬɽŌ拭#{ volumeClaimTemplates: - metadata: annotations: - "466": "467" - clusterName: "472" + "490": "491" + clusterName: "496" creationTimestamp: null - deletionGracePeriodSeconds: -6486445241316991261 + deletionGracePeriodSeconds: -834876888064929876 finalizers: - - "471" - generateName: "460" - generation: -5107762106575809276 + - "495" + generateName: "484" + generation: -2252894353040736578 labels: - "464": "465" + "488": "489" managedFields: - - apiVersion: "474" - fieldsType: "475" - manager: "473" - operation: 壛ĐíEd楗鱶镖喗vȥ - name: "459" - namespace: "461" + - apiVersion: "498" + fieldsType: "499" + manager: "497" + operation: MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň + name: "483" + namespace: "485" ownerReferences: - - apiVersion: "468" - blockOwnerDeletion: false - controller: true - kind: "469" - name: "470" - uid: /nēɅĀ埰ʀł!U詨nj1ýǝ - resourceVersion: "8285629342346774721" - selfLink: "462" - uid: S誖Śs垦Ȋ髴T唼=`朇c + - apiVersion: "492" + blockOwnerDeletion: true + controller: false + kind: "493" + name: "494" + uid: \%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ + resourceVersion: "6510253963764562049" + selfLink: "486" + uid: 0斃搡Cʼn嘡ʇɆȏ+&ɃB沅零ș spec: accessModes: - - Y斩I儑瓔¯ + - V礆á¤拈tY dataSource: - apiGroup: "484" - kind: "485" - name: "486" + apiGroup: "508" + kind: "509" + name: "510" resources: limits: - 涟雒驭堣Qwn:Ʋå譥a超: "19" + sx羳ıȦjJ綒鷈颿懽]轸Jc'V{: "821" requests: - ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ: "368" + (踶NJđƟ: "357" selector: matchExpressions: - - key: vUK_-.j21---__y.9O.L-.m.3--4 + - key: e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4 operator: In values: - - 37u-h---dY7_M_-._M52 + - s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7 matchLabels: - ? k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5 - : 8_B-ks7dx - storageClassName: "483" - volumeMode: '''降\4)ȳɍǟm{煰œ憼' - volumeName: "482" + PX-.-d4BadE-.1-V...t27-4..7: l----i_Ii + storageClassName: "507" + volumeMode: 穜 + volumeName: "506" status: accessModes: - - èƾ竒决瘛Ǫǵ + - § capacity: - Ǧ澵貛香"砻B鷋: "578" + Ǫ魚: "27" conditions: - - lastProbeTime: "2230-04-25T02:33:53Z" - lastTransitionTime: "2843-07-14T02:23:26Z" - message: "488" - reason: "487" - status: WU=ȑ-A敲ʉ2腠梊 - type: '|nET¬%ȎdžĤɂR湛' - phase: ʌ槧ą°Z拕獘:pȚ\猫ï卒ú + - lastProbeTime: "2398-05-12T06:43:28Z" + lastTransitionTime: "2943-12-07T17:53:42Z" + message: "512" + reason: "511" + status: t飜ĈȖ董缞濪葷c + type: qĖĖȠ姓ȇ>尪 + phase: 睭憲Ħ焵i,ŋŨNâ status: - collisionCount: 1955001098 + collisionCount: -1525880366 conditions: - - lastTransitionTime: "2209-03-11T07:19:12Z" - message: "493" - reason: "492" - status: 觇ƒ幦ų勏Y9=ȳB鼲糰E - type: ;"薑Ȣ#闬輙怀¹bCũw¼ ǫđ槴Ċ - currentReplicas: 1539090224 - currentRevision: "490" - observedGeneration: 4142968120221896284 - readyReplicas: -702578810 - replicas: 1576197985 - updateRevision: "491" - updatedReplicas: -855944448 + - lastTransitionTime: "2424-05-22T16:12:05Z" + message: "517" + reason: "516" + status: 受Äeć鮪L>寄撴 + type: 囵敪KʄS萀灗& + currentReplicas: 1828682905 + currentRevision: "514" + observedGeneration: 2100470955518965372 + readyReplicas: -1853819642 + replicas: -24672617 + updateRevision: "515" + updatedReplicas: 870669277 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json index 6457e8d64da9..4a0b16109bfe 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.json @@ -1326,28 +1326,50 @@ "namespaces": [ "416" ], - "topologyKey": "417" + "topologyKey": "417", + "namespaceSelector": { + "matchLabels": { + "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + }, + "matchExpressions": [ + { + "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -2092358209, + "weight": -555161071, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L": "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7" + "73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C": "r-v-3-BO" }, "matchExpressions": [ { - "key": "yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH", - "operator": "DoesNotExist" + "key": "q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L", + "operator": "Exists" } ] }, "namespaces": [ - "424" + "430" ], - "topologyKey": "425" + "topologyKey": "431", + "namespaceSelector": { + "matchLabels": { + "r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y": "w1k8KLu..ly--JM" + }, + "matchExpressions": [ + { + "key": "RT.0zo", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1357,141 +1379,165 @@ { "labelSelector": { "matchLabels": { - "H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0": "8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O" + "FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C": "m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH" }, "matchExpressions": [ { - "key": "I.4_W_-_-7Tp_.---c", + "key": "7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g", "operator": "DoesNotExist" } ] }, "namespaces": [ - "432" + "444" ], - "topologyKey": "433" + "topologyKey": "445", + "namespaceSelector": { + "matchLabels": { + "p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22": "eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p" + }, + "matchExpressions": [ + { + "key": "Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w", + "operator": "In", + "values": [ + "u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1084136601, + "weight": 339079271, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4": "2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l" + "ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o": "Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV" }, "matchExpressions": [ { - "key": "2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t", - "operator": "NotIn", - "values": [ - "Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2" - ] + "key": "3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5", + "operator": "Exists" } ] }, "namespaces": [ - "440" + "458" ], - "topologyKey": "441" + "topologyKey": "459", + "namespaceSelector": { + "matchLabels": { + "E35H__.B_E": "U..u8gwbk" + }, + "matchExpressions": [ + { + "key": "Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "442", + "schedulerName": "466", "tolerations": [ { - "key": "443", - "operator": "Ž彙pg稠氦Ņs", - "value": "444", - "effect": "ưg", - "tolerationSeconds": 7158818521862381855 + "key": "467", + "operator": "ŭʔb'?舍ȃʥx臥]å摞", + "value": "468", + "tolerationSeconds": 3053978290188957517 } ], "hostAliases": [ { - "ip": "445", + "ip": "469", "hostnames": [ - "446" + "470" ] } ], - "priorityClassName": "447", - "priority": 197024033, + "priorityClassName": "471", + "priority": -340583156, "dnsConfig": { "nameservers": [ - "448" + "472" ], "searches": [ - "449" + "473" ], "options": [ { - "name": "450", - "value": "451" + "name": "474", + "value": "475" } ] }, "readinessGates": [ { - "conditionType": "" + "conditionType": "țc£PAÎǨȨ栋" } ], - "runtimeClassName": "452", + "runtimeClassName": "476", "enableServiceLinks": false, - "preemptionPolicy": "礗渶", + "preemptionPolicy": "n{鳻", "overhead": { - "[IŚȆĸsǞÃ+?Ď筌ʨ:": "664" + "隅DžbİEMǶɼ`|褞": "229" }, "topologySpreadConstraints": [ { - "maxSkew": -918148948, - "topologyKey": "453", - "whenUnsatisfiable": "亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc", + "maxSkew": 1486667065, + "topologyKey": "477", + "whenUnsatisfiable": "DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞", "labelSelector": { "matchLabels": { - "cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2": "3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7" + "H_55..--E3_2D-1DW__o_-.k": "7" }, "matchExpressions": [ { - "key": "37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6", - "operator": "DoesNotExist" + "key": "oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b", + "operator": "NotIn", + "values": [ + "H1z..j_.r3--T" + ] } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, "updateStrategy": { - "type": "翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u", + "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -985724127, - "revisionHistoryLimit": 2137111260 + "minReadySeconds": 1750503412, + "revisionHistoryLimit": 128240007 }, "status": { - "currentNumberScheduled": 408491268, - "numberMisscheduled": -1833348558, - "desiredNumberScheduled": 1883709155, - "numberReady": 484752614, - "observedGeneration": 3359608726763190142, - "updatedNumberScheduled": 1401559245, - "numberAvailable": -406189540, - "numberUnavailable": -2095625968, - "collisionCount": 223996911, + "currentNumberScheduled": -900194589, + "numberMisscheduled": 295177820, + "desiredNumberScheduled": 1576197985, + "numberReady": -702578810, + "observedGeneration": -1989254568785172688, + "updatedNumberScheduled": -855944448, + "numberAvailable": -1556190810, + "numberUnavailable": -487001726, + "collisionCount": -2081947001, "conditions": [ { - "type": "Y囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±", - "status": "楗鱶镖喗vȥ倉螆ȨX\u003e,«ɒó", - "lastTransitionTime": "2480-06-05T07:37:49Z", - "reason": "460", - "message": "461" + "type": "薑Ȣ#闬輙怀¹bCũw¼ ǫ", + "status": ":$", + "lastTransitionTime": "2082-11-07T20:44:23Z", + "reason": "484", + "message": "485" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb index 9d25068d7580..dd8d0a60e749 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml index 251a695867e5..2e8e02733e13 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.DaemonSet.yaml @@ -30,8 +30,8 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -985724127 - revisionHistoryLimit: 2137111260 + minReadySeconds: 1750503412 + revisionHistoryLimit: 128240007 selector: matchExpressions: - key: p503---477-49p---o61---4fy--9---7--9-9s-0-u5lj2--10pq-0-7-9-2-0/fP81.-.9Vdx.TB_M-H_5_.t..bG0 @@ -104,14 +104,20 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH + - key: q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L + operator: Exists + matchLabels: + 73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C: r-v-3-BO + namespaceSelector: + matchExpressions: + - key: RT.0zo operator: DoesNotExist matchLabels: - nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L: 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7 + r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y: w1k8KLu..ly--JM namespaces: - - "424" - topologyKey: "425" - weight: -2092358209 + - "430" + topologyKey: "431" + weight: -555161071 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -119,6 +125,12 @@ spec: operator: DoesNotExist matchLabels: p_N-1: O-BZ..6-1.S-B3_.b7 + namespaceSelector: + matchExpressions: + - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 + operator: DoesNotExist + matchLabels: + 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM namespaces: - "416" topologyKey: "417" @@ -127,26 +139,38 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t - operator: NotIn - values: - - Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2 + - key: 3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5 + operator: Exists matchLabels: - 6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4: 2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l + ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o: Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV + namespaceSelector: + matchExpressions: + - key: Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i + operator: Exists + matchLabels: + E35H__.B_E: U..u8gwbk namespaces: - - "440" - topologyKey: "441" - weight: -1084136601 + - "458" + topologyKey: "459" + weight: 339079271 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: I.4_W_-_-7Tp_.---c + - key: 7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g operator: DoesNotExist matchLabels: - H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0: 8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O + FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C: m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH + namespaceSelector: + matchExpressions: + - key: Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w + operator: In + values: + - u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d + matchLabels: + p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22: eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p namespaces: - - "432" - topologyKey: "433" + - "444" + topologyKey: "445" automountServiceAccountToken: false containers: - args: @@ -325,12 +349,12 @@ spec: workingDir: "248" dnsConfig: nameservers: - - "448" + - "472" options: - - name: "450" - value: "451" + - name: "474" + value: "475" searches: - - "449" + - "473" dnsPolicy: '#t(ȗŜŲ&洪y儕l' enableServiceLinks: false ephemeralContainers: @@ -511,8 +535,8 @@ spec: workingDir: "318" hostAliases: - hostnames: - - "446" - ip: "445" + - "470" + ip: "469" hostIPC: true hostNetwork: true hostname: "400" @@ -696,15 +720,15 @@ spec: nodeSelector: "384": "385" overhead: - '[IŚȆĸsǞÃ+?Ď筌ʨ:': "664" - preemptionPolicy: 礗渶 - priority: 197024033 - priorityClassName: "447" + 隅DžbİEMǶɼ`|褞: "229" + preemptionPolicy: n{鳻 + priority: -340583156 + priorityClassName: "471" readinessGates: - - conditionType: "" + - conditionType: țc£PAÎǨȨ栋 restartPolicy: '''呪欼萜õ箘鸰呾顓闉ȦT瑄ǻG' - runtimeClassName: "452" - schedulerName: "442" + runtimeClassName: "476" + schedulerName: "466" securityContext: fsGroup: -4548866432246561416 fsGroupChangePolicy: Ð扬 @@ -730,26 +754,27 @@ spec: runAsUserName: "395" serviceAccount: "387" serviceAccountName: "386" - setHostnameAsFQDN: true + setHostnameAsFQDN: false shareProcessNamespace: false subdomain: "401" terminationGracePeriodSeconds: -155552760352472950 tolerations: - - effect: ưg - key: "443" - operator: Ž彙pg稠氦Ņs - tolerationSeconds: 7158818521862381855 - value: "444" + - key: "467" + operator: ŭʔb'?舍ȃʥx臥]å摞 + tolerationSeconds: 3053978290188957517 + value: "468" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6 - operator: DoesNotExist + - key: oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b + operator: NotIn + values: + - H1z..j_.r3--T matchLabels: - cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2: 3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7 - maxSkew: -918148948 - topologyKey: "453" - whenUnsatisfiable: 亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc + H_55..--E3_2D-1DW__o_-.k: "7" + maxSkew: 1486667065 + topologyKey: "477" + whenUnsatisfiable: DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞 volumes: - awsElasticBlockStore: fsType: "47" @@ -1006,20 +1031,20 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: 翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u + type: șa汸<ƋlɋN磋镮ȺPÈ status: - collisionCount: 223996911 + collisionCount: -2081947001 conditions: - - lastTransitionTime: "2480-06-05T07:37:49Z" - message: "461" - reason: "460" - status: 楗鱶镖喗vȥ倉螆ȨX>,«ɒó - type: Y囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ± - currentNumberScheduled: 408491268 - desiredNumberScheduled: 1883709155 - numberAvailable: -406189540 - numberMisscheduled: -1833348558 - numberReady: 484752614 - numberUnavailable: -2095625968 - observedGeneration: 3359608726763190142 - updatedNumberScheduled: 1401559245 + - lastTransitionTime: "2082-11-07T20:44:23Z" + message: "485" + reason: "484" + status: :$ + type: 薑Ȣ#闬輙怀¹bCũw¼ ǫ + currentNumberScheduled: -900194589 + desiredNumberScheduled: 1576197985 + numberAvailable: -1556190810 + numberMisscheduled: 295177820 + numberReady: -702578810 + numberUnavailable: -487001726 + observedGeneration: -1989254568785172688 + updatedNumberScheduled: -855944448 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json index d3a8b3cb6e31..b9635bd6eb64 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1468,33 +1518,33 @@ } }, "strategy": { - "type": "xʚ=5谠vÐ仆dždĄ跞肞", + "type": "周藢烡Z树Ȁ謁", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -1934555365, - "revisionHistoryLimit": -1189243539, - "progressDeadlineSeconds": -1510243221 + "minReadySeconds": -59186930, + "revisionHistoryLimit": -1552013182, + "progressDeadlineSeconds": -1489341847 }, "status": { - "observedGeneration": 8090469215987662586, - "replicas": 782219862, - "updatedReplicas": 1380163777, - "readyReplicas": 877113289, - "availableReplicas": -1172851921, - "unavailableReplicas": -763028101, + "observedGeneration": -2332090839308115724, + "replicas": -524542843, + "updatedReplicas": 1697527023, + "readyReplicas": -194384924, + "availableReplicas": -1758862804, + "unavailableReplicas": -78446609, "conditions": [ { - "type": "ʤY囙邵鄨o鷺ɷ裝TG奟cõ乨", - "status": "íEd楗鱶镖喗vȥ倉螆ȨX\u003e", - "lastUpdateTime": "2792-08-11T23:40:18Z", - "lastTransitionTime": "2151-08-19T18:24:00Z", - "reason": "459", - "message": "460" + "type": "$R\"}łfÐ@.ȇʟɃ咇", + "status": "輷東t½ǩ £tMǍ}箼愆+P;抣", + "lastUpdateTime": "2068-08-23T03:26:39Z", + "lastTransitionTime": "2814-04-03T03:21:18Z", + "reason": "483", + "message": "484" } ], - "collisionCount": -73034396 + "collisionCount": -346883331 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb index e0b9610c34c2..d72433dd748d 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml index 6218a7e6c368..dba00e427734 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.Deployment.yaml @@ -30,10 +30,10 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1934555365 - progressDeadlineSeconds: -1510243221 + minReadySeconds: -59186930 + progressDeadlineSeconds: -1489341847 replicas: 896585016 - revisionHistoryLimit: -1189243539 + revisionHistoryLimit: -1552013182 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -44,7 +44,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: xʚ=5谠vÐ仆dždĄ跞肞 + type: 周藢烡Z树Ȁ謁 template: metadata: annotations: @@ -109,15 +109,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -125,6 +131,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -133,26 +147,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -331,12 +360,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -518,8 +547,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -703,15 +732,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -742,21 +771,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1012,17 +1041,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -1172851921 - collisionCount: -73034396 + availableReplicas: -1758862804 + collisionCount: -346883331 conditions: - - lastTransitionTime: "2151-08-19T18:24:00Z" - lastUpdateTime: "2792-08-11T23:40:18Z" - message: "460" - reason: "459" - status: íEd楗鱶镖喗vȥ倉螆ȨX> - type: ʤY囙邵鄨o鷺ɷ裝TG奟cõ乨 - observedGeneration: 8090469215987662586 - readyReplicas: 877113289 - replicas: 782219862 - unavailableReplicas: -763028101 - updatedReplicas: 1380163777 + - lastTransitionTime: "2814-04-03T03:21:18Z" + lastUpdateTime: "2068-08-23T03:26:39Z" + message: "484" + reason: "483" + status: 輷東t½ǩ £tMǍ}箼愆+P;抣 + type: $R"}łfÐ@.ȇʟɃ咇 + observedGeneration: -2332090839308115724 + readyReplicas: -194384924 + replicas: -524542843 + unavailableReplicas: -78446609 + updatedReplicas: 1697527023 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json index 0a57fe706793..1fff0dff275b 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.json @@ -1325,31 +1325,53 @@ "namespaces": [ "412" ], - "topologyKey": "413" + "topologyKey": "413", + "namespaceSelector": { + "matchLabels": { + "p_._.-miJ4s": "0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1" + }, + "matchExpressions": [ + { + "key": "1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1387858949, + "weight": -1731963575, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "y_-3_L_2--_v2.5p_6": "u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q" + "v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z": "jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4" }, "matchExpressions": [ { - "key": "3--51", - "operator": "NotIn", - "values": [ - "C.-e16-O5" - ] + "key": "wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2", + "operator": "Exists" } ] }, "namespaces": [ - "420" + "426" ], - "topologyKey": "421" + "topologyKey": "427", + "namespaceSelector": { + "matchLabels": { + "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr": "5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4" + }, + "matchExpressions": [ + { + "key": "L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP", + "operator": "In", + "values": [ + "7-.-_I-F.Pt" + ] + } + ] + } } } ] @@ -1359,109 +1381,131 @@ { "labelSelector": { "matchLabels": { - "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + "aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345": "y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP" }, "matchExpressions": [ { - "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", - "operator": "DoesNotExist" + "key": "O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o", + "operator": "Exists" } ] }, "namespaces": [ - "428" + "440" ], - "topologyKey": "429" + "topologyKey": "441", + "namespaceSelector": { + "matchLabels": { + "bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8": "8_2v89U--8.3N_.n1.--.._-x4" + }, + "matchExpressions": [ + { + "key": "7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C", + "operator": "NotIn", + "values": [ + "0--_qv4--_.6_N_9X-B.s8.B" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -824709210, + "weight": -1832836223, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j": "O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p" + "BQ.9-_.m7-Q____vSW_4-__h": "w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj" }, "matchExpressions": [ { - "key": "H72-_--pT7p", - "operator": "NotIn", - "values": [ - "0_._f" - ] + "key": "dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A", + "operator": "Exists" } ] }, "namespaces": [ - "436" + "454" ], - "topologyKey": "437" + "topologyKey": "455", + "namespaceSelector": { + "matchLabels": { + "8.7-72qz.W.d.._1-3968": "G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO" + }, + "matchExpressions": [ + { + "key": "006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W", + "operator": "NotIn", + "values": [ + "z87_2---2.E.p9-.-3.__a.bl_--..-A" + ] + } + ] + } } } ] } }, - "schedulerName": "438", + "schedulerName": "462", "tolerations": [ { - "key": "439", - "operator": "ƞ=掔廛ĤJŇv膈ǣʛsĊ剞", - "value": "440", - "effect": "Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻(", - "tolerationSeconds": 5238971742940252651 + "key": "463", + "operator": "Ü", + "value": "464", + "effect": "貛香\"砻B鷋RȽXv*!ɝ茀Ǩ", + "tolerationSeconds": 8594241010639209901 } ], "hostAliases": [ { - "ip": "441", + "ip": "465", "hostnames": [ - "442" + "466" ] } ], - "priorityClassName": "443", - "priority": -125022959, + "priorityClassName": "467", + "priority": 878153992, "dnsConfig": { "nameservers": [ - "444" + "468" ], "searches": [ - "445" + "469" ], "options": [ { - "name": "446", - "value": "447" + "name": "470", + "value": "471" } ] }, "readinessGates": [ { - "conditionType": "Ɍ邪鳖üzÁ" + "conditionType": "=ȑ-A敲ʉ" } ], - "runtimeClassName": "448", + "runtimeClassName": "472", "enableServiceLinks": false, - "preemptionPolicy": ".Ą", + "preemptionPolicy": "梊蝴.Ĉ马āƭw鰕ǰ\"șa", "overhead": { - "ɨ悪@黝Ɓ": "177" + "\u003cƋlɋN磋镮ȺPÈɥ偁髕ģƗ": "283" }, "topologySpreadConstraints": [ { - "maxSkew": -1569123121, - "topologyKey": "449", - "whenUnsatisfiable": "魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥", + "maxSkew": -702578810, + "topologyKey": "473", + "whenUnsatisfiable": "Ž氮怉ƥ;\"薑Ȣ#闬輙怀¹bCũw", "labelSelector": { "matchLabels": { - "4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G": "8-c_C.G.h--m.f" + "N-_.F": "09z2" }, "matchExpressions": [ { - "key": "OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA", - "operator": "NotIn", - "values": [ - "7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8" - ] + "key": "z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0", + "operator": "DoesNotExist" } ] } @@ -1472,18 +1516,18 @@ } }, "status": { - "replicas": 337922430, - "fullyLabeledReplicas": 31486357, - "readyReplicas": -1983654895, - "availableReplicas": 1308809900, - "observedGeneration": -5594148640067537624, + "replicas": 432535745, + "fullyLabeledReplicas": 2073220944, + "readyReplicas": -141868138, + "availableReplicas": -1324418171, + "observedGeneration": -5431516755862952643, "conditions": [ { - "type": "议ĪS", - "status": "?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\\k%橳", - "lastTransitionTime": "2125-04-24T12:13:40Z", - "reason": "456", - "message": "457" + "type": "ƻ舁Ȁ贠ȇö匉a揘O 籇", + "status": "楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ", + "lastTransitionTime": "2169-06-15T23:50:17Z", + "reason": "480", + "message": "481" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb index d723c352e0fc..230bcaf0b7be 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml index f8fecda99095..32b157a19705 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.ReplicaSet.yaml @@ -104,16 +104,22 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3--51 - operator: NotIn + - key: wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2 + operator: Exists + matchLabels: + v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z: jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4 + namespaceSelector: + matchExpressions: + - key: L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP + operator: In values: - - C.-e16-O5 + - 7-.-_I-F.Pt matchLabels: - y_-3_L_2--_v2.5p_6: u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q + 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr: 5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4 namespaces: - - "420" - topologyKey: "421" - weight: 1387858949 + - "426" + topologyKey: "427" + weight: -1731963575 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -121,6 +127,12 @@ spec: operator: DoesNotExist matchLabels: a-z_-..6W.VKs: "1" + namespaceSelector: + matchExpressions: + - key: 1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9 + operator: DoesNotExist + matchLabels: + p_._.-miJ4s: 0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1 namespaces: - "412" topologyKey: "413" @@ -129,26 +141,40 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: H72-_--pT7p + - key: dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A + operator: Exists + matchLabels: + BQ.9-_.m7-Q____vSW_4-__h: w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj + namespaceSelector: + matchExpressions: + - key: 006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W operator: NotIn values: - - 0_._f + - z87_2---2.E.p9-.-3.__a.bl_--..-A matchLabels: - O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j: O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p + 8.7-72qz.W.d.._1-3968: G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO namespaces: - - "436" - topologyKey: "437" - weight: -824709210 + - "454" + topologyKey: "455" + weight: -1832836223 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 - operator: DoesNotExist + - key: O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o + operator: Exists + matchLabels: + aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345: y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP + namespaceSelector: + matchExpressions: + - key: 7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C + operator: NotIn + values: + - 0--_qv4--_.6_N_9X-B.s8.B matchLabels: - 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM + bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8: 8_2v89U--8.3N_.n1.--.._-x4 namespaces: - - "428" - topologyKey: "429" + - "440" + topologyKey: "441" automountServiceAccountToken: true containers: - args: @@ -327,12 +353,12 @@ spec: workingDir: "247" dnsConfig: nameservers: - - "444" + - "468" options: - - name: "446" - value: "447" + - name: "470" + value: "471" searches: - - "445" + - "469" enableServiceLinks: false ephemeralContainers: - args: @@ -513,8 +539,8 @@ spec: workingDir: "314" hostAliases: - hostnames: - - "442" - ip: "441" + - "466" + ip: "465" hostname: "396" imagePullSecrets: - name: "395" @@ -697,15 +723,15 @@ spec: nodeSelector: "380": "381" overhead: - ɨ悪@黝Ɓ: "177" - preemptionPolicy: .Ą - priority: -125022959 - priorityClassName: "443" + <ƋlɋN磋镮ȺPÈɥ偁髕ģƗ: "283" + preemptionPolicy: 梊蝴.Ĉ马āƭw鰕ǰ"șa + priority: 878153992 + priorityClassName: "467" readinessGates: - - conditionType: Ɍ邪鳖üzÁ + - conditionType: =ȑ-A敲ʉ restartPolicy: 嵞嬯t{Eɾ敹Ȯ-湷D谹 - runtimeClassName: "448" - schedulerName: "438" + runtimeClassName: "472" + schedulerName: "462" securityContext: fsGroup: -3029419263270634763 fsGroupChangePolicy: ?jĎĭ¥#ƱÁR»淹揀. @@ -736,23 +762,21 @@ spec: subdomain: "397" terminationGracePeriodSeconds: -2985049970189992560 tolerations: - - effect: Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻( - key: "439" - operator: ƞ=掔廛ĤJŇv膈ǣʛsĊ剞 - tolerationSeconds: 5238971742940252651 - value: "440" + - effect: 貛香"砻B鷋RȽXv*!ɝ茀Ǩ + key: "463" + operator: Ü + tolerationSeconds: 8594241010639209901 + value: "464" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA - operator: NotIn - values: - - 7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8 + - key: z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0 + operator: DoesNotExist matchLabels: - 4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G: 8-c_C.G.h--m.f - maxSkew: -1569123121 - topologyKey: "449" - whenUnsatisfiable: 魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥 + N-_.F: 09z2 + maxSkew: -702578810 + topologyKey: "473" + whenUnsatisfiable: Ž氮怉ƥ;"薑Ȣ#闬輙怀¹bCũw volumes: - awsElasticBlockStore: fsType: "47" @@ -1004,14 +1028,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: 1308809900 + availableReplicas: -1324418171 conditions: - - lastTransitionTime: "2125-04-24T12:13:40Z" - message: "457" - reason: "456" - status: ?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\k%橳 - type: 议ĪS - fullyLabeledReplicas: 31486357 - observedGeneration: -5594148640067537624 - readyReplicas: -1983654895 - replicas: 337922430 + - lastTransitionTime: "2169-06-15T23:50:17Z" + message: "481" + reason: "480" + status: 楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ + type: ƻ舁Ȁ贠ȇö匉a揘O 籇 + fullyLabeledReplicas: 2073220944 + observedGeneration: -5431516755862952643 + readyReplicas: -141868138 + replicas: 432535745 diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json index 561de79478a0..eb272c19eb6d 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1470,126 +1520,126 @@ "volumeClaimTemplates": [ { "metadata": { - "name": "459", - "generateName": "460", - "namespace": "461", - "selfLink": "462", - "uid": "S誖Śs垦Ȋ髴T唼=`朇c", - "resourceVersion": "8285629342346774721", - "generation": -5107762106575809276, + "name": "483", + "generateName": "484", + "namespace": "485", + "selfLink": "486", + "uid": "0斃搡Cʼn嘡ʇɆȏ+\u0026ɃB沅零ș", + "resourceVersion": "6510253963764562049", + "generation": -2252894353040736578, "creationTimestamp": null, - "deletionGracePeriodSeconds": -6486445241316991261, + "deletionGracePeriodSeconds": -834876888064929876, "labels": { - "464": "465" + "488": "489" }, "annotations": { - "466": "467" + "490": "491" }, "ownerReferences": [ { - "apiVersion": "468", - "kind": "469", - "name": "470", - "uid": "/nēɅĀ埰ʀł!U詨nj1ýǝ", - "controller": true, - "blockOwnerDeletion": false + "apiVersion": "492", + "kind": "493", + "name": "494", + "uid": "\\%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ", + "controller": false, + "blockOwnerDeletion": true } ], "finalizers": [ - "471" + "495" ], - "clusterName": "472", + "clusterName": "496", "managedFields": [ { - "manager": "473", - "operation": "壛ĐíEd楗鱶镖喗vȥ", - "apiVersion": "474", - "fieldsType": "475" + "manager": "497", + "operation": "MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň", + "apiVersion": "498", + "fieldsType": "499" } ] }, "spec": { "accessModes": [ - "Y斩I儑瓔¯" + "V礆á¤拈tY" ], "selector": { "matchLabels": { - "k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5": "8_B-ks7dx" + "PX-.-d4BadE-.1-V...t27-4..7": "l----i_Ii" }, "matchExpressions": [ { - "key": "vUK_-.j21---__y.9O.L-.m.3--4", + "key": "e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4", "operator": "In", "values": [ - "37u-h---dY7_M_-._M52" + "s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7" ] } ] }, "resources": { "limits": { - "涟雒驭堣Qwn:Ʋå譥a超": "19" + "sx羳ıȦjJ綒鷈颿懽]轸Jc'V{": "821" }, "requests": { - "ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ": "368" + "(踶NJđƟ": "357" } }, - "volumeName": "482", - "storageClassName": "483", - "volumeMode": "'降\\4)ȳɍǟm{煰œ憼", + "volumeName": "506", + "storageClassName": "507", + "volumeMode": "穜", "dataSource": { - "apiGroup": "484", - "kind": "485", - "name": "486" + "apiGroup": "508", + "kind": "509", + "name": "510" } }, "status": { - "phase": "ʌ槧ą°Z拕獘:pȚ\\猫ï卒ú", + "phase": "睭憲Ħ焵i,ŋŨNâ", "accessModes": [ - "èƾ竒决瘛Ǫǵ" + "§" ], "capacity": { - "Ǧ澵貛香\"砻B鷋": "578" + "Ǫ魚": "27" }, "conditions": [ { - "type": "|nET¬%ȎdžĤɂR湛", - "status": "WU=ȑ-A敲ʉ2腠梊", - "lastProbeTime": "2230-04-25T02:33:53Z", - "lastTransitionTime": "2843-07-14T02:23:26Z", - "reason": "487", - "message": "488" + "type": "qĖĖȠ姓ȇ\u003e尪", + "status": "t飜ĈȖ董缞濪葷c", + "lastProbeTime": "2398-05-12T06:43:28Z", + "lastTransitionTime": "2943-12-07T17:53:42Z", + "reason": "511", + "message": "512" } ] } } ], - "serviceName": "489", - "podManagementPolicy": "`ŇaƬȿŬ捕|", + "serviceName": "513", + "podManagementPolicy": "5Ë", "updateStrategy": { - "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", + "type": "t谍Ã\u0026榠塹ǜŬɽŌ拭#{", "rollingUpdate": { - "partition": -83826225 + "partition": 199912760 } }, - "revisionHistoryLimit": -1872519086 + "revisionHistoryLimit": -506157639 }, "status": { - "observedGeneration": -3866306318826551410, - "replicas": 1852870468, - "readyReplicas": -1993494670, - "currentReplicas": -463159422, - "updatedReplicas": 463674701, - "currentRevision": "490", - "updateRevision": "491", - "collisionCount": -1556190810, + "observedGeneration": 364197194076938036, + "replicas": 1410850501, + "readyReplicas": -827735561, + "currentReplicas": 1956611085, + "updatedReplicas": 1768089178, + "currentRevision": "514", + "updateRevision": "515", + "collisionCount": -565639840, "conditions": [ { - "type": "ȩ硘(ǒ[", - "status": "闬輙怀¹bCũw¼ ǫđ槴Ċį軠\u003e", - "lastTransitionTime": "2446-08-01T12:34:13Z", - "reason": "492", - "message": "493" + "type": "tyȸɡ[", + "status": "萀灗\u0026Eōɴbȣ瀢璩", + "lastTransitionTime": "2251-02-17T11:59:12Z", + "reason": "516", + "message": "517" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb index caf6d102dea8..86214ae11f93 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml index a7d4b05c3668..ce00771c28bf 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/apps.v1beta2.StatefulSet.yaml @@ -30,16 +30,16 @@ metadata: selfLink: "5" uid: "7" spec: - podManagementPolicy: '`ŇaƬȿŬ捕|' + podManagementPolicy: 5Ë replicas: 896585016 - revisionHistoryLimit: -1872519086 + revisionHistoryLimit: -506157639 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 operator: Exists matchLabels: 74404d5---g8c2-k-91e.y5-g--58----0683-b-w7ld-6cs06xj-x5yv0wm-k18/M_-Nx.N_6-___._-.-W._AAn---v_-5-_8LXj: 6-4_WE-_JTrcd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--1 - serviceName: "489" + serviceName: "513" template: metadata: annotations: @@ -104,15 +104,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -120,6 +126,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -128,26 +142,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -326,12 +355,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -513,8 +542,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -698,15 +727,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -737,21 +766,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1008,87 +1037,86 @@ spec: volumePath: "101" updateStrategy: rollingUpdate: - partition: -83826225 - type: șa汸<ƋlɋN磋镮ȺPÈ + partition: 199912760 + type: t谍Ã&榠塹ǜŬɽŌ拭#{ volumeClaimTemplates: - metadata: annotations: - "466": "467" - clusterName: "472" + "490": "491" + clusterName: "496" creationTimestamp: null - deletionGracePeriodSeconds: -6486445241316991261 + deletionGracePeriodSeconds: -834876888064929876 finalizers: - - "471" - generateName: "460" - generation: -5107762106575809276 + - "495" + generateName: "484" + generation: -2252894353040736578 labels: - "464": "465" + "488": "489" managedFields: - - apiVersion: "474" - fieldsType: "475" - manager: "473" - operation: 壛ĐíEd楗鱶镖喗vȥ - name: "459" - namespace: "461" + - apiVersion: "498" + fieldsType: "499" + manager: "497" + operation: MǍ}箼愆+P;抣ēȌ%ÿ¼璤ň + name: "483" + namespace: "485" ownerReferences: - - apiVersion: "468" - blockOwnerDeletion: false - controller: true - kind: "469" - name: "470" - uid: /nēɅĀ埰ʀł!U詨nj1ýǝ - resourceVersion: "8285629342346774721" - selfLink: "462" - uid: S誖Śs垦Ȋ髴T唼=`朇c + - apiVersion: "492" + blockOwnerDeletion: true + controller: false + kind: "493" + name: "494" + uid: \%傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ǩ + resourceVersion: "6510253963764562049" + selfLink: "486" + uid: 0斃搡Cʼn嘡ʇɆȏ+&ɃB沅零ș spec: accessModes: - - Y斩I儑瓔¯ + - V礆á¤拈tY dataSource: - apiGroup: "484" - kind: "485" - name: "486" + apiGroup: "508" + kind: "509" + name: "510" resources: limits: - 涟雒驭堣Qwn:Ʋå譥a超: "19" + sx羳ıȦjJ綒鷈颿懽]轸Jc'V{: "821" requests: - ª韷v简3VǢɾ纤ą¨?ɣ蔫椁Ȕ: "368" + (踶NJđƟ: "357" selector: matchExpressions: - - key: vUK_-.j21---__y.9O.L-.m.3--4 + - key: e-35x38i-qnr-5zi82dc3do--7lw635/Z_V_-q-L34-_D86-W_g5r.4 operator: In values: - - 37u-h---dY7_M_-._M52 + - s-_Y-_i.._---6_.0.m.--.-dh.v._5.vB-.7 matchLabels: - ? k--13lk5-e4-u-5kvp-----887j72qz6-7d84-1f396h82----23-6b77f.mgi7-2je7zjt0pp-x0r2gd---yn1/7_._qN__A_f_-B3_U__L.KH6K.RwsfI_2-_20_9.5 - : 8_B-ks7dx - storageClassName: "483" - volumeMode: '''降\4)ȳɍǟm{煰œ憼' - volumeName: "482" + PX-.-d4BadE-.1-V...t27-4..7: l----i_Ii + storageClassName: "507" + volumeMode: 穜 + volumeName: "506" status: accessModes: - - èƾ竒决瘛Ǫǵ + - § capacity: - Ǧ澵貛香"砻B鷋: "578" + Ǫ魚: "27" conditions: - - lastProbeTime: "2230-04-25T02:33:53Z" - lastTransitionTime: "2843-07-14T02:23:26Z" - message: "488" - reason: "487" - status: WU=ȑ-A敲ʉ2腠梊 - type: '|nET¬%ȎdžĤɂR湛' - phase: ʌ槧ą°Z拕獘:pȚ\猫ï卒ú + - lastProbeTime: "2398-05-12T06:43:28Z" + lastTransitionTime: "2943-12-07T17:53:42Z" + message: "512" + reason: "511" + status: t飜ĈȖ董缞濪葷c + type: qĖĖȠ姓ȇ>尪 + phase: 睭憲Ħ焵i,ŋŨNâ status: - collisionCount: -1556190810 + collisionCount: -565639840 conditions: - - lastTransitionTime: "2446-08-01T12:34:13Z" - message: "493" - reason: "492" - status: 闬輙怀¹bCũw¼ ǫđ槴Ċį軠> - type: ȩ硘(ǒ[ - currentReplicas: -463159422 - currentRevision: "490" - observedGeneration: -3866306318826551410 - readyReplicas: -1993494670 - replicas: 1852870468 - updateRevision: "491" - updatedReplicas: 463674701 + - lastTransitionTime: "2251-02-17T11:59:12Z" + message: "517" + reason: "516" + status: 萀灗&Eōɴbȣ瀢璩 + type: tyȸɡ[ + currentReplicas: 1956611085 + currentRevision: "514" + observedGeneration: 364197194076938036 + readyReplicas: -827735561 + replicas: 1410850501 + updateRevision: "515" + updatedReplicas: 1768089178 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json index 662f1df7654a..d11dced59cdd 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.json @@ -1332,31 +1332,56 @@ "namespaces": [ "420" ], - "topologyKey": "421" + "topologyKey": "421", + "namespaceSelector": { + "matchLabels": { + "e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4": "s_0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-S.O" + }, + "matchExpressions": [ + { + "key": "5S-B3_.b17ca-_p-y.eQZ9p_6.2", + "operator": "Exists" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1586122127, + "weight": 1036096141, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "780bdw0-1-47rrw8-5tn.0-1y-tw/8_d.8": "wmiJ4x-_0_5-_.7F3p2_-_AmD-.A" + "3-8o1-x-1wl----f31-0-2t3zw.il-023bm-6l2e5---k5v38/E9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiSo": "X-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2" }, "matchExpressions": [ { - "key": "C0-.-m_0-m-6Sp_N-S..O-BZ..6-1.S-B3_.b17ca-p", - "operator": "In", + "key": "Y.39g_.--_-_ve5.m_U", + "operator": "NotIn", "values": [ - "3-3--5X1rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ_K" + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" ] } ] }, "namespaces": [ - "428" + "434" ], - "topologyKey": "429" + "topologyKey": "435", + "namespaceSelector": { + "matchLabels": { + "0--385h---0-u73phjo--8kb6--ut---p6.t5--9-4-d2-22-0/jcz.-Y6T4gz": "p_.----cp__ac8u.._-__BM.6-.Y7" + }, + "matchExpressions": [ + { + "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "operator": "NotIn", + "values": [ + "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + ] + } + ] + } } } ] @@ -1366,106 +1391,134 @@ { "labelSelector": { "matchLabels": { - "23bm-6l2e5---k5v3a---ez-o-u.s11-7p--3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--28/1k.7.l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H": "46.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__e" + "fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o5": "TB-d-Q" }, "matchExpressions": [ { - "key": "f2t-m839-qr-7----rgvf3q-z-5z80n--t5--9-4-d2-w/w0_.i__a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_ITO", - "operator": "DoesNotExist" + "key": "4b699/B9n.2", + "operator": "In", + "values": [ + "MM7-.e.x" + ] } ] }, "namespaces": [ - "436" + "448" ], - "topologyKey": "437" + "topologyKey": "449", + "namespaceSelector": { + "matchLabels": { + "B_05._Lsu-H_.f82-8_.UdWNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-j": "Vv.-_.4dwFbuvEf55Y2k.F-F..3m6.._2v89U--8.3N_.1" + }, + "matchExpressions": [ + { + "key": "8u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._J", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -974760835, + "weight": 1131487788, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "F-__BM.6-.Y_72-_--pT75-.emV__1-v": "UDf.-4D-r.F" + "2fk3x-j9133e--2-t--k-fmt4272r--49u-0m7u-----v8.0--063-qm-j-3wc89k-0-57z4063---kb/v_5_D7RufiV-7u0--_qv4-D": "Y_o.-0-yE-R5W5_2n...78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.6p" }, "matchExpressions": [ { - "key": "G4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-__..YF", - "operator": "In", + "key": "h-i-60a---9--n8i64t1-4----c-----35---1--6-u-68u8w.3-6b77-f8--tf---7r88-1--p61cd--6/e-Avi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_M--c.0Q--2qh.b", + "operator": "NotIn", "values": [ - "7_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-A4" + "u.7.._B-ks7dG-9S-O62o.8._.---UK_-.j21---__y.9O.L-m" ] } ] }, "namespaces": [ - "444" + "462" ], - "topologyKey": "445" + "topologyKey": "463", + "namespaceSelector": { + "matchLabels": { + "7u-h---dY7_M_-._M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy5": "Y-__-Zvt.LT60v.WxPc--K" + }, + "matchExpressions": [ + { + "key": "wr3qtm-8vuo17qre-33-5-u8f0f1qv--i72-x3---v25f1.2-84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--18/iguFGT._.Y4-0.67hP-lX-_-..5-.._r6T", + "operator": "DoesNotExist" + } + ] + } } } ] } }, - "schedulerName": "446", + "schedulerName": "470", "tolerations": [ { - "key": "447", - "operator": "ō6µɑ`ȗ\u003c", - "value": "448", - "effect": "J赟鷆šl5ɜ", - "tolerationSeconds": 2575412512260329976 + "key": "471", + "operator": "E色kx-餌勀奷ŎC菡ƴ勋;*靯įƊ", + "value": "472", + "effect": "ŕ蘴濼DZj鎒ũW|ȶdžH0ƾ瘿¸", + "tolerationSeconds": -3147305732428645642 } ], "hostAliases": [ { - "ip": "449", + "ip": "473", "hostnames": [ - "450" + "474" ] } ], - "priorityClassName": "451", - "priority": 497309492, + "priorityClassName": "475", + "priority": -1756088332, "dnsConfig": { "nameservers": [ - "452" + "476" ], "searches": [ - "453" + "477" ], "options": [ { - "name": "454", - "value": "455" + "name": "478", + "value": "479" } ] }, "readinessGates": [ { - "conditionType": "溣狣愿激" + "conditionType": "#sM網" } ], - "runtimeClassName": "456", - "enableServiceLinks": false, - "preemptionPolicy": "Ȳȍŋƀ+瑏eCmA", + "runtimeClassName": "480", + "enableServiceLinks": true, + "preemptionPolicy": "ûŠl倳ţü¿Sʟ鍡", "overhead": { - "睙": "859" + "炳薝鴠:X才à脡ǯ?b砸ƻ舁Ȁ贠ȇö匉": "452" }, "topologySpreadConstraints": [ { - "maxSkew": 341824479, - "topologyKey": "457", - "whenUnsatisfiable": "Œ,躻[鶆f盧", + "maxSkew": -447559705, + "topologyKey": "481", + "whenUnsatisfiable": "TaI楅©Ǫ壿/š^劶äɲ泒", "labelSelector": { "matchLabels": { - "82__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw_Y": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "47--9k-e4ora9.t7bm9-4m04qn-n7--c3k7--fei-br7310gl-xwm5-85a/r8-L__C_60-__.19_-gYY._..fP--hQ7be__-.-g-5.-59...7q___nT": "u0-.6---Q.__y64L.0-.c-tm..__---r__._-.DL.o_e-d92e8S_-0D" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "KTlO.__0PX", + "operator": "In", + "values": [ + "V6K_.3_583-6.f-.9-.V..Q-K_6_3" + ] } ] } @@ -1474,23 +1527,23 @@ "setHostnameAsFQDN": false } }, - "ttlSecondsAfterFinished": 1192652907, - "completionMode": "莾簏ì淵歔ųd," + "ttlSecondsAfterFinished": -1812920817, + "completionMode": "ʅ朁遐»" }, "status": { "conditions": [ { - "type": ";蛡媈U", - "status": "Oa2ƒƈɈ达iʍjʒu+,妧縖%Á", - "lastProbeTime": "2823-10-04T11:14:04Z", - "lastTransitionTime": "2882-02-07T11:38:45Z", - "reason": "464", - "message": "465" + "type": "癸ƥf豯烠砖#囹J,R譏K譕ơ", + "status": "噓涫祲ŗȨ", + "lastProbeTime": "2108-10-11T06:42:59Z", + "lastTransitionTime": "2845-10-01T19:47:44Z", + "reason": "488", + "message": "489" } ], - "active": -1993578228, - "succeeded": 1971731732, - "failed": 165851549, - "completedIndexes": "466" + "active": -1576445541, + "succeeded": 416561398, + "failed": -291702642, + "completedIndexes": "490" } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb index 26eb05c55cc9..1e37b4affbbc 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml index 6a22b9de09ed..0553c8e9347f 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1.Job.yaml @@ -32,7 +32,7 @@ metadata: spec: activeDeadlineSeconds: -5584804243908071872 backoffLimit: -783752440 - completionMode: 莾簏ì淵歔ųd, + completionMode: ʅ朁遐» completions: 1305381319 manualSelector: true parallelism: 896585016 @@ -108,16 +108,24 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: C0-.-m_0-m-6Sp_N-S..O-BZ..6-1.S-B3_.b17ca-p - operator: In + - key: Y.39g_.--_-_ve5.m_U + operator: NotIn values: - - 3-3--5X1rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ_K + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - 780bdw0-1-47rrw8-5tn.0-1y-tw/8_d.8: wmiJ4x-_0_5-_.7F3p2_-_AmD-.A + 3-8o1-x-1wl----f31-0-2t3zw.il-023bm-6l2e5---k5v38/E9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiSo: X-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2 + namespaceSelector: + matchExpressions: + - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + operator: NotIn + values: + - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + matchLabels: + 0--385h---0-u73phjo--8kb6--ut---p6.t5--9-4-d2-22-0/jcz.-Y6T4gz: p_.----cp__ac8u.._-__BM.6-.Y7 namespaces: - - "428" - topologyKey: "429" - weight: 1586122127 + - "434" + topologyKey: "435" + weight: 1036096141 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -127,6 +135,12 @@ spec: - "1" matchLabels: n3-x1y-8---3----p-pdn--j2---25/8...__.Q_c8.G.b_9_1o.K: 9_._X-D---k..1Q7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-r + namespaceSelector: + matchExpressions: + - key: 5S-B3_.b17ca-_p-y.eQZ9p_6.2 + operator: Exists + matchLabels: + e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4: s_0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-S.O namespaces: - "420" topologyKey: "421" @@ -135,26 +149,40 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: G4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-__..YF - operator: In + - key: h-i-60a---9--n8i64t1-4----c-----35---1--6-u-68u8w.3-6b77-f8--tf---7r88-1--p61cd--6/e-Avi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_M--c.0Q--2qh.b + operator: NotIn values: - - 7_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-A4 + - u.7.._B-ks7dG-9S-O62o.8._.---UK_-.j21---__y.9O.L-m + matchLabels: + 2fk3x-j9133e--2-t--k-fmt4272r--49u-0m7u-----v8.0--063-qm-j-3wc89k-0-57z4063---kb/v_5_D7RufiV-7u0--_qv4-D: Y_o.-0-yE-R5W5_2n...78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.6p + namespaceSelector: + matchExpressions: + - key: wr3qtm-8vuo17qre-33-5-u8f0f1qv--i72-x3---v25f1.2-84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--18/iguFGT._.Y4-0.67hP-lX-_-..5-.._r6T + operator: DoesNotExist matchLabels: - F-__BM.6-.Y_72-_--pT75-.emV__1-v: UDf.-4D-r.F + 7u-h---dY7_M_-._M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy5: Y-__-Zvt.LT60v.WxPc--K namespaces: - - "444" - topologyKey: "445" - weight: -974760835 + - "462" + topologyKey: "463" + weight: 1131487788 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: f2t-m839-qr-7----rgvf3q-z-5z80n--t5--9-4-d2-w/w0_.i__a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_ITO + - key: 4b699/B9n.2 + operator: In + values: + - MM7-.e.x + matchLabels: + fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o5: TB-d-Q + namespaceSelector: + matchExpressions: + - key: 8u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._J operator: DoesNotExist matchLabels: - 23bm-6l2e5---k5v3a---ez-o-u.s11-7p--3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--28/1k.7.l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H: 46.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__e + B_05._Lsu-H_.f82-8_.UdWNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-j: Vv.-_.4dwFbuvEf55Y2k.F-F..3m6.._2v89U--8.3N_.1 namespaces: - - "436" - topologyKey: "437" + - "448" + topologyKey: "449" automountServiceAccountToken: false containers: - args: @@ -332,14 +360,14 @@ spec: workingDir: "248" dnsConfig: nameservers: - - "452" + - "476" options: - - name: "454" - value: "455" + - name: "478" + value: "479" searches: - - "453" + - "477" dnsPolicy: 誹 - enableServiceLinks: false + enableServiceLinks: true ephemeralContainers: - args: - "319" @@ -519,8 +547,8 @@ spec: workingDir: "320" hostAliases: - hostnames: - - "450" - ip: "449" + - "474" + ip: "473" hostname: "404" imagePullSecrets: - name: "403" @@ -705,15 +733,15 @@ spec: nodeSelector: "388": "389" overhead: - 睙: "859" - preemptionPolicy: Ȳȍŋƀ+瑏eCmA - priority: 497309492 - priorityClassName: "451" + 炳薝鴠:X才à脡ǯ?b砸ƻ舁Ȁ贠ȇö匉: "452" + preemptionPolicy: ûŠl倳ţü¿Sʟ鍡 + priority: -1756088332 + priorityClassName: "475" readinessGates: - - conditionType: 溣狣愿激 + - conditionType: '#sM網' restartPolicy: æ盪泙若`l}Ñ蠂Ü - runtimeClassName: "456" - schedulerName: "446" + runtimeClassName: "480" + schedulerName: "470" securityContext: fsGroup: -458943834575608638 fsGroupChangePolicy: ɢzĮ蛋I滞廬耐鷞焬CQm坊柩劄奼[ @@ -744,21 +772,23 @@ spec: subdomain: "405" terminationGracePeriodSeconds: -1344691682045303625 tolerations: - - effect: J赟鷆šl5ɜ - key: "447" - operator: ō6µɑ`ȗ< - tolerationSeconds: 2575412512260329976 - value: "448" + - effect: ŕ蘴濼DZj鎒ũW|ȶdžH0ƾ瘿¸ + key: "471" + operator: E色kx-餌勀奷ŎC菡ƴ勋;*靯įƊ + tolerationSeconds: -3147305732428645642 + value: "472" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: KTlO.__0PX + operator: In + values: + - V6K_.3_583-6.f-.9-.V..Q-K_6_3 matchLabels: - 82__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw_Y: 11---.-o7.pJ-4-1WV.-__05._LsuH - maxSkew: 341824479 - topologyKey: "457" - whenUnsatisfiable: Œ,躻[鶆f盧 + 47--9k-e4ora9.t7bm9-4m04qn-n7--c3k7--fei-br7310gl-xwm5-85a/r8-L__C_60-__.19_-gYY._..fP--hQ7be__-.-g-5.-59...7q___nT: u0-.6---Q.__y64L.0-.c-tm..__---r__._-.DL.o_e-d92e8S_-0D + maxSkew: -447559705 + topologyKey: "481" + whenUnsatisfiable: TaI楅©Ǫ壿/š^劶äɲ泒 volumes: - awsElasticBlockStore: fsType: "47" @@ -1008,16 +1038,16 @@ spec: storagePolicyID: "104" storagePolicyName: "103" volumePath: "101" - ttlSecondsAfterFinished: 1192652907 + ttlSecondsAfterFinished: -1812920817 status: - active: -1993578228 - completedIndexes: "466" + active: -1576445541 + completedIndexes: "490" conditions: - - lastProbeTime: "2823-10-04T11:14:04Z" - lastTransitionTime: "2882-02-07T11:38:45Z" - message: "465" - reason: "464" - status: Oa2ƒƈɈ达iʍjʒu+,妧縖%Á - type: ;蛡媈U - failed: 165851549 - succeeded: 1971731732 + - lastProbeTime: "2108-10-11T06:42:59Z" + lastTransitionTime: "2845-10-01T19:47:44Z" + message: "489" + reason: "488" + status: 噓涫祲ŗȨ + type: 癸ƥf豯烠砖#囹J,R譏K譕ơ + failed: -291702642 + succeeded: 416561398 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json index 82b06266a42c..0bac9daa43b4 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.json @@ -1380,28 +1380,50 @@ "namespaces": [ "435" ], - "topologyKey": "436" + "topologyKey": "436", + "namespaceSelector": { + "matchLabels": { + "0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D": "Y_2-n_5023Xl-3Pw_-r7g" + }, + "matchExpressions": [ + { + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -969397138, + "weight": -234140, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "4g-27-5sx6dbp-72q--m--2k-p---139g-29.o-3/l.-5_BZk5v3aUK_--_o_2.--4Z7__i1T.miw_7a_...8-_0_5": "5.m_2_--XZx" + "1_.-_L-__bf_9_-C-PfNx__-U_P": "tW23-_.z_.._s--_F-BR-.h_2" }, "matchExpressions": [ { - "key": "w_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9-czf", - "operator": "DoesNotExist" + "key": "s_6O-5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_s", + "operator": "Exists" } ] }, "namespaces": [ - "443" + "449" ], - "topologyKey": "444" + "topologyKey": "450", + "namespaceSelector": { + "matchLabels": { + "Q.-_t--O3": "7z2-y.-...C4_-_2G0.-c_C.G.h--m._fN._k8__._ep2P.B._A_09E" + }, + "matchExpressions": [ + { + "key": "P_p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9np", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1411,109 +1433,134 @@ { "labelSelector": { "matchLabels": { - "ZXC0_-7.-hj-O_8-b6E_--B": "p8O_._e_3_.4_W_H" + "n7-a6434---7i-f-d019o1v3u.2k8-2-d--n--r8661--3-8-t48g-w2q7z-vps548-d-1r7j--v2x-64dwb/e": "8" }, "matchExpressions": [ { - "key": "6n-f-x--i-b/8u.._-__BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4", + "key": "75-p-z---k-5r6h--y7o-0-wq-zfdw73w0---4a18-f4/d1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--2", "operator": "In", "values": [ - "n-W23-_.z_.._s--_F-BR-.W" + "u-.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT_2_t_IkI-mt4...rBQ.9-0" ] } ] }, "namespaces": [ - "451" + "463" ], - "topologyKey": "452" + "topologyKey": "464", + "namespaceSelector": { + "matchLabels": { + "m_-Z.wc..k_0_5.z.0..__k": "b.-9.Y0-_-.l__.c17__f_-336-.BT" + }, + "matchExpressions": [ + { + "key": "N7.81_-._-_8_.._._a9", + "operator": "In", + "values": [ + "vi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_Mh" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1397412563, + "weight": 1276377114, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.6": "HI-F.PWtO4-7-P41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b" + "1f8--tf---7r88-1--p61cd--s-nu5718--lks7d-x9-f-62o8/L9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_35H__.B_6_-U..u8gwb.-6": "M9..8-8yw..__Yb_58.p-06jVZ-u0" }, "matchExpressions": [ { - "key": "n-9n7p22o4a-w----11rqy3eo79p-f4r1--7p--053--suug/5-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV9", - "operator": "NotIn", - "values": [ - "f8k" - ] + "key": "v54le-to9e--a-7je9fz87-2jvd23-0p1.360v2-x-cpor---cigu--s/j-dY7_M_-._M5..-N_H_55..--E3_2h", + "operator": "DoesNotExist" } ] }, "namespaces": [ - "459" + "477" ], - "topologyKey": "460" + "topologyKey": "478", + "namespaceSelector": { + "matchLabels": { + "o17qre-33-5-u8f0f1qv--i72-x3---v25f56.w84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--1--ia5yl9k/267hP-lX-_-..5-.._r6M__4-P-g3J6": "I-._g_.._-hKc.OB_F_--.._m_-9" + }, + "matchExpressions": [ + { + "key": "410-f-o-fr-5-3t--y9---2--e-yya3.98t-----60t--019-yg--4-37f-rwh-7be--y0agp51x597277q---nt/M-0R.-I-_23L_J49t-X..1", + "operator": "DoesNotExist" + } + ] + } } } ] } }, - "schedulerName": "461", + "schedulerName": "485", "tolerations": [ { - "key": "462", - "operator": "T暣Ɖ肆Ző:ijɲí_夦Ŕ", - "value": "463", - "effect": "蛡媈U曰n夬LJ:BŐ埑Ô", - "tolerationSeconds": 2817479448830898187 + "key": "486", + "operator": "r}梳攔wŲ魦Ɔ0ƢĮÀĘÆɆȸȢ蒸", + "value": "487", + "effect": "U烈 źfjǰɪ嘞ȏ}杻扞Ğ", + "tolerationSeconds": 3252034671163905138 } ], "hostAliases": [ { - "ip": "464", + "ip": "488", "hostnames": [ - "465" + "489" ] } ], - "priorityClassName": "466", - "priority": -69353914, + "priorityClassName": "490", + "priority": 347613368, "dnsConfig": { "nameservers": [ - "467" + "491" ], "searches": [ - "468" + "492" ], "options": [ { - "name": "469", - "value": "470" + "name": "493", + "value": "494" } ] }, "readinessGates": [ { - "conditionType": "ʁO" + "conditionType": "ř岈ǎǏ]S5:œƌ嵃ǁ" } ], - "runtimeClassName": "471", + "runtimeClassName": "495", "enableServiceLinks": false, - "preemptionPolicy": "犾ȩ纾", + "preemptionPolicy": "m珢\\%傢z¦Ā竚ĐȌƨǴ叆", "overhead": { - "": "368" + "D輷": "792" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "472", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -484382570, + "topologyKey": "496", + "whenUnsatisfiable": "nn坾\u0026Pɫ(ʙÆʨɺC`", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "n.DL.o_e-d92e8S_-0-_8Vz-E41___75Q-T": "O.__0PPX-.-d4Badb" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "zz8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-i33-dzn6-302m7rx1/7Jl----i_I.-_7g-8iJ--p-7f3-2_Z_V_-q-L34-_D86-W_g52", + "operator": "NotIn", + "values": [ + "h.v._5.vB-.-7-.6Jv-86___3" + ] } ] } @@ -1522,23 +1569,22 @@ "setHostnameAsFQDN": false } }, - "ttlSecondsAfterFinished": -339602975, - "completionMode": "泐ɻvŰ`Ǧɝ憑ǖ菐u鸚Y髬.ʂmD" + "ttlSecondsAfterFinished": -1285029915 } }, - "successfulJobsHistoryLimit": 1380163777, - "failedJobsHistoryLimit": -406189540 + "successfulJobsHistoryLimit": -1887637570, + "failedJobsHistoryLimit": 1755548633 }, "status": { "active": [ { - "kind": "479", - "namespace": "480", - "name": "481", - "uid": "ɅĀ埰ʀ", - "apiVersion": "482", - "resourceVersion": "483", - "fieldPath": "484" + "kind": "503", + "namespace": "504", + "name": "505", + "uid": "犓`ɜɅco\\穜T睭憲Ħ焵i,ŋŨN", + "apiVersion": "506", + "resourceVersion": "507", + "fieldPath": "508" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb index 333cb33d8e0e..309711ac4cf4 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb and b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml index 15ca59cac210..b912d3e9a3bc 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v1beta1.CronJob.yaml @@ -31,7 +31,7 @@ metadata: uid: "7" spec: concurrencyPolicy: Hr鯹)晿,趐V曡88 ' - enableServiceLinks: true + enableServiceLinks: false ephemeralContainers: - args: - "333" @@ -550,8 +583,8 @@ template: workingDir: "334" hostAliases: - hostnames: - - "463" - ip: "462" + - "487" + ip: "486" hostPID: true hostname: "417" imagePullSecrets: @@ -735,15 +768,15 @@ template: nodeSelector: "401": "402" overhead: - 奿ÆŁĪŀc=Ƨz鈡煰敹xŪOr揷Ŝ: "15" - preemptionPolicy: 疅檎ǽ曖sƖTƫ雮蛱ñYȴ鴜.弊þ - priority: -192869830 - priorityClassName: "464" + 倓扸涥莥: "729" + preemptionPolicy: ǀ肇ȣ + priority: -217059496 + priorityClassName: "488" readinessGates: - - conditionType: 讱 + - conditionType: ƣɴ矘ɉ"姭ɜǨ呖ď急藼Ƚ^槬焂௠restartPolicy: 婦 - runtimeClassName: "469" - schedulerName: "459" + runtimeClassName: "493" + schedulerName: "483" securityContext: fsGroup: -6298002649883493725 fsGroupChangePolicy: ä2 ɲ±m嵘厶sȰÖ埡Æ @@ -769,26 +802,28 @@ template: runAsUserName: "412" serviceAccount: "404" serviceAccountName: "403" - setHostnameAsFQDN: true + setHostnameAsFQDN: false shareProcessNamespace: false subdomain: "418" terminationGracePeriodSeconds: -7767642171323610380 tolerations: - - effect: ÖTő净湅oĒ弦 - key: "460" - operator: 眊:YĹ爩í鬯濴VǕ癶L浼h嫨炛 - tolerationSeconds: -3092025889836357564 - value: "461" + - effect: ēÖ釐駆Ŕƿe魛ĩ驋=Ŏġ宿受 + key: "484" + operator: TaI楅©Ǫ壿/š^劶äɲ泒 + tolerationSeconds: 3154660829779897160 + value: "485" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: b-k7cr-mo-dz12---i/6.W-m_-Z.wc..k_0_5.z.0..__D-1b.-9.Y0-_-.l__.c17__f_-336-B - operator: Exists + - key: 3-hh9-z8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-z/iJ--p-7f3-2_Z_V_-q-L34-_D86W + operator: NotIn + values: + - S---6_.0.m.--.-dh.v.5 matchLabels: - D7RufiV-7u0--_qv4--_.6_N_9X-B.s8.N_rM-k8: 7e.._d--Y-_l-v0-1V-N-R__R9 - maxSkew: -816594589 - topologyKey: "470" - whenUnsatisfiable: "" + q-z--4847u0s66mmo-8--y64-40l8cytm18--0.6-wdcje8k--41---hi5e--7m-368--f-z---4-n03-2ip--6--2d-6-h/bm9I.-..q-F-.__c.k7__f--_br..1.l: dE-.1-V...t27-4.._7l + maxSkew: -1416531993 + topologyKey: "494" + whenUnsatisfiable: _Gȱ恛穒挤ţ#你顫#b° volumes: - awsElasticBlockStore: fsType: "64" @@ -1043,4 +1078,4 @@ template: storagePolicyID: "121" storagePolicyName: "120" volumePath: "118" - ttlSecondsAfterFinished: -1766935785 + ttlSecondsAfterFinished: 1315299341 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.json new file mode 100644 index 000000000000..86a2eb778dd6 --- /dev/null +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.json @@ -0,0 +1,1591 @@ +{ + "kind": "CronJob", + "apiVersion": "batch/v2alpha1", + "metadata": { + "name": "2", + "generateName": "3", + "namespace": "4", + "selfLink": "5", + "uid": "7", + "resourceVersion": "11042405498087606203", + "generation": 8071137005907523419, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -4955867275792137171, + "labels": { + "7": "8" + }, + "annotations": { + "9": "10" + }, + "ownerReferences": [ + { + "apiVersion": "11", + "kind": "12", + "name": "13", + "uid": "Dz廔ȇ{sŊƏp", + "controller": false, + "blockOwnerDeletion": true + } + ], + "finalizers": [ + "14" + ], + "clusterName": "15", + "managedFields": [ + { + "manager": "16", + "operation": "鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć]", + "apiVersion": "17", + "fieldsType": "18" + } + ] + }, + "spec": { + "schedule": "19", + "startingDeadlineSeconds": -2555947251840004808, + "concurrencyPolicy": "Hr鯹)晿\u003co,c鮽ort昍řČ扷5Ɨ", + "suspend": true, + "jobTemplate": { + "metadata": { + "name": "20", + "generateName": "21", + "namespace": "22", + "selfLink": "23", + "uid": "^苣", + "resourceVersion": "1092536316763508004", + "generation": 3798025802092444428, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -6114802437535409255, + "labels": { + "25": "26" + }, + "annotations": { + "27": "28" + }, + "ownerReferences": [ + { + "apiVersion": "29", + "kind": "30", + "name": "31", + "uid": "憍峕?狱³-Ǐ忄*", + "controller": false, + "blockOwnerDeletion": false + } + ], + "finalizers": [ + "32" + ], + "clusterName": "33", + "managedFields": [ + { + "manager": "34", + "operation": "ȎțêɘIJ斬³;Ơ歿", + "apiVersion": "35", + "fieldsType": "36" + } + ] + }, + "spec": { + "parallelism": -856030588, + "completions": -106888179, + "activeDeadlineSeconds": -1483125035702892746, + "backoffLimit": -1822122846, + "selector": { + "matchLabels": { + "2_kS91.e5K-_e63_-_3-n-_-__3u-.__P__.7U-Uo_4_-D7r__.am6-4_WE-_T": "cd-2.-__E_Sv__26KX_R_.-.Nth._--S_4DAm" + }, + "matchExpressions": [ + { + "key": "rnr", + "operator": "DoesNotExist" + } + ] + }, + "manualSelector": true, + "template": { + "metadata": { + "name": "43", + "generateName": "44", + "namespace": "45", + "selfLink": "46", + "uid": "A", + "resourceVersion": "13282108741396501211", + "generation": -1988464041375677738, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -961038652544818647, + "labels": { + "48": "49" + }, + "annotations": { + "50": "51" + }, + "ownerReferences": [ + { + "apiVersion": "52", + "kind": "53", + "name": "54", + "uid": "a縳讋ɮ衺勽Ƙq/Ź u衲\u003c¿燥ǖ_è", + "controller": false, + "blockOwnerDeletion": false + } + ], + "finalizers": [ + "55" + ], + "clusterName": "56", + "managedFields": [ + { + "manager": "57", + "operation": "聻鎥ʟ\u003c$洅ɹ7\\弌Þ帺萸", + "apiVersion": "58", + "fieldsType": "59" + } + ] + }, + "spec": { + "volumes": [ + { + "name": "60", + "hostPath": { + "path": "61", + "type": "j剐'宣I拍N嚳ķȗ" + }, + "emptyDir": { + "medium": "捵TwMȗ礼2ħ籦ö嗏ʑ\u003e季Cʖ畬", + "sizeLimit": "347" + }, + "gcePersistentDisk": { + "pdName": "62", + "fsType": "63", + "partition": 1399152294, + "readOnly": true + }, + "awsElasticBlockStore": { + "volumeID": "64", + "fsType": "65", + "partition": -1853411528 + }, + "gitRepo": { + "repository": "66", + "revision": "67", + "directory": "68" + }, + "secret": { + "secretName": "69", + "items": [ + { + "key": "70", + "path": "71", + "mode": 1395607230 + } + ], + "defaultMode": -1852451720, + "optional": true + }, + "nfs": { + "server": "72", + "path": "73" + }, + "iscsi": { + "targetPortal": "74", + "iqn": "75", + "lun": -1483417237, + "iscsiInterface": "76", + "fsType": "77", + "portals": [ + "78" + ], + "secretRef": { + "name": "79" + }, + "initiatorName": "80" + }, + "glusterfs": { + "endpoints": "81", + "path": "82", + "readOnly": true + }, + "persistentVolumeClaim": { + "claimName": "83", + "readOnly": true + }, + "rbd": { + "monitors": [ + "84" + ], + "image": "85", + "fsType": "86", + "pool": "87", + "user": "88", + "keyring": "89", + "secretRef": { + "name": "90" + }, + "readOnly": true + }, + "flexVolume": { + "driver": "91", + "fsType": "92", + "secretRef": { + "name": "93" + }, + "options": { + "94": "95" + } + }, + "cinder": { + "volumeID": "96", + "fsType": "97", + "secretRef": { + "name": "98" + } + }, + "cephfs": { + "monitors": [ + "99" + ], + "path": "100", + "user": "101", + "secretFile": "102", + "secretRef": { + "name": "103" + }, + "readOnly": true + }, + "flocker": { + "datasetName": "104", + "datasetUUID": "105" + }, + "downwardAPI": { + "items": [ + { + "path": "106", + "fieldRef": { + "apiVersion": "107", + "fieldPath": "108" + }, + "resourceFieldRef": { + "containerName": "109", + "resource": "110", + "divisor": "52" + }, + "mode": -1011172037 + } + ], + "defaultMode": -1775926229 + }, + "fc": { + "targetWWNs": [ + "111" + ], + "lun": -740816174, + "fsType": "112", + "wwids": [ + "113" + ] + }, + "azureFile": { + "secretName": "114", + "shareName": "115" + }, + "configMap": { + "name": "116", + "items": [ + { + "key": "117", + "path": "118", + "mode": 1793473487 + } + ], + "defaultMode": -347579237, + "optional": false + }, + "vsphereVolume": { + "volumePath": "119", + "fsType": "120", + "storagePolicyName": "121", + "storagePolicyID": "122" + }, + "quobyte": { + "registry": "123", + "volume": "124", + "readOnly": true, + "user": "125", + "group": "126", + "tenant": "127" + }, + "azureDisk": { + "diskName": "128", + "diskURI": "129", + "cachingMode": "A3fƻfʣ繡楙¯", + "fsType": "130", + "readOnly": true, + "kind": "勗E濞偘1ɩÅ議Ǹ轺@)蓳嗘TʡȂ" + }, + "photonPersistentDisk": { + "pdID": "131", + "fsType": "132" + }, + "projected": { + "sources": [ + { + "secret": { + "name": "133", + "items": [ + { + "key": "134", + "path": "135", + "mode": 550215822 + } + ], + "optional": false + }, + "downwardAPI": { + "items": [ + { + "path": "136", + "fieldRef": { + "apiVersion": "137", + "fieldPath": "138" + }, + "resourceFieldRef": { + "containerName": "139", + "resource": "140", + "divisor": "618" + }, + "mode": 1525389481 + } + ] + }, + "configMap": { + "name": "141", + "items": [ + { + "key": "142", + "path": "143", + "mode": -1249460160 + } + ], + "optional": false + }, + "serviceAccountToken": { + "audience": "144", + "expirationSeconds": -8988970531898753887, + "path": "145" + } + } + ], + "defaultMode": -1332301579 + }, + "portworxVolume": { + "volumeID": "146", + "fsType": "147" + }, + "scaleIO": { + "gateway": "148", + "system": "149", + "secretRef": { + "name": "150" + }, + "protectionDomain": "151", + "storagePool": "152", + "storageMode": "153", + "volumeName": "154", + "fsType": "155", + "readOnly": true + }, + "storageos": { + "volumeName": "156", + "volumeNamespace": "157", + "fsType": "158", + "readOnly": true, + "secretRef": { + "name": "159" + } + }, + "csi": { + "driver": "160", + "readOnly": false, + "fsType": "161", + "volumeAttributes": { + "162": "163" + }, + "nodePublishSecretRef": { + "name": "164" + } + }, + "ephemeral": { + "volumeClaimTemplate": { + "metadata": { + "name": "165", + "generateName": "166", + "namespace": "167", + "selfLink": "168", + "uid": "A徙ɶɊł/擇ɦĽ胚", + "resourceVersion": "4447340384943270560", + "generation": -6008930988505485536, + "creationTimestamp": null, + "deletionGracePeriodSeconds": 3218160964766401208, + "labels": { + "170": "171" + }, + "annotations": { + "172": "173" + }, + "ownerReferences": [ + { + "apiVersion": "174", + "kind": "175", + "name": "176", + "uid": "ɜa頢ƛƟ)ÙæNǚ", + "controller": true, + "blockOwnerDeletion": false + } + ], + "finalizers": [ + "177" + ], + "clusterName": "178", + "managedFields": [ + { + "manager": "179", + "operation": "quA?瞲Ť倱\u003cįXŋ", + "apiVersion": "180", + "fieldsType": "181" + } + ] + }, + "spec": { + "accessModes": [ + "厶耈 T衧ȇe媹Hǝ呮}臷" + ], + "selector": { + "matchLabels": { + "5P.-i.Fg.Cs_.w": "4_2IN..3O4y..-W.5w9-Wm_AO-l8VKLyHA_.-F_E2_QOuQ_0" + }, + "matchExpressions": [ + { + "key": "6tv27r-m8w-6-9-35d8.w-v-93ix6bigm-h8-3q768km-0--03-t-0-05/4--6o--Bo-F__..XR.7_1-p-6_._31.-.-z", + "operator": "NotIn", + "values": [ + "A5b.5-CX_VBC.Jn4f_1" + ] + } + ] + }, + "resources": { + "limits": { + "/樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊": "967" + }, + "requests": { + "ǎɳ,ǿ飏騀呣ǎfǣ萭旿@掇lNd": "150" + } + }, + "volumeName": "188", + "storageClassName": "189", + "volumeMode": "髷裎$MVȟ@7飣奺Ȋ", + "dataSource": { + "apiGroup": "190", + "kind": "191", + "name": "192" + } + } + }, + "readOnly": true + } + } + ], + "initContainers": [ + { + "name": "193", + "image": "194", + "command": [ + "195" + ], + "args": [ + "196" + ], + "workingDir": "197", + "ports": [ + { + "name": "198", + "hostPort": -1180080716, + "containerPort": -1409668172, + "protocol": "脾嚏吐ĠLƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻", + "hostIP": "199" + } + ], + "envFrom": [ + { + "prefix": "200", + "configMapRef": { + "name": "201", + "optional": true + }, + "secretRef": { + "name": "202", + "optional": false + } + } + ], + "env": [ + { + "name": "203", + "value": "204", + "valueFrom": { + "fieldRef": { + "apiVersion": "205", + "fieldPath": "206" + }, + "resourceFieldRef": { + "containerName": "207", + "resource": "208", + "divisor": "231" + }, + "configMapKeyRef": { + "name": "209", + "key": "210", + "optional": false + }, + "secretKeyRef": { + "name": "211", + "key": "212", + "optional": true + } + } + } + ], + "resources": { + "limits": { + "": "55" + }, + "requests": { + "粕擓ƖHVe熼'FD": "235" + } + }, + "volumeMounts": [ + { + "name": "213", + "mountPath": "214", + "subPath": "215", + "mountPropagation": "UÐ_ƮA攤/ɸɎ", + "subPathExpr": "216" + } + ], + "volumeDevices": [ + { + "name": "217", + "devicePath": "218" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "219" + ] + }, + "httpGet": { + "path": "220", + "port": "221", + "host": "222", + "scheme": "翁杙Ŧ癃8鸖ɱJȉ罴ņ螡ź", + "httpHeaders": [ + { + "name": "223", + "value": "224" + } + ] + }, + "tcpSocket": { + "port": -1543701088, + "host": "225" + }, + "initialDelaySeconds": 513341278, + "timeoutSeconds": 627713162, + "periodSeconds": 1255312175, + "successThreshold": -1740959124, + "failureThreshold": 158280212 + }, + "readinessProbe": { + "exec": { + "command": [ + "226" + ] + }, + "httpGet": { + "path": "227", + "port": -1140531048, + "host": "228", + "httpHeaders": [ + { + "name": "229", + "value": "230" + } + ] + }, + "tcpSocket": { + "port": 1741405963, + "host": "231" + }, + "initialDelaySeconds": 1260448044, + "timeoutSeconds": -200461294, + "periodSeconds": -1791206950, + "successThreshold": 1160477220, + "failureThreshold": 1226391571 + }, + "startupProbe": { + "exec": { + "command": [ + "232" + ] + }, + "httpGet": { + "path": "233", + "port": "234", + "host": "235", + "scheme": "勅跦Opwǩ曬逴褜1Ø", + "httpHeaders": [ + { + "name": "236", + "value": "237" + } + ] + }, + "tcpSocket": { + "port": "238", + "host": "239" + }, + "initialDelaySeconds": -589000495, + "timeoutSeconds": -955773237, + "periodSeconds": 561988938, + "successThreshold": 1419770315, + "failureThreshold": 300356869 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "240" + ] + }, + "httpGet": { + "path": "241", + "port": "242", + "host": "243", + "scheme": "更偢ɇ卷荙JLĹ]佱¿\u003e犵殇ŕ-Ɂ", + "httpHeaders": [ + { + "name": "244", + "value": "245" + } + ] + }, + "tcpSocket": { + "port": 467291328, + "host": "246" + } + }, + "preStop": { + "exec": { + "command": [ + "247" + ] + }, + "httpGet": { + "path": "248", + "port": -434820661, + "host": "249", + "scheme": "r嚧", + "httpHeaders": [ + { + "name": "250", + "value": "251" + } + ] + }, + "tcpSocket": { + "port": 453108839, + "host": "252" + } + } + }, + "terminationMessagePath": "253", + "terminationMessagePolicy": "趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L*", + "imagePullPolicy": "Gƚ绤fʀļ腩墺Ò媁荭gw", + "securityContext": { + "capabilities": { + "add": [ + "E剒蔞" + ], + "drop": [ + "表徶đ寳议Ƭƶ氩Ȩ\u003c6鄰簳°Ļǟi\u0026皥" + ] + }, + "privileged": false, + "seLinuxOptions": { + "user": "254", + "role": "255", + "type": "256", + "level": "257" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "258", + "gmsaCredentialSpec": "259", + "runAsUserName": "260" + }, + "runAsUser": -3342656999442156006, + "runAsGroup": -5569844914519516591, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ", + "seccompProfile": { + "type": "Ǒ輂,ŕĪĠM蘇KŅ/»頸+SÄ蚃ɣ", + "localhostProfile": "261" + } + }, + "stdin": true, + "tty": true + } + ], + "containers": [ + { + "name": "262", + "image": "263", + "command": [ + "264" + ], + "args": [ + "265" + ], + "workingDir": "266", + "ports": [ + { + "name": "267", + "hostPort": -825277526, + "containerPort": 1157117817, + "hostIP": "268" + } + ], + "envFrom": [ + { + "prefix": "269", + "configMapRef": { + "name": "270", + "optional": false + }, + "secretRef": { + "name": "271", + "optional": false + } + } + ], + "env": [ + { + "name": "272", + "value": "273", + "valueFrom": { + "fieldRef": { + "apiVersion": "274", + "fieldPath": "275" + }, + "resourceFieldRef": { + "containerName": "276", + "resource": "277", + "divisor": "107" + }, + "configMapKeyRef": { + "name": "278", + "key": "279", + "optional": false + }, + "secretKeyRef": { + "name": "280", + "key": "281", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "琕鶫:顇ə娯Ȱ囌{": "853" + }, + "requests": { + "Z龏´DÒȗÔÂɘɢ鬍熖B芭花": "372" + } + }, + "volumeMounts": [ + { + "name": "282", + "readOnly": true, + "mountPath": "283", + "subPath": "284", + "mountPropagation": "亏yƕ丆録²Ŏ)/灩聋3趐囨鏻", + "subPathExpr": "285" + } + ], + "volumeDevices": [ + { + "name": "286", + "devicePath": "287" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "288" + ] + }, + "httpGet": { + "path": "289", + "port": "290", + "host": "291", + "scheme": "C\"6x$1s", + "httpHeaders": [ + { + "name": "292", + "value": "293" + } + ] + }, + "tcpSocket": { + "port": "294", + "host": "295" + }, + "initialDelaySeconds": -860435782, + "timeoutSeconds": 1067125211, + "periodSeconds": -2088645849, + "successThreshold": 1900201288, + "failureThreshold": -766915393 + }, + "readinessProbe": { + "exec": { + "command": [ + "296" + ] + }, + "httpGet": { + "path": "297", + "port": 1167615307, + "host": "298", + "scheme": "vEȤƏ埮p", + "httpHeaders": [ + { + "name": "299", + "value": "300" + } + ] + }, + "tcpSocket": { + "port": "301", + "host": "302" + }, + "initialDelaySeconds": -1467527914, + "timeoutSeconds": 1107276738, + "periodSeconds": 1221583046, + "successThreshold": -1861307253, + "failureThreshold": 1802356198 + }, + "startupProbe": { + "exec": { + "command": [ + "303" + ] + }, + "httpGet": { + "path": "304", + "port": 199049889, + "host": "305", + "scheme": "IJ嘢4ʗ", + "httpHeaders": [ + { + "name": "306", + "value": "307" + } + ] + }, + "tcpSocket": { + "port": "308", + "host": "309" + }, + "initialDelaySeconds": -1896415283, + "timeoutSeconds": 1540899353, + "periodSeconds": -1330095135, + "successThreshold": 1566213732, + "failureThreshold": 1697842937 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "310" + ] + }, + "httpGet": { + "path": "311", + "port": "312", + "host": "313", + "httpHeaders": [ + { + "name": "314", + "value": "315" + } + ] + }, + "tcpSocket": { + "port": 935886668, + "host": "316" + } + }, + "preStop": { + "exec": { + "command": [ + "317" + ] + }, + "httpGet": { + "path": "318", + "port": "319", + "host": "320", + "scheme": ")DŽ髐njʉBn(fǂ", + "httpHeaders": [ + { + "name": "321", + "value": "322" + } + ] + }, + "tcpSocket": { + "port": 872525702, + "host": "323" + } + } + }, + "terminationMessagePath": "324", + "terminationMessagePolicy": "ay", + "imagePullPolicy": "笭/9崍h趭(娕uE增猍ǵ xǨ", + "securityContext": { + "capabilities": { + "add": [ + "Ƶf" + ], + "drop": [ + "Ã茓pȓɻ" + ] + }, + "privileged": true, + "seLinuxOptions": { + "user": "325", + "role": "326", + "type": "327", + "level": "328" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "329", + "gmsaCredentialSpec": "330", + "runAsUserName": "331" + }, + "runAsUser": -4099583436266168513, + "runAsGroup": 5255171395073905944, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "#耗", + "seccompProfile": { + "type": "(ť1ùfŭƽ", + "localhostProfile": "332" + } + }, + "stdin": true, + "stdinOnce": true + } + ], + "ephemeralContainers": [ + { + "name": "333", + "image": "334", + "command": [ + "335" + ], + "args": [ + "336" + ], + "workingDir": "337", + "ports": [ + { + "name": "338", + "hostPort": -2137891092, + "containerPort": 1992460223, + "protocol": "`l}Ñ蠂Ü[ƛ^輅", + "hostIP": "339" + } + ], + "envFrom": [ + { + "prefix": "340", + "configMapRef": { + "name": "341", + "optional": false + }, + "secretRef": { + "name": "342", + "optional": false + } + } + ], + "env": [ + { + "name": "343", + "value": "344", + "valueFrom": { + "fieldRef": { + "apiVersion": "345", + "fieldPath": "346" + }, + "resourceFieldRef": { + "containerName": "347", + "resource": "348", + "divisor": "211" + }, + "configMapKeyRef": { + "name": "349", + "key": "350", + "optional": true + }, + "secretKeyRef": { + "name": "351", + "key": "352", + "optional": true + } + } + } + ], + "resources": { + "limits": { + "x糂腂": "286" + }, + "requests": { + "ɢzĮ蛋I滞廬耐鷞焬CQm坊柩劄奼[": "214" + } + }, + "volumeMounts": [ + { + "name": "353", + "mountPath": "354", + "subPath": "355", + "mountPropagation": "Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ", + "subPathExpr": "356" + } + ], + "volumeDevices": [ + { + "name": "357", + "devicePath": "358" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "359" + ] + }, + "httpGet": { + "path": "360", + "port": "361", + "host": "362", + "httpHeaders": [ + { + "name": "363", + "value": "364" + } + ] + }, + "tcpSocket": { + "port": "365", + "host": "366" + }, + "initialDelaySeconds": 1612465029, + "timeoutSeconds": -148677969, + "periodSeconds": 758604605, + "successThreshold": -291429895, + "failureThreshold": -478839383 + }, + "readinessProbe": { + "exec": { + "command": [ + "367" + ] + }, + "httpGet": { + "path": "368", + "port": 498878902, + "host": "369", + "scheme": "ďJZ漤ŗ坟Ů\u003c", + "httpHeaders": [ + { + "name": "370", + "value": "371" + } + ] + }, + "tcpSocket": { + "port": -2030665763, + "host": "372" + }, + "initialDelaySeconds": 1808698094, + "timeoutSeconds": 1155232143, + "periodSeconds": -1873425934, + "successThreshold": -1924862129, + "failureThreshold": -1431381588 + }, + "startupProbe": { + "exec": { + "command": [ + "373" + ] + }, + "httpGet": { + "path": "374", + "port": "375", + "host": "376", + "scheme": "Nh×DJɶ羹ƞʓ%ʝ`ǭ", + "httpHeaders": [ + { + "name": "377", + "value": "378" + } + ] + }, + "tcpSocket": { + "port": -1467648837, + "host": "379" + }, + "initialDelaySeconds": 911629631, + "timeoutSeconds": 542678518, + "periodSeconds": 1859267428, + "successThreshold": 1123323092, + "failureThreshold": -592521472 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "380" + ] + }, + "httpGet": { + "path": "381", + "port": 2040952835, + "host": "382", + "scheme": "诵H玲鑠ĭ$#卛8ð", + "httpHeaders": [ + { + "name": "383", + "value": "384" + } + ] + }, + "tcpSocket": { + "port": "385", + "host": "386" + } + }, + "preStop": { + "exec": { + "command": [ + "387" + ] + }, + "httpGet": { + "path": "388", + "port": -122203422, + "host": "389", + "scheme": "斢杧ż鯀1'鸔", + "httpHeaders": [ + { + "name": "390", + "value": "391" + } + ] + }, + "tcpSocket": { + "port": -1618269037, + "host": "392" + } + } + }, + "terminationMessagePath": "393", + "terminationMessagePolicy": "炙B餸硷张q櫞繡旹翃ɾ氒ĺʈʫ羶剹", + "imagePullPolicy": "嵞嬯t{Eɾ敹Ȯ-湷D谹", + "securityContext": { + "capabilities": { + "add": [ + "秮òƬɸĻo" + ], + "drop": [ + "{柯?" + ] + }, + "privileged": false, + "seLinuxOptions": { + "user": "394", + "role": "395", + "type": "396", + "level": "397" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "398", + "gmsaCredentialSpec": "399", + "runAsUserName": "400" + }, + "runAsUser": -3231735416592443589, + "runAsGroup": 1578419479310338359, + "runAsNonRoot": false, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": true, + "procMount": "4矕Ƈè*", + "seccompProfile": { + "type": "='ʨ|ǓÓ敆OɈÏ 瞍髃", + "localhostProfile": "401" + } + }, + "stdin": true, + "stdinOnce": true, + "tty": true, + "targetContainerName": "402" + } + ], + "restartPolicy": "ȕW歹s", + "terminationGracePeriodSeconds": -2705718780200389430, + "activeDeadlineSeconds": 7628609851801072843, + "dnsPolicy": "堑ūM鈱ɖ'蠨", + "nodeSelector": { + "403": "404" + }, + "serviceAccountName": "405", + "serviceAccount": "406", + "automountServiceAccountToken": false, + "nodeName": "407", + "hostNetwork": true, + "hostIPC": true, + "shareProcessNamespace": false, + "securityContext": { + "seLinuxOptions": { + "user": "408", + "role": "409", + "type": "410", + "level": "411" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "412", + "gmsaCredentialSpec": "413", + "runAsUserName": "414" + }, + "runAsUser": -8735446882646824517, + "runAsGroup": 241576272398843100, + "runAsNonRoot": false, + "supplementalGroups": [ + 3851285476969791307 + ], + "fsGroup": 3104099627522161950, + "sysctls": [ + { + "name": "415", + "value": "416" + } + ], + "fsGroupChangePolicy": "ß讪Ă2讅缔m葰賦迾娙", + "seccompProfile": { + "type": "4虵p蓋沥7uPƒ", + "localhostProfile": "417" + } + }, + "imagePullSecrets": [ + { + "name": "418" + } + ], + "hostname": "419", + "subdomain": "420", + "affinity": { + "nodeAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { + "matchExpressions": [ + { + "key": "421", + "operator": "堣灭ƴɦ燻", + "values": [ + "422" + ] + } + ], + "matchFields": [ + { + "key": "423", + "operator": "-觗裓6Ř筿ɾ5Ų買霎ȃň[\u003eą", + "values": [ + "424" + ] + } + ] + } + ] + }, + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -1525789456, + "preference": { + "matchExpressions": [ + { + "key": "425", + "operator": "d'呪", + "values": [ + "426" + ] + } + ], + "matchFields": [ + { + "key": "427", + "operator": "ɷȰW瀤oɢ嫎¸殚篎3o8[y#t(", + "values": [ + "428" + ] + } + ] + } + } + ] + }, + "podAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "rG-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68": "Q4_.84.K_-_0_..u.F.pq..--Q" + }, + "matchExpressions": [ + { + "key": "8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q", + "operator": "NotIn", + "values": [ + "0..KpiS.oK-.O--5-yp8q_s-L" + ] + } + ] + }, + "namespaces": [ + "435" + ], + "topologyKey": "436", + "namespaceSelector": { + "matchLabels": { + "0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D": "Y_2-n_5023Xl-3Pw_-r7g" + }, + "matchExpressions": [ + { + "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr", + "operator": "DoesNotExist" + } + ] + } + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -234140, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "1_.-_L-__bf_9_-C-PfNx__-U_P": "tW23-_.z_.._s--_F-BR-.h_2" + }, + "matchExpressions": [ + { + "key": "s_6O-5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_s", + "operator": "Exists" + } + ] + }, + "namespaces": [ + "449" + ], + "topologyKey": "450", + "namespaceSelector": { + "matchLabels": { + "Q.-_t--O3": "7z2-y.-...C4_-_2G0.-c_C.G.h--m._fN._k8__._ep2P.B._A_09E" + }, + "matchExpressions": [ + { + "key": "P_p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9np", + "operator": "DoesNotExist" + } + ] + } + } + } + ] + }, + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "n7-a6434---7i-f-d019o1v3u.2k8-2-d--n--r8661--3-8-t48g-w2q7z-vps548-d-1r7j--v2x-64dwb/e": "8" + }, + "matchExpressions": [ + { + "key": "75-p-z---k-5r6h--y7o-0-wq-zfdw73w0---4a18-f4/d1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--2", + "operator": "In", + "values": [ + "u-.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT_2_t_IkI-mt4...rBQ.9-0" + ] + } + ] + }, + "namespaces": [ + "463" + ], + "topologyKey": "464", + "namespaceSelector": { + "matchLabels": { + "m_-Z.wc..k_0_5.z.0..__k": "b.-9.Y0-_-.l__.c17__f_-336-.BT" + }, + "matchExpressions": [ + { + "key": "N7.81_-._-_8_.._._a9", + "operator": "In", + "values": [ + "vi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_Mh" + ] + } + ] + } + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 1276377114, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "1f8--tf---7r88-1--p61cd--s-nu5718--lks7d-x9-f-62o8/L9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_35H__.B_6_-U..u8gwb.-6": "M9..8-8yw..__Yb_58.p-06jVZ-u0" + }, + "matchExpressions": [ + { + "key": "v54le-to9e--a-7je9fz87-2jvd23-0p1.360v2-x-cpor---cigu--s/j-dY7_M_-._M5..-N_H_55..--E3_2h", + "operator": "DoesNotExist" + } + ] + }, + "namespaces": [ + "477" + ], + "topologyKey": "478", + "namespaceSelector": { + "matchLabels": { + "o17qre-33-5-u8f0f1qv--i72-x3---v25f56.w84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--1--ia5yl9k/267hP-lX-_-..5-.._r6M__4-P-g3J6": "I-._g_.._-hKc.OB_F_--.._m_-9" + }, + "matchExpressions": [ + { + "key": "410-f-o-fr-5-3t--y9---2--e-yya3.98t-----60t--019-yg--4-37f-rwh-7be--y0agp51x597277q---nt/M-0R.-I-_23L_J49t-X..1", + "operator": "DoesNotExist" + } + ] + } + } + } + ] + } + }, + "schedulerName": "485", + "tolerations": [ + { + "key": "486", + "operator": "r}梳攔wŲ魦Ɔ0ƢĮÀĘÆɆȸȢ蒸", + "value": "487", + "effect": "U烈 źfjǰɪ嘞ȏ}杻扞Ğ", + "tolerationSeconds": 3252034671163905138 + } + ], + "hostAliases": [ + { + "ip": "488", + "hostnames": [ + "489" + ] + } + ], + "priorityClassName": "490", + "priority": 347613368, + "dnsConfig": { + "nameservers": [ + "491" + ], + "searches": [ + "492" + ], + "options": [ + { + "name": "493", + "value": "494" + } + ] + }, + "readinessGates": [ + { + "conditionType": "ř岈ǎǏ]S5:œƌ嵃ǁ" + } + ], + "runtimeClassName": "495", + "enableServiceLinks": false, + "preemptionPolicy": "m珢\\%傢z¦Ā竚ĐȌƨǴ叆", + "overhead": { + "D輷": "792" + }, + "topologySpreadConstraints": [ + { + "maxSkew": -484382570, + "topologyKey": "496", + "whenUnsatisfiable": "nn坾\u0026Pɫ(ʙÆʨɺC`", + "labelSelector": { + "matchLabels": { + "n.DL.o_e-d92e8S_-0-_8Vz-E41___75Q-T": "O.__0PPX-.-d4Badb" + }, + "matchExpressions": [ + { + "key": "zz8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-i33-dzn6-302m7rx1/7Jl----i_I.-_7g-8iJ--p-7f3-2_Z_V_-q-L34-_D86-W_g52", + "operator": "NotIn", + "values": [ + "h.v._5.vB-.-7-.6Jv-86___3" + ] + } + ] + } + } + ], + "setHostnameAsFQDN": false + } + }, + "ttlSecondsAfterFinished": -1285029915 + } + }, + "successfulJobsHistoryLimit": 1448332644, + "failedJobsHistoryLimit": 1729066291 + }, + "status": { + "active": [ + { + "kind": "503", + "namespace": "504", + "name": "505", + "uid": "ȫ(踶NJđƟÝɹ橽ƴåj}c殶ėŔ裑烴", + "apiVersion": "506", + "resourceVersion": "507", + "fieldPath": "508" + } + ] + } +} \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.pb new file mode 100644 index 000000000000..4112454b26ee Binary files /dev/null and b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.yaml new file mode 100644 index 000000000000..1eee8f95b226 --- /dev/null +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.CronJob.yaml @@ -0,0 +1,1086 @@ +apiVersion: batch/v2alpha1 +kind: CronJob +metadata: + annotations: + "9": "10" + clusterName: "15" + creationTimestamp: null + deletionGracePeriodSeconds: -4955867275792137171 + finalizers: + - "14" + generateName: "3" + generation: 8071137005907523419 + labels: + "7": "8" + managedFields: + - apiVersion: "17" + fieldsType: "18" + manager: "16" + operation: 鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć] + name: "2" + namespace: "4" + ownerReferences: + - apiVersion: "11" + blockOwnerDeletion: true + controller: false + kind: "12" + name: "13" + uid: Dz廔ȇ{sŊƏp + resourceVersion: "11042405498087606203" + selfLink: "5" + uid: "7" +spec: + concurrencyPolicy: Hr鯹)晿ą + values: + - "424" + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: s_6O-5_7_-0w_--5-_.3--_9QW2JkU27_.-4T-I.-..K.-.0__sD.-.-_s + operator: Exists + matchLabels: + 1_.-_L-__bf_9_-C-PfNx__-U_P: tW23-_.z_.._s--_F-BR-.h_2 + namespaceSelector: + matchExpressions: + - key: P_p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9np + operator: DoesNotExist + matchLabels: + Q.-_t--O3: 7z2-y.-...C4_-_2G0.-c_C.G.h--m._fN._k8__._ep2P.B._A_09E + namespaces: + - "449" + topologyKey: "450" + weight: -234140 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: 8b-3-3b17cab-ppy5e--9p-61-2we16h--5-d-k-sm.2xv17r--32b-----4-670tfz-up3n/ov_Z--Zg-_Q + operator: NotIn + values: + - 0..KpiS.oK-.O--5-yp8q_s-L + matchLabels: + rG-7--p9.-_0R.-_-3_L_2--_v2.5p_..Y-.wg_-b8a_68: Q4_.84.K_-_0_..u.F.pq..--Q + namespaceSelector: + matchExpressions: + - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr + operator: DoesNotExist + matchLabels: + 0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D: Y_2-n_5023Xl-3Pw_-r7g + namespaces: + - "435" + topologyKey: "436" + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: v54le-to9e--a-7je9fz87-2jvd23-0p1.360v2-x-cpor---cigu--s/j-dY7_M_-._M5..-N_H_55..--E3_2h + operator: DoesNotExist + matchLabels: + 1f8--tf---7r88-1--p61cd--s-nu5718--lks7d-x9-f-62o8/L9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_35H__.B_6_-U..u8gwb.-6: M9..8-8yw..__Yb_58.p-06jVZ-u0 + namespaceSelector: + matchExpressions: + - key: 410-f-o-fr-5-3t--y9---2--e-yya3.98t-----60t--019-yg--4-37f-rwh-7be--y0agp51x597277q---nt/M-0R.-I-_23L_J49t-X..1 + operator: DoesNotExist + matchLabels: + ? o17qre-33-5-u8f0f1qv--i72-x3---v25f56.w84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--1--ia5yl9k/267hP-lX-_-..5-.._r6M__4-P-g3J6 + : I-._g_.._-hKc.OB_F_--.._m_-9 + namespaces: + - "477" + topologyKey: "478" + weight: 1276377114 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: 75-p-z---k-5r6h--y7o-0-wq-zfdw73w0---4a18-f4/d1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--2 + operator: In + values: + - u-.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT_2_t_IkI-mt4...rBQ.9-0 + matchLabels: + n7-a6434---7i-f-d019o1v3u.2k8-2-d--n--r8661--3-8-t48g-w2q7z-vps548-d-1r7j--v2x-64dwb/e: "8" + namespaceSelector: + matchExpressions: + - key: N7.81_-._-_8_.._._a9 + operator: In + values: + - vi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_Mh + matchLabels: + m_-Z.wc..k_0_5.z.0..__k: b.-9.Y0-_-.l__.c17__f_-336-.BT + namespaces: + - "463" + topologyKey: "464" + automountServiceAccountToken: false + containers: + - args: + - "265" + command: + - "264" + env: + - name: "272" + value: "273" + valueFrom: + configMapKeyRef: + key: "279" + name: "278" + optional: false + fieldRef: + apiVersion: "274" + fieldPath: "275" + resourceFieldRef: + containerName: "276" + divisor: "107" + resource: "277" + secretKeyRef: + key: "281" + name: "280" + optional: false + envFrom: + - configMapRef: + name: "270" + optional: false + prefix: "269" + secretRef: + name: "271" + optional: false + image: "263" + imagePullPolicy: 笭/9崍h趭(娕uE增猍ǵ xǨ + lifecycle: + postStart: + exec: + command: + - "310" + httpGet: + host: "313" + httpHeaders: + - name: "314" + value: "315" + path: "311" + port: "312" + tcpSocket: + host: "316" + port: 935886668 + preStop: + exec: + command: + - "317" + httpGet: + host: "320" + httpHeaders: + - name: "321" + value: "322" + path: "318" + port: "319" + scheme: )DŽ髐njʉBn(fǂ + tcpSocket: + host: "323" + port: 872525702 + livenessProbe: + exec: + command: + - "288" + failureThreshold: -766915393 + httpGet: + host: "291" + httpHeaders: + - name: "292" + value: "293" + path: "289" + port: "290" + scheme: C"6x$1s + initialDelaySeconds: -860435782 + periodSeconds: -2088645849 + successThreshold: 1900201288 + tcpSocket: + host: "295" + port: "294" + timeoutSeconds: 1067125211 + name: "262" + ports: + - containerPort: 1157117817 + hostIP: "268" + hostPort: -825277526 + name: "267" + readinessProbe: + exec: + command: + - "296" + failureThreshold: 1802356198 + httpGet: + host: "298" + httpHeaders: + - name: "299" + value: "300" + path: "297" + port: 1167615307 + scheme: vEȤƏ埮p + initialDelaySeconds: -1467527914 + periodSeconds: 1221583046 + successThreshold: -1861307253 + tcpSocket: + host: "302" + port: "301" + timeoutSeconds: 1107276738 + resources: + limits: + 琕鶫:顇ə娯Ȱ囌{: "853" + requests: + Z龏´DÒȗÔÂɘɢ鬍熖B芭花: "372" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - Ƶf + drop: + - Ã茓pȓɻ + privileged: true + procMount: '#耗' + readOnlyRootFilesystem: false + runAsGroup: 5255171395073905944 + runAsNonRoot: false + runAsUser: -4099583436266168513 + seLinuxOptions: + level: "328" + role: "326" + type: "327" + user: "325" + seccompProfile: + localhostProfile: "332" + type: (ť1ùfŭƽ + windowsOptions: + gmsaCredentialSpec: "330" + gmsaCredentialSpecName: "329" + runAsUserName: "331" + startupProbe: + exec: + command: + - "303" + failureThreshold: 1697842937 + httpGet: + host: "305" + httpHeaders: + - name: "306" + value: "307" + path: "304" + port: 199049889 + scheme: IJ嘢4ʗ + initialDelaySeconds: -1896415283 + periodSeconds: -1330095135 + successThreshold: 1566213732 + tcpSocket: + host: "309" + port: "308" + timeoutSeconds: 1540899353 + stdin: true + stdinOnce: true + terminationMessagePath: "324" + terminationMessagePolicy: ay + volumeDevices: + - devicePath: "287" + name: "286" + volumeMounts: + - mountPath: "283" + mountPropagation: 亏yƕ丆録²Ŏ)/灩聋3趐囨鏻 + name: "282" + readOnly: true + subPath: "284" + subPathExpr: "285" + workingDir: "266" + dnsConfig: + nameservers: + - "491" + options: + - name: "493" + value: "494" + searches: + - "492" + dnsPolicy: 堑ūM鈱ɖ'蠨 + enableServiceLinks: false + ephemeralContainers: + - args: + - "336" + command: + - "335" + env: + - name: "343" + value: "344" + valueFrom: + configMapKeyRef: + key: "350" + name: "349" + optional: true + fieldRef: + apiVersion: "345" + fieldPath: "346" + resourceFieldRef: + containerName: "347" + divisor: "211" + resource: "348" + secretKeyRef: + key: "352" + name: "351" + optional: true + envFrom: + - configMapRef: + name: "341" + optional: false + prefix: "340" + secretRef: + name: "342" + optional: false + image: "334" + imagePullPolicy: 嵞嬯t{Eɾ敹Ȯ-湷D谹 + lifecycle: + postStart: + exec: + command: + - "380" + httpGet: + host: "382" + httpHeaders: + - name: "383" + value: "384" + path: "381" + port: 2040952835 + scheme: 诵H玲鑠ĭ$#卛8ð + tcpSocket: + host: "386" + port: "385" + preStop: + exec: + command: + - "387" + httpGet: + host: "389" + httpHeaders: + - name: "390" + value: "391" + path: "388" + port: -122203422 + scheme: 斢杧ż鯀1'鸔 + tcpSocket: + host: "392" + port: -1618269037 + livenessProbe: + exec: + command: + - "359" + failureThreshold: -478839383 + httpGet: + host: "362" + httpHeaders: + - name: "363" + value: "364" + path: "360" + port: "361" + initialDelaySeconds: 1612465029 + periodSeconds: 758604605 + successThreshold: -291429895 + tcpSocket: + host: "366" + port: "365" + timeoutSeconds: -148677969 + name: "333" + ports: + - containerPort: 1992460223 + hostIP: "339" + hostPort: -2137891092 + name: "338" + protocol: '`l}Ñ蠂Ü[ƛ^輅' + readinessProbe: + exec: + command: + - "367" + failureThreshold: -1431381588 + httpGet: + host: "369" + httpHeaders: + - name: "370" + value: "371" + path: "368" + port: 498878902 + scheme: ďJZ漤ŗ坟Ů< + initialDelaySeconds: 1808698094 + periodSeconds: -1873425934 + successThreshold: -1924862129 + tcpSocket: + host: "372" + port: -2030665763 + timeoutSeconds: 1155232143 + resources: + limits: + x糂腂: "286" + requests: + ɢzĮ蛋I滞廬耐鷞焬CQm坊柩劄奼[: "214" + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - 秮òƬɸĻo + drop: + - '{柯?' + privileged: false + procMount: 4矕Ƈè* + readOnlyRootFilesystem: false + runAsGroup: 1578419479310338359 + runAsNonRoot: false + runAsUser: -3231735416592443589 + seLinuxOptions: + level: "397" + role: "395" + type: "396" + user: "394" + seccompProfile: + localhostProfile: "401" + type: ='ʨ|ǓÓ敆OɈÏ 瞍髃 + windowsOptions: + gmsaCredentialSpec: "399" + gmsaCredentialSpecName: "398" + runAsUserName: "400" + startupProbe: + exec: + command: + - "373" + failureThreshold: -592521472 + httpGet: + host: "376" + httpHeaders: + - name: "377" + value: "378" + path: "374" + port: "375" + scheme: Nh×DJɶ羹ƞʓ%ʝ`ǭ + initialDelaySeconds: 911629631 + periodSeconds: 1859267428 + successThreshold: 1123323092 + tcpSocket: + host: "379" + port: -1467648837 + timeoutSeconds: 542678518 + stdin: true + stdinOnce: true + targetContainerName: "402" + terminationMessagePath: "393" + terminationMessagePolicy: 炙B餸硷张q櫞繡旹翃ɾ氒ĺʈʫ羶剹 + tty: true + volumeDevices: + - devicePath: "358" + name: "357" + volumeMounts: + - mountPath: "354" + mountPropagation: Ƶŧ1ƟƓ宆!鍲ɋȑoG鄧蜢暳ǽ + name: "353" + subPath: "355" + subPathExpr: "356" + workingDir: "337" + hostAliases: + - hostnames: + - "489" + ip: "488" + hostIPC: true + hostNetwork: true + hostname: "419" + imagePullSecrets: + - name: "418" + initContainers: + - args: + - "196" + command: + - "195" + env: + - name: "203" + value: "204" + valueFrom: + configMapKeyRef: + key: "210" + name: "209" + optional: false + fieldRef: + apiVersion: "205" + fieldPath: "206" + resourceFieldRef: + containerName: "207" + divisor: "231" + resource: "208" + secretKeyRef: + key: "212" + name: "211" + optional: true + envFrom: + - configMapRef: + name: "201" + optional: true + prefix: "200" + secretRef: + name: "202" + optional: false + image: "194" + imagePullPolicy: Gƚ绤fʀļ腩墺Ò媁荭gw + lifecycle: + postStart: + exec: + command: + - "240" + httpGet: + host: "243" + httpHeaders: + - name: "244" + value: "245" + path: "241" + port: "242" + scheme: 更偢ɇ卷荙JLĹ]佱¿>犵殇ŕ-Ɂ + tcpSocket: + host: "246" + port: 467291328 + preStop: + exec: + command: + - "247" + httpGet: + host: "249" + httpHeaders: + - name: "250" + value: "251" + path: "248" + port: -434820661 + scheme: r嚧 + tcpSocket: + host: "252" + port: 453108839 + livenessProbe: + exec: + command: + - "219" + failureThreshold: 158280212 + httpGet: + host: "222" + httpHeaders: + - name: "223" + value: "224" + path: "220" + port: "221" + scheme: 翁杙Ŧ癃8鸖ɱJȉ罴ņ螡ź + initialDelaySeconds: 513341278 + periodSeconds: 1255312175 + successThreshold: -1740959124 + tcpSocket: + host: "225" + port: -1543701088 + timeoutSeconds: 627713162 + name: "193" + ports: + - containerPort: -1409668172 + hostIP: "199" + hostPort: -1180080716 + name: "198" + protocol: 脾嚏吐ĠLƐȤ藠3.v-鿧悮坮Ȣ幟ļ腻 + readinessProbe: + exec: + command: + - "226" + failureThreshold: 1226391571 + httpGet: + host: "228" + httpHeaders: + - name: "229" + value: "230" + path: "227" + port: -1140531048 + initialDelaySeconds: 1260448044 + periodSeconds: -1791206950 + successThreshold: 1160477220 + tcpSocket: + host: "231" + port: 1741405963 + timeoutSeconds: -200461294 + resources: + limits: + "": "55" + requests: + 粕擓ƖHVe熼'FD: "235" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - E剒蔞 + drop: + - 表徶đ寳议Ƭƶ氩Ȩ<6鄰簳°Ļǟi&皥 + privileged: false + procMount: ¦队偯J僳徥淳4揻-$ɽ丟×x锏ɟ + readOnlyRootFilesystem: true + runAsGroup: -5569844914519516591 + runAsNonRoot: true + runAsUser: -3342656999442156006 + seLinuxOptions: + level: "257" + role: "255" + type: "256" + user: "254" + seccompProfile: + localhostProfile: "261" + type: Ǒ輂,ŕĪĠM蘇KŅ/»頸+SÄ蚃ɣ + windowsOptions: + gmsaCredentialSpec: "259" + gmsaCredentialSpecName: "258" + runAsUserName: "260" + startupProbe: + exec: + command: + - "232" + failureThreshold: 300356869 + httpGet: + host: "235" + httpHeaders: + - name: "236" + value: "237" + path: "233" + port: "234" + scheme: 勅跦Opwǩ曬逴褜1Ø + initialDelaySeconds: -589000495 + periodSeconds: 561988938 + successThreshold: 1419770315 + tcpSocket: + host: "239" + port: "238" + timeoutSeconds: -955773237 + stdin: true + terminationMessagePath: "253" + terminationMessagePolicy: 趛屡ʁ岼昕ĬÇó藢xɮĵȑ6L* + tty: true + volumeDevices: + - devicePath: "218" + name: "217" + volumeMounts: + - mountPath: "214" + mountPropagation: UÐ_ƮA攤/ɸɎ + name: "213" + subPath: "215" + subPathExpr: "216" + workingDir: "197" + nodeName: "407" + nodeSelector: + "403": "404" + overhead: + D輷: "792" + preemptionPolicy: m珢\%傢z¦Ā竚ĐȌƨǴ叆 + priority: 347613368 + priorityClassName: "490" + readinessGates: + - conditionType: ř岈ǎǏ]S5:œƌ嵃ǁ + restartPolicy: ȕW歹s + runtimeClassName: "495" + schedulerName: "485" + securityContext: + fsGroup: 3104099627522161950 + fsGroupChangePolicy: ß讪Ă2讅缔m葰賦迾娙 + runAsGroup: 241576272398843100 + runAsNonRoot: false + runAsUser: -8735446882646824517 + seLinuxOptions: + level: "411" + role: "409" + type: "410" + user: "408" + seccompProfile: + localhostProfile: "417" + type: 4虵p蓋沥7uPƒ + supplementalGroups: + - 3851285476969791307 + sysctls: + - name: "415" + value: "416" + windowsOptions: + gmsaCredentialSpec: "413" + gmsaCredentialSpecName: "412" + runAsUserName: "414" + serviceAccount: "406" + serviceAccountName: "405" + setHostnameAsFQDN: false + shareProcessNamespace: false + subdomain: "420" + terminationGracePeriodSeconds: -2705718780200389430 + tolerations: + - effect: U烈 źfjǰɪ嘞ȏ}杻扞Ğ + key: "486" + operator: r}梳攔wŲ魦Ɔ0ƢĮÀĘÆɆȸȢ蒸 + tolerationSeconds: 3252034671163905138 + value: "487" + topologySpreadConstraints: + - labelSelector: + matchExpressions: + - key: zz8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-i33-dzn6-302m7rx1/7Jl----i_I.-_7g-8iJ--p-7f3-2_Z_V_-q-L34-_D86-W_g52 + operator: NotIn + values: + - h.v._5.vB-.-7-.6Jv-86___3 + matchLabels: + n.DL.o_e-d92e8S_-0-_8Vz-E41___75Q-T: O.__0PPX-.-d4Badb + maxSkew: -484382570 + topologyKey: "496" + whenUnsatisfiable: nn坾&Pɫ(ʙÆʨɺC` + volumes: + - awsElasticBlockStore: + fsType: "65" + partition: -1853411528 + volumeID: "64" + azureDisk: + cachingMode: A3fƻfʣ繡楙¯ + diskName: "128" + diskURI: "129" + fsType: "130" + kind: 勗E濞偘1ɩÅ議Ǹ轺@)蓳嗘TʡȂ + readOnly: true + azureFile: + secretName: "114" + shareName: "115" + cephfs: + monitors: + - "99" + path: "100" + readOnly: true + secretFile: "102" + secretRef: + name: "103" + user: "101" + cinder: + fsType: "97" + secretRef: + name: "98" + volumeID: "96" + configMap: + defaultMode: -347579237 + items: + - key: "117" + mode: 1793473487 + path: "118" + name: "116" + optional: false + csi: + driver: "160" + fsType: "161" + nodePublishSecretRef: + name: "164" + readOnly: false + volumeAttributes: + "162": "163" + downwardAPI: + defaultMode: -1775926229 + items: + - fieldRef: + apiVersion: "107" + fieldPath: "108" + mode: -1011172037 + path: "106" + resourceFieldRef: + containerName: "109" + divisor: "52" + resource: "110" + emptyDir: + medium: 捵TwMȗ礼2ħ籦ö嗏ʑ>季Cʖ畬 + sizeLimit: "347" + ephemeral: + readOnly: true + volumeClaimTemplate: + metadata: + annotations: + "172": "173" + clusterName: "178" + creationTimestamp: null + deletionGracePeriodSeconds: 3218160964766401208 + finalizers: + - "177" + generateName: "166" + generation: -6008930988505485536 + labels: + "170": "171" + managedFields: + - apiVersion: "180" + fieldsType: "181" + manager: "179" + operation: quA?瞲Ť倱<įXŋ + name: "165" + namespace: "167" + ownerReferences: + - apiVersion: "174" + blockOwnerDeletion: false + controller: true + kind: "175" + name: "176" + uid: ɜa頢ƛƟ)ÙæNǚ + resourceVersion: "4447340384943270560" + selfLink: "168" + uid: A徙ɶɊł/擇ɦĽ胚 + spec: + accessModes: + - 厶耈 T衧ȇe媹Hǝ呮}臷 + dataSource: + apiGroup: "190" + kind: "191" + name: "192" + resources: + limits: + /樝fw[Řż丩ŽoǠŻʘY賃ɪ鐊: "967" + requests: + ǎɳ,ǿ飏騀呣ǎfǣ萭旿@掇lNd: "150" + selector: + matchExpressions: + - key: 6tv27r-m8w-6-9-35d8.w-v-93ix6bigm-h8-3q768km-0--03-t-0-05/4--6o--Bo-F__..XR.7_1-p-6_._31.-.-z + operator: NotIn + values: + - A5b.5-CX_VBC.Jn4f_1 + matchLabels: + 5P.-i.Fg.Cs_.w: 4_2IN..3O4y..-W.5w9-Wm_AO-l8VKLyHA_.-F_E2_QOuQ_0 + storageClassName: "189" + volumeMode: 髷裎$MVȟ@7飣奺Ȋ + volumeName: "188" + fc: + fsType: "112" + lun: -740816174 + targetWWNs: + - "111" + wwids: + - "113" + flexVolume: + driver: "91" + fsType: "92" + options: + "94": "95" + secretRef: + name: "93" + flocker: + datasetName: "104" + datasetUUID: "105" + gcePersistentDisk: + fsType: "63" + partition: 1399152294 + pdName: "62" + readOnly: true + gitRepo: + directory: "68" + repository: "66" + revision: "67" + glusterfs: + endpoints: "81" + path: "82" + readOnly: true + hostPath: + path: "61" + type: j剐'宣I拍N嚳ķȗ + iscsi: + fsType: "77" + initiatorName: "80" + iqn: "75" + iscsiInterface: "76" + lun: -1483417237 + portals: + - "78" + secretRef: + name: "79" + targetPortal: "74" + name: "60" + nfs: + path: "73" + server: "72" + persistentVolumeClaim: + claimName: "83" + readOnly: true + photonPersistentDisk: + fsType: "132" + pdID: "131" + portworxVolume: + fsType: "147" + volumeID: "146" + projected: + defaultMode: -1332301579 + sources: + - configMap: + items: + - key: "142" + mode: -1249460160 + path: "143" + name: "141" + optional: false + downwardAPI: + items: + - fieldRef: + apiVersion: "137" + fieldPath: "138" + mode: 1525389481 + path: "136" + resourceFieldRef: + containerName: "139" + divisor: "618" + resource: "140" + secret: + items: + - key: "134" + mode: 550215822 + path: "135" + name: "133" + optional: false + serviceAccountToken: + audience: "144" + expirationSeconds: -8988970531898753887 + path: "145" + quobyte: + group: "126" + readOnly: true + registry: "123" + tenant: "127" + user: "125" + volume: "124" + rbd: + fsType: "86" + image: "85" + keyring: "89" + monitors: + - "84" + pool: "87" + readOnly: true + secretRef: + name: "90" + user: "88" + scaleIO: + fsType: "155" + gateway: "148" + protectionDomain: "151" + readOnly: true + secretRef: + name: "150" + storageMode: "153" + storagePool: "152" + system: "149" + volumeName: "154" + secret: + defaultMode: -1852451720 + items: + - key: "70" + mode: 1395607230 + path: "71" + optional: true + secretName: "69" + storageos: + fsType: "158" + readOnly: true + secretRef: + name: "159" + volumeName: "156" + volumeNamespace: "157" + vsphereVolume: + fsType: "120" + storagePolicyID: "122" + storagePolicyName: "121" + volumePath: "119" + ttlSecondsAfterFinished: -1285029915 + schedule: "19" + startingDeadlineSeconds: -2555947251840004808 + successfulJobsHistoryLimit: 1448332644 + suspend: true +status: + active: + - apiVersion: "506" + fieldPath: "508" + kind: "503" + name: "505" + namespace: "504" + resourceVersion: "507" + uid: ȫ(踶NJđƟÝɹ橽ƴåj}c殶ėŔ裑烴 diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json new file mode 100644 index 000000000000..dcfc9594882c --- /dev/null +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.json @@ -0,0 +1,1583 @@ +{ + "kind": "JobTemplate", + "apiVersion": "batch/v2alpha1", + "metadata": { + "name": "2", + "generateName": "3", + "namespace": "4", + "selfLink": "5", + "uid": "7", + "resourceVersion": "11042405498087606203", + "generation": 8071137005907523419, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -4955867275792137171, + "labels": { + "7": "8" + }, + "annotations": { + "9": "10" + }, + "ownerReferences": [ + { + "apiVersion": "11", + "kind": "12", + "name": "13", + "uid": "Dz廔ȇ{sŊƏp", + "controller": false, + "blockOwnerDeletion": true + } + ], + "finalizers": [ + "14" + ], + "clusterName": "15", + "managedFields": [ + { + "manager": "16", + "operation": "鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć]", + "apiVersion": "17", + "fieldsType": "18" + } + ] + }, + "template": { + "metadata": { + "name": "19", + "generateName": "20", + "namespace": "21", + "selfLink": "22", + "uid": "SǡƏ", + "resourceVersion": "17916580954637291219", + "generation": 5259823216098853135, + "creationTimestamp": null, + "deletionGracePeriodSeconds": 4075183944016503389, + "labels": { + "24": "25" + }, + "annotations": { + "26": "27" + }, + "ownerReferences": [ + { + "apiVersion": "28", + "kind": "29", + "name": "30", + "uid": "ɑ", + "controller": true, + "blockOwnerDeletion": false + } + ], + "finalizers": [ + "31" + ], + "clusterName": "32", + "managedFields": [ + { + "manager": "33", + "operation": "ěĂ凗蓏Ŋ蛊ĉy緅縕", + "apiVersion": "34", + "fieldsType": "35" + } + ] + }, + "spec": { + "parallelism": -443114323, + "completions": -1771909905, + "activeDeadlineSeconds": -9086179100394185427, + "backoffLimit": -1796008812, + "selector": { + "matchLabels": { + "g5i9/l-Y._.-444": "c2_kS91.e5K-_e63_-_3-n-_-__3u-.__P__.7U-Uo_4_-D7r__.am64" + }, + "matchExpressions": [ + { + "key": "2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--n1-5", + "operator": "In", + "values": [ + "Ou1.m_.5AW-_S-.3g.7_2fNc5-_.-RX8" + ] + } + ] + }, + "manualSelector": false, + "template": { + "metadata": { + "name": "42", + "generateName": "43", + "namespace": "44", + "selfLink": "45", + "uid": "Ȗ脵鴈Ō", + "resourceVersion": "5994087412557504692", + "generation": 9213888658033954596, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -2901856114738744973, + "labels": { + "47": "48" + }, + "annotations": { + "49": "50" + }, + "ownerReferences": [ + { + "apiVersion": "51", + "kind": "52", + "name": "53", + "uid": "I拍N嚳ķȗɊ捵TwMȗ礼", + "controller": false, + "blockOwnerDeletion": false + } + ], + "finalizers": [ + "54" + ], + "clusterName": "55", + "managedFields": [ + { + "manager": "56", + "operation": "ö嗏ʑ\u003e季Cʖ畬x骀Šĸů", + "apiVersion": "57", + "fieldsType": "58" + } + ] + }, + "spec": { + "volumes": [ + { + "name": "59", + "hostPath": { + "path": "60", + "type": "/淹\\韲翁\u0026ʢsɜ曢\\%枅:=ǛƓ" + }, + "emptyDir": { + "medium": "踓Ǻǧ湬淊kŪ睴鸏:ɥ³ƞsɁ8^ʥ", + "sizeLimit": "681" + }, + "gcePersistentDisk": { + "pdName": "61", + "fsType": "62", + "partition": 2065358741, + "readOnly": true + }, + "awsElasticBlockStore": { + "volumeID": "63", + "fsType": "64", + "partition": -104666658, + "readOnly": true + }, + "gitRepo": { + "repository": "65", + "revision": "66", + "directory": "67" + }, + "secret": { + "secretName": "68", + "items": [ + { + "key": "69", + "path": "70", + "mode": 1648350164 + } + ], + "defaultMode": 1655406148, + "optional": true + }, + "nfs": { + "server": "71", + "path": "72" + }, + "iscsi": { + "targetPortal": "73", + "iqn": "74", + "lun": -663180249, + "iscsiInterface": "75", + "fsType": "76", + "readOnly": true, + "portals": [ + "77" + ], + "chapAuthSession": true, + "secretRef": { + "name": "78" + }, + "initiatorName": "79" + }, + "glusterfs": { + "endpoints": "80", + "path": "81" + }, + "persistentVolumeClaim": { + "claimName": "82" + }, + "rbd": { + "monitors": [ + "83" + ], + "image": "84", + "fsType": "85", + "pool": "86", + "user": "87", + "keyring": "88", + "secretRef": { + "name": "89" + }, + "readOnly": true + }, + "flexVolume": { + "driver": "90", + "fsType": "91", + "secretRef": { + "name": "92" + }, + "readOnly": true, + "options": { + "93": "94" + } + }, + "cinder": { + "volumeID": "95", + "fsType": "96", + "readOnly": true, + "secretRef": { + "name": "97" + } + }, + "cephfs": { + "monitors": [ + "98" + ], + "path": "99", + "user": "100", + "secretFile": "101", + "secretRef": { + "name": "102" + } + }, + "flocker": { + "datasetName": "103", + "datasetUUID": "104" + }, + "downwardAPI": { + "items": [ + { + "path": "105", + "fieldRef": { + "apiVersion": "106", + "fieldPath": "107" + }, + "resourceFieldRef": { + "containerName": "108", + "resource": "109", + "divisor": "889" + }, + "mode": 1322858613 + } + ], + "defaultMode": 1801487647 + }, + "fc": { + "targetWWNs": [ + "110" + ], + "lun": 1169718433, + "fsType": "111", + "wwids": [ + "112" + ] + }, + "azureFile": { + "secretName": "113", + "shareName": "114" + }, + "configMap": { + "name": "115", + "items": [ + { + "key": "116", + "path": "117", + "mode": -1194714697 + } + ], + "defaultMode": -599608368, + "optional": true + }, + "vsphereVolume": { + "volumePath": "118", + "fsType": "119", + "storagePolicyName": "120", + "storagePolicyID": "121" + }, + "quobyte": { + "registry": "122", + "volume": "123", + "readOnly": true, + "user": "124", + "group": "125", + "tenant": "126" + }, + "azureDisk": { + "diskName": "127", + "diskURI": "128", + "cachingMode": "ʜǝ鿟ldg滠鼍ƭt", + "fsType": "129", + "readOnly": true, + "kind": "ȫşŇɜa" + }, + "photonPersistentDisk": { + "pdID": "130", + "fsType": "131" + }, + "projected": { + "sources": [ + { + "secret": { + "name": "132", + "items": [ + { + "key": "133", + "path": "134", + "mode": 782113097 + } + ], + "optional": true + }, + "downwardAPI": { + "items": [ + { + "path": "135", + "fieldRef": { + "apiVersion": "136", + "fieldPath": "137" + }, + "resourceFieldRef": { + "containerName": "138", + "resource": "139", + "divisor": "952" + }, + "mode": -555780268 + } + ] + }, + "configMap": { + "name": "140", + "items": [ + { + "key": "141", + "path": "142", + "mode": 1730325900 + } + ], + "optional": true + }, + "serviceAccountToken": { + "audience": "143", + "expirationSeconds": -2937394236764575757, + "path": "144" + } + } + ], + "defaultMode": -1980941277 + }, + "portworxVolume": { + "volumeID": "145", + "fsType": "146", + "readOnly": true + }, + "scaleIO": { + "gateway": "147", + "system": "148", + "secretRef": { + "name": "149" + }, + "sslEnabled": true, + "protectionDomain": "150", + "storagePool": "151", + "storageMode": "152", + "volumeName": "153", + "fsType": "154" + }, + "storageos": { + "volumeName": "155", + "volumeNamespace": "156", + "fsType": "157", + "readOnly": true, + "secretRef": { + "name": "158" + } + }, + "csi": { + "driver": "159", + "readOnly": true, + "fsType": "160", + "volumeAttributes": { + "161": "162" + }, + "nodePublishSecretRef": { + "name": "163" + } + }, + "ephemeral": { + "volumeClaimTemplate": { + "metadata": { + "name": "164", + "generateName": "165", + "namespace": "166", + "selfLink": "167", + "uid": ";栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼", + "resourceVersion": "917467801074989174", + "generation": -8801560367353238479, + "creationTimestamp": null, + "deletionGracePeriodSeconds": -1837257934517376612, + "labels": { + "169": "170" + }, + "annotations": { + "171": "172" + }, + "ownerReferences": [ + { + "apiVersion": "173", + "kind": "174", + "name": "175", + "uid": "", + "controller": true, + "blockOwnerDeletion": true + } + ], + "finalizers": [ + "176" + ], + "clusterName": "177", + "managedFields": [ + { + "manager": "178", + "operation": "蒅!a坩O`涁İ而踪鄌", + "apiVersion": "179", + "fieldsType": "180" + } + ] + }, + "spec": { + "accessModes": [ + "|@?鷅bȻN" + ], + "selector": { + "matchLabels": { + "fi-a--w---f-e.z-j4kh6oqu-or---40--87-1wpl6-2-310e5hyzn0w-p4mzlu/m_AO-l8VKLyHA_.-F_E2_QOQ": "E._._3.-.83_iq_-y.-25C.A-j..9dfn3Y8d_0_.---M_4FF" + }, + "matchExpressions": [ + { + "key": "39-295at-o7qff7-x--r7v66bm71u-n4f9wk-3--652x01--p--n4-4-l.onh-9289---x-p-qpt6-1w-3205c1lxeqyn-5--9d5a3-7bf46g-40883176jte/Pi.-_-a-G", + "operator": "Exists" + } + ] + }, + "resources": { + "limits": { + "?$矡ȶ网棊ʢ": "891" + }, + "requests": { + "Ⱥ眖R#yV'WKw(ğ": "423" + } + }, + "volumeName": "187", + "storageClassName": "188", + "volumeMode": "跦Opwǩ曬逴褜1", + "dataSource": { + "apiGroup": "189", + "kind": "190", + "name": "191" + } + } + }, + "readOnly": true + } + } + ], + "initContainers": [ + { + "name": "192", + "image": "193", + "command": [ + "194" + ], + "args": [ + "195" + ], + "workingDir": "196", + "ports": [ + { + "name": "197", + "hostPort": -805795167, + "containerPort": 1791615594, + "protocol": "Ƥ熪军g\u003e郵[+扴", + "hostIP": "198" + } + ], + "envFrom": [ + { + "prefix": "199", + "configMapRef": { + "name": "200", + "optional": false + }, + "secretRef": { + "name": "201", + "optional": false + } + } + ], + "env": [ + { + "name": "202", + "value": "203", + "valueFrom": { + "fieldRef": { + "apiVersion": "204", + "fieldPath": "205" + }, + "resourceFieldRef": { + "containerName": "206", + "resource": "207", + "divisor": "241" + }, + "configMapKeyRef": { + "name": "208", + "key": "209", + "optional": true + }, + "secretKeyRef": { + "name": "210", + "key": "211", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "": "268" + }, + "requests": { + "-Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ": "340" + } + }, + "volumeMounts": [ + { + "name": "212", + "mountPath": "213", + "subPath": "214", + "mountPropagation": "藢xɮĵȑ6L*Z鐫û咡W\u003c", + "subPathExpr": "215" + } + ], + "volumeDevices": [ + { + "name": "216", + "devicePath": "217" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "218" + ] + }, + "httpGet": { + "path": "219", + "port": -1225815437, + "host": "220", + "scheme": "荭gw忊|E", + "httpHeaders": [ + { + "name": "221", + "value": "222" + } + ] + }, + "tcpSocket": { + "port": -438588982, + "host": "223" + }, + "initialDelaySeconds": 1004325340, + "timeoutSeconds": -1313320434, + "periodSeconds": 14304392, + "successThreshold": 465972736, + "failureThreshold": -1784617397 + }, + "readinessProbe": { + "exec": { + "command": [ + "224" + ] + }, + "httpGet": { + "path": "225", + "port": "226", + "host": "227", + "scheme": "貾坢'跩aŕ翑0", + "httpHeaders": [ + { + "name": "228", + "value": "229" + } + ] + }, + "tcpSocket": { + "port": 1165327504, + "host": "230" + }, + "initialDelaySeconds": -2165496, + "timeoutSeconds": -1778952574, + "periodSeconds": 1386255869, + "successThreshold": -778272981, + "failureThreshold": 2056774277 + }, + "startupProbe": { + "exec": { + "command": [ + "231" + ] + }, + "httpGet": { + "path": "232", + "port": -1928016742, + "host": "233", + "scheme": "E¦", + "httpHeaders": [ + { + "name": "234", + "value": "235" + } + ] + }, + "tcpSocket": { + "port": "236", + "host": "237" + }, + "initialDelaySeconds": 1868887309, + "timeoutSeconds": -528664199, + "periodSeconds": -316996074, + "successThreshold": 1933968533, + "failureThreshold": 549215478 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "238" + ] + }, + "httpGet": { + "path": "239", + "port": 878005329, + "host": "240", + "scheme": "丟×x锏ɟ4Ǒ", + "httpHeaders": [ + { + "name": "241", + "value": "242" + } + ] + }, + "tcpSocket": { + "port": "243", + "host": "244" + } + }, + "preStop": { + "exec": { + "command": [ + "245" + ] + }, + "httpGet": { + "path": "246", + "port": 1746399757, + "host": "247", + "scheme": "V訆Ǝżŧ", + "httpHeaders": [ + { + "name": "248", + "value": "249" + } + ] + }, + "tcpSocket": { + "port": 204229950, + "host": "250" + } + } + }, + "terminationMessagePath": "251", + "terminationMessagePolicy": "NƗ¸gĩ", + "imagePullPolicy": "酊龨δ摖ȱğ_\u003c", + "securityContext": { + "capabilities": { + "add": [ + "J橈'琕鶫:顇ə娯" + ], + "drop": [ + "囌{屿oiɥ嵐sC" + ] + }, + "privileged": false, + "seLinuxOptions": { + "user": "252", + "role": "253", + "type": "254", + "level": "255" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "256", + "gmsaCredentialSpec": "257", + "runAsUserName": "258" + }, + "runAsUser": 7917735345573161773, + "runAsGroup": -6499508485510627932, + "runAsNonRoot": true, + "readOnlyRootFilesystem": false, + "allowPrivilegeEscalation": false, + "procMount": "Jih亏yƕ丆録²", + "seccompProfile": { + "type": ")/灩聋3趐囨鏻", + "localhostProfile": "259" + } + }, + "tty": true + } + ], + "containers": [ + { + "name": "260", + "image": "261", + "command": [ + "262" + ], + "args": [ + "263" + ], + "workingDir": "264", + "ports": [ + { + "name": "265", + "hostPort": -1365158918, + "containerPort": -305362540, + "protocol": "Ǩ繫ʎǑyZ涬P­蜷ɔ幩", + "hostIP": "266" + } + ], + "envFrom": [ + { + "prefix": "267", + "configMapRef": { + "name": "268", + "optional": true + }, + "secretRef": { + "name": "269", + "optional": true + } + } + ], + "env": [ + { + "name": "270", + "value": "271", + "valueFrom": { + "fieldRef": { + "apiVersion": "272", + "fieldPath": "273" + }, + "resourceFieldRef": { + "containerName": "274", + "resource": "275", + "divisor": "9" + }, + "configMapKeyRef": { + "name": "276", + "key": "277", + "optional": false + }, + "secretKeyRef": { + "name": "278", + "key": "279", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "{WOŭW灬pȭCV擭銆jʒǚ鍰": "212" + }, + "requests": { + "| 鞤ɱďW賁Ěɭɪǹ0衷,": "227" + } + }, + "volumeMounts": [ + { + "name": "280", + "readOnly": true, + "mountPath": "281", + "subPath": "282", + "mountPropagation": "Bn(fǂǢ曣ŋayåe躒訙Ǫ", + "subPathExpr": "283" + } + ], + "volumeDevices": [ + { + "name": "284", + "devicePath": "285" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "286" + ] + }, + "httpGet": { + "path": "287", + "port": "288", + "host": "289", + "scheme": "uE增猍ǵ xǨŴ", + "httpHeaders": [ + { + "name": "290", + "value": "291" + } + ] + }, + "tcpSocket": { + "port": 2112112129, + "host": "292" + }, + "initialDelaySeconds": 528603974, + "timeoutSeconds": -342387625, + "periodSeconds": 1862455894, + "successThreshold": 1080918702, + "failureThreshold": -239264629 + }, + "readinessProbe": { + "exec": { + "command": [ + "293" + ] + }, + "httpGet": { + "path": "294", + "port": -186532794, + "host": "295", + "scheme": "ĩȲǸ|蕎'佉賞ǧĒzŔ瘍Nʊ輔3璾ė", + "httpHeaders": [ + { + "name": "296", + "value": "297" + } + ] + }, + "tcpSocket": { + "port": "298", + "host": "299" + }, + "initialDelaySeconds": -751455207, + "timeoutSeconds": -894026356, + "periodSeconds": 646133945, + "successThreshold": -506710067, + "failureThreshold": -47594442 + }, + "startupProbe": { + "exec": { + "command": [ + "300" + ] + }, + "httpGet": { + "path": "301", + "port": -1894326843, + "host": "302", + "scheme": "ƛ^輅9ɛ棕ƈ眽炊礫Ƽ¨I", + "httpHeaders": [ + { + "name": "303", + "value": "304" + } + ] + }, + "tcpSocket": { + "port": "305", + "host": "306" + }, + "initialDelaySeconds": -106856189, + "timeoutSeconds": -2078917333, + "periodSeconds": 86851677, + "successThreshold": -404911753, + "failureThreshold": 890223061 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "307" + ] + }, + "httpGet": { + "path": "308", + "port": -468215285, + "host": "309", + "scheme": "ʆɞȥ}礤铟怖ý萜Ǖc8", + "httpHeaders": [ + { + "name": "310", + "value": "311" + } + ] + }, + "tcpSocket": { + "port": "312", + "host": "313" + } + }, + "preStop": { + "exec": { + "command": [ + "314" + ] + }, + "httpGet": { + "path": "315", + "port": 293042649, + "host": "316", + "scheme": "ǔvÄÚ×p鬷m罂o3ǰ廋i乳'", + "httpHeaders": [ + { + "name": "317", + "value": "318" + } + ] + }, + "tcpSocket": { + "port": "319", + "host": "320" + } + } + }, + "terminationMessagePath": "321", + "terminationMessagePolicy": "ɻ;襕ċ桉桃喕", + "imagePullPolicy": "熀ďJZ漤", + "securityContext": { + "capabilities": { + "add": [ + "Ů\u003cy鯶縆łƑ[澔" + ], + "drop": [ + "JŵǤ" + ] + }, + "privileged": true, + "seLinuxOptions": { + "user": "322", + "role": "323", + "type": "324", + "level": "325" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "326", + "gmsaCredentialSpec": "327", + "runAsUserName": "328" + }, + "runAsUser": 296399212346260204, + "runAsGroup": 1571605531283019612, + "runAsNonRoot": true, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": false, + "procMount": "\u0026疀", + "seccompProfile": { + "type": "N翾", + "localhostProfile": "329" + } + }, + "tty": true + } + ], + "ephemeralContainers": [ + { + "name": "330", + "image": "331", + "command": [ + "332" + ], + "args": [ + "333" + ], + "workingDir": "334", + "ports": [ + { + "name": "335", + "hostPort": -1703842211, + "containerPort": 970355275, + "protocol": "ńČȷǻ.wȏâ磠Ƴ崖S", + "hostIP": "336" + } + ], + "envFrom": [ + { + "prefix": "337", + "configMapRef": { + "name": "338", + "optional": false + }, + "secretRef": { + "name": "339", + "optional": true + } + } + ], + "env": [ + { + "name": "340", + "value": "341", + "valueFrom": { + "fieldRef": { + "apiVersion": "342", + "fieldPath": "343" + }, + "resourceFieldRef": { + "containerName": "344", + "resource": "345", + "divisor": "592" + }, + "configMapKeyRef": { + "name": "346", + "key": "347", + "optional": false + }, + "secretKeyRef": { + "name": "348", + "key": "349", + "optional": false + } + } + } + ], + "resources": { + "limits": { + "ż鯀1": "636" + }, + "requests": { + "sYȠ繽敮ǰ詀": "570" + } + }, + "volumeMounts": [ + { + "name": "350", + "readOnly": true, + "mountPath": "351", + "subPath": "352", + "mountPropagation": "櫞繡旹翃ɾ氒ĺʈʫ羶剹Ɗ", + "subPathExpr": "353" + } + ], + "volumeDevices": [ + { + "name": "354", + "devicePath": "355" + } + ], + "livenessProbe": { + "exec": { + "command": [ + "356" + ] + }, + "httpGet": { + "path": "357", + "port": -1247120403, + "host": "358", + "scheme": "ɾ", + "httpHeaders": [ + { + "name": "359", + "value": "360" + } + ] + }, + "tcpSocket": { + "port": -1695993040, + "host": "361" + }, + "initialDelaySeconds": 1218203975, + "timeoutSeconds": -1726456869, + "periodSeconds": 892837330, + "successThreshold": 789384689, + "failureThreshold": 436796816 + }, + "readinessProbe": { + "exec": { + "command": [ + "362" + ] + }, + "httpGet": { + "path": "363", + "port": "364", + "host": "365", + "scheme": "Ȋ飂廤Ƌʙcx赮ǒđ\u003e*劶?jĎ", + "httpHeaders": [ + { + "name": "366", + "value": "367" + } + ] + }, + "tcpSocket": { + "port": "368", + "host": "369" + }, + "initialDelaySeconds": -821592382, + "timeoutSeconds": 1678953375, + "periodSeconds": 1045190247, + "successThreshold": 1805682547, + "failureThreshold": -651405950 + }, + "startupProbe": { + "exec": { + "command": [ + "370" + ] + }, + "httpGet": { + "path": "371", + "port": "372", + "host": "373", + "scheme": "|ǓÓ敆OɈÏ 瞍髃", + "httpHeaders": [ + { + "name": "374", + "value": "375" + } + ] + }, + "tcpSocket": { + "port": -392406530, + "host": "376" + }, + "initialDelaySeconds": -839925309, + "timeoutSeconds": -526099499, + "periodSeconds": -1014296961, + "successThreshold": 1708011112, + "failureThreshold": -603097910 + }, + "lifecycle": { + "postStart": { + "exec": { + "command": [ + "377" + ] + }, + "httpGet": { + "path": "378", + "port": "379", + "host": "380", + "scheme": "遲njlȘ鹾KƂʼnçȶŮ嫠!@@)Z", + "httpHeaders": [ + { + "name": "381", + "value": "382" + } + ] + }, + "tcpSocket": { + "port": "383", + "host": "384" + } + }, + "preStop": { + "exec": { + "command": [ + "385" + ] + }, + "httpGet": { + "path": "386", + "port": 1041627045, + "host": "387", + "scheme": "2讅缔m葰賦迾娙ƴ4", + "httpHeaders": [ + { + "name": "388", + "value": "389" + } + ] + }, + "tcpSocket": { + "port": 2088991012, + "host": "390" + } + } + }, + "terminationMessagePath": "391", + "terminationMessagePolicy": "沥7uPƒw©ɴĶ烷Ľthp", + "imagePullPolicy": "陴Sĕ濦ʓɻŊ0蚢鑸鶲Ãqb", + "securityContext": { + "capabilities": { + "add": [ + "滨Ė" + ], + "drop": [ + "h}颉hȱɷȰW瀤oɢ嫎" + ] + }, + "privileged": true, + "seLinuxOptions": { + "user": "392", + "role": "393", + "type": "394", + "level": "395" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "396", + "gmsaCredentialSpec": "397", + "runAsUserName": "398" + }, + "runAsUser": -4298540371641498337, + "runAsGroup": 2803560372754431995, + "runAsNonRoot": false, + "readOnlyRootFilesystem": true, + "allowPrivilegeEscalation": true, + "procMount": "t(ȗŜŲ\u0026洪y儕lmòɻŶJ詢QǾɁ", + "seccompProfile": { + "type": "G鯇ɀ魒Ð扬=惍EʦŊĊ娮rȧŹ黷`嵐", + "localhostProfile": "399" + } + }, + "stdin": true, + "stdinOnce": true, + "targetContainerName": "400" + } + ], + "restartPolicy": "婦", + "terminationGracePeriodSeconds": -7767642171323610380, + "activeDeadlineSeconds": -4963438147266444254, + "dnsPolicy": "ʫį淓¯Ą0ƛ忀z委\u003e,趐V曡88 ", + "nodeSelector": { + "401": "402" + }, + "serviceAccountName": "403", + "serviceAccount": "404", + "automountServiceAccountToken": false, + "nodeName": "405", + "hostPID": true, + "shareProcessNamespace": false, + "securityContext": { + "seLinuxOptions": { + "user": "406", + "role": "407", + "type": "408", + "level": "409" + }, + "windowsOptions": { + "gmsaCredentialSpecName": "410", + "gmsaCredentialSpec": "411", + "runAsUserName": "412" + }, + "runAsUser": -8872996084157186866, + "runAsGroup": -1083846598029307786, + "runAsNonRoot": false, + "supplementalGroups": [ + -46143243150134963 + ], + "fsGroup": -6298002649883493725, + "sysctls": [ + { + "name": "413", + "value": "414" + } + ], + "fsGroupChangePolicy": "ä2 ɲ±m嵘厶sȰÖ埡Æ", + "seccompProfile": { + "type": "Ş襵樞úʥ銀", + "localhostProfile": "415" + } + }, + "imagePullSecrets": [ + { + "name": "416" + } + ], + "hostname": "417", + "subdomain": "418", + "affinity": { + "nodeAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { + "matchExpressions": [ + { + "key": "419", + "operator": "ĵ'o儿Ƭ銭u裡_Ơ9oÕęȄ怈", + "values": [ + "420" + ] + } + ], + "matchFields": [ + { + "key": "421", + "operator": "", + "values": [ + "422" + ] + } + ] + } + ] + }, + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -1677779481, + "preference": { + "matchExpressions": [ + { + "key": "423", + "operator": "WĶʗ", + "values": [ + "424" + ] + } + ], + "matchFields": [ + { + "key": "425", + "operator": "裥d[榴^șƷK", + "values": [ + "426" + ] + } + ] + } + } + ] + }, + "podAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-O": "o5-yp8q_s-1_g" + }, + "matchExpressions": [ + { + "key": "x3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--2k-p---19/6l.-5_BZk5v3aUK_--_o_2.--4ZH", + "operator": "NotIn", + "values": [ + "M.--_-_ve5.m_2_--XZ-x.__.Y_2-n_503" + ] + } + ] + }, + "namespaces": [ + "433" + ], + "topologyKey": "434", + "namespaceSelector": { + "matchLabels": { + "Q8__T3sn-0_.P": "a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_OX" + }, + "matchExpressions": [ + { + "key": "ZXC0_-7.-hj-O_8-b6E_--B", + "operator": "In", + "values": [ + "n_Ht5W_._._-2M2._I-_P..w-W_-nE...-__--.k47M7y-y" + ] + } + ] + } + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": 484696463, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "7-a0w-ke5p-33lt-9--2-k-27-4r4-d-9a42-2y20--s-7l6e--s-1--t-4.67-9a-trt-03-7z2zy0e428-4-k-2-o/UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__4K..-687": "o_.ZCRT.0z-oe.G79.3bU_._n3" + }, + "matchExpressions": [ + { + "key": "4-52--6-0dkn-9n7p22o4a-w----11rqy3eo79p-f4r1--7p--0z/05-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6NO", + "operator": "DoesNotExist" + } + ] + }, + "namespaces": [ + "447" + ], + "topologyKey": "448", + "namespaceSelector": { + "matchLabels": { + "WNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-.jL_v.-_.d": "FbuvE5" + }, + "matchExpressions": [ + { + "key": "g2/2k.F-F..3m6.._2v89U--8.3N_.n1.--2", + "operator": "NotIn", + "values": [ + "O--d.7.--.2cg.MGbG-_-8Qi..9-4.2K_FQ.E--_K" + ] + } + ] + } + } + } + ] + }, + "podAntiAffinity": { + "requiredDuringSchedulingIgnoredDuringExecution": [ + { + "labelSelector": { + "matchLabels": { + "q_Lq-.5-s_-_5_D7Rufiq": "u0--_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d-Y" + }, + "matchExpressions": [ + { + "key": "N-R__RR9YAZ...W-m_-Z.wc..k_0_5.z.0..__D-16", + "operator": "DoesNotExist" + } + ] + }, + "namespaces": [ + "461" + ], + "topologyKey": "462", + "namespaceSelector": { + "matchLabels": { + "w-9-ak9-5--y-4-03ls-86-u2i7-6-q-l.98d/2.78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.60--o.8": "B3_U__L.KH6K.Rs" + }, + "matchExpressions": [ + { + "key": "6b77-f8--tf---7r88-1--p61d/9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_35H__.B_6_-U..u8gb", + "operator": "NotIn", + "values": [ + "O-Ynu.7.._B-ks7G" + ] + } + ] + } + } + ], + "preferredDuringSchedulingIgnoredDuringExecution": [ + { + "weight": -1282227712, + "podAffinityTerm": { + "labelSelector": { + "matchLabels": { + "J_Yb_58.p-06jVZ-uP.t_.O937u-h---dY7_M_-._M5..-P": "A55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-.._-__-Zvt.LT60v.Wxc" + }, + "matchExpressions": [ + { + "key": "Y4-0.67hP-lX-_-..59", + "operator": "In", + "values": [ + "1z..j_.r3--mT8vu1" + ] + } + ] + }, + "namespaces": [ + "475" + ], + "topologyKey": "476", + "namespaceSelector": { + "matchLabels": { + "0-f/px_0-.mJe__.B-cd2_84M": "1s._K9-.AJ-_8--___b____03_6.K8l.YlG7" + }, + "matchExpressions": [ + { + "key": "1BKi-5y-9-kE-4.._c_____gNM-.T-..--44-Bb1.R_.225.5D1.l", + "operator": "In", + "values": [ + "P23L_J49t-X..j1Q1.A-N.--_63N" + ] + } + ] + } + } + } + ] + } + }, + "schedulerName": "483", + "tolerations": [ + { + "key": "484", + "operator": "TaI楅©Ǫ壿/š^劶äɲ泒", + "value": "485", + "effect": "ēÖ釐駆Ŕƿe魛ĩ驋=Ŏġ宿受", + "tolerationSeconds": 3154660829779897160 + } + ], + "hostAliases": [ + { + "ip": "486", + "hostnames": [ + "487" + ] + } + ], + "priorityClassName": "488", + "priority": -217059496, + "dnsConfig": { + "nameservers": [ + "489" + ], + "searches": [ + "490" + ], + "options": [ + { + "name": "491", + "value": "492" + } + ] + }, + "readinessGates": [ + { + "conditionType": "ƣɴ矘ɉ\"姭ɜǨ呖ď急藼Ƚ^槬焂à¯" + } + ], + "runtimeClassName": "493", + "enableServiceLinks": false, + "preemptionPolicy": "ǀ肇ȣ", + "overhead": { + "倓扸涥莥": "729" + }, + "topologySpreadConstraints": [ + { + "maxSkew": -1416531993, + "topologyKey": "494", + "whenUnsatisfiable": "_Gȱ恛穒挤ţ#你顫#b°", + "labelSelector": { + "matchLabels": { + "q-z--4847u0s66mmo-8--y64-40l8cytm18--0.6-wdcje8k--41---hi5e--7m-368--f-z---4-n03-2ip--6--2d-6-h/bm9I.-..q-F-.__c.k7__f--_br..1.l": "dE-.1-V...t27-4.._7l" + }, + "matchExpressions": [ + { + "key": "3-hh9-z8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-z/iJ--p-7f3-2_Z_V_-q-L34-_D86W", + "operator": "NotIn", + "values": [ + "S---6_.0.m.--.-dh.v.5" + ] + } + ] + } + } + ], + "setHostnameAsFQDN": false + } + }, + "ttlSecondsAfterFinished": 1315299341 + } + } +} \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb new file mode 100644 index 000000000000..7efa0fe814e6 Binary files /dev/null and b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml new file mode 100644 index 000000000000..673235e08c93 --- /dev/null +++ b/staging/src/k8s.io/api/testdata/HEAD/batch.v2alpha1.JobTemplate.yaml @@ -0,0 +1,1080 @@ +apiVersion: batch/v2alpha1 +kind: JobTemplate +metadata: + annotations: + "9": "10" + clusterName: "15" + creationTimestamp: null + deletionGracePeriodSeconds: -4955867275792137171 + finalizers: + - "14" + generateName: "3" + generation: 8071137005907523419 + labels: + "7": "8" + managedFields: + - apiVersion: "17" + fieldsType: "18" + manager: "16" + operation: 鐊唊飙Ş-U圴÷a/ɔ}摁(湗Ć] + name: "2" + namespace: "4" + ownerReferences: + - apiVersion: "11" + blockOwnerDeletion: true + controller: false + kind: "12" + name: "13" + uid: Dz廔ȇ{sŊƏp + resourceVersion: "11042405498087606203" + selfLink: "5" + uid: "7" +template: + metadata: + annotations: + "26": "27" + clusterName: "32" + creationTimestamp: null + deletionGracePeriodSeconds: 4075183944016503389 + finalizers: + - "31" + generateName: "20" + generation: 5259823216098853135 + labels: + "24": "25" + managedFields: + - apiVersion: "34" + fieldsType: "35" + manager: "33" + operation: ěĂ凗蓏Ŋ蛊ĉy緅縕 + name: "19" + namespace: "21" + ownerReferences: + - apiVersion: "28" + blockOwnerDeletion: false + controller: true + kind: "29" + name: "30" + uid: ɑ + resourceVersion: "17916580954637291219" + selfLink: "22" + uid: SǡƏ + spec: + activeDeadlineSeconds: -9086179100394185427 + backoffLimit: -1796008812 + completions: -1771909905 + manualSelector: false + parallelism: -443114323 + selector: + matchExpressions: + - key: 2.-__E_Sv__26KX_R_.-.Nth._--S_4DA_-5_-4lQ42M--n1-5 + operator: In + values: + - Ou1.m_.5AW-_S-.3g.7_2fNc5-_.-RX8 + matchLabels: + g5i9/l-Y._.-444: c2_kS91.e5K-_e63_-_3-n-_-__3u-.__P__.7U-Uo_4_-D7r__.am64 + template: + metadata: + annotations: + "49": "50" + clusterName: "55" + creationTimestamp: null + deletionGracePeriodSeconds: -2901856114738744973 + finalizers: + - "54" + generateName: "43" + generation: 9213888658033954596 + labels: + "47": "48" + managedFields: + - apiVersion: "57" + fieldsType: "58" + manager: "56" + operation: ö嗏ʑ>季Cʖ畬x骀Šĸů + name: "42" + namespace: "44" + ownerReferences: + - apiVersion: "51" + blockOwnerDeletion: false + controller: false + kind: "52" + name: "53" + uid: I拍N嚳ķȗɊ捵TwMȗ礼 + resourceVersion: "5994087412557504692" + selfLink: "45" + uid: Ȗ脵鴈Ō + spec: + activeDeadlineSeconds: -4963438147266444254 + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - preference: + matchExpressions: + - key: "423" + operator: WĶʗ + values: + - "424" + matchFields: + - key: "425" + operator: 裥d[榴^șƷK + values: + - "426" + weight: -1677779481 + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "419" + operator: ĵ'o儿Ƭ銭u裡_Ơ9oÕęȄ怈 + values: + - "420" + matchFields: + - key: "421" + operator: "" + values: + - "422" + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: 4-52--6-0dkn-9n7p22o4a-w----11rqy3eo79p-f4r1--7p--0z/05-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6NO + operator: DoesNotExist + matchLabels: + ? 7-a0w-ke5p-33lt-9--2-k-27-4r4-d-9a42-2y20--s-7l6e--s-1--t-4.67-9a-trt-03-7z2zy0e428-4-k-2-o/UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__4K..-687 + : o_.ZCRT.0z-oe.G79.3bU_._n3 + namespaceSelector: + matchExpressions: + - key: g2/2k.F-F..3m6.._2v89U--8.3N_.n1.--2 + operator: NotIn + values: + - O--d.7.--.2cg.MGbG-_-8Qi..9-4.2K_FQ.E--_K + matchLabels: + WNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-.jL_v.-_.d: FbuvE5 + namespaces: + - "447" + topologyKey: "448" + weight: 484696463 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: x3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--2k-p---19/6l.-5_BZk5v3aUK_--_o_2.--4ZH + operator: NotIn + values: + - M.--_-_ve5.m_2_--XZ-x.__.Y_2-n_503 + matchLabels: + 9oE9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-O: o5-yp8q_s-1_g + namespaceSelector: + matchExpressions: + - key: ZXC0_-7.-hj-O_8-b6E_--B + operator: In + values: + - n_Ht5W_._._-2M2._I-_P..w-W_-nE...-__--.k47M7y-y + matchLabels: + Q8__T3sn-0_.P: a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_OX + namespaces: + - "433" + topologyKey: "434" + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - podAffinityTerm: + labelSelector: + matchExpressions: + - key: Y4-0.67hP-lX-_-..59 + operator: In + values: + - 1z..j_.r3--mT8vu1 + matchLabels: + J_Yb_58.p-06jVZ-uP.t_.O937u-h---dY7_M_-._M5..-P: A55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-.._-__-Zvt.LT60v.Wxc + namespaceSelector: + matchExpressions: + - key: 1BKi-5y-9-kE-4.._c_____gNM-.T-..--44-Bb1.R_.225.5D1.l + operator: In + values: + - P23L_J49t-X..j1Q1.A-N.--_63N + matchLabels: + 0-f/px_0-.mJe__.B-cd2_84M: 1s._K9-.AJ-_8--___b____03_6.K8l.YlG7 + namespaces: + - "475" + topologyKey: "476" + weight: -1282227712 + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: N-R__RR9YAZ...W-m_-Z.wc..k_0_5.z.0..__D-16 + operator: DoesNotExist + matchLabels: + q_Lq-.5-s_-_5_D7Rufiq: u0--_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d-Y + namespaceSelector: + matchExpressions: + - key: 6b77-f8--tf---7r88-1--p61d/9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_35H__.B_6_-U..u8gb + operator: NotIn + values: + - O-Ynu.7.._B-ks7G + matchLabels: + w-9-ak9-5--y-4-03ls-86-u2i7-6-q-l.98d/2.78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.60--o.8: B3_U__L.KH6K.Rs + namespaces: + - "461" + topologyKey: "462" + automountServiceAccountToken: false + containers: + - args: + - "263" + command: + - "262" + env: + - name: "270" + value: "271" + valueFrom: + configMapKeyRef: + key: "277" + name: "276" + optional: false + fieldRef: + apiVersion: "272" + fieldPath: "273" + resourceFieldRef: + containerName: "274" + divisor: "9" + resource: "275" + secretKeyRef: + key: "279" + name: "278" + optional: false + envFrom: + - configMapRef: + name: "268" + optional: true + prefix: "267" + secretRef: + name: "269" + optional: true + image: "261" + imagePullPolicy: 熀ďJZ漤 + lifecycle: + postStart: + exec: + command: + - "307" + httpGet: + host: "309" + httpHeaders: + - name: "310" + value: "311" + path: "308" + port: -468215285 + scheme: ʆɞȥ}礤铟怖ý萜Ǖc8 + tcpSocket: + host: "313" + port: "312" + preStop: + exec: + command: + - "314" + httpGet: + host: "316" + httpHeaders: + - name: "317" + value: "318" + path: "315" + port: 293042649 + scheme: ǔvÄÚ×p鬷m罂o3ǰ廋i乳' + tcpSocket: + host: "320" + port: "319" + livenessProbe: + exec: + command: + - "286" + failureThreshold: -239264629 + httpGet: + host: "289" + httpHeaders: + - name: "290" + value: "291" + path: "287" + port: "288" + scheme: uE增猍ǵ xǨŴ + initialDelaySeconds: 528603974 + periodSeconds: 1862455894 + successThreshold: 1080918702 + tcpSocket: + host: "292" + port: 2112112129 + timeoutSeconds: -342387625 + name: "260" + ports: + - containerPort: -305362540 + hostIP: "266" + hostPort: -1365158918 + name: "265" + protocol: Ǩ繫ʎǑyZ涬P­蜷ɔ幩 + readinessProbe: + exec: + command: + - "293" + failureThreshold: -47594442 + httpGet: + host: "295" + httpHeaders: + - name: "296" + value: "297" + path: "294" + port: -186532794 + scheme: ĩȲǸ|蕎'佉賞ǧĒzŔ瘍Nʊ輔3璾ė + initialDelaySeconds: -751455207 + periodSeconds: 646133945 + successThreshold: -506710067 + tcpSocket: + host: "299" + port: "298" + timeoutSeconds: -894026356 + resources: + limits: + '{WOŭW灬pȭCV擭銆jʒǚ鍰': "212" + requests: + '| 鞤ɱďW賁Ěɭɪǹ0衷,': "227" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - Ů,趐V曡88 ' + enableServiceLinks: false + ephemeralContainers: + - args: + - "333" + command: + - "332" + env: + - name: "340" + value: "341" + valueFrom: + configMapKeyRef: + key: "347" + name: "346" + optional: false + fieldRef: + apiVersion: "342" + fieldPath: "343" + resourceFieldRef: + containerName: "344" + divisor: "592" + resource: "345" + secretKeyRef: + key: "349" + name: "348" + optional: false + envFrom: + - configMapRef: + name: "338" + optional: false + prefix: "337" + secretRef: + name: "339" + optional: true + image: "331" + imagePullPolicy: 陴Sĕ濦ʓɻŊ0蚢鑸鶲Ãqb + lifecycle: + postStart: + exec: + command: + - "377" + httpGet: + host: "380" + httpHeaders: + - name: "381" + value: "382" + path: "378" + port: "379" + scheme: 遲njlȘ鹾KƂʼnçȶŮ嫠!@@)Z + tcpSocket: + host: "384" + port: "383" + preStop: + exec: + command: + - "385" + httpGet: + host: "387" + httpHeaders: + - name: "388" + value: "389" + path: "386" + port: 1041627045 + scheme: 2讅缔m葰賦迾娙ƴ4 + tcpSocket: + host: "390" + port: 2088991012 + livenessProbe: + exec: + command: + - "356" + failureThreshold: 436796816 + httpGet: + host: "358" + httpHeaders: + - name: "359" + value: "360" + path: "357" + port: -1247120403 + scheme: ɾ + initialDelaySeconds: 1218203975 + periodSeconds: 892837330 + successThreshold: 789384689 + tcpSocket: + host: "361" + port: -1695993040 + timeoutSeconds: -1726456869 + name: "330" + ports: + - containerPort: 970355275 + hostIP: "336" + hostPort: -1703842211 + name: "335" + protocol: ńČȷǻ.wȏâ磠Ƴ崖S + readinessProbe: + exec: + command: + - "362" + failureThreshold: -651405950 + httpGet: + host: "365" + httpHeaders: + - name: "366" + value: "367" + path: "363" + port: "364" + scheme: Ȋ飂廤Ƌʙcx赮ǒđ>*劶?jĎ + initialDelaySeconds: -821592382 + periodSeconds: 1045190247 + successThreshold: 1805682547 + tcpSocket: + host: "369" + port: "368" + timeoutSeconds: 1678953375 + resources: + limits: + ż鯀1: "636" + requests: + sYȠ繽敮ǰ詀: "570" + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - 滨Ė + drop: + - h}颉hȱɷȰW瀤oɢ嫎 + privileged: true + procMount: t(ȗŜŲ&洪y儕lmòɻŶJ詢QǾɁ + readOnlyRootFilesystem: true + runAsGroup: 2803560372754431995 + runAsNonRoot: false + runAsUser: -4298540371641498337 + seLinuxOptions: + level: "395" + role: "393" + type: "394" + user: "392" + seccompProfile: + localhostProfile: "399" + type: G鯇ɀ魒Ð扬=惍EʦŊĊ娮rȧŹ黷`嵐 + windowsOptions: + gmsaCredentialSpec: "397" + gmsaCredentialSpecName: "396" + runAsUserName: "398" + startupProbe: + exec: + command: + - "370" + failureThreshold: -603097910 + httpGet: + host: "373" + httpHeaders: + - name: "374" + value: "375" + path: "371" + port: "372" + scheme: '|ǓÓ敆OɈÏ 瞍髃' + initialDelaySeconds: -839925309 + periodSeconds: -1014296961 + successThreshold: 1708011112 + tcpSocket: + host: "376" + port: -392406530 + timeoutSeconds: -526099499 + stdin: true + stdinOnce: true + targetContainerName: "400" + terminationMessagePath: "391" + terminationMessagePolicy: 沥7uPƒw©ɴĶ烷Ľthp + volumeDevices: + - devicePath: "355" + name: "354" + volumeMounts: + - mountPath: "351" + mountPropagation: 櫞繡旹翃ɾ氒ĺʈʫ羶剹Ɗ + name: "350" + readOnly: true + subPath: "352" + subPathExpr: "353" + workingDir: "334" + hostAliases: + - hostnames: + - "487" + ip: "486" + hostPID: true + hostname: "417" + imagePullSecrets: + - name: "416" + initContainers: + - args: + - "195" + command: + - "194" + env: + - name: "202" + value: "203" + valueFrom: + configMapKeyRef: + key: "209" + name: "208" + optional: true + fieldRef: + apiVersion: "204" + fieldPath: "205" + resourceFieldRef: + containerName: "206" + divisor: "241" + resource: "207" + secretKeyRef: + key: "211" + name: "210" + optional: false + envFrom: + - configMapRef: + name: "200" + optional: false + prefix: "199" + secretRef: + name: "201" + optional: false + image: "193" + imagePullPolicy: 酊龨δ摖ȱğ_< + lifecycle: + postStart: + exec: + command: + - "238" + httpGet: + host: "240" + httpHeaders: + - name: "241" + value: "242" + path: "239" + port: 878005329 + scheme: 丟×x锏ɟ4Ǒ + tcpSocket: + host: "244" + port: "243" + preStop: + exec: + command: + - "245" + httpGet: + host: "247" + httpHeaders: + - name: "248" + value: "249" + path: "246" + port: 1746399757 + scheme: V訆Ǝżŧ + tcpSocket: + host: "250" + port: 204229950 + livenessProbe: + exec: + command: + - "218" + failureThreshold: -1784617397 + httpGet: + host: "220" + httpHeaders: + - name: "221" + value: "222" + path: "219" + port: -1225815437 + scheme: 荭gw忊|E + initialDelaySeconds: 1004325340 + periodSeconds: 14304392 + successThreshold: 465972736 + tcpSocket: + host: "223" + port: -438588982 + timeoutSeconds: -1313320434 + name: "192" + ports: + - containerPort: 1791615594 + hostIP: "198" + hostPort: -805795167 + name: "197" + protocol: Ƥ熪军g>郵[+扴 + readinessProbe: + exec: + command: + - "224" + failureThreshold: 2056774277 + httpGet: + host: "227" + httpHeaders: + - name: "228" + value: "229" + path: "225" + port: "226" + scheme: 貾坢'跩aŕ翑0 + initialDelaySeconds: -2165496 + periodSeconds: 1386255869 + successThreshold: -778272981 + tcpSocket: + host: "230" + port: 1165327504 + timeoutSeconds: -1778952574 + resources: + limits: + "": "268" + requests: + -Ɂ圯W:ĸ輦唊#v铿ʩȂ4ē鐭#嬀ơ: "340" + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - J橈'琕鶫:顇ə娯 + drop: + - 囌{屿oiɥ嵐sC + privileged: false + procMount: Jih亏yƕ丆録² + readOnlyRootFilesystem: false + runAsGroup: -6499508485510627932 + runAsNonRoot: true + runAsUser: 7917735345573161773 + seLinuxOptions: + level: "255" + role: "253" + type: "254" + user: "252" + seccompProfile: + localhostProfile: "259" + type: )/灩聋3趐囨鏻 + windowsOptions: + gmsaCredentialSpec: "257" + gmsaCredentialSpecName: "256" + runAsUserName: "258" + startupProbe: + exec: + command: + - "231" + failureThreshold: 549215478 + httpGet: + host: "233" + httpHeaders: + - name: "234" + value: "235" + path: "232" + port: -1928016742 + scheme: E¦ + initialDelaySeconds: 1868887309 + periodSeconds: -316996074 + successThreshold: 1933968533 + tcpSocket: + host: "237" + port: "236" + timeoutSeconds: -528664199 + terminationMessagePath: "251" + terminationMessagePolicy: NƗ¸gĩ + tty: true + volumeDevices: + - devicePath: "217" + name: "216" + volumeMounts: + - mountPath: "213" + mountPropagation: 藢xɮĵȑ6L*Z鐫û咡W< + name: "212" + subPath: "214" + subPathExpr: "215" + workingDir: "196" + nodeName: "405" + nodeSelector: + "401": "402" + overhead: + 倓扸涥莥: "729" + preemptionPolicy: ǀ肇ȣ + priority: -217059496 + priorityClassName: "488" + readinessGates: + - conditionType: ƣɴ矘ɉ"姭ɜǨ呖ď急藼Ƚ^槬焂௠+ restartPolicy: 婦 + runtimeClassName: "493" + schedulerName: "483" + securityContext: + fsGroup: -6298002649883493725 + fsGroupChangePolicy: ä2 ɲ±m嵘厶sȰÖ埡Æ + runAsGroup: -1083846598029307786 + runAsNonRoot: false + runAsUser: -8872996084157186866 + seLinuxOptions: + level: "409" + role: "407" + type: "408" + user: "406" + seccompProfile: + localhostProfile: "415" + type: Ş襵樞úʥ銀 + supplementalGroups: + - -46143243150134963 + sysctls: + - name: "413" + value: "414" + windowsOptions: + gmsaCredentialSpec: "411" + gmsaCredentialSpecName: "410" + runAsUserName: "412" + serviceAccount: "404" + serviceAccountName: "403" + setHostnameAsFQDN: false + shareProcessNamespace: false + subdomain: "418" + terminationGracePeriodSeconds: -7767642171323610380 + tolerations: + - effect: ēÖ釐駆Ŕƿe魛ĩ驋=Ŏġ宿受 + key: "484" + operator: TaI楅©Ǫ壿/š^劶äɲ泒 + tolerationSeconds: 3154660829779897160 + value: "485" + topologySpreadConstraints: + - labelSelector: + matchExpressions: + - key: 3-hh9-z8-35x38i-qnr-5zi82dc3do--7lw63jvksy--w-z/iJ--p-7f3-2_Z_V_-q-L34-_D86W + operator: NotIn + values: + - S---6_.0.m.--.-dh.v.5 + matchLabels: + q-z--4847u0s66mmo-8--y64-40l8cytm18--0.6-wdcje8k--41---hi5e--7m-368--f-z---4-n03-2ip--6--2d-6-h/bm9I.-..q-F-.__c.k7__f--_br..1.l: dE-.1-V...t27-4.._7l + maxSkew: -1416531993 + topologyKey: "494" + whenUnsatisfiable: _Gȱ恛穒挤ţ#你顫#b° + volumes: + - awsElasticBlockStore: + fsType: "64" + partition: -104666658 + readOnly: true + volumeID: "63" + azureDisk: + cachingMode: ʜǝ鿟ldg滠鼍ƭt + diskName: "127" + diskURI: "128" + fsType: "129" + kind: ȫşŇɜa + readOnly: true + azureFile: + secretName: "113" + shareName: "114" + cephfs: + monitors: + - "98" + path: "99" + secretFile: "101" + secretRef: + name: "102" + user: "100" + cinder: + fsType: "96" + readOnly: true + secretRef: + name: "97" + volumeID: "95" + configMap: + defaultMode: -599608368 + items: + - key: "116" + mode: -1194714697 + path: "117" + name: "115" + optional: true + csi: + driver: "159" + fsType: "160" + nodePublishSecretRef: + name: "163" + readOnly: true + volumeAttributes: + "161": "162" + downwardAPI: + defaultMode: 1801487647 + items: + - fieldRef: + apiVersion: "106" + fieldPath: "107" + mode: 1322858613 + path: "105" + resourceFieldRef: + containerName: "108" + divisor: "889" + resource: "109" + emptyDir: + medium: 踓Ǻǧ湬淊kŪ睴鸏:ɥ³ƞsɁ8^ʥ + sizeLimit: "681" + ephemeral: + readOnly: true + volumeClaimTemplate: + metadata: + annotations: + "171": "172" + clusterName: "177" + creationTimestamp: null + deletionGracePeriodSeconds: -1837257934517376612 + finalizers: + - "176" + generateName: "165" + generation: -8801560367353238479 + labels: + "169": "170" + managedFields: + - apiVersion: "179" + fieldsType: "180" + manager: "178" + operation: 蒅!a坩O`涁İ而踪鄌 + name: "164" + namespace: "166" + ownerReferences: + - apiVersion: "173" + blockOwnerDeletion: true + controller: true + kind: "174" + name: "175" + uid: "" + resourceVersion: "917467801074989174" + selfLink: "167" + uid: ;栍dʪīT捘ɍi縱ù墴1Rƥ贫d飼 + spec: + accessModes: + - '|@?鷅bȻN' + dataSource: + apiGroup: "189" + kind: "190" + name: "191" + resources: + limits: + ?$矡ȶ网棊ʢ: "891" + requests: + Ⱥ眖R#yV'WKw(ğ: "423" + selector: + matchExpressions: + - key: 39-295at-o7qff7-x--r7v66bm71u-n4f9wk-3--652x01--p--n4-4-l.onh-9289---x-p-qpt6-1w-3205c1lxeqyn-5--9d5a3-7bf46g-40883176jte/Pi.-_-a-G + operator: Exists + matchLabels: + fi-a--w---f-e.z-j4kh6oqu-or---40--87-1wpl6-2-310e5hyzn0w-p4mzlu/m_AO-l8VKLyHA_.-F_E2_QOQ: E._._3.-.83_iq_-y.-25C.A-j..9dfn3Y8d_0_.---M_4FF + storageClassName: "188" + volumeMode: 跦Opwǩ曬逴褜1 + volumeName: "187" + fc: + fsType: "111" + lun: 1169718433 + targetWWNs: + - "110" + wwids: + - "112" + flexVolume: + driver: "90" + fsType: "91" + options: + "93": "94" + readOnly: true + secretRef: + name: "92" + flocker: + datasetName: "103" + datasetUUID: "104" + gcePersistentDisk: + fsType: "62" + partition: 2065358741 + pdName: "61" + readOnly: true + gitRepo: + directory: "67" + repository: "65" + revision: "66" + glusterfs: + endpoints: "80" + path: "81" + hostPath: + path: "60" + type: /淹\韲翁&ʢsɜ曢\%枅:=ǛƓ + iscsi: + chapAuthSession: true + fsType: "76" + initiatorName: "79" + iqn: "74" + iscsiInterface: "75" + lun: -663180249 + portals: + - "77" + readOnly: true + secretRef: + name: "78" + targetPortal: "73" + name: "59" + nfs: + path: "72" + server: "71" + persistentVolumeClaim: + claimName: "82" + photonPersistentDisk: + fsType: "131" + pdID: "130" + portworxVolume: + fsType: "146" + readOnly: true + volumeID: "145" + projected: + defaultMode: -1980941277 + sources: + - configMap: + items: + - key: "141" + mode: 1730325900 + path: "142" + name: "140" + optional: true + downwardAPI: + items: + - fieldRef: + apiVersion: "136" + fieldPath: "137" + mode: -555780268 + path: "135" + resourceFieldRef: + containerName: "138" + divisor: "952" + resource: "139" + secret: + items: + - key: "133" + mode: 782113097 + path: "134" + name: "132" + optional: true + serviceAccountToken: + audience: "143" + expirationSeconds: -2937394236764575757 + path: "144" + quobyte: + group: "125" + readOnly: true + registry: "122" + tenant: "126" + user: "124" + volume: "123" + rbd: + fsType: "85" + image: "84" + keyring: "88" + monitors: + - "83" + pool: "86" + readOnly: true + secretRef: + name: "89" + user: "87" + scaleIO: + fsType: "154" + gateway: "147" + protectionDomain: "150" + secretRef: + name: "149" + sslEnabled: true + storageMode: "152" + storagePool: "151" + system: "148" + volumeName: "153" + secret: + defaultMode: 1655406148 + items: + - key: "69" + mode: 1648350164 + path: "70" + optional: true + secretName: "68" + storageos: + fsType: "157" + readOnly: true + secretRef: + name: "158" + volumeName: "155" + volumeNamespace: "156" + vsphereVolume: + fsType: "119" + storagePolicyID: "121" + storagePolicyName: "120" + volumePath: "118" + ttlSecondsAfterFinished: 1315299341 diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.json index 6c99a5f81793..db4233aeefc9 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.json @@ -1273,28 +1273,50 @@ "namespaces": [ "393" ], - "topologyKey": "394" + "topologyKey": "394", + "namespaceSelector": { + "matchLabels": { + "n_H-.___._D8.TS-jJ.Ys_Mop34_-2": "H38xm-.nx.sEK4.B._6" + }, + "matchExpressions": [ + { + "key": "9_.-.Ms7_t.U", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -217760519, + "weight": -1940800545, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "4-yy28-38xmu5nx4s--41-7--6m/271-_-9_._X-D---k6": "Q.-s.H.Hu-k-_-0-T1mel--F......3_t_-l..-.DG7r-3.----._4__XOnP" + "0--1----v8-4--558n1asz-r886-1--s/8.3t": "r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5" }, "matchExpressions": [ { - "key": "3---g-----p8-d5-8-m8i--k0j5g.zrrw8-5ts-7-bp/6E__-.8_e_2", + "key": "67F3p2_-_AmD-.0P", "operator": "DoesNotExist" } ] }, "namespaces": [ - "401" + "407" ], - "topologyKey": "402" + "topologyKey": "408", + "namespaceSelector": { + "matchLabels": { + "6--3QC1--L--v_Z--Zg-_4Q__-v_t_u_.__I_-_-w": "d-5X1rh-K5y_AzOBW.9oE9_6.--v1r" + }, + "matchExpressions": [ + { + "key": "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj", + "operator": "Exists" + } + ] + } } } ] @@ -1304,278 +1326,300 @@ { "labelSelector": { "matchLabels": { - "7F3p2_-_AmD-.0AP.1": "A--.F5_x.KNC0-.-m_0-m-6Sp_N-S..O-BZ..n" + "5.8v/ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__-ex-_1_-ODC": "Ao" }, "matchExpressions": [ { - "key": "QZ9p_6.C.e", + "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", "operator": "DoesNotExist" } ] }, "namespaces": [ - "409" + "421" ], - "topologyKey": "410" + "topologyKey": "422", + "namespaceSelector": { + "matchLabels": { + "O_._e_3_.4_W_-q": "Tp_.----cp__ac8u.._-__BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.-4D-rr" + }, + "matchExpressions": [ + { + "key": "XN_h_4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-T", + "operator": "Exists" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1851436166, + "weight": -918715115, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "6V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W8o._xJ1-lFA_X3": "V0H2-.zHw.H__V.VT" + "203-7z2zy0e428-4-k-2-08vc6/y.0__sD.-.-_I-F.PWtO4-7-P41_j": "CRT.0z-oe.G79.3bU_._nV34G._--u..9" }, "matchExpressions": [ { - "key": "0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D", + "key": "n-9n7p22o4a-w----11rqy3eo79p-f4r1--7p--053--suug/5-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV9", "operator": "NotIn", "values": [ - "txb__-ex-_1_-ODgC_1-_V" + "f8k" ] } ] }, "namespaces": [ - "417" + "435" ], - "topologyKey": "418" + "topologyKey": "436", + "namespaceSelector": { + "matchLabels": { + "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp": "5_pT-___-_5-6h_Ky7-_0Vw-Nzfd7" + }, + "matchExpressions": [ + { + "key": "27e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-3wc89k-0-57z406v.yn4-a--o2h0fy-j-5-5-2n32178aoj/TCH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT_2_Y", + "operator": "DoesNotExist" + } + ] + } } } ] } }, - "schedulerName": "419", + "schedulerName": "443", "tolerations": [ { - "key": "420", - "operator": "堺ʣ", - "value": "421", - "effect": "ŽɣB矗E¸乾", - "tolerationSeconds": -3532804738923434397 + "key": "444", + "operator": "邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±r", + "value": "445", + "effect": "鱶镖喗vȥ", + "tolerationSeconds": -6321906203897721632 } ], "hostAliases": [ { - "ip": "422", + "ip": "446", "hostnames": [ - "423" + "447" ] } ], - "priorityClassName": "424", - "priority": -1852730577, + "priorityClassName": "448", + "priority": 1266180085, "dnsConfig": { "nameservers": [ - "425" + "449" ], "searches": [ - "426" + "450" ], "options": [ { - "name": "427", - "value": "428" + "name": "451", + "value": "452" } ] }, "readinessGates": [ { - "conditionType": "ź魊塾ɖ$rolȋɶuɋ5r儉ɩ柀ɨ鴅" + "conditionType": "ɒó\u003c碡4鏽喡孨ʚé薘-­ɞ逭ɋ¡UǦ" } ], - "runtimeClassName": "429", - "enableServiceLinks": false, - "preemptionPolicy": "!ń1ċƹ|慼櫁色苆试揯遐", + "runtimeClassName": "453", + "enableServiceLinks": true, + "preemptionPolicy": "ȏ歟跎欨T猳\u003e_貹", "overhead": { - "4'ď曕椐敛n湙": "310" + "ʬʞǦ坭": "336" }, "topologySpreadConstraints": [ { - "maxSkew": -150478704, - "topologyKey": "430", - "whenUnsatisfiable": ";鹡鑓侅闍ŏŃŋŏ}ŀ", + "maxSkew": -472259653, + "topologyKey": "454", + "whenUnsatisfiable": "髢槔謒笑食Ĵ汇ɼ臨Y舩慍绮覟辒w", "labelSelector": { "matchLabels": { - "p2djmscp--ac8u23-k----26u5--72n-5.j8-0020-1-5/t5W_._._-2M2._i": "wvU" + "27d84-1f9.4-68u8gwb0k-6-p--mgi7-2je7zjt0pp-x0r2gd---yn--3qx4-io-qm899-i/L20_9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_A": "o.8._.---UK_-.j21---__y.9O.L-.m.3--.4_-8U.2617.W74-R_ZT" }, "matchExpressions": [ { - "key": "4-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W", - "operator": "In", + "key": "o4__.__.-_-I-P._..leR--9-_J-_.-e9fz87_2---2.E.p9-.-3.B", + "operator": "NotIn", "values": [ - "2-.s_6O-5_7_-0w_--5-_.3--_9QWJ" + "Pc---K__-iguFGT._.Y4-0.67hr" ] } ] } } ], - "setHostnameAsFQDN": false + "setHostnameAsFQDN": true }, "status": { - "phase": "ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ", + "phase": "ɂR", "conditions": [ { - "type": "N", - "status": "¡鯩WɓDɏ挭跡Ƅ抄3昞财Î嘝zʄ!ć", - "lastProbeTime": "2956-12-23T01:34:27Z", - "lastTransitionTime": "2683-06-27T07:30:49Z", - "reason": "437", - "message": "438" + "type": "ɔ诌7蹎l\u0026踼3Ć7aȑ", + "status": ".Ĉ马āƭ", + "lastProbeTime": "2162-04-09T16:36:03Z", + "lastTransitionTime": "2168-01-12T07:01:33Z", + "reason": "461", + "message": "462" } ], - "message": "439", - "reason": "440", - "nominatedNodeName": "441", - "hostIP": "442", - "podIP": "443", + "message": "463", + "reason": "464", + "nominatedNodeName": "465", + "hostIP": "466", + "podIP": "467", "podIPs": [ { - "ip": "444" + "ip": "468" } ], "initContainerStatuses": [ { - "name": "445", + "name": "469", "state": { "waiting": { - "reason": "446", - "message": "447" + "reason": "470", + "message": "471" }, "running": { - "startedAt": "2010-08-12T21:21:40Z" + "startedAt": "2946-11-27T06:13:08Z" }, "terminated": { - "exitCode": -182172578, - "signal": -1009087543, - "reason": "448", - "message": "449", - "startedAt": "2928-10-22T11:12:55Z", - "finishedAt": "2103-03-04T05:18:04Z", - "containerID": "450" + "exitCode": 1020403419, + "signal": 1585192515, + "reason": "472", + "message": "473", + "startedAt": "2163-08-10T16:50:32Z", + "finishedAt": "2413-02-07T13:42:48Z", + "containerID": "474" } }, "lastState": { "waiting": { - "reason": "451", - "message": "452" + "reason": "475", + "message": "476" }, "running": { - "startedAt": "2527-01-15T23:25:02Z" + "startedAt": "2165-01-04T06:14:57Z" }, "terminated": { - "exitCode": 340269252, - "signal": -2071091268, - "reason": "453", - "message": "454", - "startedAt": "2706-08-25T13:24:57Z", - "finishedAt": "2940-03-14T23:14:52Z", - "containerID": "455" + "exitCode": -641891444, + "signal": -184015429, + "reason": "477", + "message": "478", + "startedAt": "2881-08-22T13:59:42Z", + "finishedAt": "2560-08-23T03:17:54Z", + "containerID": "479" } }, - "ready": true, - "restartCount": 942583351, - "image": "456", - "imageID": "457", - "containerID": "458", - "started": false + "ready": false, + "restartCount": 1928675686, + "image": "480", + "imageID": "481", + "containerID": "482", + "started": true } ], "containerStatuses": [ { - "name": "459", + "name": "483", "state": { "waiting": { - "reason": "460", - "message": "461" + "reason": "484", + "message": "485" }, "running": { - "startedAt": "2631-04-27T22:00:28Z" + "startedAt": "2935-07-16T02:37:05Z" }, "terminated": { - "exitCode": 104836892, - "signal": 699210990, - "reason": "462", - "message": "463", - "startedAt": "2122-05-30T09:58:54Z", - "finishedAt": "2927-08-15T22:13:34Z", - "containerID": "464" + "exitCode": 539970471, + "signal": -83826225, + "reason": "486", + "message": "487", + "startedAt": "2895-10-08T07:21:48Z", + "finishedAt": "2840-11-22T13:59:19Z", + "containerID": "488" } }, "lastState": { "waiting": { - "reason": "465", - "message": "466" + "reason": "489", + "message": "490" }, "running": { - "startedAt": "2004-10-16T00:24:48Z" + "startedAt": "2659-09-05T07:50:10Z" }, "terminated": { - "exitCode": 1252613845, - "signal": -1464140609, - "reason": "467", - "message": "468", - "startedAt": "2961-07-17T19:51:52Z", - "finishedAt": "2439-12-05T18:26:38Z", - "containerID": "469" + "exitCode": 1576197985, + "signal": -702578810, + "reason": "491", + "message": "492", + "startedAt": "2398-03-02T12:16:34Z", + "finishedAt": "2707-10-06T22:05:11Z", + "containerID": "493" } }, - "ready": false, - "restartCount": 11413046, - "image": "470", - "imageID": "471", - "containerID": "472", + "ready": true, + "restartCount": -54679211, + "image": "494", + "imageID": "495", + "containerID": "496", "started": false } ], - "qosClass": "ºDZ秶ʑ韝e溣狣愿激H\\Ȳȍŋƀ", + "qosClass": "ȩ硘(ǒ[", "ephemeralContainerStatuses": [ { - "name": "473", + "name": "497", "state": { "waiting": { - "reason": "474", - "message": "475" + "reason": "498", + "message": "499" }, "running": { - "startedAt": "2489-11-15T17:36:06Z" + "startedAt": "2874-02-01T06:46:13Z" }, "terminated": { - "exitCode": 1375853136, - "signal": 855459474, - "reason": "476", - "message": "477", - "startedAt": "2384-08-25T17:03:07Z", - "finishedAt": "2843-02-22T11:55:38Z", - "containerID": "478" + "exitCode": -1460952461, + "signal": -1185666065, + "reason": "500", + "message": "501", + "startedAt": "2224-07-09T03:30:48Z", + "finishedAt": "2141-03-15T19:11:22Z", + "containerID": "502" } }, "lastState": { "waiting": { - "reason": "479", - "message": "480" + "reason": "503", + "message": "504" }, "running": { - "startedAt": "2664-06-11T00:21:27Z" + "startedAt": "2222-01-27T15:06:59Z" }, "terminated": { - "exitCode": -648458754, - "signal": 1406521158, - "reason": "481", - "message": "482", - "startedAt": "2525-02-05T13:16:17Z", - "finishedAt": "2188-08-19T11:20:56Z", - "containerID": "483" + "exitCode": 549022803, + "signal": -1492412234, + "reason": "505", + "message": "506", + "startedAt": "2210-09-18T20:20:17Z", + "finishedAt": "2803-11-07T04:43:16Z", + "containerID": "507" } }, - "ready": true, - "restartCount": -1819153912, - "image": "484", - "imageID": "485", - "containerID": "486", - "started": true + "ready": false, + "restartCount": 336125685, + "image": "508", + "imageID": "509", + "containerID": "510", + "started": false } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.pb index 357a0fa8023f..9d71c896f4c4 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.yaml index db9ff28ff2e9..7700fc0b4ef0 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.Pod.yaml @@ -63,14 +63,20 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3---g-----p8-d5-8-m8i--k0j5g.zrrw8-5ts-7-bp/6E__-.8_e_2 + - key: 67F3p2_-_AmD-.0P operator: DoesNotExist matchLabels: - 4-yy28-38xmu5nx4s--41-7--6m/271-_-9_._X-D---k6: Q.-s.H.Hu-k-_-0-T1mel--F......3_t_-l..-.DG7r-3.----._4__XOnP + 0--1----v8-4--558n1asz-r886-1--s/8.3t: r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5 + namespaceSelector: + matchExpressions: + - key: 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj + operator: Exists + matchLabels: + 6--3QC1--L--v_Z--Zg-_4Q__-v_t_u_.__I_-_-w: d-5X1rh-K5y_AzOBW.9oE9_6.--v1r namespaces: - - "401" - topologyKey: "402" - weight: -217760519 + - "407" + topologyKey: "408" + weight: -1940800545 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -80,6 +86,12 @@ spec: - z matchLabels: 8.3dCv3j._.-_pP__up.2L_s-o779._-k-5___-Qq..csh-3i: 1Tvw39F_C-rtSY.g._2F7.-_e..r + namespaceSelector: + matchExpressions: + - key: 9_.-.Ms7_t.U + operator: DoesNotExist + matchLabels: + n_H-.___._D8.TS-jJ.Ys_Mop34_-2: H38xm-.nx.sEK4.B._6 namespaces: - "393" topologyKey: "394" @@ -88,26 +100,38 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 0--0g-q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x8/Hz_V_.r_v_._e_-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4D + - key: n-9n7p22o4a-w----11rqy3eo79p-f4r1--7p--053--suug/5-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_gV9 operator: NotIn values: - - txb__-ex-_1_-ODgC_1-_V + - f8k matchLabels: - 6V1-rU.___06.eqk5E_-4-.XH-.k.7.l_-W8o._xJ1-lFA_X3: V0H2-.zHw.H__V.VT + 203-7z2zy0e428-4-k-2-08vc6/y.0__sD.-.-_I-F.PWtO4-7-P41_j: CRT.0z-oe.G79.3bU_._nV34G._--u..9 + namespaceSelector: + matchExpressions: + - key: 27e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-3wc89k-0-57z406v.yn4-a--o2h0fy-j-5-5-2n32178aoj/TCH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133eT_2_Y + operator: DoesNotExist + matchLabels: + s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp: 5_pT-___-_5-6h_Ky7-_0Vw-Nzfd7 namespaces: - - "417" - topologyKey: "418" - weight: -1851436166 + - "435" + topologyKey: "436" + weight: -918715115 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: QZ9p_6.C.e + - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN operator: DoesNotExist matchLabels: - 7F3p2_-_AmD-.0AP.1: A--.F5_x.KNC0-.-m_0-m-6Sp_N-S..O-BZ..n + 5.8v/ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__-ex-_1_-ODC: Ao + namespaceSelector: + matchExpressions: + - key: XN_h_4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-T + operator: Exists + matchLabels: + O_._e_3_.4_W_-q: Tp_.----cp__ac8u.._-__BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.-4D-rr namespaces: - - "409" - topologyKey: "410" + - "421" + topologyKey: "422" automountServiceAccountToken: false containers: - args: @@ -287,14 +311,14 @@ spec: workingDir: "227" dnsConfig: nameservers: - - "425" + - "449" options: - - name: "427" - value: "428" + - name: "451" + value: "452" searches: - - "426" + - "450" dnsPolicy: 哇芆斩ìh4ɊHȖ|ʐşƧ諔迮 - enableServiceLinks: false + enableServiceLinks: true ephemeralContainers: - args: - "295" @@ -470,8 +494,8 @@ spec: workingDir: "296" hostAliases: - hostnames: - - "423" - ip: "422" + - "447" + ip: "446" hostIPC: true hostNetwork: true hostname: "377" @@ -658,15 +682,15 @@ spec: nodeSelector: "361": "362" overhead: - 4'ď曕椐敛n湙: "310" - preemptionPolicy: '!ń1ċƹ|慼櫁色苆试揯遐' - priority: -1852730577 - priorityClassName: "424" + ʬʞǦ坭: "336" + preemptionPolicy: ȏ歟跎欨T猳>_貹 + priority: 1266180085 + priorityClassName: "448" readinessGates: - - conditionType: ź魊塾ɖ$rolȋɶuɋ5r儉ɩ柀ɨ鴅 + - conditionType: ɒó<碡4鏽喡孨ʚé薘-­ɞ逭ɋ¡UǦ restartPolicy: 邻爥蹔ŧOǨ繫ʎǑyZ涬P­蜷ɔ幩 - runtimeClassName: "429" - schedulerName: "419" + runtimeClassName: "453" + schedulerName: "443" securityContext: fsGroup: 741362943076737213 fsGroupChangePolicy: W賁Ěɭɪǹ0 @@ -692,28 +716,28 @@ spec: runAsUserName: "372" serviceAccount: "364" serviceAccountName: "363" - setHostnameAsFQDN: false + setHostnameAsFQDN: true shareProcessNamespace: false subdomain: "378" terminationGracePeriodSeconds: -5027542616778527781 tolerations: - - effect: ŽɣB矗E¸乾 - key: "420" - operator: 堺ʣ - tolerationSeconds: -3532804738923434397 - value: "421" + - effect: 鱶镖喗vȥ + key: "444" + operator: 邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±r + tolerationSeconds: -6321906203897721632 + value: "445" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 4-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W - operator: In + - key: o4__.__.-_-I-P._..leR--9-_J-_.-e9fz87_2---2.E.p9-.-3.B + operator: NotIn values: - - 2-.s_6O-5_7_-0w_--5-_.3--_9QWJ + - Pc---K__-iguFGT._.Y4-0.67hr matchLabels: - p2djmscp--ac8u23-k----26u5--72n-5.j8-0020-1-5/t5W_._._-2M2._i: wvU - maxSkew: -150478704 - topologyKey: "430" - whenUnsatisfiable: ;鹡鑓侅闍ŏŃŋŏ}ŀ + 27d84-1f9.4-68u8gwb0k-6-p--mgi7-2je7zjt0pp-x0r2gd---yn--3qx4-io-qm899-i/L20_9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_A: o.8._.---UK_-.j21---__y.9O.L-.m.3--.4_-8U.2617.W74-R_ZT + maxSkew: -472259653 + topologyKey: "454" + whenUnsatisfiable: 髢槔謒笑食Ĵ汇ɼ臨Y舩慍绮覟辒w volumes: - awsElasticBlockStore: fsType: "24" @@ -965,126 +989,126 @@ spec: volumePath: "78" status: conditions: - - lastProbeTime: "2956-12-23T01:34:27Z" - lastTransitionTime: "2683-06-27T07:30:49Z" - message: "438" - reason: "437" - status: ¡鯩WɓDɏ挭跡Ƅ抄3昞财Î嘝zʄ!ć - type: "N" + - lastProbeTime: "2162-04-09T16:36:03Z" + lastTransitionTime: "2168-01-12T07:01:33Z" + message: "462" + reason: "461" + status: .Ĉ马āƭ + type: ɔ诌7蹎l&踼3Ć7aȑ containerStatuses: - - containerID: "472" - image: "470" - imageID: "471" + - containerID: "496" + image: "494" + imageID: "495" lastState: running: - startedAt: "2004-10-16T00:24:48Z" + startedAt: "2659-09-05T07:50:10Z" terminated: - containerID: "469" - exitCode: 1252613845 - finishedAt: "2439-12-05T18:26:38Z" - message: "468" - reason: "467" - signal: -1464140609 - startedAt: "2961-07-17T19:51:52Z" + containerID: "493" + exitCode: 1576197985 + finishedAt: "2707-10-06T22:05:11Z" + message: "492" + reason: "491" + signal: -702578810 + startedAt: "2398-03-02T12:16:34Z" waiting: - message: "466" - reason: "465" - name: "459" - ready: false - restartCount: 11413046 + message: "490" + reason: "489" + name: "483" + ready: true + restartCount: -54679211 started: false state: running: - startedAt: "2631-04-27T22:00:28Z" + startedAt: "2935-07-16T02:37:05Z" terminated: - containerID: "464" - exitCode: 104836892 - finishedAt: "2927-08-15T22:13:34Z" - message: "463" - reason: "462" - signal: 699210990 - startedAt: "2122-05-30T09:58:54Z" + containerID: "488" + exitCode: 539970471 + finishedAt: "2840-11-22T13:59:19Z" + message: "487" + reason: "486" + signal: -83826225 + startedAt: "2895-10-08T07:21:48Z" waiting: - message: "461" - reason: "460" + message: "485" + reason: "484" ephemeralContainerStatuses: - - containerID: "486" - image: "484" - imageID: "485" + - containerID: "510" + image: "508" + imageID: "509" lastState: running: - startedAt: "2664-06-11T00:21:27Z" + startedAt: "2222-01-27T15:06:59Z" terminated: - containerID: "483" - exitCode: -648458754 - finishedAt: "2188-08-19T11:20:56Z" - message: "482" - reason: "481" - signal: 1406521158 - startedAt: "2525-02-05T13:16:17Z" + containerID: "507" + exitCode: 549022803 + finishedAt: "2803-11-07T04:43:16Z" + message: "506" + reason: "505" + signal: -1492412234 + startedAt: "2210-09-18T20:20:17Z" waiting: - message: "480" - reason: "479" - name: "473" - ready: true - restartCount: -1819153912 - started: true + message: "504" + reason: "503" + name: "497" + ready: false + restartCount: 336125685 + started: false state: running: - startedAt: "2489-11-15T17:36:06Z" + startedAt: "2874-02-01T06:46:13Z" terminated: - containerID: "478" - exitCode: 1375853136 - finishedAt: "2843-02-22T11:55:38Z" - message: "477" - reason: "476" - signal: 855459474 - startedAt: "2384-08-25T17:03:07Z" + containerID: "502" + exitCode: -1460952461 + finishedAt: "2141-03-15T19:11:22Z" + message: "501" + reason: "500" + signal: -1185666065 + startedAt: "2224-07-09T03:30:48Z" waiting: - message: "475" - reason: "474" - hostIP: "442" + message: "499" + reason: "498" + hostIP: "466" initContainerStatuses: - - containerID: "458" - image: "456" - imageID: "457" + - containerID: "482" + image: "480" + imageID: "481" lastState: running: - startedAt: "2527-01-15T23:25:02Z" + startedAt: "2165-01-04T06:14:57Z" terminated: - containerID: "455" - exitCode: 340269252 - finishedAt: "2940-03-14T23:14:52Z" - message: "454" - reason: "453" - signal: -2071091268 - startedAt: "2706-08-25T13:24:57Z" + containerID: "479" + exitCode: -641891444 + finishedAt: "2560-08-23T03:17:54Z" + message: "478" + reason: "477" + signal: -184015429 + startedAt: "2881-08-22T13:59:42Z" waiting: - message: "452" - reason: "451" - name: "445" - ready: true - restartCount: 942583351 - started: false + message: "476" + reason: "475" + name: "469" + ready: false + restartCount: 1928675686 + started: true state: running: - startedAt: "2010-08-12T21:21:40Z" + startedAt: "2946-11-27T06:13:08Z" terminated: - containerID: "450" - exitCode: -182172578 - finishedAt: "2103-03-04T05:18:04Z" - message: "449" - reason: "448" - signal: -1009087543 - startedAt: "2928-10-22T11:12:55Z" + containerID: "474" + exitCode: 1020403419 + finishedAt: "2413-02-07T13:42:48Z" + message: "473" + reason: "472" + signal: 1585192515 + startedAt: "2163-08-10T16:50:32Z" waiting: - message: "447" - reason: "446" - message: "439" - nominatedNodeName: "441" - phase: ơ'禧ǵŊ)TiD¢ƿ媴h5ƅȸȓɻ - podIP: "443" + message: "471" + reason: "470" + message: "463" + nominatedNodeName: "465" + phase: ɂR + podIP: "467" podIPs: - - ip: "444" - qosClass: ºDZ秶ʑ韝e溣狣愿激H\Ȳȍŋƀ - reason: "440" + - ip: "468" + qosClass: ȩ硘(ǒ[ + reason: "464" diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json index 6032408da4eb..16cf3e7b5219 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.json @@ -1316,31 +1316,56 @@ "namespaces": [ "409" ], - "topologyKey": "410" + "topologyKey": "410", + "namespaceSelector": { + "matchLabels": { + "e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4": "s_0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-S.O" + }, + "matchExpressions": [ + { + "key": "5S-B3_.b17ca-_p-y.eQZ9p_6.2", + "operator": "Exists" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1586122127, + "weight": 1036096141, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "780bdw0-1-47rrw8-5tn.0-1y-tw/8_d.8": "wmiJ4x-_0_5-_.7F3p2_-_AmD-.A" + "3-8o1-x-1wl----f31-0-2t3zw.il-023bm-6l2e5---k5v38/E9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiSo": "X-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2" }, "matchExpressions": [ { - "key": "C0-.-m_0-m-6Sp_N-S..O-BZ..6-1.S-B3_.b17ca-p", - "operator": "In", + "key": "Y.39g_.--_-_ve5.m_U", + "operator": "NotIn", "values": [ - "3-3--5X1rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ_K" + "nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1" ] } ] }, "namespaces": [ - "417" + "423" ], - "topologyKey": "418" + "topologyKey": "424", + "namespaceSelector": { + "matchLabels": { + "0--385h---0-u73phjo--8kb6--ut---p6.t5--9-4-d2-22-0/jcz.-Y6T4gz": "p_.----cp__ac8u.._-__BM.6-.Y7" + }, + "matchExpressions": [ + { + "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "operator": "NotIn", + "values": [ + "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + ] + } + ] + } } } ] @@ -1350,106 +1375,134 @@ { "labelSelector": { "matchLabels": { - "23bm-6l2e5---k5v3a---ez-o-u.s11-7p--3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--28/1k.7.l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H": "46.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__e" + "fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o5": "TB-d-Q" }, "matchExpressions": [ { - "key": "f2t-m839-qr-7----rgvf3q-z-5z80n--t5--9-4-d2-w/w0_.i__a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_ITO", - "operator": "DoesNotExist" + "key": "4b699/B9n.2", + "operator": "In", + "values": [ + "MM7-.e.x" + ] } ] }, "namespaces": [ - "425" + "437" ], - "topologyKey": "426" + "topologyKey": "438", + "namespaceSelector": { + "matchLabels": { + "B_05._Lsu-H_.f82-8_.UdWNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-j": "Vv.-_.4dwFbuvEf55Y2k.F-F..3m6.._2v89U--8.3N_.1" + }, + "matchExpressions": [ + { + "key": "8u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._J", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -974760835, + "weight": 1131487788, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "F-__BM.6-.Y_72-_--pT75-.emV__1-v": "UDf.-4D-r.F" + "2fk3x-j9133e--2-t--k-fmt4272r--49u-0m7u-----v8.0--063-qm-j-3wc89k-0-57z4063---kb/v_5_D7RufiV-7u0--_qv4-D": "Y_o.-0-yE-R5W5_2n...78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.6p" }, "matchExpressions": [ { - "key": "G4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-__..YF", - "operator": "In", + "key": "h-i-60a---9--n8i64t1-4----c-----35---1--6-u-68u8w.3-6b77-f8--tf---7r88-1--p61cd--6/e-Avi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_M--c.0Q--2qh.b", + "operator": "NotIn", "values": [ - "7_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-A4" + "u.7.._B-ks7dG-9S-O62o.8._.---UK_-.j21---__y.9O.L-m" ] } ] }, "namespaces": [ - "433" + "451" ], - "topologyKey": "434" + "topologyKey": "452", + "namespaceSelector": { + "matchLabels": { + "7u-h---dY7_M_-._M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy5": "Y-__-Zvt.LT60v.WxPc--K" + }, + "matchExpressions": [ + { + "key": "wr3qtm-8vuo17qre-33-5-u8f0f1qv--i72-x3---v25f1.2-84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--18/iguFGT._.Y4-0.67hP-lX-_-..5-.._r6T", + "operator": "DoesNotExist" + } + ] + } } } ] } }, - "schedulerName": "435", + "schedulerName": "459", "tolerations": [ { - "key": "436", - "operator": "ō6µɑ`ȗ\u003c", - "value": "437", - "effect": "J赟鷆šl5ɜ", - "tolerationSeconds": 2575412512260329976 + "key": "460", + "operator": "E色kx-餌勀奷ŎC菡ƴ勋;*靯įƊ", + "value": "461", + "effect": "ŕ蘴濼DZj鎒ũW|ȶdžH0ƾ瘿¸", + "tolerationSeconds": -3147305732428645642 } ], "hostAliases": [ { - "ip": "438", + "ip": "462", "hostnames": [ - "439" + "463" ] } ], - "priorityClassName": "440", - "priority": 497309492, + "priorityClassName": "464", + "priority": -1756088332, "dnsConfig": { "nameservers": [ - "441" + "465" ], "searches": [ - "442" + "466" ], "options": [ { - "name": "443", - "value": "444" + "name": "467", + "value": "468" } ] }, "readinessGates": [ { - "conditionType": "溣狣愿激" + "conditionType": "#sM網" } ], - "runtimeClassName": "445", - "enableServiceLinks": false, - "preemptionPolicy": "Ȳȍŋƀ+瑏eCmA", + "runtimeClassName": "469", + "enableServiceLinks": true, + "preemptionPolicy": "ûŠl倳ţü¿Sʟ鍡", "overhead": { - "睙": "859" + "炳薝鴠:X才à脡ǯ?b砸ƻ舁Ȁ贠ȇö匉": "452" }, "topologySpreadConstraints": [ { - "maxSkew": 341824479, - "topologyKey": "446", - "whenUnsatisfiable": "Œ,躻[鶆f盧", + "maxSkew": -447559705, + "topologyKey": "470", + "whenUnsatisfiable": "TaI楅©Ǫ壿/š^劶äɲ泒", "labelSelector": { "matchLabels": { - "82__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw_Y": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "47--9k-e4ora9.t7bm9-4m04qn-n7--c3k7--fei-br7310gl-xwm5-85a/r8-L__C_60-__.19_-gYY._..fP--hQ7be__-.-g-5.-59...7q___nT": "u0-.6---Q.__y64L.0-.c-tm..__---r__._-.DL.o_e-d92e8S_-0D" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "KTlO.__0PX", + "operator": "In", + "values": [ + "V6K_.3_583-6.f-.9-.V..Q-K_6_3" + ] } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb index 1ec3ac83c272..64a918a2cd52 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml index 9bb18dec36a6..aefc4c46523a 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.PodTemplate.yaml @@ -93,16 +93,24 @@ template: - podAffinityTerm: labelSelector: matchExpressions: - - key: C0-.-m_0-m-6Sp_N-S..O-BZ..6-1.S-B3_.b17ca-p - operator: In + - key: Y.39g_.--_-_ve5.m_U + operator: NotIn values: - - 3-3--5X1rh-K5y_AzOBW.9oE9_6.--v17r__.2bIZ_K + - nw_-_x18mtxb__-ex-_1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-.03.mp.1 matchLabels: - 780bdw0-1-47rrw8-5tn.0-1y-tw/8_d.8: wmiJ4x-_0_5-_.7F3p2_-_AmD-.A + 3-8o1-x-1wl----f31-0-2t3zw.il-023bm-6l2e5---k5v38/E9_6.--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiSo: X-78o_6Z..11_7pX_.-mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G2 + namespaceSelector: + matchExpressions: + - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + operator: NotIn + values: + - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + matchLabels: + 0--385h---0-u73phjo--8kb6--ut---p6.t5--9-4-d2-22-0/jcz.-Y6T4gz: p_.----cp__ac8u.._-__BM.6-.Y7 namespaces: - - "417" - topologyKey: "418" - weight: 1586122127 + - "423" + topologyKey: "424" + weight: 1036096141 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -112,6 +120,12 @@ template: - "1" matchLabels: n3-x1y-8---3----p-pdn--j2---25/8...__.Q_c8.G.b_9_1o.K: 9_._X-D---k..1Q7._l.._Q.6.I--2_9.v.--_.--4QQ.-s.H.Hu-r + namespaceSelector: + matchExpressions: + - key: 5S-B3_.b17ca-_p-y.eQZ9p_6.2 + operator: Exists + matchLabels: + e_l2.._8s--7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4: s_0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-S.O namespaces: - "409" topologyKey: "410" @@ -120,26 +134,40 @@ template: - podAffinityTerm: labelSelector: matchExpressions: - - key: G4Hl-X0_2--__4K..-68-7AlR__8-7_-YD-Q9_-__..YF - operator: In + - key: h-i-60a---9--n8i64t1-4----c-----35---1--6-u-68u8w.3-6b77-f8--tf---7r88-1--p61cd--6/e-Avi.gZdnUVP._81_---l_3_-_G-D....js--a---..6bD_M--c.0Q--2qh.b + operator: NotIn values: - - 7_.-4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-A4 + - u.7.._B-ks7dG-9S-O62o.8._.---UK_-.j21---__y.9O.L-m + matchLabels: + 2fk3x-j9133e--2-t--k-fmt4272r--49u-0m7u-----v8.0--063-qm-j-3wc89k-0-57z4063---kb/v_5_D7RufiV-7u0--_qv4-D: Y_o.-0-yE-R5W5_2n...78aou_j-3.J-.-r_-oPd-.2_Z__.-_U-.6p + namespaceSelector: + matchExpressions: + - key: wr3qtm-8vuo17qre-33-5-u8f0f1qv--i72-x3---v25f1.2-84s-n-i-711s4--9s8--o-8dm---b----03-64-8l7-l-0787--18/iguFGT._.Y4-0.67hP-lX-_-..5-.._r6T + operator: DoesNotExist matchLabels: - F-__BM.6-.Y_72-_--pT75-.emV__1-v: UDf.-4D-r.F + 7u-h---dY7_M_-._M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy5: Y-__-Zvt.LT60v.WxPc--K namespaces: - - "433" - topologyKey: "434" - weight: -974760835 + - "451" + topologyKey: "452" + weight: 1131487788 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: f2t-m839-qr-7----rgvf3q-z-5z80n--t5--9-4-d2-w/w0_.i__a.O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_ITO + - key: 4b699/B9n.2 + operator: In + values: + - MM7-.e.x + matchLabels: + fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o5: TB-d-Q + namespaceSelector: + matchExpressions: + - key: 8u2-__3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._J operator: DoesNotExist matchLabels: - 23bm-6l2e5---k5v3a---ez-o-u.s11-7p--3zm-lx300w-tj-35840-w4g-27-5sx6dbp-72q--m--28/1k.7.l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H: 46.-y-s4483Po_L3f1-7_O4.nw_-_x18mtxb__e + B_05._Lsu-H_.f82-8_.UdWNn_U-...1P_.D8_t..-Ww2q.zK-p-...Z-O.-j: Vv.-_.4dwFbuvEf55Y2k.F-F..3m6.._2v89U--8.3N_.1 namespaces: - - "425" - topologyKey: "426" + - "437" + topologyKey: "438" automountServiceAccountToken: false containers: - args: @@ -319,14 +347,14 @@ template: workingDir: "242" dnsConfig: nameservers: - - "441" + - "465" options: - - name: "443" - value: "444" + - name: "467" + value: "468" searches: - - "442" + - "466" dnsPolicy: 誹 - enableServiceLinks: false + enableServiceLinks: true ephemeralContainers: - args: - "312" @@ -507,8 +535,8 @@ template: workingDir: "313" hostAliases: - hostnames: - - "439" - ip: "438" + - "463" + ip: "462" hostname: "393" imagePullSecrets: - name: "392" @@ -691,15 +719,15 @@ template: nodeSelector: "377": "378" overhead: - 睙: "859" - preemptionPolicy: Ȳȍŋƀ+瑏eCmA - priority: 497309492 - priorityClassName: "440" + 炳薝鴠:X才à脡ǯ?b砸ƻ舁Ȁ贠ȇö匉: "452" + preemptionPolicy: ûŠl倳ţü¿Sʟ鍡 + priority: -1756088332 + priorityClassName: "464" readinessGates: - - conditionType: 溣狣愿激 + - conditionType: '#sM網' restartPolicy: æ盪泙若`l}Ñ蠂Ü - runtimeClassName: "445" - schedulerName: "435" + runtimeClassName: "469" + schedulerName: "459" securityContext: fsGroup: -458943834575608638 fsGroupChangePolicy: ɢzĮ蛋I滞廬耐鷞焬CQm坊柩劄奼[ @@ -730,21 +758,23 @@ template: subdomain: "394" terminationGracePeriodSeconds: -1344691682045303625 tolerations: - - effect: J赟鷆šl5ɜ - key: "436" - operator: ō6µɑ`ȗ< - tolerationSeconds: 2575412512260329976 - value: "437" + - effect: ŕ蘴濼DZj鎒ũW|ȶdžH0ƾ瘿¸ + key: "460" + operator: E色kx-餌勀奷ŎC菡ƴ勋;*靯įƊ + tolerationSeconds: -3147305732428645642 + value: "461" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: KTlO.__0PX + operator: In + values: + - V6K_.3_583-6.f-.9-.V..Q-K_6_3 matchLabels: - 82__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q5._D6_.d-n_9n.p.2-.-Qw_Y: 11---.-o7.pJ-4-1WV.-__05._LsuH - maxSkew: 341824479 - topologyKey: "446" - whenUnsatisfiable: Œ,躻[鶆f盧 + 47--9k-e4ora9.t7bm9-4m04qn-n7--c3k7--fei-br7310gl-xwm5-85a/r8-L__C_60-__.19_-gYY._..fP--hQ7be__-.-g-5.-59...7q___nT: u0-.6---Q.__y64L.0-.c-tm..__---r__._-.DL.o_e-d92e8S_-0D + maxSkew: -447559705 + topologyKey: "470" + whenUnsatisfiable: TaI楅©Ǫ壿/š^劶äɲ泒 volumes: - awsElasticBlockStore: fsType: "41" diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json index 9647a50bd544..d15801d1cad7 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.json @@ -1317,28 +1317,59 @@ "namespaces": [ "414" ], - "topologyKey": "415" + "topologyKey": "415", + "namespaceSelector": { + "matchLabels": { + "v8_.O_..8n.--z_-..6W.K": "sTt.-U_--6" + }, + "matchExpressions": [ + { + "key": "7-3x-3/23_P", + "operator": "NotIn", + "values": [ + "5....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -281926929, + "weight": -2081163116, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0": "x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x" + "acp6-5-x1---4/b8a_6_.0Q46": "6" }, "matchExpressions": [ { - "key": "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj", - "operator": "Exists" + "key": "a-L--v_Z--Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW9", + "operator": "In", + "values": [ + "Gv" + ] } ] }, "namespaces": [ - "422" + "428" ], - "topologyKey": "423" + "topologyKey": "429", + "namespaceSelector": { + "matchLabels": { + "Z___._6..tf-_u-3-_n0..p": "S.K" + }, + "matchExpressions": [ + { + "key": "Fgw_-z_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.--4Z7__i1T.miw_7a2", + "operator": "NotIn", + "values": [ + "j_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.m_2d" + ] + } + ] + } } } ] @@ -1348,103 +1379,134 @@ { "labelSelector": { "matchLabels": { - "G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0": "M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c" + "snw0-3i--a2/023Xl-3Pw_-r75--c": "4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3" }, "matchExpressions": [ { - "key": "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr", - "operator": "DoesNotExist" + "key": "rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8", + "operator": "NotIn", + "values": [ + "8u.._-__BM.6-.Y_72-_--pT751" + ] } ] }, "namespaces": [ - "430" + "442" ], - "topologyKey": "431" + "topologyKey": "443", + "namespaceSelector": { + "matchLabels": { + "8---h-1.l-h--q0h-t2n4s-6-k5-7-a0w-ke5p-33lt-9--2-k-27-4r4-d-9a46/FL-__bf_9_-C-PfNx__-U_.Pn-W2h": "ht-E6___-X__H.-39-A_-_l67Q.-t" + }, + "matchExpressions": [ + { + "key": "C-_20", + "operator": "Exists" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -481276923, + "weight": 33371499, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40": "a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP" + "RT.0zo": "7G79.3bU_._nV34G._--u.._.105-4_ed-f" }, "matchExpressions": [ { - "key": "39-A_-_l67Q.-_r", - "operator": "Exists" + "key": "o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_g0", + "operator": "NotIn", + "values": [ + "kn_9n.p.o" + ] } ] }, "namespaces": [ - "438" + "456" ], - "topologyKey": "439" + "topologyKey": "457", + "namespaceSelector": { + "matchLabels": { + "o79p-f4r1--7p--053--suu--9f82k8-2-d--n--e/7-.6": "K--g__..2bidF.-0-...WE.-_tdt_-Z0_TM_p6lM.Y-nd_.b_-gL_13" + }, + "matchExpressions": [ + { + "key": "g-cx-428u2j--3u-77-75-p-z---k-5r6h--y7o-0-wq-zfdn.yg0t-q--qr95ws-v-5--7-uf5/bk81S3.s_s_6.-_U", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "440", + "schedulerName": "464", "tolerations": [ { - "key": "441", - "operator": "査Z綶ĀRġ磸", - "value": "442", - "effect": "`ȗ\u003c8^翜T蘈", - "tolerationSeconds": 563892352146095619 + "key": "465", + "operator": "â羃ȄÑNQ梯誠?忹ț慑罪ƐǥĂ/ɼ", + "value": "466", + "effect": "Ȫ", + "tolerationSeconds": -3512872839388697022 } ], "hostAliases": [ { - "ip": "443", + "ip": "467", "hostnames": [ - "444" + "468" ] } ], - "priorityClassName": "445", - "priority": -413167112, + "priorityClassName": "469", + "priority": 338072377, "dnsConfig": { "nameservers": [ - "446" + "470" ], "searches": [ - "447" + "471" ], "options": [ { - "name": "448", - "value": "449" + "name": "472", + "value": "473" } ] }, "readinessGates": [ { - "conditionType": "÷閂抰^窄CǙķ" + "conditionType": "ȳ靘ɶ¦9F徵{ɦ!f親ʚ«Ǥ栌Ə" } ], - "runtimeClassName": "450", + "runtimeClassName": "474", "enableServiceLinks": false, - "preemptionPolicy": "I梞ū筀", + "preemptionPolicy": "", "overhead": { - "莏ŹZ槇鿖]": "643" + "öZÕW肤 遞Ȼ棉砍": "261" }, "topologySpreadConstraints": [ { - "maxSkew": -1404859721, - "topologyKey": "451", - "whenUnsatisfiable": "Ɖ虼/h毂", + "maxSkew": 1795378781, + "topologyKey": "475", + "whenUnsatisfiable": "焿熣$ɒ割婻漛Ǒ", "labelSelector": { "matchLabels": { - "dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN": "z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7" + "17--f-z336z7---1-i-67-3o--pw8-l0d--7881-v7-j-8-98-9-av.2vi9g-dn---6-81-ssml-3-b--x-8234jscfajzc476bt/PT-_Nx__-F_._n.WaY_o.-0-yE-RW": "sfI_2-_20_9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_3H" }, "matchExpressions": [ { - "key": "0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E", - "operator": "DoesNotExist" + "key": "gwb.-R6_pQ_mgi.U.-e7z-t0-pQ-.-.g-_Zy", + "operator": "NotIn", + "values": [ + "7.._B-ks7dG-9S-6" + ] } ] } @@ -1455,18 +1517,18 @@ } }, "status": { - "replicas": -1576773969, - "fullyLabeledReplicas": -1993578228, - "readyReplicas": 1971731732, - "availableReplicas": 165851549, - "observedGeneration": 4460932436309061502, + "replicas": 605103437, + "fullyLabeledReplicas": -671032539, + "readyReplicas": -870156140, + "availableReplicas": 972437399, + "observedGeneration": 6640996041331237073, "conditions": [ { - "type": "鎊t潑嫉悔柅ȵ.", - "status": "PRɄɝ熔ķ´ʑ潞Ĵ3", - "lastTransitionTime": "2204-01-10T03:47:41Z", - "reason": "458", - "message": "459" + "type": "đÁŊ锱軈", + "status": "ħ(f", + "lastTransitionTime": "2278-11-24T08:09:51Z", + "reason": "482", + "message": "483" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb index 6f0d26ba4d21..05c9bd19b5bb 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb and b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml index 545454558fea..037007483369 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/core.v1.ReplicationController.yaml @@ -98,15 +98,24 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/K._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj - operator: Exists + - key: a-L--v_Z--Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW9 + operator: In + values: + - Gv + matchLabels: + acp6-5-x1---4/b8a_6_.0Q46: "6" + namespaceSelector: + matchExpressions: + - key: Fgw_-z_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.--4Z7__i1T.miw_7a2 + operator: NotIn + values: + - j_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.m_2d matchLabels: - ? dgr-y7nlp97v-0-1y-t3---2ga-v205p-26-u5wq.1--m-l80--5o1--cp6-5-x1---0w4rm-0uma6-p--d-t/K_XOnf_ZN.-_--r.E__-.8_e_l2.._8s--7_3x_-J_.....7..--0 - : x-Zg-_4Q__-v_t_u_.__I_-_-3-3--5X1rh-K5y_AzOBW.9oE9_6.x + Z___._6..tf-_u-3-_n0..p: S.K namespaces: - - "422" - topologyKey: "423" - weight: -281926929 + - "428" + topologyKey: "429" + weight: -2081163116 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -116,6 +125,14 @@ spec: - u_.--4QQ.-s.H.Hu-k-_-0-T1mel--F......3_t_l matchLabels: 1caTz_.g.w-o.8_WT-M.3_-1y_8D_X._B__-P---_H-.___._D8.TS-jJ.YO: op34_-y.8_38m + namespaceSelector: + matchExpressions: + - key: 7-3x-3/23_P + operator: NotIn + values: + - 5....7..--w0_1V4.-r-8S5--_7_-Zp_._.-mi4 + matchLabels: + v8_.O_..8n.--z_-..6W.K: sTt.-U_--6 namespaces: - "414" topologyKey: "415" @@ -124,24 +141,40 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 39-A_-_l67Q.-_r + - key: o8t5Vl6_..7CY-_dc__G6N-_-0o.0C_g0 + operator: NotIn + values: + - kn_9n.p.o + matchLabels: + RT.0zo: 7G79.3bU_._nV34G._--u.._.105-4_ed-f + namespaceSelector: + matchExpressions: + - key: g-cx-428u2j--3u-77-75-p-z---k-5r6h--y7o-0-wq-zfdn.yg0t-q--qr95ws-v-5--7-uf5/bk81S3.s_s_6.-_U operator: Exists matchLabels: - L_1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2--__40: a68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP + o79p-f4r1--7p--053--suu--9f82k8-2-d--n--e/7-.6: K--g__..2bidF.-0-...WE.-_tdt_-Z0_TM_p6lM.Y-nd_.b_-gL_13 namespaces: - - "438" - topologyKey: "439" - weight: -481276923 + - "456" + topologyKey: "457" + weight: 33371499 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/Jm...Cr - operator: DoesNotExist + - key: rN7_B__--v-3-BzO5z80n_Ht5W_._._-2M2._I-_P..w-W_-n8 + operator: NotIn + values: + - 8u.._-__BM.6-.Y_72-_--pT751 + matchLabels: + snw0-3i--a2/023Xl-3Pw_-r75--c: 4wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m3 + namespaceSelector: + matchExpressions: + - key: C-_20 + operator: Exists matchLabels: - G_2kCpS__.39g_.--_-_ve5.m_2_--XZ-x._0: M2-n_5023Xl-3Pw_-r75--_-A-o-__y__._12..wrbW_E..24-O._.v._9c + 8---h-1.l-h--q0h-t2n4s-6-k5-7-a0w-ke5p-33lt-9--2-k-27-4r4-d-9a46/FL-__bf_9_-C-PfNx__-U_.Pn-W2h: ht-E6___-X__H.-39-A_-_l67Q.-t namespaces: - - "430" - topologyKey: "431" + - "442" + topologyKey: "443" automountServiceAccountToken: false containers: - args: @@ -319,12 +352,12 @@ spec: workingDir: "245" dnsConfig: nameservers: - - "446" + - "470" options: - - name: "448" - value: "449" + - name: "472" + value: "473" searches: - - "447" + - "471" enableServiceLinks: false ephemeralContainers: - args: @@ -505,8 +538,8 @@ spec: workingDir: "314" hostAliases: - hostnames: - - "444" - ip: "443" + - "468" + ip: "467" hostIPC: true hostPID: true hostname: "398" @@ -689,15 +722,15 @@ spec: nodeSelector: "382": "383" overhead: - 莏ŹZ槇鿖]: "643" - preemptionPolicy: I梞ū筀 - priority: -413167112 - priorityClassName: "445" + öZÕW肤 遞Ȼ棉砍: "261" + preemptionPolicy: "" + priority: 338072377 + priorityClassName: "469" readinessGates: - - conditionType: ÷閂抰^窄CǙķ + - conditionType: ȳ靘ɶ¦9F徵{ɦ!f親ʚ«Ǥ栌Ə restartPolicy: 鷞焬C - runtimeClassName: "450" - schedulerName: "440" + runtimeClassName: "474" + schedulerName: "464" securityContext: fsGroup: 8801451190757707332 fsGroupChangePolicy: ɋȑoG鄧蜢暳ǽżLj捲 @@ -728,21 +761,24 @@ spec: subdomain: "399" terminationGracePeriodSeconds: 2910487247185363461 tolerations: - - effect: '`ȗ<8^翜T蘈' - key: "441" - operator: 査Z綶ĀRġ磸 - tolerationSeconds: 563892352146095619 - value: "442" + - effect: Ȫ + key: "465" + operator: â羃ȄÑNQ梯誠?忹ț慑罪ƐǥĂ/ɼ + tolerationSeconds: -3512872839388697022 + value: "466" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 0.9-.-._.1..s._jP6j.u--.K--g__..2bidF.-0-...E - operator: DoesNotExist + - key: gwb.-R6_pQ_mgi.U.-e7z-t0-pQ-.-.g-_Zy + operator: NotIn + values: + - 7.._B-ks7dG-9S-6 matchLabels: - dno-52--6-0dkn9/i_zZsY_o8t5Vl6_..7CY-_dc__GN: z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_M7 - maxSkew: -1404859721 - topologyKey: "451" - whenUnsatisfiable: Ɖ虼/h毂 + ? 17--f-z336z7---1-i-67-3o--pw8-l0d--7881-v7-j-8-98-9-av.2vi9g-dn---6-81-ssml-3-b--x-8234jscfajzc476bt/PT-_Nx__-F_._n.WaY_o.-0-yE-RW + : sfI_2-_20_9._5-..Bi_..aOQ_._Yn.-.4t.U.VU__-_BAB_3H + maxSkew: 1795378781 + topologyKey: "475" + whenUnsatisfiable: 焿熣$ɒ割婻漛Ǒ volumes: - awsElasticBlockStore: fsType: "43" @@ -994,14 +1030,14 @@ spec: storagePolicyName: "99" volumePath: "97" status: - availableReplicas: 165851549 + availableReplicas: 972437399 conditions: - - lastTransitionTime: "2204-01-10T03:47:41Z" - message: "459" - reason: "458" - status: PRɄɝ熔ķ´ʑ潞Ĵ3 - type: 鎊t潑嫉悔柅ȵ. - fullyLabeledReplicas: -1993578228 - observedGeneration: 4460932436309061502 - readyReplicas: 1971731732 - replicas: -1576773969 + - lastTransitionTime: "2278-11-24T08:09:51Z" + message: "483" + reason: "482" + status: ħ(f + type: đÁŊ锱軈 + fullyLabeledReplicas: -671032539 + observedGeneration: 6640996041331237073 + readyReplicas: -870156140 + replicas: 605103437 diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.json b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.json index 59cf1ba9ce31..346750481de8 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.json @@ -1326,28 +1326,50 @@ "namespaces": [ "416" ], - "topologyKey": "417" + "topologyKey": "417", + "namespaceSelector": { + "matchLabels": { + "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + }, + "matchExpressions": [ + { + "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -2092358209, + "weight": -555161071, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L": "3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7" + "73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C": "r-v-3-BO" }, "matchExpressions": [ { - "key": "yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH", - "operator": "DoesNotExist" + "key": "q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L", + "operator": "Exists" } ] }, "namespaces": [ - "424" + "430" ], - "topologyKey": "425" + "topologyKey": "431", + "namespaceSelector": { + "matchLabels": { + "r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y": "w1k8KLu..ly--JM" + }, + "matchExpressions": [ + { + "key": "RT.0zo", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1357,142 +1379,166 @@ { "labelSelector": { "matchLabels": { - "H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0": "8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O" + "FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C": "m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH" }, "matchExpressions": [ { - "key": "I.4_W_-_-7Tp_.---c", + "key": "7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g", "operator": "DoesNotExist" } ] }, "namespaces": [ - "432" + "444" ], - "topologyKey": "433" + "topologyKey": "445", + "namespaceSelector": { + "matchLabels": { + "p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22": "eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p" + }, + "matchExpressions": [ + { + "key": "Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w", + "operator": "In", + "values": [ + "u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1084136601, + "weight": 339079271, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4": "2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l" + "ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o": "Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV" }, "matchExpressions": [ { - "key": "2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t", - "operator": "NotIn", - "values": [ - "Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2" - ] + "key": "3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5", + "operator": "Exists" } ] }, "namespaces": [ - "440" + "458" ], - "topologyKey": "441" + "topologyKey": "459", + "namespaceSelector": { + "matchLabels": { + "E35H__.B_E": "U..u8gwbk" + }, + "matchExpressions": [ + { + "key": "Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "442", + "schedulerName": "466", "tolerations": [ { - "key": "443", - "operator": "Ž彙pg稠氦Ņs", - "value": "444", - "effect": "ưg", - "tolerationSeconds": 7158818521862381855 + "key": "467", + "operator": "ŭʔb'?舍ȃʥx臥]å摞", + "value": "468", + "tolerationSeconds": 3053978290188957517 } ], "hostAliases": [ { - "ip": "445", + "ip": "469", "hostnames": [ - "446" + "470" ] } ], - "priorityClassName": "447", - "priority": 197024033, + "priorityClassName": "471", + "priority": -340583156, "dnsConfig": { "nameservers": [ - "448" + "472" ], "searches": [ - "449" + "473" ], "options": [ { - "name": "450", - "value": "451" + "name": "474", + "value": "475" } ] }, "readinessGates": [ { - "conditionType": "" + "conditionType": "țc£PAÎǨȨ栋" } ], - "runtimeClassName": "452", + "runtimeClassName": "476", "enableServiceLinks": false, - "preemptionPolicy": "礗渶", + "preemptionPolicy": "n{鳻", "overhead": { - "[IŚȆĸsǞÃ+?Ď筌ʨ:": "664" + "隅DžbİEMǶɼ`|褞": "229" }, "topologySpreadConstraints": [ { - "maxSkew": -918148948, - "topologyKey": "453", - "whenUnsatisfiable": "亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc", + "maxSkew": 1486667065, + "topologyKey": "477", + "whenUnsatisfiable": "DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞", "labelSelector": { "matchLabels": { - "cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2": "3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7" + "H_55..--E3_2D-1DW__o_-.k": "7" }, "matchExpressions": [ { - "key": "37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6", - "operator": "DoesNotExist" + "key": "oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b", + "operator": "NotIn", + "values": [ + "H1z..j_.r3--T" + ] } ] } } ], - "setHostnameAsFQDN": true + "setHostnameAsFQDN": false } }, "updateStrategy": { - "type": "翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u", + "type": "șa汸\u003cƋlɋN磋镮ȺPÈ", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -985724127, - "templateGeneration": -8308852022291575505, - "revisionHistoryLimit": 408491268 + "minReadySeconds": 1750503412, + "templateGeneration": -360030892563979363, + "revisionHistoryLimit": -900194589 }, "status": { - "currentNumberScheduled": -1833348558, - "numberMisscheduled": 1883709155, - "desiredNumberScheduled": 484752614, - "numberReady": 1191556990, - "observedGeneration": 5927758286740396237, - "updatedNumberScheduled": -406189540, - "numberAvailable": -2095625968, - "numberUnavailable": -303330375, - "collisionCount": -7415502, + "currentNumberScheduled": 295177820, + "numberMisscheduled": 1576197985, + "desiredNumberScheduled": -702578810, + "numberReady": 1539090224, + "observedGeneration": 1991467680216601344, + "updatedNumberScheduled": -1556190810, + "numberAvailable": -487001726, + "numberUnavailable": 929611261, + "collisionCount": -1535458227, "conditions": [ { - "type": "囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ", - "status": "喗vȥ倉螆ȨX\u003e,«ɒó\u003c碡", - "lastTransitionTime": "2343-06-05T09:00:28Z", - "reason": "460", - "message": "461" + "type": "Ȣ#", + "status": "罦¦褅桃|薝Țµʍ^鼑:$Ǿ觇ƒ幦", + "lastTransitionTime": "2721-06-15T10:27:00Z", + "reason": "484", + "message": "485" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.pb b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.pb index 8131da18196f..783e4e6a7db2 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.yaml index ca9655dfe239..9c214efb73a0 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.DaemonSet.yaml @@ -30,8 +30,8 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -985724127 - revisionHistoryLimit: 408491268 + minReadySeconds: 1750503412 + revisionHistoryLimit: -900194589 selector: matchExpressions: - key: p503---477-49p---o61---4fy--9---7--9-9s-0-u5lj2--10pq-0-7-9-2-0/fP81.-.9Vdx.TB_M-H_5_.t..bG0 @@ -104,14 +104,20 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: yps4483-o--3f1p7--43nw-l-x18mtb/mLlx...w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpH + - key: q1wwv3--f4x4-br5r---r8oh.1nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w8/2._I-_P..w-W_-nE...-__--.k47M7y-Dy__3wc.q.8_00.L + operator: Exists + matchLabels: + 73ph2/2..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m..C: r-v-3-BO + namespaceSelector: + matchExpressions: + - key: RT.0zo operator: DoesNotExist matchLabels: - nn093-pi-9o-l4-vo5byp8q-sf1--gw-jz/F_06.eqk5L: 3zHw.H__V.Vz_6.Hz_V_.r_v_._e_7 + r4T-I.-..K.-.0__sD.-.-_I-F.PWtO4-7-P41_.-.-AQ._r.Y: w1k8KLu..ly--JM namespaces: - - "424" - topologyKey: "425" - weight: -2092358209 + - "430" + topologyKey: "431" + weight: -555161071 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -119,6 +125,12 @@ spec: operator: DoesNotExist matchLabels: p_N-1: O-BZ..6-1.S-B3_.b7 + namespaceSelector: + matchExpressions: + - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 + operator: DoesNotExist + matchLabels: + 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM namespaces: - "416" topologyKey: "417" @@ -127,26 +139,38 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 2--4-r4p--w1k8--y.e2-08vc--4-7hdum1-f-7-k8q/YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__H.-39-A_-_l67Q.-t - operator: NotIn - values: - - Oep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_V-_Q_Ap._2_xa_o..p_B-d--Q2 + - key: 3.js--a---..6bD_M--c.0Q--2qh.Eb_.__1.-5 + operator: Exists matchLabels: - 6n-f-x--i-b/K_BM.6-.Y_72-_--pT75-.emV__1-wv3UDf.4: 2_uGGP..-_N_h_4Hl-X0_2--__4K..-68-7l + ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yE-R5W5_2n...78o: Jj-3.J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9--Avi.gZdnV + namespaceSelector: + matchExpressions: + - key: Q_mgi.U.-e7z-t0-pQ-.-.g-_Z_-nSL.--4i + operator: Exists + matchLabels: + E35H__.B_E: U..u8gwbk namespaces: - - "440" - topologyKey: "441" - weight: -1084136601 + - "458" + topologyKey: "459" + weight: 339079271 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: I.4_W_-_-7Tp_.---c + - key: 7W-6..4_MU7iLfS-0.9-.-._.1..s._jP6j.u--.K-g operator: DoesNotExist matchLabels: - H1_-ODgC_1-_8__T3sn-0_.i__a.O2G_-_K-0: 8mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-hj-O + FnV34G._--u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..C: m_dc__G6N-_-0o.0C_gV.9_G-.-z1YH + namespaceSelector: + matchExpressions: + - key: Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--.C.8-S9_-4w + operator: In + values: + - u-_qv4--_.6_N_9X-B.s8.N_rM-k5.C.e.._d--Y-_l-v0-1V-d + matchLabels: + p-...Z-O.-.jL_v.-_.4dwFbuvEf55Y22: eF..3m6.._2v89U--8.3N_.n1.--.._-x_4..u2-__3uM77U7.p namespaces: - - "432" - topologyKey: "433" + - "444" + topologyKey: "445" automountServiceAccountToken: false containers: - args: @@ -325,12 +349,12 @@ spec: workingDir: "248" dnsConfig: nameservers: - - "448" + - "472" options: - - name: "450" - value: "451" + - name: "474" + value: "475" searches: - - "449" + - "473" dnsPolicy: '#t(ȗŜŲ&洪y儕l' enableServiceLinks: false ephemeralContainers: @@ -511,8 +535,8 @@ spec: workingDir: "318" hostAliases: - hostnames: - - "446" - ip: "445" + - "470" + ip: "469" hostIPC: true hostNetwork: true hostname: "400" @@ -696,15 +720,15 @@ spec: nodeSelector: "384": "385" overhead: - '[IŚȆĸsǞÃ+?Ď筌ʨ:': "664" - preemptionPolicy: 礗渶 - priority: 197024033 - priorityClassName: "447" + 隅DžbİEMǶɼ`|褞: "229" + preemptionPolicy: n{鳻 + priority: -340583156 + priorityClassName: "471" readinessGates: - - conditionType: "" + - conditionType: țc£PAÎǨȨ栋 restartPolicy: '''呪欼萜õ箘鸰呾顓闉ȦT瑄ǻG' - runtimeClassName: "452" - schedulerName: "442" + runtimeClassName: "476" + schedulerName: "466" securityContext: fsGroup: -4548866432246561416 fsGroupChangePolicy: Ð扬 @@ -730,26 +754,27 @@ spec: runAsUserName: "395" serviceAccount: "387" serviceAccountName: "386" - setHostnameAsFQDN: true + setHostnameAsFQDN: false shareProcessNamespace: false subdomain: "401" terminationGracePeriodSeconds: -155552760352472950 tolerations: - - effect: ưg - key: "443" - operator: Ž彙pg稠氦Ņs - tolerationSeconds: 7158818521862381855 - value: "444" + - key: "467" + operator: ŭʔb'?舍ȃʥx臥]å摞 + tolerationSeconds: 3053978290188957517 + value: "468" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 37-ufi-q7u0ux-qv4kd-36---9-d-6s83--r-vkm.8fmt4272r--49u-0m7u-----v---4b---h-wyux--4t7k--e--x--3/fdw.3-._CJ4a1._-_CH-6 - operator: DoesNotExist + - key: oZvt.LT60v.WxPc---K__-iguFGT._.Y4-0.67hP-lX-_-..b + operator: NotIn + values: + - H1z..j_.r3--T matchLabels: - cg-w2q76.6-7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1o-d-6-bk81-3s/s-g__.2: 3N_.n1.--.._-x_4..u2-__3uM77U7._pT-___-_5-6h_K7 - maxSkew: -918148948 - topologyKey: "453" - whenUnsatisfiable: 亪鸑躓1Ǐ詁Ȟ鮩ĺJCuɖc + H_55..--E3_2D-1DW__o_-.k: "7" + maxSkew: 1486667065 + topologyKey: "477" + whenUnsatisfiable: DŽɤȶšɞƵõ禲#樹罽濅ʏ 撜粞 volumes: - awsElasticBlockStore: fsType: "47" @@ -1002,25 +1027,25 @@ spec: storagePolicyID: "104" storagePolicyName: "103" volumePath: "101" - templateGeneration: -8308852022291575505 + templateGeneration: -360030892563979363 updateStrategy: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: 翘ǼZ熝Ʊ宷泐ɻvŰ`Ǧɝ憑ǖ菐u + type: șa汸<ƋlɋN磋镮ȺPÈ status: - collisionCount: -7415502 + collisionCount: -1535458227 conditions: - - lastTransitionTime: "2343-06-05T09:00:28Z" - message: "461" - reason: "460" - status: 喗vȥ倉螆ȨX>,«ɒó<碡 - type: 囙邵鄨o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ - currentNumberScheduled: -1833348558 - desiredNumberScheduled: 484752614 - numberAvailable: -2095625968 - numberMisscheduled: 1883709155 - numberReady: 1191556990 - numberUnavailable: -303330375 - observedGeneration: 5927758286740396237 - updatedNumberScheduled: -406189540 + - lastTransitionTime: "2721-06-15T10:27:00Z" + message: "485" + reason: "484" + status: 罦¦褅桃|薝Țµʍ^鼑:$Ǿ觇ƒ幦 + type: Ȣ# + currentNumberScheduled: 295177820 + desiredNumberScheduled: -702578810 + numberAvailable: -487001726 + numberMisscheduled: 1576197985 + numberReady: 1539090224 + numberUnavailable: 929611261 + observedGeneration: 1991467680216601344 + updatedNumberScheduled: -1556190810 diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json index 6eb252911e50..cb4da4a107ee 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.json @@ -1328,28 +1328,53 @@ "namespaces": [ "415" ], - "topologyKey": "416" + "topologyKey": "416", + "namespaceSelector": { + "matchLabels": { + "l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8": "Z6Z..11_7pX_z" + }, + "matchExpressions": [ + { + "key": "w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z", + "operator": "In", + "values": [ + "4.nw_-_x18mtxb__e" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -1507671981, + "weight": 1479434972, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z": "3Pw_-r75--_-Ao" + "jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7": "r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W" }, "matchExpressions": [ { - "key": "hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN", - "operator": "DoesNotExist" + "key": "7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9", + "operator": "Exists" } ] }, "namespaces": [ - "423" + "429" ], - "topologyKey": "424" + "topologyKey": "430", + "namespaceSelector": { + "matchLabels": { + "4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b": "V._nV34GH" + }, + "matchExpressions": [ + { + "key": "9105-4_ed-0-i_zZsY_o8t5Vl6_..C", + "operator": "DoesNotExist" + } + ] + } } } ] @@ -1359,106 +1384,131 @@ { "labelSelector": { "matchLabels": { - "C--Y_Dp8O_._e_3_.4_W_-_7": "p_.----cp__ac8u.._-__BM.6-.Y7" + "q0o.0C_gV.9_G-.-z1YH": "b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA" }, "matchExpressions": [ { - "key": "1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5", + "key": "s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp", "operator": "NotIn", "values": [ - "l67Q.-_t--O.3L.z2-y.-...C4_-_2G8" + "MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg" ] } ] }, "namespaces": [ - "431" + "443" ], - "topologyKey": "432" + "topologyKey": "444", + "namespaceSelector": { + "matchLabels": { + "4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T": "P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8" + }, + "matchExpressions": [ + { + "key": "0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP", + "operator": "In", + "values": [ + "396h8.G__B3" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1067925263, + "weight": 1856144088, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF": "11---.-o7.pJ-4-1WV.-__05._LsuH" + "Q-.-.g-_Z_-nSLq": "4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3" }, "matchExpressions": [ { - "key": "8", - "operator": "DoesNotExist" + "key": "3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5", + "operator": "Exists" } ] }, "namespaces": [ - "439" + "457" ], - "topologyKey": "440" + "topologyKey": "458", + "namespaceSelector": { + "matchLabels": { + "2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6": "px_0-.mJe__.B-cd2_4" + }, + "matchExpressions": [ + { + "key": "1s._K9-.AJ-_8--___b____03_6.K8lY", + "operator": "Exists" + } + ] + } } } ] } }, - "schedulerName": "441", + "schedulerName": "465", "tolerations": [ { - "key": "442", - "operator": "Ɖ肆Ző", - "value": "443", - "effect": "淵", - "tolerationSeconds": -1072615283184390308 + "key": "466", + "operator": "0yVA嬂刲;牆詒ĸąs", + "value": "467", + "effect": "kx-餌勀奷Ŏ", + "tolerationSeconds": -9038755672632113093 } ], "hostAliases": [ { - "ip": "444", + "ip": "468", "hostnames": [ - "445" + "469" ] } ], - "priorityClassName": "446", - "priority": -1221153504, + "priorityClassName": "470", + "priority": -1133320634, "dnsConfig": { "nameservers": [ - "447" + "471" ], "searches": [ - "448" + "472" ], "options": [ { - "name": "449", - "value": "450" + "name": "473", + "value": "474" } ] }, "readinessGates": [ { - "conditionType": "媈" + "conditionType": "į" } ], - "runtimeClassName": "451", + "runtimeClassName": "475", "enableServiceLinks": true, - "preemptionPolicy": "n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:", + "preemptionPolicy": "Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ", "overhead": { - "ȩ纾S": "368" + "k_": "725" }, "topologySpreadConstraints": [ { - "maxSkew": -1568300104, - "topologyKey": "452", - "whenUnsatisfiable": "潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ", + "maxSkew": -2046521037, + "topologyKey": "476", + "whenUnsatisfiable": "\"T#sM網m", "labelSelector": { "matchLabels": { - "jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g": "Mqp..__._-J_-fk3-_j.133eT_2_Y" + "3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5": "019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6" }, "matchExpressions": [ { - "key": "51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u", - "operator": "Exists" + "key": "B.rTt7bm9I.-..q-F-.__ck", + "operator": "DoesNotExist" } ] } @@ -1468,36 +1518,36 @@ } }, "strategy": { - "type": "xʚ=5谠vÐ仆dždĄ跞肞", + "type": "周藢烡Z树Ȁ謁", "rollingUpdate": { "maxUnavailable": 2, "maxSurge": 3 } }, - "minReadySeconds": -1934555365, - "revisionHistoryLimit": -1189243539, + "minReadySeconds": -59186930, + "revisionHistoryLimit": -1552013182, "rollbackTo": { - "revision": -7874172095994035093 + "revision": 2617808240737153641 }, - "progressDeadlineSeconds": 484752614 + "progressDeadlineSeconds": 1872617698 }, "status": { - "observedGeneration": 3359608726763190142, - "replicas": 1401559245, - "updatedReplicas": -406189540, - "readyReplicas": -2095625968, - "availableReplicas": -303330375, - "unavailableReplicas": 584721644, + "observedGeneration": -2252894353040736578, + "replicas": -274917863, + "updatedReplicas": -944451668, + "readyReplicas": 1371521704, + "availableReplicas": 1084489079, + "unavailableReplicas": -730503981, "conditions": [ { - "type": "ʀł!", - "status": "o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ6", - "lastUpdateTime": "2096-03-01T11:48:47Z", - "lastTransitionTime": "2035-01-21T08:11:33Z", - "reason": "459", - "message": "460" + "type": "傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½", + "status": "n坾\u0026Pɫ(ʙÆ", + "lastUpdateTime": "2310-01-11T15:23:07Z", + "lastTransitionTime": "2921-01-30T02:07:21Z", + "reason": "483", + "message": "484" } ], - "collisionCount": 2099542463 + "collisionCount": -836297709 } } \ No newline at end of file diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb index 9efb46fbfac5..de2360c5fa9c 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb and b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml index 05a459fb0f5b..b170f563a769 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.Deployment.yaml @@ -30,12 +30,12 @@ metadata: selfLink: "5" uid: "7" spec: - minReadySeconds: -1934555365 - progressDeadlineSeconds: 484752614 + minReadySeconds: -59186930 + progressDeadlineSeconds: 1872617698 replicas: 896585016 - revisionHistoryLimit: -1189243539 + revisionHistoryLimit: -1552013182 rollbackTo: - revision: -7874172095994035093 + revision: 2617808240737153641 selector: matchExpressions: - key: 50-u--25cu87--r7p-w1e67-8pj5t-kl-v0q6b68--nu5oii38fn-8.629b-jd-8c45-0-8--6n--w0--w---196g8d--iv1-5--5ht-a-29--0qso796/3___47._49pIB_o61ISU4--A_.XK_._M99 @@ -46,7 +46,7 @@ spec: rollingUpdate: maxSurge: 3 maxUnavailable: 2 - type: xʚ=5谠vÐ仆dždĄ跞肞 + type: 周藢烡Z树Ȁ謁 template: metadata: annotations: @@ -111,15 +111,21 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: hj6/bW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...CqN + - key: 7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-E6___-X__9 + operator: Exists + matchLabels: + ? jo--8kb6--ut---p8--3-e-3-44---h-q7-p-2djmscp--ac8u23-k----26u5h.r3wc8q78-0020-1-0f--k--bf-94/co-__y__._12..wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cqr7 + : r.-F__r.oh..2_uGGP..-_N_h_4Hl-X0_2-W + namespaceSelector: + matchExpressions: + - key: 9105-4_ed-0-i_zZsY_o8t5Vl6_..C operator: DoesNotExist matchLabels: - ? v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-35840-w4g-27-5s6.q-22r4wye52y-h7463lyps4483-o--3f1p7--43nw-l-x18mtxb--kexr-y/oK-.O--5-yp8q_s-1__gw_-z_659GE.l_.23--_6l.-5_Z - : 3Pw_-r75--_-Ao + 4_r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.b: V._nV34GH namespaces: - - "423" - topologyKey: "424" - weight: -1507671981 + - "429" + topologyKey: "430" + weight: 1479434972 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -127,6 +133,14 @@ spec: operator: Exists matchLabels: 1-2ga-v205p-26-u5wg-g8.m-l80--5o1--cp6-5-x1---0w4rm-0u6/l-7_3x_-J_.....7..--w0_1V4.-r-8S5--_7_-Zp5: 1--L--v_Z--Zg-_4Q__-v_t_u_.A + namespaceSelector: + matchExpressions: + - key: w_t-_.5.40Rw4gD.._.-x6db-L7.-__-G_2kCpS__.39g_.--_-_ve5.Z + operator: In + values: + - 4.nw_-_x18mtxb__e + matchLabels: + l_-W8o._xJ1-lFA_Xf3.V0H2-.zHw.H__V.Vz_6.Hz_V_.r_v_._e_-8: Z6Z..11_7pX_z namespaces: - "415" topologyKey: "416" @@ -135,26 +149,41 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: "8" - operator: DoesNotExist + - key: 3d/6_M5..-N_H_55..--E3_2D-1DW__o_-._kzB7U_.Q.45cy-5 + operator: Exists matchLabels: - k407--m-dc---6-q-q0o90--g-09--d5ez1----b69x90/um._fN._k8__._ep2P.B._A_090ERG2nV.__p_Y-.2__a_dWU_VF: 11---.-o7.pJ-4-1WV.-__05._LsuH + Q-.-.g-_Z_-nSLq: 4P--_q-...Oai.D7-_9..8-8yw..__Yb_58.p-06jVZ-uP.t_.O3 + namespaceSelector: + matchExpressions: + - key: 1s._K9-.AJ-_8--___b____03_6.K8lY + operator: Exists + matchLabels: + 2x-cpor---cigu---4-2-4k0267h-rl-l-u575b93-r6---4g-vg3t.vuo17qre-33-5-u8f0f1q8/6: px_0-.mJe__.B-cd2_4 namespaces: - - "439" - topologyKey: "440" - weight: 1067925263 + - "457" + topologyKey: "458" + weight: 1856144088 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 1x--i--7-nt-23h-4z-21-sap--h--q0h-t2n4s-6-k5-7-a0w-ke5p-3.nu--17---u7-gl7814ei-07shtq-6---g----9s39z-5/wv3UDf.-4D-5 + - key: s4dw-buv-f55-2k2-e-443m678-2v89-zk873--1n133.or-0-2--rad877gr62g/dg__..2bidF.-0-...WE.-_tdt_-Z0_TMp operator: NotIn values: - - l67Q.-_t--O.3L.z2-y.-...C4_-_2G8 + - MGbG-_-8Qi..9-4.2K_FQ.E--__K-hg + matchLabels: + q0o.0C_gV.9_G-.-z1YH: b.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.9-.-._.1..sA + namespaceSelector: + matchExpressions: + - key: 0476b---nhc50-de2qh2-b-6--13lk5-e4-u-5kvp-----887j72qz6-7d841/R._.3l-_86_u2-7_._qN__A_f_-B3_UP + operator: In + values: + - 396h8.G__B3 matchLabels: - C--Y_Dp8O_._e_3_.4_W_-_7: p_.----cp__ac8u.._-__BM.6-.Y7 + ? 4vk58-7e74-ddq-a-lcv0n1-i-d-----9---063-qm-j-w.57k--e--x--b--1-n4-a--o2h0fy-j-5-5-2nw/1._-_CH--.C.8-S9_-4CwMqp..__._-J_-fk3-_j.133T + : P-336-.B__.QiA6._3o_V-w._-0d__7.81_-._-_8_8 namespaces: - - "431" - topologyKey: "432" + - "443" + topologyKey: "444" automountServiceAccountToken: false containers: - args: @@ -333,12 +362,12 @@ spec: workingDir: "249" dnsConfig: nameservers: - - "447" + - "471" options: - - name: "449" - value: "450" + - name: "473" + value: "474" searches: - - "448" + - "472" dnsPolicy: :{柯?B enableServiceLinks: true ephemeralContainers: @@ -520,8 +549,8 @@ spec: workingDir: "317" hostAliases: - hostnames: - - "445" - ip: "444" + - "469" + ip: "468" hostNetwork: true hostname: "399" imagePullSecrets: @@ -705,15 +734,15 @@ spec: nodeSelector: "383": "384" overhead: - ȩ纾S: "368" - preemptionPolicy: 'n夬LJ:BŐ埑Ô*ɾWȖ韝ƉşʁO^:' - priority: -1221153504 - priorityClassName: "446" + k_: "725" + preemptionPolicy: Ʀ[螵沊齣薣鰎đƝ):惝ŵ髿ɔ + priority: -1133320634 + priorityClassName: "470" readinessGates: - - conditionType: 媈 + - conditionType: į restartPolicy: ȿ醏g遧 - runtimeClassName: "451" - schedulerName: "441" + runtimeClassName: "475" + schedulerName: "465" securityContext: fsGroup: 4489057930380969432 fsGroupChangePolicy: ='ʨ|ǓÓ敆OɈÏ 瞍髃 @@ -744,21 +773,21 @@ spec: subdomain: "400" terminationGracePeriodSeconds: -616777763639482630 tolerations: - - effect: 淵 - key: "442" - operator: Ɖ肆Ző - tolerationSeconds: -1072615283184390308 - value: "443" + - effect: kx-餌勀奷Ŏ + key: "466" + operator: 0yVA嬂刲;牆詒ĸąs + tolerationSeconds: -9038755672632113093 + value: "467" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: 51-i-d-----9---063-qm-j-3wc89k-0-57z4063--4/rBQ.u - operator: Exists + - key: B.rTt7bm9I.-..q-F-.__ck + operator: DoesNotExist matchLabels: - jp-z---k-5r6h--y7n.61-cm---ch-g0t-q--qr95ws-v-5--7-ufi-7/35a-1-CdM._bk81S3.s_s_6.-_v__.rP._2_O--d.7.--.2g: Mqp..__._-J_-fk3-_j.133eT_2_Y - maxSkew: -1568300104 - topologyKey: "452" - whenUnsatisfiable: 潑嫉悔柅ȵ.Ȁ鎧Y冒Ɩ + 3.hy9---2--e-yya--bj7-l-9aw--2/hs.-_DM__28W-_-.0HfR-_f-5: 019_-gYY._..fP--hQ7be__-.-g-5.-59...7q___n.__16ee.6 + maxSkew: -2046521037 + topologyKey: "476" + whenUnsatisfiable: '"T#sM網m' volumes: - awsElasticBlockStore: fsType: "47" @@ -1014,17 +1043,17 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: -303330375 - collisionCount: 2099542463 + availableReplicas: 1084489079 + collisionCount: -836297709 conditions: - - lastTransitionTime: "2035-01-21T08:11:33Z" - lastUpdateTime: "2096-03-01T11:48:47Z" - message: "460" - reason: "459" - status: o鷺ɷ裝TG奟cõ乨厰ʚ±r珹ȟ6 - type: ʀł! - observedGeneration: 3359608726763190142 - readyReplicas: -2095625968 - replicas: 1401559245 - unavailableReplicas: 584721644 - updatedReplicas: -406189540 + - lastTransitionTime: "2921-01-30T02:07:21Z" + lastUpdateTime: "2310-01-11T15:23:07Z" + message: "484" + reason: "483" + status: n坾&Pɫ(ʙÆ + type: 傢z¦Ā竚ĐȌƨǴ叆ĄD輷東t½ + observedGeneration: -2252894353040736578 + readyReplicas: 1371521704 + replicas: -274917863 + unavailableReplicas: -730503981 + updatedReplicas: -944451668 diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json index 4cf9d1f8f9a1..e91b2deb87b7 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.json @@ -1325,31 +1325,53 @@ "namespaces": [ "412" ], - "topologyKey": "413" + "topologyKey": "413", + "namespaceSelector": { + "matchLabels": { + "p_._.-miJ4s": "0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1" + }, + "matchExpressions": [ + { + "key": "1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9", + "operator": "DoesNotExist" + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": 1387858949, + "weight": -1731963575, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "y_-3_L_2--_v2.5p_6": "u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q" + "v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z": "jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4" }, "matchExpressions": [ { - "key": "3--51", - "operator": "NotIn", - "values": [ - "C.-e16-O5" - ] + "key": "wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2", + "operator": "Exists" } ] }, "namespaces": [ - "420" + "426" ], - "topologyKey": "421" + "topologyKey": "427", + "namespaceSelector": { + "matchLabels": { + "3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr": "5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4" + }, + "matchExpressions": [ + { + "key": "L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP", + "operator": "In", + "values": [ + "7-.-_I-F.Pt" + ] + } + ] + } } } ] @@ -1359,109 +1381,131 @@ { "labelSelector": { "matchLabels": { - "93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj": "5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM" + "aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345": "y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP" }, "matchExpressions": [ { - "key": "8mtxb__-ex-_1_-ODgC_1-_8__3", - "operator": "DoesNotExist" + "key": "O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o", + "operator": "Exists" } ] }, "namespaces": [ - "428" + "440" ], - "topologyKey": "429" + "topologyKey": "441", + "namespaceSelector": { + "matchLabels": { + "bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8": "8_2v89U--8.3N_.n1.--.._-x4" + }, + "matchExpressions": [ + { + "key": "7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C", + "operator": "NotIn", + "values": [ + "0--_qv4--_.6_N_9X-B.s8.B" + ] + } + ] + } } ], "preferredDuringSchedulingIgnoredDuringExecution": [ { - "weight": -824709210, + "weight": -1832836223, "podAffinityTerm": { "labelSelector": { "matchLabels": { - "O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j": "O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p" + "BQ.9-_.m7-Q____vSW_4-__h": "w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj" }, "matchExpressions": [ { - "key": "H72-_--pT7p", - "operator": "NotIn", - "values": [ - "0_._f" - ] + "key": "dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A", + "operator": "Exists" } ] }, "namespaces": [ - "436" + "454" ], - "topologyKey": "437" + "topologyKey": "455", + "namespaceSelector": { + "matchLabels": { + "8.7-72qz.W.d.._1-3968": "G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO" + }, + "matchExpressions": [ + { + "key": "006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W", + "operator": "NotIn", + "values": [ + "z87_2---2.E.p9-.-3.__a.bl_--..-A" + ] + } + ] + } } } ] } }, - "schedulerName": "438", + "schedulerName": "462", "tolerations": [ { - "key": "439", - "operator": "ƞ=掔廛ĤJŇv膈ǣʛsĊ剞", - "value": "440", - "effect": "Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻(", - "tolerationSeconds": 5238971742940252651 + "key": "463", + "operator": "Ü", + "value": "464", + "effect": "貛香\"砻B鷋RȽXv*!ɝ茀Ǩ", + "tolerationSeconds": 8594241010639209901 } ], "hostAliases": [ { - "ip": "441", + "ip": "465", "hostnames": [ - "442" + "466" ] } ], - "priorityClassName": "443", - "priority": -125022959, + "priorityClassName": "467", + "priority": 878153992, "dnsConfig": { "nameservers": [ - "444" + "468" ], "searches": [ - "445" + "469" ], "options": [ { - "name": "446", - "value": "447" + "name": "470", + "value": "471" } ] }, "readinessGates": [ { - "conditionType": "Ɍ邪鳖üzÁ" + "conditionType": "=ȑ-A敲ʉ" } ], - "runtimeClassName": "448", + "runtimeClassName": "472", "enableServiceLinks": false, - "preemptionPolicy": ".Ą", + "preemptionPolicy": "梊蝴.Ĉ马āƭw鰕ǰ\"șa", "overhead": { - "ɨ悪@黝Ɓ": "177" + "\u003cƋlɋN磋镮ȺPÈɥ偁髕ģƗ": "283" }, "topologySpreadConstraints": [ { - "maxSkew": -1569123121, - "topologyKey": "449", - "whenUnsatisfiable": "魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥", + "maxSkew": -702578810, + "topologyKey": "473", + "whenUnsatisfiable": "Ž氮怉ƥ;\"薑Ȣ#闬輙怀¹bCũw", "labelSelector": { "matchLabels": { - "4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G": "8-c_C.G.h--m.f" + "N-_.F": "09z2" }, "matchExpressions": [ { - "key": "OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA", - "operator": "NotIn", - "values": [ - "7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8" - ] + "key": "z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0", + "operator": "DoesNotExist" } ] } @@ -1472,18 +1516,18 @@ } }, "status": { - "replicas": 337922430, - "fullyLabeledReplicas": 31486357, - "readyReplicas": -1983654895, - "availableReplicas": 1308809900, - "observedGeneration": -5594148640067537624, + "replicas": 432535745, + "fullyLabeledReplicas": 2073220944, + "readyReplicas": -141868138, + "availableReplicas": -1324418171, + "observedGeneration": -5431516755862952643, "conditions": [ { - "type": "议ĪS", - "status": "?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\\k%橳", - "lastTransitionTime": "2125-04-24T12:13:40Z", - "reason": "456", - "message": "457" + "type": "ƻ舁Ȁ贠ȇö匉a揘O 籇", + "status": "楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ", + "lastTransitionTime": "2169-06-15T23:50:17Z", + "reason": "480", + "message": "481" } ] } diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb index 6839aabf43e4..de3cfd03edf1 100644 Binary files a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb and b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.pb differ diff --git a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml index 7d024ffb9b80..3be46529cb5b 100644 --- a/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml +++ b/staging/src/k8s.io/api/testdata/HEAD/extensions.v1beta1.ReplicaSet.yaml @@ -104,16 +104,22 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: 3--51 - operator: NotIn + - key: wq--m--2k-p---139g-2wt-g-ve55m-2-dm--ux3--0--2pn-5023-lt3-w-b7/C...8-_0__5HG2_5XOAX.gUq2 + operator: Exists + matchLabels: + v---064eqk5--f4e4--r1k278l-d-8o1-x-1wl----f33/Z: jz_659GE.l_.23--_6l.-5_BZk5v3aUK_--_o_2.-4 + namespaceSelector: + matchExpressions: + - key: L4K..-68-7AlR__8-7_-YD-Q9_-__..YNFu7Pg-.814e-_07-ht-EP + operator: In values: - - C.-e16-O5 + - 7-.-_I-F.Pt matchLabels: - y_-3_L_2--_v2.5p_6: u.wg_-b8a_6_.0Q4_.84.K_-_0_..u.F.pq..--3QC1--L--v_Z--Zg-_Q + 3hjo--8kb6--ut---p8--3-e-3-44-e.w--i--40wv--in-870w--it6k47-7yd-y--3wc8q8/wrbW_E..24-O._.v._9-cz.-Y6T4g_-.._Lf2t_m...Cr: 5-.emV__1-wv3UDf.-4D-r.-F__r.oh..2_uGGP..-_N_h4 namespaces: - - "420" - topologyKey: "421" - weight: 1387858949 + - "426" + topologyKey: "427" + weight: -1731963575 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: @@ -121,6 +127,12 @@ spec: operator: DoesNotExist matchLabels: a-z_-..6W.VKs: "1" + namespaceSelector: + matchExpressions: + - key: 1rhm-5y--z-0/6-1.S-B3_.b17ca-_p-y.eQ9 + operator: DoesNotExist + matchLabels: + p_._.-miJ4s: 0_5-_.7F3p2_-_AmD-.0AP.-.C_--.F5_x.KNC0-.-m_0-m-6Sp_N-1 namespaces: - "412" topologyKey: "413" @@ -129,26 +141,40 @@ spec: - podAffinityTerm: labelSelector: matchExpressions: - - key: H72-_--pT7p + - key: dy-4-03ls-86-u2i7-6-q-----f-b-3-----73.6b---nhc50-de2qh2-b-6s/J-.-r_-oPd-.2_Z__.-_U-.60--o._8H__ln_9-A + operator: Exists + matchLabels: + BQ.9-_.m7-Q____vSW_4-__h: w-ux_E4-.-PT-_Nx__-F_._n.WaY_o.-0-yj + namespaceSelector: + matchExpressions: + - key: 006j--tu-0t-8-937uqhtjrd-7---u6--522p----5506rh-3-2-h10.ale-to9e--a-7j9/lks7dG-9S-O62o.8._.---UK_-.j21---W operator: NotIn values: - - 0_._f + - z87_2---2.E.p9-.-3.__a.bl_--..-A matchLabels: - O2G_-_K-.03.mp.-10KkQ-R_R.-.--4_IT_O__3.5h_XC0_-7.-j: O_8-b6E_--Y_Dp8O_._e_3_.4_W_-_-7Tp_.----p + 8.7-72qz.W.d.._1-3968: G__B.3R6-.7Bf8GA--__A7r.8U.V_p61-dO namespaces: - - "436" - topologyKey: "437" - weight: -824709210 + - "454" + topologyKey: "455" + weight: -1832836223 requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: 8mtxb__-ex-_1_-ODgC_1-_8__3 - operator: DoesNotExist + - key: O-0o.0C_gV.9_G-.-z1Y_HEb.9x98MM7-.e.Dx._.W-6..4_MU7iLfS-0.o + operator: Exists + matchLabels: + aP41_.-.-AQ._r.-_Rw1k8KLu..ly--J-_.ZCRT.0z-oe.G79.3bU_._nV345: y-u.._.105-4_ed-0-i_zZsY_o8t5Vl6_..7CY-_dP + namespaceSelector: + matchExpressions: + - key: 7-ufi-7/3uM77U7._pT-___-_5-6h_Ky7-_0Vw-Nzfdw.3-._CJ4a1._-_CH--C + operator: NotIn + values: + - 0--_qv4--_.6_N_9X-B.s8.B matchLabels: - 93z-w5----7-z-63-z---5r-v-5-e-m78o-6-6211-7p--3zm-lx300w-tj-354/9--v17r__.2bIZ___._6..tf-_u-3-_n0..KpiS.oK-.O--5-yp8q_s-1__gwj: 5HG2_5XOAX.gUqV22-4-ye52yQh7.6.-y-s4483Po_L3f1-7_O4.nM + bid-7x0u738--7w-tdt-u-0----p6l-3-znd-8b-dg--1035ad1od/Nn_U-...1P_.8: 8_2v89U--8.3N_.n1.--.._-x4 namespaces: - - "428" - topologyKey: "429" + - "440" + topologyKey: "441" automountServiceAccountToken: true containers: - args: @@ -327,12 +353,12 @@ spec: workingDir: "247" dnsConfig: nameservers: - - "444" + - "468" options: - - name: "446" - value: "447" + - name: "470" + value: "471" searches: - - "445" + - "469" enableServiceLinks: false ephemeralContainers: - args: @@ -513,8 +539,8 @@ spec: workingDir: "314" hostAliases: - hostnames: - - "442" - ip: "441" + - "466" + ip: "465" hostname: "396" imagePullSecrets: - name: "395" @@ -697,15 +723,15 @@ spec: nodeSelector: "380": "381" overhead: - ɨ悪@黝Ɓ: "177" - preemptionPolicy: .Ą - priority: -125022959 - priorityClassName: "443" + <ƋlɋN磋镮ȺPÈɥ偁髕ģƗ: "283" + preemptionPolicy: 梊蝴.Ĉ马āƭw鰕ǰ"șa + priority: 878153992 + priorityClassName: "467" readinessGates: - - conditionType: Ɍ邪鳖üzÁ + - conditionType: =ȑ-A敲ʉ restartPolicy: 嵞嬯t{Eɾ敹Ȯ-湷D谹 - runtimeClassName: "448" - schedulerName: "438" + runtimeClassName: "472" + schedulerName: "462" securityContext: fsGroup: -3029419263270634763 fsGroupChangePolicy: ?jĎĭ¥#ƱÁR»淹揀. @@ -736,23 +762,21 @@ spec: subdomain: "397" terminationGracePeriodSeconds: -2985049970189992560 tolerations: - - effect: Ɵ鳝稃Ȍ液文?謮ɶÎ磣:mʂ渢pɉ驻( - key: "439" - operator: ƞ=掔廛ĤJŇv膈ǣʛsĊ剞 - tolerationSeconds: 5238971742940252651 - value: "440" + - effect: 貛香"砻B鷋RȽXv*!ɝ茀Ǩ + key: "463" + operator: Ü + tolerationSeconds: 8594241010639209901 + value: "464" topologySpreadConstraints: - labelSelector: matchExpressions: - - key: OA_090ERG2nV.__p_Y-.2__a_dWU_V-_QA - operator: NotIn - values: - - 7CY-_dc__G6N-_-0o.0C_gV.9_G-.-z1Y_HEb.9x8 + - key: z-g--v8-c58kh44k-b13--2.7a-h0-4d-z-23---49tw-a/G5-_-_Llmft6.5H905IBI-._g_0 + operator: DoesNotExist matchLabels: - 4e-_07-ht-E6___-X__H.-39-A_-_l67Q.-_t--O.3L.z2-y.-...C4_-_G: 8-c_C.G.h--m.f - maxSkew: -1569123121 - topologyKey: "449" - whenUnsatisfiable: 魨练脨,Ƃ3貊ɔ帘錇š裢C仗ɂ覥 + N-_.F: 09z2 + maxSkew: -702578810 + topologyKey: "473" + whenUnsatisfiable: Ž氮怉ƥ;"薑Ȣ#闬輙怀¹bCũw volumes: - awsElasticBlockStore: fsType: "47" @@ -1004,14 +1028,14 @@ spec: storagePolicyName: "103" volumePath: "101" status: - availableReplicas: 1308809900 + availableReplicas: -1324418171 conditions: - - lastTransitionTime: "2125-04-24T12:13:40Z" - message: "457" - reason: "456" - status: ?Ď筌ʨ:ÿ1諘蚿[ĵ皥袨\k%橳 - type: 议ĪS - fullyLabeledReplicas: 31486357 - observedGeneration: -5594148640067537624 - readyReplicas: -1983654895 - replicas: 337922430 + - lastTransitionTime: "2169-06-15T23:50:17Z" + message: "481" + reason: "480" + status: 楅©Ǫ壿/š^劶äɲ泒欞尟燬Ǻ媳ɦ + type: ƻ舁Ȁ贠ȇö匉a揘O 籇 + fullyLabeledReplicas: 2073220944 + observedGeneration: -5431516755862952643 + readyReplicas: -141868138 + replicas: 432535745 diff --git a/test/e2e/apimachinery/resource_quota.go b/test/e2e/apimachinery/resource_quota.go index 83c3cf2e77a4..3e250786ad93 100644 --- a/test/e2e/apimachinery/resource_quota.go +++ b/test/e2e/apimachinery/resource_quota.go @@ -1421,6 +1421,80 @@ var _ = SIGDescribe("ResourceQuota [Feature:PodPriority]", func() { }) +var _ = SIGDescribe("ResourceQuota [Feature:CrossNamespacePodAffinity] [alpha]", func() { + f := framework.NewDefaultFramework("cross-namespace-pod-affinity") + ginkgo.It("should verify ResourceQuota with cross namespace pod affinity scope using scope-selectors.", func() { + ginkgo.By("Creating a ResourceQuota with cross namespace pod affinity scope") + quota, err := createResourceQuota( + f.ClientSet, f.Namespace.Name, newTestResourceQuotaWithScopeSelector("quota-cross-namespace-pod-affinity", v1.ResourceQuotaScopeCrossNamespacePodAffinity)) + framework.ExpectNoError(err) + + ginkgo.By("Ensuring ResourceQuota status is calculated") + wantUsedResources := v1.ResourceList{v1.ResourcePods: resource.MustParse("0")} + err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quota.Name, wantUsedResources) + framework.ExpectNoError(err) + + ginkgo.By("Creating a pod that does not use cross namespace affinity") + pod := newTestPodWithAffinityForQuota(f, "no-cross-namespace-affinity", &v1.Affinity{ + PodAntiAffinity: &v1.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{{ + TopologyKey: "region", + }}}}) + pod, err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}) + framework.ExpectNoError(err) + + ginkgo.By("Creating a pod that uses namespaces field") + podWithNamespaces := newTestPodWithAffinityForQuota(f, "with-namespaces", &v1.Affinity{ + PodAntiAffinity: &v1.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{{ + TopologyKey: "region", + Namespaces: []string{"ns1"}, + }}}}) + podWithNamespaces, err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), podWithNamespaces, metav1.CreateOptions{}) + framework.ExpectNoError(err) + + ginkgo.By("Ensuring resource quota captures podWithNamespaces usage") + wantUsedResources[v1.ResourcePods] = resource.MustParse("1") + err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quota.Name, wantUsedResources) + framework.ExpectNoError(err) + + ginkgo.By("Creating a pod that uses namespaceSelector field") + podWithNamespaceSelector := newTestPodWithAffinityForQuota(f, "with-namespace-selector", &v1.Affinity{ + PodAntiAffinity: &v1.PodAntiAffinity{ + RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{{ + TopologyKey: "region", + NamespaceSelector: &metav1.LabelSelector{ + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "team", + Operator: metav1.LabelSelectorOpIn, + Values: []string{"ads"}, + }, + }, + }}}}}) + podWithNamespaceSelector, err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), podWithNamespaceSelector, metav1.CreateOptions{}) + framework.ExpectNoError(err) + + ginkgo.By("Ensuring resource quota captures podWithNamespaceSelector usage") + wantUsedResources[v1.ResourcePods] = resource.MustParse("2") + err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quota.Name, wantUsedResources) + framework.ExpectNoError(err) + + ginkgo.By("Deleting the pods") + err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Delete(context.TODO(), pod.Name, *metav1.NewDeleteOptions(0)) + framework.ExpectNoError(err) + err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Delete(context.TODO(), podWithNamespaces.Name, *metav1.NewDeleteOptions(0)) + framework.ExpectNoError(err) + err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Delete(context.TODO(), podWithNamespaceSelector.Name, *metav1.NewDeleteOptions(0)) + framework.ExpectNoError(err) + + ginkgo.By("Ensuring resource quota status released the pod usage") + wantUsedResources[v1.ResourcePods] = resource.MustParse("0") + err = waitForResourceQuota(f.ClientSet, f.Namespace.Name, quota.Name, wantUsedResources) + framework.ExpectNoError(err) + }) +}) + // newTestResourceQuotaWithScopeSelector returns a quota that enforces default constraints for testing with scopeSelectors func newTestResourceQuotaWithScopeSelector(name string, scope v1.ResourceQuotaScope) *v1.ResourceQuota { hard := v1.ResourceList{} @@ -1563,6 +1637,30 @@ func newTestPodForQuotaWithPriority(f *framework.Framework, name string, request } } +// newTestPodForQuota returns a pod that has the specified requests and limits +func newTestPodWithAffinityForQuota(f *framework.Framework, name string, affinity *v1.Affinity) *v1.Pod { + return &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + }, + Spec: v1.PodSpec{ + // prevent disruption to other test workloads in parallel test runs by ensuring the quota + // test pods don't get scheduled onto a node + NodeSelector: map[string]string{ + "x-test.k8s.io/unsatisfiable": "not-schedulable", + }, + Affinity: affinity, + Containers: []v1.Container{ + { + Name: "pause", + Image: imageutils.GetPauseImageName(), + Resources: v1.ResourceRequirements{}, + }, + }, + }, + } +} + // newTestPersistentVolumeClaimForQuota returns a simple persistent volume claim func newTestPersistentVolumeClaimForQuota(name string) *v1.PersistentVolumeClaim { return &v1.PersistentVolumeClaim{