From 13d693d220dfd628df281ff1d47665f8e54afdfc Mon Sep 17 00:00:00 2001 From: Michael Fraenkel Date: Wed, 4 Jan 2017 15:50:11 -0500 Subject: [PATCH 1/2] Secrets can populate environment variables --- pkg/api/testing/fuzzer.go | 5 + pkg/api/types.go | 13 ++ pkg/api/v1/types.go | 13 ++ pkg/api/validation/validation.go | 21 ++++ pkg/api/validation/validation_test.go | 51 ++++++++ pkg/kubectl/describe.go | 13 +- pkg/kubectl/describe_test.go | 18 +++ pkg/kubelet/kubelet_pods.go | 52 +++++--- pkg/kubelet/kubelet_pods_test.go | 163 ++++++++++++++++++++++++++ test/e2e/common/secrets.go | 54 +++++++++ 10 files changed, 384 insertions(+), 19 deletions(-) diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 8908c3a32be..5fe1e082665 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -386,11 +386,16 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz } if c.RandBool() { c.Fuzz(&ev.ConfigMapRef) + } else { + c.Fuzz(&ev.SecretRef) } }, func(cm *api.ConfigMapEnvSource, c fuzz.Continue) { c.FuzzNoCustom(cm) // fuzz self without calling this function again }, + func(s *api.SecretEnvSource, c fuzz.Continue) { + c.FuzzNoCustom(s) // fuzz self without calling this function again + }, func(sc *api.SecurityContext, c fuzz.Continue) { c.FuzzNoCustom(sc) // fuzz self without calling this function again if c.RandBool() { diff --git a/pkg/api/types.go b/pkg/api/types.go index 7f0ccf97d0d..710168b306c 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -1142,6 +1142,9 @@ type EnvFromSource struct { // The ConfigMap to select from. //+optional ConfigMapRef *ConfigMapEnvSource + // The Secret to select from. + //+optional + SecretRef *SecretEnvSource } // ConfigMapEnvSource selects a ConfigMap to populate the environment @@ -1154,6 +1157,16 @@ type ConfigMapEnvSource struct { LocalObjectReference } +// SecretEnvSource selects a Secret to populate the environment +// variables with. +// +// The contents of the target Secret's Data field will represent the +// key-value pairs as environment variables. +type SecretEnvSource struct { + // The Secret to select from. + LocalObjectReference +} + // HTTPHeader describes a custom header to be used in HTTP probes type HTTPHeader struct { // The header field name diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index e3388f0f3eb..55af32adb40 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -1243,6 +1243,9 @@ type EnvFromSource struct { // The ConfigMap to select from // +optional ConfigMapRef *ConfigMapEnvSource `json:"configMapRef,omitempty" protobuf:"bytes,2,opt,name=configMapRef"` + // The Secret to select from + // +optional + SecretRef *SecretEnvSource `json:"secretRef,omitempty" protobuf:"bytes,3,opt,name=secretRef"` } // ConfigMapEnvSource selects a ConfigMap to populate the environment @@ -1255,6 +1258,16 @@ type ConfigMapEnvSource struct { LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` } +// SecretEnvSource selects a Secret to populate the environment +// variables with. +// +// The contents of the target Secret's Data field will represent the +// key-value pairs as environment variables. +type SecretEnvSource struct { + // The Secret to select from. + LocalObjectReference `json:",inline" protobuf:"bytes,1,opt,name=localObjectReference"` +} + // HTTPHeader describes a custom header to be used in HTTP probes type HTTPHeader struct { // The header field name diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index b488cc28a4c..a17ee9639e6 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -1260,9 +1260,22 @@ func validateEnvFrom(vars []api.EnvFromSource, fldPath *field.Path) field.ErrorL allErrs = append(allErrs, field.Invalid(idxPath.Child("prefix"), ev.Prefix, msg)) } } + + numSources := 0 if ev.ConfigMapRef != nil { + numSources++ allErrs = append(allErrs, validateConfigMapEnvSource(ev.ConfigMapRef, idxPath.Child("configMapRef"))...) } + if ev.SecretRef != nil { + numSources++ + allErrs = append(allErrs, validateSecretEnvSource(ev.SecretRef, idxPath.Child("secretRef"))...) + } + + if numSources == 0 { + allErrs = append(allErrs, field.Invalid(fldPath, "", "must specify one of: `configMapRef` or `secretRef`")) + } else if numSources > 1 { + allErrs = append(allErrs, field.Invalid(fldPath, "", "may not have more than one field specified at a time")) + } } return allErrs } @@ -1275,6 +1288,14 @@ func validateConfigMapEnvSource(configMapSource *api.ConfigMapEnvSource, fldPath return allErrs } +func validateSecretEnvSource(secretSource *api.SecretEnvSource, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + if len(secretSource.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("name"), "")) + } + return allErrs +} + var validContainerResourceDivisorForCPU = sets.NewString("1m", "1") var validContainerResourceDivisorForMemory = sets.NewString("1", "1k", "1M", "1G", "1T", "1P", "1E", "1Ki", "1Mi", "1Gi", "1Ti", "1Pi", "1Ei") diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index f9265eb2d00..c9dbad75838 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -2285,6 +2285,17 @@ func TestValidateEnvFrom(t *testing.T) { LocalObjectReference: api.LocalObjectReference{Name: "abc"}, }, }, + { + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "abc"}, + }, + }, + { + Prefix: "pre_", + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "abc"}, + }, + }, } if errs := validateEnvFrom(successCase, field.NewPath("field")); len(errs) != 0 { t.Errorf("expected success: %v", errs) @@ -2316,6 +2327,46 @@ func TestValidateEnvFrom(t *testing.T) { }, expectedError: `field[0].prefix: Invalid value: "a.b": ` + idErrMsg, }, + { + name: "zero-length name", + envs: []api.EnvFromSource{ + { + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: ""}}, + }, + }, + expectedError: "field[0].secretRef.name: Required value", + }, + { + name: "invalid prefix", + envs: []api.EnvFromSource{ + { + Prefix: "a.b", + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "abc"}}, + }, + }, + expectedError: `field[0].prefix: Invalid value: "a.b": ` + idErrMsg, + }, + { + name: "no refs", + envs: []api.EnvFromSource{ + {}, + }, + expectedError: "field: Invalid value: \"\": must specify one of: `configMapRef` or `secretRef`", + }, + { + name: "multiple refs", + envs: []api.EnvFromSource{ + { + SecretRef: &api.SecretEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "abc"}}, + ConfigMapRef: &api.ConfigMapEnvSource{ + LocalObjectReference: api.LocalObjectReference{Name: "abc"}}, + }, + }, + expectedError: "field: Invalid value: \"\": may not have more than one field specified at a time", + }, } for _, tc := range errorCases { if errs := validateEnvFrom(tc.envs, field.NewPath("field")); len(errs) == 0 { diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index 01d949371a0..88141f09762 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -1052,10 +1052,19 @@ func describeContainerEnvFrom(container api.Container, resolverFn EnvVarResolver w.Write(LEVEL_2, "Environment Variables from:%s\n", none) for _, e := range container.EnvFrom { + from := "" + name := "" + if e.ConfigMapRef != nil { + from = "ConfigMap" + name = e.ConfigMapRef.Name + } else if e.SecretRef != nil { + from = "Secret" + name = e.SecretRef.Name + } if len(e.Prefix) == 0 { - w.Write(LEVEL_3, "%s\tConfigMap\n", e.ConfigMapRef.Name) + w.Write(LEVEL_3, "%s\t%s\n", name, from) } else { - w.Write(LEVEL_3, "%s\tConfigMap with prefix '%s'\n", e.ConfigMapRef.Name, e.Prefix) + w.Write(LEVEL_3, "%s\t%s with prefix '%s'\n", name, from, e.Prefix) } } } diff --git a/pkg/kubectl/describe_test.go b/pkg/kubectl/describe_test.go index e3cbeb8e02b..a10fb5b77b4 100644 --- a/pkg/kubectl/describe_test.go +++ b/pkg/kubectl/describe_test.go @@ -306,6 +306,24 @@ func TestDescribeContainers(t *testing.T) { }, expectedElements: []string{"test", "State", "Waiting", "Ready", "True", "Restart Count", "7", "Image", "image", "envname", "xyz", "a123\tConfigMap with prefix 'p_'"}, }, + { + container: api.Container{Name: "test", Image: "image", Env: []api.EnvVar{{Name: "envname", Value: "xyz"}}, EnvFrom: []api.EnvFromSource{{SecretRef: &api.SecretEnvSource{LocalObjectReference: api.LocalObjectReference{Name: "a123"}}}}}, + status: api.ContainerStatus{ + Name: "test", + Ready: true, + RestartCount: 7, + }, + expectedElements: []string{"test", "State", "Waiting", "Ready", "True", "Restart Count", "7", "Image", "image", "envname", "xyz", "a123\tSecret"}, + }, + { + container: api.Container{Name: "test", Image: "image", Env: []api.EnvVar{{Name: "envname", Value: "xyz"}}, EnvFrom: []api.EnvFromSource{{Prefix: "p_", SecretRef: &api.SecretEnvSource{LocalObjectReference: api.LocalObjectReference{Name: "a123"}}}}}, + status: api.ContainerStatus{ + Name: "test", + Ready: true, + RestartCount: 7, + }, + expectedElements: []string{"test", "State", "Waiting", "Ready", "True", "Restart Count", "7", "Image", "image", "envname", "xyz", "a123\tSecret with prefix 'p_'"}, + }, // Command { container: api.Container{Name: "test", Image: "image", Command: []string{"sleep", "1000"}}, diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index da53ca6afb8..8600fa1f793 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -418,13 +418,15 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *v1.Pod, container *v1.Container var ( configMaps = make(map[string]*v1.ConfigMap) + secrets = make(map[string]*v1.Secret) tmpEnv = make(map[string]string) ) // Env will override EnvFrom variables. // Process EnvFrom first then allow Env to replace existing values. for _, envFrom := range container.EnvFrom { - if envFrom.ConfigMapRef != nil { + switch { + case envFrom.ConfigMapRef != nil: name := envFrom.ConfigMapRef.Name configMap, ok := configMaps[name] if !ok { @@ -432,12 +434,12 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *v1.Pod, container *v1.Container return result, fmt.Errorf("Couldn't get configMap %v/%v, no kubeClient defined", pod.Namespace, name) } configMap, err = kl.kubeClient.Core().ConfigMaps(pod.Namespace).Get(name, metav1.GetOptions{}) - if err != nil { return result, err } configMaps[name] = configMap } + for k, v := range configMap.Data { if len(envFrom.Prefix) > 0 { k = envFrom.Prefix + k @@ -445,14 +447,31 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *v1.Pod, container *v1.Container if errMsgs := utilvalidation.IsCIdentifier(k); len(errMsgs) != 0 { return result, fmt.Errorf("Invalid environment variable name, %v, from configmap %v/%v: %s", k, pod.Namespace, name, errMsgs[0]) } - // Accesses apiserver+Pods. - // So, the master may set service env vars, or kubelet may. In case both are doing - // it, we delete the key from the kubelet-generated ones so we don't have duplicate - // env vars. - // TODO: remove this next line once all platforms use apiserver+Pods. - delete(serviceEnv, k) tmpEnv[k] = v } + case envFrom.SecretRef != nil: + name := envFrom.SecretRef.Name + secret, ok := secrets[name] + if !ok { + if kl.kubeClient == nil { + return result, fmt.Errorf("Couldn't get secret %v/%v, no kubeClient defined", pod.Namespace, name) + } + secret, err = kl.kubeClient.Core().Secrets(pod.Namespace).Get(name, metav1.GetOptions{}) + if err != nil { + return result, err + } + secrets[name] = secret + } + + for k, v := range secret.Data { + if len(envFrom.Prefix) > 0 { + k = envFrom.Prefix + k + } + if errMsgs := utilvalidation.IsCIdentifier(k); len(errMsgs) != 0 { + return result, fmt.Errorf("Invalid environment variable name, %v, from secret %v/%v: %s", k, pod.Namespace, name, errMsgs[0]) + } + tmpEnv[k] = string(v) + } } } @@ -466,17 +485,9 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *v1.Pod, container *v1.Container // 2. Create the container's environment in the order variables are declared // 3. Add remaining service environment vars var ( - secrets = make(map[string]*v1.Secret) mappingFunc = expansion.MappingFuncFor(tmpEnv, serviceEnv) ) for _, envVar := range container.Env { - // Accesses apiserver+Pods. - // So, the master may set service env vars, or kubelet may. In case both are doing - // it, we delete the key from the kubelet-generated ones so we don't have duplicate - // env vars. - // TODO: remove this next line once all platforms use apiserver+Pods. - delete(serviceEnv, envVar.Name) - runtimeVal := envVar.Value if runtimeVal != "" { // Step 1a: expand variable references @@ -548,7 +559,14 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *v1.Pod, container *v1.Container // Append remaining service env vars. for k, v := range serviceEnv { - result = append(result, kubecontainer.EnvVar{Name: k, Value: v}) + // Accesses apiserver+Pods. + // So, the master may set service env vars, or kubelet may. In case both are doing + // it, we skip the key from the kubelet-generated ones so we don't have duplicate + // env vars. + // TODO: remove this next line once all platforms use apiserver+Pods. + if _, present := tmpEnv[k]; !present { + result = append(result, kubecontainer.EnvVar{Name: k, Value: v}) + } } return result, nil } diff --git a/pkg/kubelet/kubelet_pods_test.go b/pkg/kubelet/kubelet_pods_test.go index 1629110b574..1247e382c74 100644 --- a/pkg/kubelet/kubelet_pods_test.go +++ b/pkg/kubelet/kubelet_pods_test.go @@ -274,6 +274,7 @@ func TestMakeEnvironmentVariables(t *testing.T) { masterServiceNs string // the namespace to read master service info from nilLister bool // whether the lister should be nil configMap *v1.ConfigMap // an optional ConfigMap to pull from + secret *v1.Secret // an optional Secret to pull from expectedEnvs []kubecontainer.EnvVar // a set of expected environment vars expectedError bool // does the test fail }{ @@ -766,6 +767,160 @@ func TestMakeEnvironmentVariables(t *testing.T) { }, }, }, + { + name: "secret", + ns: "test1", + container: &v1.Container{ + EnvFrom: []v1.EnvFromSource{ + { + SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: "test-secret"}}, + }, + { + Prefix: "p_", + SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: "test-secret"}}, + }, + }, + Env: []v1.EnvVar{ + { + Name: "TEST_LITERAL", + Value: "test-test-test", + }, + { + Name: "EXPANSION_TEST", + Value: "$(REPLACE_ME)", + }, + { + Name: "DUPE_TEST", + Value: "ENV_VAR", + }, + }, + }, + masterServiceNs: "nothing", + nilLister: false, + secret: &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: "test1", + Name: "test-secret", + }, + Data: map[string][]byte{ + "REPLACE_ME": []byte("FROM_SECRET"), + "DUPE_TEST": []byte("SECRET"), + }, + }, + expectedEnvs: []kubecontainer.EnvVar{ + { + Name: "TEST_LITERAL", + Value: "test-test-test", + }, + { + Name: "TEST_SERVICE_HOST", + Value: "1.2.3.3", + }, + { + Name: "TEST_SERVICE_PORT", + Value: "8083", + }, + { + Name: "TEST_PORT", + Value: "tcp://1.2.3.3:8083", + }, + { + Name: "TEST_PORT_8083_TCP", + Value: "tcp://1.2.3.3:8083", + }, + { + Name: "TEST_PORT_8083_TCP_PROTO", + Value: "tcp", + }, + { + Name: "TEST_PORT_8083_TCP_PORT", + Value: "8083", + }, + { + Name: "TEST_PORT_8083_TCP_ADDR", + Value: "1.2.3.3", + }, + { + Name: "REPLACE_ME", + Value: "FROM_SECRET", + }, + { + Name: "EXPANSION_TEST", + Value: "FROM_SECRET", + }, + { + Name: "DUPE_TEST", + Value: "ENV_VAR", + }, + { + Name: "p_REPLACE_ME", + Value: "FROM_SECRET", + }, + { + Name: "p_DUPE_TEST", + Value: "SECRET", + }, + }, + }, + { + name: "secret_missing", + ns: "test1", + container: &v1.Container{ + EnvFrom: []v1.EnvFromSource{ + {SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: "test-secret"}}}, + }, + }, + masterServiceNs: "nothing", + expectedError: true, + }, + { + name: "secret_invalid_keys", + ns: "test1", + container: &v1.Container{ + EnvFrom: []v1.EnvFromSource{ + {SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: "test-secret"}}}, + }, + }, + masterServiceNs: "nothing", + secret: &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: "test1", + Name: "test-secret", + }, + Data: map[string][]byte{ + "1234": []byte("abc"), + }, + }, + expectedError: true, + }, + { + name: "secret_invalid_keys_valid", + ns: "test", + container: &v1.Container{ + EnvFrom: []v1.EnvFromSource{ + { + Prefix: "p_", + SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: "test-secret"}}, + }, + }, + }, + masterServiceNs: "", + secret: &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: "test1", + Name: "test-secret", + }, + Data: map[string][]byte{ + "1234": []byte("abc"), + }, + }, + expectedEnvs: []kubecontainer.EnvVar{ + { + Name: "p_1234", + Value: "abc", + }, + }, + }, } for _, tc := range testCases { @@ -786,6 +941,14 @@ func TestMakeEnvironmentVariables(t *testing.T) { return true, tc.configMap, err }) + testKubelet.fakeKubeClient.AddReactor("get", "secrets", func(action core.Action) (bool, runtime.Object, error) { + var err error + if tc.secret == nil { + err = errors.New("no secret defined") + } + return true, tc.secret, err + }) + testPod := &v1.Pod{ ObjectMeta: metav1.ObjectMeta{ Namespace: tc.ns, diff --git a/test/e2e/common/secrets.go b/test/e2e/common/secrets.go index 7711175a500..f947cb5e5e4 100644 --- a/test/e2e/common/secrets.go +++ b/test/e2e/common/secrets.go @@ -193,8 +193,62 @@ var _ = framework.KubeDescribe("Secrets", func() { "SECRET_DATA=value-1", }) }) + + It("should be consumable via the environment [Conformance]", func() { + name := "secret-test-" + string(uuid.NewUUID()) + secret := newEnvFromSecret(f.Namespace.Name, name) + By(fmt.Sprintf("creating secret %v/%v", f.Namespace.Name, secret.Name)) + var err error + if secret, err = f.ClientSet.Core().Secrets(f.Namespace.Name).Create(secret); err != nil { + framework.Failf("unable to create test secret %s: %v", secret.Name, err) + } + + pod := &v1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: "pod-configmaps-" + string(uuid.NewUUID()), + }, + Spec: v1.PodSpec{ + Containers: []v1.Container{ + { + Name: "env-test", + Image: "gcr.io/google_containers/busybox:1.24", + Command: []string{"sh", "-c", "env"}, + EnvFrom: []v1.EnvFromSource{ + { + SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: name}}, + }, + { + Prefix: "p_", + SecretRef: &v1.SecretEnvSource{LocalObjectReference: v1.LocalObjectReference{Name: name}}, + }, + }, + }, + }, + RestartPolicy: v1.RestartPolicyNever, + }, + } + + f.TestContainerOutput("consume secrets", pod, 0, []string{ + "data_1=value-1", "data_2=value-2", "data_3=value-3", + "p_data_1=value-1", "p_data_2=value-2", "p_data_3=value-3", + }) + }) }) +func newEnvFromSecret(namespace, name string) *v1.Secret { + return &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: name, + }, + Data: map[string][]byte{ + "data_1": []byte("value-1\n"), + "data_2": []byte("value-2\n"), + "data_3": []byte("value-3\n"), + }, + } +} + func secretForTest(namespace, name string) *v1.Secret { return &v1.Secret{ ObjectMeta: metav1.ObjectMeta{ From 5048c018615c32278c86ffa19f2da07f9572babd Mon Sep 17 00:00:00 2001 From: Michael Fraenkel Date: Thu, 19 Jan 2017 14:07:10 -0500 Subject: [PATCH 2/2] Generated code --- api/openapi-spec/swagger.json | 13 + api/swagger-spec/apps_v1beta1.json | 14 + api/swagger-spec/batch_v1.json | 14 + api/swagger-spec/extensions_v1beta1.json | 14 + api/swagger-spec/v1.json | 14 + .../apps/v1beta1/definitions.html | 46 +- docs/api-reference/batch/v1/definitions.html | 46 +- .../extensions/v1beta1/definitions.html | 46 +- docs/api-reference/v1/definitions.html | 46 +- federation/apis/openapi-spec/swagger.json | 13 + pkg/api/v1/generated.pb.go | 2509 +++++++++-------- pkg/api/v1/generated.proto | 14 + pkg/api/v1/types.generated.go | 293 +- pkg/api/v1/types_swagger_doc_generated.go | 9 + pkg/api/v1/zz_generated.conversion.go | 26 + pkg/api/v1/zz_generated.deepcopy.go | 15 + pkg/api/zz_generated.deepcopy.go | 15 + pkg/generated/openapi/zz_generated.openapi.go | 25 +- 18 files changed, 1974 insertions(+), 1198 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 79d8e17c2b8..76c998ee7aa 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -35499,6 +35499,10 @@ "prefix": { "description": "An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", "type": "string" + }, + "secretRef": { + "description": "The Secret to select from", + "$ref": "#/definitions/v1.SecretEnvSource" } } }, @@ -38203,6 +38207,15 @@ } } }, + "v1.SecretEnvSource": { + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, "v1.SecretKeySelector": { "description": "SecretKeySelector selects a key of a Secret.", "required": [ diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index f9f1007a082..60a8f8b8830 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -2257,6 +2257,10 @@ "configMapRef": { "$ref": "v1.ConfigMapEnvSource", "description": "The ConfigMap to select from" + }, + "secretRef": { + "$ref": "v1.SecretEnvSource", + "description": "The Secret to select from" } } }, @@ -2270,6 +2274,16 @@ } } }, + "v1.SecretEnvSource": { + "id": "v1.SecretEnvSource", + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + } + } + }, "v1.EnvVar": { "id": "v1.EnvVar", "description": "EnvVar represents an environment variable present in a Container.", diff --git a/api/swagger-spec/batch_v1.json b/api/swagger-spec/batch_v1.json index d35d9f026f9..b02f553226a 100644 --- a/api/swagger-spec/batch_v1.json +++ b/api/swagger-spec/batch_v1.json @@ -2262,6 +2262,10 @@ "configMapRef": { "$ref": "v1.ConfigMapEnvSource", "description": "The ConfigMap to select from" + }, + "secretRef": { + "$ref": "v1.SecretEnvSource", + "description": "The Secret to select from" } } }, @@ -2275,6 +2279,16 @@ } } }, + "v1.SecretEnvSource": { + "id": "v1.SecretEnvSource", + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + } + } + }, "v1.EnvVar": { "id": "v1.EnvVar", "description": "EnvVar represents an environment variable present in a Container.", diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json index f6e087f082d..eaf55f7778b 100644 --- a/api/swagger-spec/extensions_v1beta1.json +++ b/api/swagger-spec/extensions_v1beta1.json @@ -8634,6 +8634,10 @@ "configMapRef": { "$ref": "v1.ConfigMapEnvSource", "description": "The ConfigMap to select from" + }, + "secretRef": { + "$ref": "v1.SecretEnvSource", + "description": "The Secret to select from" } } }, @@ -8647,6 +8651,16 @@ } } }, + "v1.SecretEnvSource": { + "id": "v1.SecretEnvSource", + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + } + } + }, "v1.EnvVar": { "id": "v1.EnvVar", "description": "EnvVar represents an environment variable present in a Container.", diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 6ec26b675e8..054e6fe39f0 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -18726,6 +18726,10 @@ "configMapRef": { "$ref": "v1.ConfigMapEnvSource", "description": "The ConfigMap to select from" + }, + "secretRef": { + "$ref": "v1.SecretEnvSource", + "description": "The Secret to select from" } } }, @@ -18739,6 +18743,16 @@ } } }, + "v1.SecretEnvSource": { + "id": "v1.SecretEnvSource", + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + } + } + }, "v1.EnvVar": { "id": "v1.EnvVar", "description": "EnvVar represents an environment variable present in a Container.", diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index c72f6e0c722..1f757f12215 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -1512,6 +1512,43 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.SecretEnvSource

+
+

SecretEnvSource selects a Secret to populate the environment variables with.

+
+
+

The contents of the target Secret’s Data field will represent the key-value pairs as environment variables.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

false

string

+

v1.StatusDetails

@@ -2555,6 +2592,13 @@ Populated by the system when a graceful deletion is requested. Read-only. More i

v1.ConfigMapEnvSource

+ +

secretRef

+

The Secret to select from

+

false

+

v1.SecretEnvSource

+ + @@ -4967,7 +5011,7 @@ Examples:
diff --git a/docs/api-reference/batch/v1/definitions.html b/docs/api-reference/batch/v1/definitions.html index 8649645f144..9b73ea05744 100755 --- a/docs/api-reference/batch/v1/definitions.html +++ b/docs/api-reference/batch/v1/definitions.html @@ -1416,6 +1416,43 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.SecretEnvSource

+
+

SecretEnvSource selects a Secret to populate the environment variables with.

+
+
+

The contents of the target Secret’s Data field will represent the key-value pairs as environment variables.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

false

string

+

v1.StatusDetails

@@ -2466,6 +2503,13 @@ Populated by the system when a graceful deletion is requested. Read-only. More i

v1.ConfigMapEnvSource

+ +

secretRef

+

The Secret to select from

+

false

+

v1.SecretEnvSource

+ + @@ -4899,7 +4943,7 @@ Examples:
diff --git a/docs/api-reference/extensions/v1beta1/definitions.html b/docs/api-reference/extensions/v1beta1/definitions.html index 0bf8b7a4ad3..3b4fac00540 100755 --- a/docs/api-reference/extensions/v1beta1/definitions.html +++ b/docs/api-reference/extensions/v1beta1/definitions.html @@ -1663,6 +1663,43 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.SecretEnvSource

+
+

SecretEnvSource selects a Secret to populate the environment variables with.

+
+
+

The contents of the target Secret’s Data field will represent the key-value pairs as environment variables.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

false

string

+

v1.Capabilities

@@ -2406,6 +2443,13 @@ Populated by the system when a graceful deletion is requested. Read-only. More i

v1.ConfigMapEnvSource

+ +

secretRef

+

The Secret to select from

+

false

+

v1.SecretEnvSource

+ + @@ -7516,7 +7560,7 @@ Both these may change in the future. Incoming requests are matched against the h
diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index 30bbe07edf5..3c2df4ee5a3 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -1704,6 +1704,43 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.SecretEnvSource

+
+

SecretEnvSource selects a Secret to populate the environment variables with.

+
+
+

The contents of the target Secret’s Data field will represent the key-value pairs as environment variables.

+
+ +++++++ + + + + + + + + + + + + + + + + + + +
NameDescriptionRequiredSchemaDefault

name

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

false

string

+

v1.ScaleStatus

@@ -2550,6 +2587,13 @@ Populated by the system when a graceful deletion is requested. Read-only. More i

v1.ConfigMapEnvSource

+ +

secretRef

+

The Secret to select from

+

false

+

v1.SecretEnvSource

+ + @@ -9143,7 +9187,7 @@ Examples:
diff --git a/federation/apis/openapi-spec/swagger.json b/federation/apis/openapi-spec/swagger.json index 3a29cdfbe14..025601e294c 100644 --- a/federation/apis/openapi-spec/swagger.json +++ b/federation/apis/openapi-spec/swagger.json @@ -10101,6 +10101,10 @@ "prefix": { "description": "An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", "type": "string" + }, + "secretRef": { + "description": "The Secret to select from", + "$ref": "#/definitions/v1.SecretEnvSource" } } }, @@ -11598,6 +11602,15 @@ } } }, + "v1.SecretEnvSource": { + "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + "properties": { + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, "v1.SecretKeySelector": { "description": "SecretKeySelector selects a key of a Secret.", "required": [ diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 4a945eefe0b..d28ac632f47 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -161,6 +161,7 @@ limitations under the License. ResourceRequirements SELinuxOptions Secret + SecretEnvSource SecretKeySelector SecretList SecretVolumeSource @@ -786,96 +787,100 @@ func (m *Secret) Reset() { *m = Secret{} } func (*Secret) ProtoMessage() {} func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{135} } +func (m *SecretEnvSource) Reset() { *m = SecretEnvSource{} } +func (*SecretEnvSource) ProtoMessage() {} +func (*SecretEnvSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } + func (m *SecretKeySelector) Reset() { *m = SecretKeySelector{} } func (*SecretKeySelector) ProtoMessage() {} -func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } +func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } func (m *SecretList) Reset() { *m = SecretList{} } func (*SecretList) ProtoMessage() {} -func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } +func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } func (m *SecretVolumeSource) Reset() { *m = SecretVolumeSource{} } func (*SecretVolumeSource) ProtoMessage() {} -func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } +func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } func (m *SecurityContext) Reset() { *m = SecurityContext{} } func (*SecurityContext) ProtoMessage() {} -func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } +func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } func (m *SerializedReference) Reset() { *m = SerializedReference{} } func (*SerializedReference) ProtoMessage() {} -func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } +func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } func (m *Service) Reset() { *m = Service{} } func (*Service) ProtoMessage() {} -func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } +func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } func (m *ServiceAccount) Reset() { *m = ServiceAccount{} } func (*ServiceAccount) ProtoMessage() {} -func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } +func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } func (m *ServiceAccountList) Reset() { *m = ServiceAccountList{} } func (*ServiceAccountList) ProtoMessage() {} -func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } +func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } func (m *ServiceList) Reset() { *m = ServiceList{} } func (*ServiceList) ProtoMessage() {} -func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } +func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } func (m *ServicePort) Reset() { *m = ServicePort{} } func (*ServicePort) ProtoMessage() {} -func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } +func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } func (m *ServiceProxyOptions) Reset() { *m = ServiceProxyOptions{} } func (*ServiceProxyOptions) ProtoMessage() {} -func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } +func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } func (*ServiceSpec) ProtoMessage() {} -func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } +func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } func (m *ServiceStatus) Reset() { *m = ServiceStatus{} } func (*ServiceStatus) ProtoMessage() {} -func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } +func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } func (m *Sysctl) Reset() { *m = Sysctl{} } func (*Sysctl) ProtoMessage() {} -func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } +func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } func (*TCPSocketAction) ProtoMessage() {} -func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } +func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } func (m *Taint) Reset() { *m = Taint{} } func (*Taint) ProtoMessage() {} -func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } +func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } func (m *Toleration) Reset() { *m = Toleration{} } func (*Toleration) ProtoMessage() {} -func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } +func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{154} } func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} -func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{154} } +func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{155} } func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} -func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{155} } +func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{156} } func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{156} + return fileDescriptorGenerated, []int{157} } func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{157} + return fileDescriptorGenerated, []int{158} } func init() { @@ -1015,6 +1020,7 @@ func init() { proto.RegisterType((*ResourceRequirements)(nil), "k8s.io.kubernetes.pkg.api.v1.ResourceRequirements") proto.RegisterType((*SELinuxOptions)(nil), "k8s.io.kubernetes.pkg.api.v1.SELinuxOptions") proto.RegisterType((*Secret)(nil), "k8s.io.kubernetes.pkg.api.v1.Secret") + proto.RegisterType((*SecretEnvSource)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretEnvSource") proto.RegisterType((*SecretKeySelector)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretKeySelector") proto.RegisterType((*SecretList)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretList") proto.RegisterType((*SecretVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretVolumeSource") @@ -2609,6 +2615,16 @@ func (m *EnvFromSource) MarshalTo(data []byte) (int, error) { } i += n33 } + if m.SecretRef != nil { + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) + n34, err := m.SecretRef.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n34 + } return i, nil } @@ -2639,11 +2655,11 @@ func (m *EnvVar) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ValueFrom.Size())) - n34, err := m.ValueFrom.MarshalTo(data[i:]) + n35, err := m.ValueFrom.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n34 + i += n35 } return i, nil } @@ -2667,42 +2683,42 @@ func (m *EnvVarSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.FieldRef.Size())) - n35, err := m.FieldRef.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n35 - } - if m.ResourceFieldRef != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) - n36, err := m.ResourceFieldRef.MarshalTo(data[i:]) + n36, err := m.FieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n36 } - if m.ConfigMapKeyRef != nil { - data[i] = 0x1a + if m.ResourceFieldRef != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.ConfigMapKeyRef.Size())) - n37, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) + n37, err := m.ResourceFieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n37 } - if m.SecretKeyRef != nil { - data[i] = 0x22 + if m.ConfigMapKeyRef != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.SecretKeyRef.Size())) - n38, err := m.SecretKeyRef.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ConfigMapKeyRef.Size())) + n38, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n38 } + if m.SecretKeyRef != nil { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.SecretKeyRef.Size())) + n39, err := m.SecretKeyRef.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n39 + } return i, nil } @@ -2724,19 +2740,19 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n39, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n39 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.InvolvedObject.Size())) - n40, err := m.InvolvedObject.MarshalTo(data[i:]) + n40, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n40 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.InvolvedObject.Size())) + n41, err := m.InvolvedObject.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n41 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -2748,27 +2764,27 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.Source.Size())) - n41, err := m.Source.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n41 - data[i] = 0x32 - i++ - i = encodeVarintGenerated(data, i, uint64(m.FirstTimestamp.Size())) - n42, err := m.FirstTimestamp.MarshalTo(data[i:]) + n42, err := m.Source.MarshalTo(data[i:]) if err != nil { return 0, err } i += n42 - data[i] = 0x3a + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTimestamp.Size())) - n43, err := m.LastTimestamp.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FirstTimestamp.Size())) + n43, err := m.FirstTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } i += n43 + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTimestamp.Size())) + n44, err := m.LastTimestamp.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n44 data[i] = 0x40 i++ i = encodeVarintGenerated(data, i, uint64(m.Count)) @@ -2797,11 +2813,11 @@ func (m *EventList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n44, err := m.ListMeta.MarshalTo(data[i:]) + n45, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n44 + i += n45 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2953,11 +2969,11 @@ func (m *FlexVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n45, err := m.SecretRef.MarshalTo(data[i:]) + n46, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n45 + i += n46 } data[i] = 0x20 i++ @@ -3136,11 +3152,11 @@ func (m *HTTPGetAction) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n46, err := m.Port.MarshalTo(data[i:]) + n47, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n46 + i += n47 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Host))) @@ -3209,32 +3225,32 @@ func (m *Handler) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Exec.Size())) - n47, err := m.Exec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n47 - } - if m.HTTPGet != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.HTTPGet.Size())) - n48, err := m.HTTPGet.MarshalTo(data[i:]) + n48, err := m.Exec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n48 } - if m.TCPSocket != nil { - data[i] = 0x1a + if m.HTTPGet != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.TCPSocket.Size())) - n49, err := m.TCPSocket.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.HTTPGet.Size())) + n49, err := m.HTTPGet.MarshalTo(data[i:]) if err != nil { return 0, err } i += n49 } + if m.TCPSocket != nil { + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TCPSocket.Size())) + n50, err := m.TCPSocket.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n50 + } return i, nil } @@ -3355,21 +3371,21 @@ func (m *Lifecycle) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PostStart.Size())) - n50, err := m.PostStart.MarshalTo(data[i:]) + n51, err := m.PostStart.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n50 + i += n51 } if m.PreStop != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PreStop.Size())) - n51, err := m.PreStop.MarshalTo(data[i:]) + n52, err := m.PreStop.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n51 + i += n52 } return i, nil } @@ -3392,19 +3408,19 @@ func (m *LimitRange) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n52, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n52 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n53, err := m.Spec.MarshalTo(data[i:]) + n53, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n53 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n54, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n54 return i, nil } @@ -3442,11 +3458,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n54, err := (&v).MarshalTo(data[i:]) + n55, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n54 + i += n55 } } if len(m.Min) > 0 { @@ -3464,11 +3480,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n55, err := (&v).MarshalTo(data[i:]) + n56, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n55 + i += n56 } } if len(m.Default) > 0 { @@ -3486,11 +3502,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n56, err := (&v).MarshalTo(data[i:]) + n57, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n56 + i += n57 } } if len(m.DefaultRequest) > 0 { @@ -3508,11 +3524,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n57, err := (&v).MarshalTo(data[i:]) + n58, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n57 + i += n58 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -3530,11 +3546,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n58, err := (&v).MarshalTo(data[i:]) + n59, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n58 + i += n59 } } return i, nil @@ -3558,11 +3574,11 @@ func (m *LimitRangeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n59, err := m.ListMeta.MarshalTo(data[i:]) + n60, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n59 + i += n60 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3626,11 +3642,11 @@ func (m *List) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n60, err := m.ListMeta.MarshalTo(data[i:]) + n61, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n60 + i += n61 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3819,27 +3835,27 @@ func (m *Namespace) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n61, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n61 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n62, err := m.Spec.MarshalTo(data[i:]) + n62, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n62 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n63, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n63, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n63 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n64, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n64 return i, nil } @@ -3861,11 +3877,11 @@ func (m *NamespaceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n64, err := m.ListMeta.MarshalTo(data[i:]) + n65, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n64 + i += n65 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3954,27 +3970,27 @@ func (m *Node) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n65, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n65 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n66, err := m.Spec.MarshalTo(data[i:]) + n66, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n66 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n67, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n67, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n67 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n68, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n68 return i, nil } @@ -4023,11 +4039,11 @@ func (m *NodeAffinity) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n68, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) + n69, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n68 + i += n69 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -4070,19 +4086,19 @@ func (m *NodeCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastHeartbeatTime.Size())) - n69, err := m.LastHeartbeatTime.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n69 - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n70, err := m.LastTransitionTime.MarshalTo(data[i:]) + n70, err := m.LastHeartbeatTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n70 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n71, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n71 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -4112,11 +4128,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.KubeletEndpoint.Size())) - n71, err := m.KubeletEndpoint.MarshalTo(data[i:]) + n72, err := m.KubeletEndpoint.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n71 + i += n72 return i, nil } @@ -4138,11 +4154,11 @@ func (m *NodeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n72, err := m.ListMeta.MarshalTo(data[i:]) + n73, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n72 + i += n73 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4210,11 +4226,11 @@ func (m *NodeResources) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n73, err := (&v).MarshalTo(data[i:]) + n74, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n73 + i += n74 } } return i, nil @@ -4389,11 +4405,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n74, err := (&v).MarshalTo(data[i:]) + n75, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n74 + i += n75 } } if len(m.Allocatable) > 0 { @@ -4411,11 +4427,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n75, err := (&v).MarshalTo(data[i:]) + n76, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n75 + i += n76 } } data[i] = 0x1a @@ -4449,19 +4465,19 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.DaemonEndpoints.Size())) - n76, err := m.DaemonEndpoints.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n76 - data[i] = 0x3a - i++ - i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) - n77, err := m.NodeInfo.MarshalTo(data[i:]) + n77, err := m.DaemonEndpoints.MarshalTo(data[i:]) if err != nil { return 0, err } i += n77 + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) + n78, err := m.NodeInfo.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n78 if len(m.Images) > 0 { for _, msg := range m.Images { data[i] = 0x42 @@ -4633,20 +4649,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n78, err := m.CreationTimestamp.MarshalTo(data[i:]) + n79, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n78 + i += n79 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n79, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n80, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n79 + i += n80 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -4785,27 +4801,27 @@ func (m *PersistentVolume) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n80, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n80 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n81, err := m.Spec.MarshalTo(data[i:]) + n81, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n81 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n82, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n82, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n82 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n83, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n83 return i, nil } @@ -4827,27 +4843,27 @@ func (m *PersistentVolumeClaim) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n83, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n83 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n84, err := m.Spec.MarshalTo(data[i:]) + n84, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n84 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n85, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n85, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n85 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n86, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n86 return i, nil } @@ -4869,11 +4885,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n86, err := m.ListMeta.MarshalTo(data[i:]) + n87, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n86 + i += n87 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4922,11 +4938,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n87, err := m.Resources.MarshalTo(data[i:]) + n88, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n87 + i += n88 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.VolumeName))) @@ -4935,11 +4951,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n88, err := m.Selector.MarshalTo(data[i:]) + n89, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n88 + i += n89 } return i, nil } @@ -4993,11 +5009,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n89, err := (&v).MarshalTo(data[i:]) + n90, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n89 + i += n90 } } return i, nil @@ -5051,11 +5067,11 @@ func (m *PersistentVolumeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n90, err := m.ListMeta.MarshalTo(data[i:]) + n91, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n90 + i += n91 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5090,163 +5106,163 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n91, err := m.GCEPersistentDisk.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n91 - } - if m.AWSElasticBlockStore != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n92, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + n92, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n92 } - if m.HostPath != nil { - data[i] = 0x1a + if m.AWSElasticBlockStore != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n93, err := m.HostPath.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n93, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n93 } - if m.Glusterfs != nil { - data[i] = 0x22 + if m.HostPath != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n94, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) + n94, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n94 } - if m.NFS != nil { - data[i] = 0x2a + if m.Glusterfs != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n95, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n95, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n95 } - if m.RBD != nil { - data[i] = 0x32 + if m.NFS != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n96, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n96, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n96 } - if m.ISCSI != nil { - data[i] = 0x3a + if m.RBD != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n97, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n97, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } i += n97 } - if m.Cinder != nil { - data[i] = 0x42 + if m.ISCSI != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n98, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n98, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n98 } - if m.CephFS != nil { - data[i] = 0x4a + if m.Cinder != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n99, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n99, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } i += n99 } - if m.FC != nil { - data[i] = 0x52 + if m.CephFS != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n100, err := m.FC.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n100, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n100 } - if m.Flocker != nil { - data[i] = 0x5a + if m.FC != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n101, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) + n101, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } i += n101 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.Flocker != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n102, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n102, err := m.Flocker.MarshalTo(data[i:]) if err != nil { return 0, err } i += n102 } - if m.AzureFile != nil { - data[i] = 0x6a + if m.FlexVolume != nil { + data[i] = 0x62 i++ - i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n103, err := m.AzureFile.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n103, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n103 } - if m.VsphereVolume != nil { - data[i] = 0x72 + if m.AzureFile != nil { + data[i] = 0x6a i++ - i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n104, err := m.VsphereVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) + n104, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } i += n104 } - if m.Quobyte != nil { - data[i] = 0x7a + if m.VsphereVolume != nil { + data[i] = 0x72 i++ - i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n105, err := m.Quobyte.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) + n105, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n105 } + if m.Quobyte != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) + n106, err := m.Quobyte.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n106 + } if m.AzureDisk != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n106, err := m.AzureDisk.MarshalTo(data[i:]) + n107, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n106 + i += n107 } if m.PhotonPersistentDisk != nil { data[i] = 0x8a @@ -5254,11 +5270,11 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n107, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n108, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n107 + i += n108 } return i, nil } @@ -5293,21 +5309,21 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n108, err := (&v).MarshalTo(data[i:]) + n109, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n108 + i += n109 } } data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeSource.Size())) - n109, err := m.PersistentVolumeSource.MarshalTo(data[i:]) + n110, err := m.PersistentVolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n109 + i += n110 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { data[i] = 0x1a @@ -5327,11 +5343,11 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.ClaimRef.Size())) - n110, err := m.ClaimRef.MarshalTo(data[i:]) + n111, err := m.ClaimRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n110 + i += n111 } data[i] = 0x2a i++ @@ -5414,27 +5430,27 @@ func (m *Pod) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n111, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n111 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n112, err := m.Spec.MarshalTo(data[i:]) + n112, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n112 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n113, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n113, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n113 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n114, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n114 return i, nil } @@ -5499,11 +5515,11 @@ func (m *PodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LabelSelector.Size())) - n114, err := m.LabelSelector.MarshalTo(data[i:]) + n115, err := m.LabelSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n114 + i += n115 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -5649,19 +5665,19 @@ func (m *PodCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - n115, err := m.LastProbeTime.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n115 - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n116, err := m.LastTransitionTime.MarshalTo(data[i:]) + n116, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n116 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n117, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n117 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -5760,11 +5776,11 @@ func (m *PodList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n117, err := m.ListMeta.MarshalTo(data[i:]) + n118, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n117 + i += n118 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5824,11 +5840,11 @@ func (m *PodLogOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.SinceTime.Size())) - n118, err := m.SinceTime.MarshalTo(data[i:]) + n119, err := m.SinceTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n118 + i += n119 } data[i] = 0x30 i++ @@ -5892,11 +5908,11 @@ func (m *PodSecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n119, err := m.SELinuxOptions.MarshalTo(data[i:]) + n120, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n119 + i += n120 } if m.RunAsUser != nil { data[i] = 0x10 @@ -5947,11 +5963,11 @@ func (m *PodSignature) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodController.Size())) - n120, err := m.PodController.MarshalTo(data[i:]) + n121, err := m.PodController.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n120 + i += n121 } return i, nil } @@ -6070,11 +6086,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n121, err := m.SecurityContext.MarshalTo(data[i:]) + n122, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n121 + i += n122 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -6106,11 +6122,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Affinity.Size())) - n122, err := m.Affinity.MarshalTo(data[i:]) + n123, err := m.Affinity.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n122 + i += n123 } data[i] = 0x9a i++ @@ -6172,11 +6188,11 @@ func (m *PodStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n123, err := m.StartTime.MarshalTo(data[i:]) + n124, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n123 + i += n124 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -6215,19 +6231,19 @@ func (m *PodStatusResult) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n124, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n124 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n125, err := m.Status.MarshalTo(data[i:]) + n125, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n125 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n126, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n126 return i, nil } @@ -6249,19 +6265,19 @@ func (m *PodTemplate) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n126, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n126 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n127, err := m.Template.MarshalTo(data[i:]) + n127, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n127 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) + n128, err := m.Template.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n128 return i, nil } @@ -6283,11 +6299,11 @@ func (m *PodTemplateList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n128, err := m.ListMeta.MarshalTo(data[i:]) + n129, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n128 + i += n129 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6321,19 +6337,19 @@ func (m *PodTemplateSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n129, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n129 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n130, err := m.Spec.MarshalTo(data[i:]) + n130, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n130 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n131, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n131 return i, nil } @@ -6379,19 +6395,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSignature.Size())) - n131, err := m.PodSignature.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n131 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) - n132, err := m.EvictionTime.MarshalTo(data[i:]) + n132, err := m.PodSignature.MarshalTo(data[i:]) if err != nil { return 0, err } i += n132 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) + n133, err := m.EvictionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n133 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6424,11 +6440,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preference.Size())) - n133, err := m.Preference.MarshalTo(data[i:]) + n134, err := m.Preference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n133 + i += n134 return i, nil } @@ -6450,11 +6466,11 @@ func (m *Probe) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Handler.Size())) - n134, err := m.Handler.MarshalTo(data[i:]) + n135, err := m.Handler.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n134 + i += n135 data[i] = 0x10 i++ i = encodeVarintGenerated(data, i, uint64(m.InitialDelaySeconds)) @@ -6569,11 +6585,11 @@ func (m *RBDVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n135, err := m.SecretRef.MarshalTo(data[i:]) + n136, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n135 + i += n136 } data[i] = 0x40 i++ @@ -6604,11 +6620,11 @@ func (m *RangeAllocation) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n136, err := m.ObjectMeta.MarshalTo(data[i:]) + n137, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n136 + i += n137 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Range))) @@ -6640,27 +6656,27 @@ func (m *ReplicationController) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n137, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n137 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n138, err := m.Spec.MarshalTo(data[i:]) + n138, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n138 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n139, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n139, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n139 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n140, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n140 return i, nil } @@ -6690,11 +6706,11 @@ func (m *ReplicationControllerCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n140, err := m.LastTransitionTime.MarshalTo(data[i:]) + n141, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n140 + i += n141 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6724,11 +6740,11 @@ func (m *ReplicationControllerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n141, err := m.ListMeta.MarshalTo(data[i:]) + n142, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n141 + i += n142 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6785,11 +6801,11 @@ func (m *ReplicationControllerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n142, err := m.Template.MarshalTo(data[i:]) + n143, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n142 + i += n143 } data[i] = 0x20 i++ @@ -6868,11 +6884,11 @@ func (m *ResourceFieldSelector) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Divisor.Size())) - n143, err := m.Divisor.MarshalTo(data[i:]) + n144, err := m.Divisor.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n143 + i += n144 return i, nil } @@ -6894,27 +6910,27 @@ func (m *ResourceQuota) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n144, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n144 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n145, err := m.Spec.MarshalTo(data[i:]) + n145, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n145 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n146, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n146, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n146 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n147, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n147 return i, nil } @@ -6936,11 +6952,11 @@ func (m *ResourceQuotaList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n147, err := m.ListMeta.MarshalTo(data[i:]) + n148, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n147 + i += n148 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6986,11 +7002,11 @@ func (m *ResourceQuotaSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n148, err := (&v).MarshalTo(data[i:]) + n149, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n148 + i += n149 } } if len(m.Scopes) > 0 { @@ -7041,11 +7057,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n149, err := (&v).MarshalTo(data[i:]) + n150, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n149 + i += n150 } } if len(m.Used) > 0 { @@ -7063,11 +7079,11 @@ func (m *ResourceQuotaStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n150, err := (&v).MarshalTo(data[i:]) + n151, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n150 + i += n151 } } return i, nil @@ -7103,11 +7119,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n151, err := (&v).MarshalTo(data[i:]) + n152, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n151 + i += n152 } } if len(m.Requests) > 0 { @@ -7125,11 +7141,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n152, err := (&v).MarshalTo(data[i:]) + n153, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n152 + i += n153 } } return i, nil @@ -7187,11 +7203,11 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n153, err := m.ObjectMeta.MarshalTo(data[i:]) + n154, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n153 + i += n154 if len(m.Data) > 0 { for k := range m.Data { data[i] = 0x12 @@ -7233,6 +7249,32 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *SecretEnvSource) Marshal() (data []byte, err error) { + size := m.Size() + data = make([]byte, size) + n, err := m.MarshalTo(data) + if err != nil { + return nil, err + } + return data[:n], nil +} + +func (m *SecretEnvSource) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) + n155, err := m.LocalObjectReference.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n155 + return i, nil +} + func (m *SecretKeySelector) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -7251,11 +7293,11 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n154, err := m.LocalObjectReference.MarshalTo(data[i:]) + n156, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n154 + i += n156 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) @@ -7281,11 +7323,11 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n155, err := m.ListMeta.MarshalTo(data[i:]) + n157, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n155 + i += n157 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7359,11 +7401,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Capabilities.Size())) - n156, err := m.Capabilities.MarshalTo(data[i:]) + n158, err := m.Capabilities.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n156 + i += n158 } if m.Privileged != nil { data[i] = 0x10 @@ -7379,11 +7421,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n157, err := m.SELinuxOptions.MarshalTo(data[i:]) + n159, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n157 + i += n159 } if m.RunAsUser != nil { data[i] = 0x20 @@ -7431,11 +7473,11 @@ func (m *SerializedReference) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Reference.Size())) - n158, err := m.Reference.MarshalTo(data[i:]) + n160, err := m.Reference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n158 + i += n160 return i, nil } @@ -7457,27 +7499,27 @@ func (m *Service) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n159, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n159 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n160, err := m.Spec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n160 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n161, err := m.Status.MarshalTo(data[i:]) + n161, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n161 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n162, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n162 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n163, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n163 return i, nil } @@ -7499,11 +7541,11 @@ func (m *ServiceAccount) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n162, err := m.ObjectMeta.MarshalTo(data[i:]) + n164, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n162 + i += n164 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { data[i] = 0x12 @@ -7549,11 +7591,11 @@ func (m *ServiceAccountList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n163, err := m.ListMeta.MarshalTo(data[i:]) + n165, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n163 + i += n165 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7587,11 +7629,11 @@ func (m *ServiceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n164, err := m.ListMeta.MarshalTo(data[i:]) + n166, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n164 + i += n166 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7636,11 +7678,11 @@ func (m *ServicePort) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetPort.Size())) - n165, err := m.TargetPort.MarshalTo(data[i:]) + n167, err := m.TargetPort.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n165 + i += n167 data[i] = 0x28 i++ i = encodeVarintGenerated(data, i, uint64(m.NodePort)) @@ -7799,11 +7841,11 @@ func (m *ServiceStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LoadBalancer.Size())) - n166, err := m.LoadBalancer.MarshalTo(data[i:]) + n168, err := m.LoadBalancer.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n166 + i += n168 return i, nil } @@ -7851,11 +7893,11 @@ func (m *TCPSocketAction) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n167, err := m.Port.MarshalTo(data[i:]) + n169, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n167 + i += n169 return i, nil } @@ -7945,11 +7987,11 @@ func (m *Volume) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.VolumeSource.Size())) - n168, err := m.VolumeSource.MarshalTo(data[i:]) + n170, err := m.VolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n168 + i += n170 return i, nil } @@ -8010,163 +8052,163 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n169, err := m.HostPath.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n169 - } - if m.EmptyDir != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) - n170, err := m.EmptyDir.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n170 - } - if m.GCEPersistentDisk != nil { - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n171, err := m.GCEPersistentDisk.MarshalTo(data[i:]) + n171, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n171 } - if m.AWSElasticBlockStore != nil { - data[i] = 0x22 + if m.EmptyDir != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n172, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) + n172, err := m.EmptyDir.MarshalTo(data[i:]) if err != nil { return 0, err } i += n172 } - if m.GitRepo != nil { - data[i] = 0x2a + if m.GCEPersistentDisk != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) - n173, err := m.GitRepo.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) + n173, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n173 } - if m.Secret != nil { - data[i] = 0x32 + if m.AWSElasticBlockStore != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) - n174, err := m.Secret.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n174, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n174 } - if m.NFS != nil { - data[i] = 0x3a + if m.GitRepo != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n175, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) + n175, err := m.GitRepo.MarshalTo(data[i:]) if err != nil { return 0, err } i += n175 } - if m.ISCSI != nil { - data[i] = 0x42 + if m.Secret != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n176, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) + n176, err := m.Secret.MarshalTo(data[i:]) if err != nil { return 0, err } i += n176 } - if m.Glusterfs != nil { - data[i] = 0x4a + if m.NFS != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n177, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n177, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n177 } - if m.PersistentVolumeClaim != nil { - data[i] = 0x52 + if m.ISCSI != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) - n178, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n178, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n178 } - if m.RBD != nil { - data[i] = 0x5a + if m.Glusterfs != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n179, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n179, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n179 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.PersistentVolumeClaim != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n180, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) + n180, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) if err != nil { return 0, err } i += n180 } - if m.Cinder != nil { - data[i] = 0x6a + if m.RBD != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n181, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n181, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } i += n181 } - if m.CephFS != nil { - data[i] = 0x72 + if m.FlexVolume != nil { + data[i] = 0x62 i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n182, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n182, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n182 } - if m.Flocker != nil { - data[i] = 0x7a + if m.Cinder != nil { + data[i] = 0x6a i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n183, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n183, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } i += n183 } + if m.CephFS != nil { + data[i] = 0x72 + i++ + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n184, err := m.CephFS.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n184 + } + if m.Flocker != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n185, err := m.Flocker.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n185 + } if m.DownwardAPI != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.DownwardAPI.Size())) - n184, err := m.DownwardAPI.MarshalTo(data[i:]) + n186, err := m.DownwardAPI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n184 + i += n186 } if m.FC != nil { data[i] = 0x8a @@ -8174,11 +8216,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n185, err := m.FC.MarshalTo(data[i:]) + n187, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n185 + i += n187 } if m.AzureFile != nil { data[i] = 0x92 @@ -8186,11 +8228,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n186, err := m.AzureFile.MarshalTo(data[i:]) + n188, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n186 + i += n188 } if m.ConfigMap != nil { data[i] = 0x9a @@ -8198,11 +8240,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMap.Size())) - n187, err := m.ConfigMap.MarshalTo(data[i:]) + n189, err := m.ConfigMap.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n187 + i += n189 } if m.VsphereVolume != nil { data[i] = 0xa2 @@ -8210,11 +8252,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n188, err := m.VsphereVolume.MarshalTo(data[i:]) + n190, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n188 + i += n190 } if m.Quobyte != nil { data[i] = 0xaa @@ -8222,11 +8264,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n189, err := m.Quobyte.MarshalTo(data[i:]) + n191, err := m.Quobyte.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n189 + i += n191 } if m.AzureDisk != nil { data[i] = 0xb2 @@ -8234,11 +8276,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n190, err := m.AzureDisk.MarshalTo(data[i:]) + n192, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n190 + i += n192 } if m.PhotonPersistentDisk != nil { data[i] = 0xba @@ -8246,11 +8288,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n191, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n193, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n191 + i += n193 } return i, nil } @@ -8302,11 +8344,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PodAffinityTerm.Size())) - n192, err := m.PodAffinityTerm.MarshalTo(data[i:]) + n194, err := m.PodAffinityTerm.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n192 + i += n194 return i, nil } @@ -8919,6 +8961,10 @@ func (m *EnvFromSource) Size() (n int) { l = m.ConfigMapRef.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.SecretRef != nil { + l = m.SecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -10632,6 +10678,14 @@ func (m *Secret) Size() (n int) { return n } +func (m *SecretEnvSource) Size() (n int) { + var l int + _ = l + l = m.LocalObjectReference.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *SecretKeySelector) Size() (n int) { var l int _ = l @@ -11504,6 +11558,7 @@ func (this *EnvFromSource) String() string { s := strings.Join([]string{`&EnvFromSource{`, `Prefix:` + fmt.Sprintf("%v", this.Prefix) + `,`, `ConfigMapRef:` + strings.Replace(fmt.Sprintf("%v", this.ConfigMapRef), "ConfigMapEnvSource", "ConfigMapEnvSource", 1) + `,`, + `SecretRef:` + strings.Replace(fmt.Sprintf("%v", this.SecretRef), "SecretEnvSource", "SecretEnvSource", 1) + `,`, `}`, }, "") return s @@ -12983,6 +13038,16 @@ func (this *Secret) String() string { }, "") return s } +func (this *SecretEnvSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecretEnvSource{`, + `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *SecretKeySelector) String() string { if this == nil { return "nil" @@ -18661,6 +18726,39 @@ func (m *EnvFromSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecretRef", 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 > l { + return io.ErrUnexpectedEOF + } + if m.SecretRef == nil { + m.SecretRef = &SecretEnvSource{} + } + if err := m.SecretRef.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -35853,6 +35951,86 @@ func (m *Secret) Unmarshal(data []byte) error { } return nil } +func (m *SecretEnvSource) Unmarshal(data []byte) error { + l := len(data) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SecretEnvSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecretEnvSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LocalObjectReference", 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 > l { + return io.ErrUnexpectedEOF + } + if err := m.LocalObjectReference.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(data[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *SecretKeySelector) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -39624,643 +39802,644 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10194 bytes of a gzipped FileDescriptorProto + // 10217 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x24, 0xc7, - 0x75, 0x98, 0x66, 0x17, 0x5f, 0xfb, 0xf0, 0x79, 0x7d, 0x1f, 0x04, 0x61, 0xf2, 0x70, 0x1c, 0x8a, - 0xd4, 0x91, 0x3c, 0x02, 0xba, 0x23, 0x29, 0x9e, 0x44, 0x85, 0x12, 0x80, 0x05, 0xee, 0xa0, 0x3b, - 0xdc, 0x2d, 0x7b, 0x71, 0x77, 0x94, 0xc4, 0x48, 0x1c, 0xec, 0x34, 0x80, 0xd1, 0xcd, 0xce, 0x2c, - 0x67, 0x66, 0x71, 0x07, 0x29, 0xaa, 0xb2, 0x65, 0x96, 0x5d, 0xa9, 0x28, 0x89, 0x52, 0x2e, 0x55, - 0xa5, 0xe2, 0xa4, 0xec, 0xa4, 0xca, 0x29, 0x25, 0xae, 0x7c, 0x28, 0x8a, 0x2d, 0xb9, 0xac, 0x24, - 0x95, 0xc4, 0x56, 0xe4, 0x7c, 0xb8, 0x94, 0x72, 0x55, 0xec, 0x58, 0x55, 0x88, 0x09, 0xa7, 0xf2, - 0x33, 0x3f, 0x92, 0x7f, 0x48, 0x2a, 0x49, 0xf5, 0xe7, 0x74, 0xcf, 0xee, 0x62, 0x66, 0xc1, 0x03, - 0x44, 0xb9, 0xf2, 0x6f, 0xf7, 0xbd, 0xd7, 0xaf, 0x3f, 0xa6, 0xfb, 0xf5, 0x7b, 0xaf, 0x5f, 0xbf, - 0x86, 0x4b, 0xf7, 0xaf, 0xc6, 0x73, 0x5e, 0x38, 0x7f, 0xbf, 0xbd, 0x41, 0xa2, 0x80, 0x24, 0x24, - 0x9e, 0x6f, 0xdd, 0xdf, 0x9a, 0x77, 0x5a, 0xde, 0xfc, 0xce, 0xe5, 0xf9, 0x2d, 0x12, 0x90, 0xc8, - 0x49, 0x88, 0x3b, 0xd7, 0x8a, 0xc2, 0x24, 0x44, 0x4f, 0x70, 0xea, 0xb9, 0x94, 0x7a, 0xae, 0x75, - 0x7f, 0x6b, 0xce, 0x69, 0x79, 0x73, 0x3b, 0x97, 0x67, 0x5e, 0xdc, 0xf2, 0x92, 0xed, 0xf6, 0xc6, + 0x75, 0x98, 0x66, 0x17, 0x5f, 0xfb, 0xf0, 0x79, 0x7d, 0x1f, 0x04, 0x21, 0xf2, 0x70, 0x1c, 0x8a, + 0xd4, 0x91, 0x3c, 0x02, 0xba, 0x23, 0x29, 0x52, 0xa2, 0x42, 0x09, 0xc0, 0x02, 0x77, 0xd0, 0x1d, + 0xee, 0x96, 0xbd, 0xb8, 0x3b, 0x4a, 0x62, 0x44, 0x0e, 0x76, 0x1a, 0xc0, 0xe8, 0x66, 0x67, 0x96, + 0x33, 0xb3, 0xb8, 0x83, 0x14, 0x55, 0xd9, 0x32, 0xcb, 0xae, 0x54, 0x94, 0x44, 0x29, 0x97, 0xaa, + 0x5c, 0x71, 0x52, 0x76, 0x52, 0xe5, 0x94, 0x12, 0x57, 0x3e, 0x14, 0xc5, 0x96, 0x5c, 0x56, 0x92, + 0x4a, 0x62, 0x2b, 0x72, 0x3e, 0x5c, 0x4a, 0xb9, 0x2a, 0x76, 0xac, 0x2a, 0xc4, 0x84, 0x53, 0xf9, + 0x99, 0x1f, 0xc9, 0x3f, 0x24, 0x95, 0xa4, 0xfa, 0x73, 0xba, 0x67, 0x77, 0x31, 0xb3, 0xe0, 0x01, + 0xa2, 0x5c, 0xfe, 0xb7, 0xfb, 0xde, 0xeb, 0xd7, 0x1f, 0xf3, 0xba, 0xfb, 0xbd, 0xd7, 0xaf, 0x5f, + 0xc3, 0xa5, 0x7b, 0xaf, 0xc4, 0x73, 0x5e, 0x38, 0x7f, 0xaf, 0xbd, 0x41, 0xa2, 0x80, 0x24, 0x24, + 0x9e, 0x6f, 0xdd, 0xdb, 0x9a, 0x77, 0x5a, 0xde, 0xfc, 0xce, 0xe5, 0xf9, 0x2d, 0x12, 0x90, 0xc8, + 0x49, 0x88, 0x3b, 0xd7, 0x8a, 0xc2, 0x24, 0x44, 0x8f, 0x71, 0xea, 0xb9, 0x94, 0x7a, 0xae, 0x75, + 0x6f, 0x6b, 0xce, 0x69, 0x79, 0x73, 0x3b, 0x97, 0x67, 0x9e, 0xdf, 0xf2, 0x92, 0xed, 0xf6, 0xc6, 0x5c, 0x23, 0x6c, 0xce, 0x6f, 0x85, 0x5b, 0xe1, 0x3c, 0x2b, 0xb4, 0xd1, 0xde, 0x64, 0xff, 0xd8, - 0x1f, 0xf6, 0x8b, 0x33, 0x9b, 0x79, 0x59, 0x54, 0xed, 0xb4, 0xbc, 0xa6, 0xd3, 0xd8, 0xf6, 0x02, + 0x1f, 0xf6, 0x8b, 0x33, 0x9b, 0x79, 0x51, 0x54, 0xed, 0xb4, 0xbc, 0xa6, 0xd3, 0xd8, 0xf6, 0x02, 0x12, 0xed, 0xca, 0xca, 0xe3, 0xf9, 0x26, 0x49, 0x9c, 0x2e, 0x4d, 0x98, 0x99, 0xef, 0x55, 0x2a, - 0x6a, 0x07, 0x89, 0xd7, 0x24, 0x1d, 0x05, 0x3e, 0x96, 0x57, 0x20, 0x6e, 0x6c, 0x93, 0xa6, 0xd3, + 0x6a, 0x07, 0x89, 0xd7, 0x24, 0x1d, 0x05, 0x3e, 0x9e, 0x57, 0x20, 0x6e, 0x6c, 0x93, 0xa6, 0xd3, 0x51, 0xee, 0x4a, 0xef, 0x91, 0x89, 0x48, 0x1c, 0xb6, 0xa3, 0x46, 0x67, 0x5d, 0x97, 0xbb, 0x97, 0x69, 0x27, 0x9e, 0x3f, 0xef, 0x05, 0x49, 0x9c, 0x44, 0xd9, 0x22, 0xf6, 0x1f, 0x5a, 0x70, 0x61, - 0xe1, 0x5e, 0x7d, 0xd9, 0x77, 0xe2, 0xc4, 0x6b, 0x2c, 0xfa, 0x61, 0xe3, 0x7e, 0x3d, 0x09, 0x23, - 0x72, 0x37, 0xf4, 0xdb, 0x4d, 0x52, 0x67, 0xf5, 0xa0, 0x4b, 0x30, 0xb2, 0xc3, 0xfe, 0xaf, 0x56, + 0xe1, 0x6e, 0x7d, 0xd9, 0x77, 0xe2, 0xc4, 0x6b, 0x2c, 0xfa, 0x61, 0xe3, 0x5e, 0x3d, 0x09, 0x23, + 0x72, 0x27, 0xf4, 0xdb, 0x4d, 0x52, 0x67, 0xf5, 0xa0, 0x4b, 0x30, 0xb2, 0xc3, 0xfe, 0xaf, 0x56, 0xa7, 0xad, 0x0b, 0xd6, 0xc5, 0xca, 0xe2, 0xd4, 0x0f, 0xf7, 0x66, 0x3f, 0xb4, 0xbf, 0x37, 0x3b, - 0x72, 0x57, 0xc0, 0xb1, 0xa2, 0x40, 0xcf, 0xc2, 0xd0, 0x66, 0xbc, 0xbe, 0xdb, 0x22, 0xd3, 0x25, + 0x72, 0x47, 0xc0, 0xb1, 0xa2, 0x40, 0x4f, 0xc3, 0xd0, 0x66, 0xbc, 0xbe, 0xdb, 0x22, 0xd3, 0x25, 0x46, 0x3b, 0x21, 0x68, 0x87, 0x56, 0xea, 0x14, 0x8a, 0x05, 0x16, 0xcd, 0x43, 0xa5, 0xe5, 0x44, 0x89, 0x97, 0x78, 0x61, 0x30, 0x5d, 0xbe, 0x60, 0x5d, 0x1c, 0x5c, 0x3c, 0x25, 0x48, 0x2b, 0x35, - 0x89, 0xc0, 0x29, 0x0d, 0x6d, 0x46, 0x44, 0x1c, 0xf7, 0x76, 0xe0, 0xef, 0x4e, 0x0f, 0x5c, 0xb0, + 0x89, 0xc0, 0x29, 0x0d, 0x6d, 0x46, 0x44, 0x1c, 0xf7, 0x56, 0xe0, 0xef, 0x4e, 0x0f, 0x5c, 0xb0, 0x2e, 0x8e, 0xa4, 0xcd, 0xc0, 0x02, 0x8e, 0x15, 0x85, 0xfd, 0xbd, 0x12, 0x8c, 0x2c, 0x6c, 0x6e, 0x7a, 0x81, 0x97, 0xec, 0xa2, 0xb7, 0x61, 0x2c, 0x08, 0x5d, 0x22, 0xff, 0xb3, 0x5e, 0x8c, 0x5e, - 0x79, 0x7e, 0xee, 0xb0, 0x09, 0x35, 0x77, 0x4b, 0x2b, 0xb1, 0x38, 0xb5, 0xbf, 0x37, 0x3b, 0xa6, - 0x43, 0xb0, 0xc1, 0x11, 0xbd, 0x05, 0xa3, 0xad, 0xd0, 0x55, 0x15, 0x94, 0x58, 0x05, 0xcf, 0x1d, - 0x5e, 0x41, 0x2d, 0x2d, 0xb0, 0x38, 0xb9, 0xbf, 0x37, 0x3b, 0xaa, 0x01, 0xb0, 0xce, 0x0e, 0xf9, - 0x30, 0x49, 0xff, 0x06, 0x89, 0xa7, 0x6a, 0x28, 0xb3, 0x1a, 0x5e, 0xcc, 0xaf, 0x41, 0x2b, 0xb4, - 0x78, 0x7a, 0x7f, 0x6f, 0x76, 0x32, 0x03, 0xc4, 0x59, 0xd6, 0xf6, 0x97, 0x61, 0x62, 0x21, 0x49, - 0x9c, 0xc6, 0x36, 0x71, 0xf9, 0xf7, 0x45, 0x2f, 0xc3, 0x40, 0xe0, 0x34, 0x89, 0xf8, 0xfa, 0x17, - 0xc4, 0xb0, 0x0f, 0xdc, 0x72, 0x9a, 0xe4, 0x60, 0x6f, 0x76, 0xea, 0x4e, 0xe0, 0xbd, 0xd3, 0x16, - 0x73, 0x86, 0xc2, 0x30, 0xa3, 0x46, 0x57, 0x00, 0x5c, 0xb2, 0xe3, 0x35, 0x48, 0xcd, 0x49, 0xb6, - 0xc5, 0x6c, 0x40, 0xa2, 0x2c, 0x54, 0x15, 0x06, 0x6b, 0x54, 0xf6, 0xd7, 0x2c, 0xa8, 0x2c, 0xec, - 0x84, 0x9e, 0x5b, 0x0b, 0xdd, 0x18, 0xb5, 0x61, 0xb2, 0x15, 0x91, 0x4d, 0x12, 0x29, 0xd0, 0xb4, - 0x75, 0xa1, 0x7c, 0x71, 0xf4, 0xca, 0x95, 0x9c, 0x7e, 0x9b, 0x85, 0x96, 0x83, 0x24, 0xda, 0x5d, - 0x7c, 0x4c, 0x54, 0x3d, 0x99, 0xc1, 0xe2, 0x6c, 0x1d, 0xf6, 0x5f, 0x2b, 0xc1, 0xd9, 0x85, 0x2f, - 0xb7, 0x23, 0x52, 0xf5, 0xe2, 0xfb, 0xd9, 0xa5, 0xe0, 0x7a, 0xf1, 0xfd, 0x5b, 0xe9, 0x60, 0xa8, - 0x39, 0x58, 0x15, 0x70, 0xac, 0x28, 0xd0, 0x8b, 0x30, 0x4c, 0x7f, 0xdf, 0xc1, 0xab, 0xa2, 0xf7, - 0xa7, 0x05, 0xf1, 0x68, 0xd5, 0x49, 0x9c, 0x2a, 0x47, 0x61, 0x49, 0x83, 0xd6, 0x60, 0xb4, 0xc1, - 0x64, 0xc4, 0xd6, 0x5a, 0xe8, 0x12, 0xf6, 0x85, 0x2b, 0x8b, 0x2f, 0x50, 0xf2, 0xa5, 0x14, 0x7c, - 0xb0, 0x37, 0x3b, 0xcd, 0xdb, 0x26, 0x58, 0x68, 0x38, 0xac, 0x97, 0x47, 0xb6, 0x5a, 0x88, 0x03, - 0x8c, 0x13, 0x74, 0x59, 0x84, 0x17, 0xb5, 0x35, 0x35, 0xc8, 0xd6, 0xd4, 0x58, 0x8f, 0xf5, 0xf4, - 0xf7, 0x2d, 0x31, 0x26, 0x2b, 0x9e, 0x6f, 0x8a, 0x87, 0x2b, 0x00, 0x31, 0x69, 0x44, 0x24, 0xd1, - 0x46, 0x45, 0x7d, 0xe6, 0xba, 0xc2, 0x60, 0x8d, 0x8a, 0x2e, 0xfe, 0x78, 0xdb, 0x89, 0xd8, 0x6c, - 0x11, 0x63, 0xa3, 0x16, 0x7f, 0x5d, 0x22, 0x70, 0x4a, 0x63, 0x2c, 0xfe, 0x72, 0xee, 0xe2, 0xff, - 0x57, 0x16, 0x0c, 0x2f, 0x7a, 0x81, 0xeb, 0x05, 0x5b, 0xe8, 0x6d, 0x18, 0xa1, 0xd2, 0xdc, 0x75, - 0x12, 0x47, 0xac, 0xfb, 0x8f, 0xca, 0xc9, 0xa3, 0x0b, 0x65, 0x39, 0x7d, 0xe2, 0x39, 0x4a, 0x4d, - 0x27, 0xd1, 0xed, 0x8d, 0x2f, 0x91, 0x46, 0xb2, 0x46, 0x12, 0x27, 0xed, 0x4e, 0x0a, 0xc3, 0x8a, - 0x2b, 0xba, 0x03, 0x43, 0x89, 0x13, 0x6d, 0x91, 0x44, 0x2c, 0xfb, 0x9c, 0x45, 0xc9, 0x79, 0x60, - 0x3a, 0xe5, 0x48, 0xd0, 0x20, 0xa9, 0x80, 0x5c, 0x67, 0x4c, 0xb0, 0x60, 0x66, 0x37, 0x60, 0x6c, - 0xc9, 0x69, 0x39, 0x1b, 0x9e, 0xef, 0x25, 0x1e, 0x89, 0xd1, 0x47, 0xa0, 0xec, 0xb8, 0x2e, 0x5b, - 0x00, 0x95, 0xc5, 0xb3, 0xfb, 0x7b, 0xb3, 0xe5, 0x05, 0xd7, 0x3d, 0xd8, 0x9b, 0x05, 0x45, 0xb5, - 0x8b, 0x29, 0x05, 0x7a, 0x1e, 0x06, 0xdc, 0x28, 0x6c, 0x4d, 0x97, 0x18, 0xe5, 0x39, 0xba, 0x52, - 0xab, 0x51, 0xd8, 0xca, 0x90, 0x32, 0x1a, 0xfb, 0x77, 0x4b, 0x80, 0x96, 0x48, 0x6b, 0x7b, 0xa5, - 0x6e, 0x7c, 0xd3, 0x8b, 0x30, 0xd2, 0x0c, 0x03, 0x2f, 0x09, 0xa3, 0x58, 0x54, 0xc8, 0xe6, 0xc5, - 0x9a, 0x80, 0x61, 0x85, 0x45, 0x17, 0x60, 0xa0, 0x95, 0x2e, 0xef, 0x31, 0x29, 0x1a, 0xd8, 0xc2, - 0x66, 0x18, 0x4a, 0xd1, 0x8e, 0x49, 0x24, 0xe6, 0xb3, 0xa2, 0xb8, 0x13, 0x93, 0x08, 0x33, 0x4c, - 0x3a, 0x83, 0xe8, 0xdc, 0x12, 0xb3, 0x35, 0x33, 0x83, 0x28, 0x06, 0x6b, 0x54, 0xe8, 0x8b, 0x50, - 0xe1, 0xff, 0x30, 0xd9, 0x64, 0x53, 0x37, 0x57, 0x28, 0xdc, 0x0c, 0x1b, 0x8e, 0x9f, 0x1d, 0xfc, - 0x71, 0x36, 0xe3, 0x24, 0x23, 0x9c, 0xf2, 0x34, 0x66, 0xdc, 0x50, 0xee, 0x8c, 0xfb, 0xeb, 0x16, - 0xa0, 0x25, 0x2f, 0x70, 0x49, 0x74, 0x02, 0x5b, 0x67, 0x7f, 0x8b, 0xe1, 0xc7, 0xb4, 0x69, 0x61, - 0xb3, 0x15, 0x06, 0x24, 0x48, 0x96, 0xc2, 0xc0, 0xe5, 0xdb, 0xe9, 0x27, 0x60, 0x20, 0xa1, 0x55, - 0xf1, 0x66, 0x3d, 0x2b, 0x3f, 0x0b, 0xad, 0xe0, 0x60, 0x6f, 0xf6, 0x5c, 0x67, 0x09, 0xd6, 0x04, - 0x56, 0x06, 0x7d, 0x1c, 0x86, 0xe2, 0xc4, 0x49, 0xda, 0xb1, 0x68, 0xe8, 0x53, 0xb2, 0xa1, 0x75, - 0x06, 0x3d, 0xd8, 0x9b, 0x9d, 0x54, 0xc5, 0x38, 0x08, 0x8b, 0x02, 0xe8, 0x39, 0x18, 0x6e, 0x92, - 0x38, 0x76, 0xb6, 0xa4, 0x80, 0x9b, 0x14, 0x65, 0x87, 0xd7, 0x38, 0x18, 0x4b, 0x3c, 0x7a, 0x1a, - 0x06, 0x49, 0x14, 0x85, 0x91, 0x98, 0x11, 0xe3, 0x82, 0x70, 0x70, 0x99, 0x02, 0x31, 0xc7, 0xd9, - 0xff, 0xd9, 0x82, 0x49, 0xd5, 0x56, 0x5e, 0xd7, 0x09, 0x2c, 0x79, 0x17, 0xa0, 0x21, 0x3b, 0x18, - 0xb3, 0x85, 0xa6, 0xd5, 0xd1, 0x7d, 0xfa, 0x75, 0x0e, 0x68, 0x5a, 0x87, 0x02, 0xc5, 0x58, 0xe3, - 0x6b, 0xff, 0x1b, 0x0b, 0x4e, 0x67, 0xfa, 0x76, 0xd3, 0x8b, 0x13, 0xf4, 0x56, 0x47, 0xff, 0xe6, - 0x8a, 0xf5, 0x8f, 0x96, 0x66, 0xbd, 0x53, 0xf3, 0x45, 0x42, 0xb4, 0xbe, 0x61, 0x18, 0xf4, 0x12, - 0xd2, 0x94, 0xdd, 0x7a, 0xb1, 0x60, 0xb7, 0x78, 0xfb, 0xd2, 0xaf, 0xb4, 0x4a, 0x79, 0x60, 0xce, - 0xca, 0xfe, 0x5f, 0x16, 0x54, 0x96, 0xc2, 0x60, 0xd3, 0xdb, 0x5a, 0x73, 0x5a, 0x27, 0xf0, 0x7d, - 0xea, 0x30, 0xc0, 0xb8, 0xf3, 0x2e, 0x5c, 0xce, 0xeb, 0x82, 0x68, 0xd8, 0x1c, 0xdd, 0x53, 0xb9, - 0xb2, 0xa0, 0xc4, 0x14, 0x05, 0x61, 0xc6, 0x6c, 0xe6, 0x55, 0xa8, 0x28, 0x02, 0x34, 0x05, 0xe5, - 0xfb, 0x84, 0x6b, 0x92, 0x15, 0x4c, 0x7f, 0xa2, 0x33, 0x30, 0xb8, 0xe3, 0xf8, 0x6d, 0xb1, 0x78, - 0x31, 0xff, 0xf3, 0x89, 0xd2, 0x55, 0xcb, 0xfe, 0x65, 0xb6, 0x02, 0x45, 0x25, 0xcb, 0xc1, 0x8e, - 0x10, 0x0e, 0xef, 0x5a, 0x70, 0xc6, 0xef, 0x22, 0x94, 0xc4, 0x98, 0x1c, 0x45, 0x9c, 0x3d, 0x21, - 0x9a, 0x7d, 0xa6, 0x1b, 0x16, 0x77, 0xad, 0xcd, 0xfe, 0xbe, 0x05, 0x67, 0x54, 0xeb, 0x6e, 0x90, - 0xdd, 0x3a, 0xf1, 0x49, 0x23, 0x09, 0xa3, 0x0f, 0x48, 0xfb, 0xd0, 0x93, 0x7c, 0xa4, 0xb9, 0xa4, - 0x19, 0x15, 0x0c, 0xca, 0x37, 0xc8, 0x2e, 0x1b, 0x76, 0xfb, 0xb7, 0x2d, 0x18, 0x57, 0xcd, 0x3f, - 0x81, 0xe5, 0x71, 0xd3, 0x5c, 0x1e, 0x1f, 0x29, 0x38, 0xb7, 0x7a, 0x2c, 0x8c, 0x5f, 0x29, 0xc1, - 0x59, 0x45, 0x63, 0x6c, 0x1d, 0x1f, 0x90, 0xd1, 0xef, 0xaf, 0xbb, 0x37, 0xc8, 0xee, 0x7a, 0x48, - 0xf7, 0xfe, 0xee, 0xdd, 0x45, 0x97, 0x61, 0xd4, 0x25, 0x9b, 0x4e, 0xdb, 0x4f, 0x94, 0x8a, 0x3b, - 0xc8, 0x6d, 0x9f, 0x6a, 0x0a, 0xc6, 0x3a, 0x8d, 0xfd, 0x6b, 0xc0, 0x44, 0x47, 0xe2, 0xd0, 0x8f, - 0x46, 0x95, 0x09, 0xcd, 0x12, 0x19, 0xd3, 0x2d, 0x11, 0x61, 0x75, 0x3c, 0x0d, 0x83, 0x5e, 0x93, - 0x6e, 0x2f, 0x25, 0x73, 0xd7, 0x58, 0xa5, 0x40, 0xcc, 0x71, 0xe8, 0x19, 0x18, 0x6e, 0x84, 0xcd, - 0xa6, 0x13, 0xb8, 0xd3, 0x65, 0xa6, 0xde, 0x8c, 0xd2, 0x1d, 0x68, 0x89, 0x83, 0xb0, 0xc4, 0xa1, - 0x27, 0x60, 0xc0, 0x89, 0xb6, 0xe2, 0xe9, 0x01, 0x46, 0x33, 0x42, 0x6b, 0x5a, 0x88, 0xb6, 0x62, - 0xcc, 0xa0, 0x54, 0x6d, 0x79, 0x10, 0x46, 0xf7, 0xbd, 0x60, 0xab, 0xea, 0x45, 0x4c, 0x07, 0xd1, - 0xd4, 0x96, 0x7b, 0x0a, 0x83, 0x35, 0x2a, 0x54, 0x83, 0xc1, 0x56, 0x18, 0x25, 0xf1, 0xf4, 0x10, - 0x1b, 0xce, 0x17, 0x72, 0x67, 0x0f, 0xef, 0x77, 0x2d, 0x8c, 0x92, 0xb4, 0x2b, 0xf4, 0x5f, 0x8c, - 0x39, 0x23, 0xb4, 0x04, 0x65, 0x12, 0xec, 0x4c, 0x0f, 0x33, 0x7e, 0x1f, 0x3e, 0x9c, 0xdf, 0x72, - 0xb0, 0x73, 0xd7, 0x89, 0xd2, 0x45, 0xb4, 0x1c, 0xec, 0x60, 0x5a, 0x1a, 0x35, 0xa0, 0x22, 0xdd, - 0x0a, 0xf1, 0xf4, 0x48, 0x91, 0x09, 0x86, 0x05, 0x39, 0x26, 0xef, 0xb4, 0xbd, 0x88, 0x34, 0x49, - 0x90, 0xc4, 0xa9, 0x0e, 0x2f, 0xb1, 0x31, 0x4e, 0xf9, 0xa2, 0x06, 0x8c, 0x71, 0x55, 0x67, 0x2d, - 0x6c, 0x07, 0x49, 0x3c, 0x5d, 0x61, 0x4d, 0xce, 0x31, 0x92, 0xef, 0xa6, 0x25, 0x16, 0xcf, 0x08, - 0xf6, 0x63, 0x1a, 0x30, 0xc6, 0x06, 0x53, 0xf4, 0x16, 0x8c, 0xfb, 0xde, 0x0e, 0x09, 0x48, 0x1c, - 0xd7, 0xa2, 0x70, 0x83, 0x4c, 0x03, 0xeb, 0xcd, 0xd3, 0x79, 0x06, 0x63, 0xb8, 0x41, 0x16, 0x4f, - 0xed, 0xef, 0xcd, 0x8e, 0xdf, 0xd4, 0x4b, 0x63, 0x93, 0x19, 0xfa, 0x22, 0x4c, 0x50, 0xbd, 0xca, - 0x4b, 0xd9, 0x8f, 0x16, 0x67, 0x8f, 0xf6, 0xf7, 0x66, 0x27, 0xb0, 0x51, 0x1c, 0x67, 0xd8, 0xa1, - 0x75, 0xa8, 0xf8, 0xde, 0x26, 0x69, 0xec, 0x36, 0x7c, 0x32, 0x3d, 0xc6, 0x78, 0xe7, 0x2c, 0xb9, - 0x9b, 0x92, 0x9c, 0xeb, 0xb2, 0xea, 0x2f, 0x4e, 0x19, 0xa1, 0xbb, 0x70, 0x2e, 0x21, 0x51, 0xd3, - 0x0b, 0x1c, 0xaa, 0x58, 0x08, 0x45, 0x8b, 0x59, 0xe5, 0xe3, 0x6c, 0xd6, 0x9e, 0x17, 0x03, 0x7b, - 0x6e, 0xbd, 0x2b, 0x15, 0xee, 0x51, 0x1a, 0xdd, 0x86, 0x49, 0xb6, 0x9e, 0x6a, 0x6d, 0xdf, 0xaf, - 0x85, 0xbe, 0xd7, 0xd8, 0x9d, 0x9e, 0x60, 0x0c, 0x9f, 0x91, 0xb6, 0xf6, 0xaa, 0x89, 0xa6, 0x36, - 0x48, 0xfa, 0x0f, 0x67, 0x4b, 0x23, 0x1f, 0x26, 0x63, 0xd2, 0x68, 0x47, 0x5e, 0xb2, 0x4b, 0xe7, - 0x3e, 0x79, 0x98, 0x4c, 0x4f, 0x16, 0xb1, 0xa9, 0xea, 0x66, 0x21, 0xee, 0xe8, 0xc8, 0x00, 0x71, - 0x96, 0x35, 0x15, 0x15, 0x71, 0xe2, 0x7a, 0xc1, 0xf4, 0x14, 0x53, 0xa2, 0xd5, 0xfa, 0xaa, 0x53, - 0x20, 0xe6, 0x38, 0x66, 0xaa, 0xd2, 0x1f, 0xb7, 0xa9, 0xec, 0x3d, 0xc5, 0x08, 0x53, 0x53, 0x55, - 0x22, 0x70, 0x4a, 0x43, 0xf7, 0xab, 0x24, 0xd9, 0x9d, 0x46, 0x8c, 0x54, 0x2d, 0xb5, 0xf5, 0xf5, - 0xcf, 0x62, 0x0a, 0x47, 0x77, 0x61, 0x98, 0x04, 0x3b, 0x2b, 0x51, 0xd8, 0x9c, 0x3e, 0x5d, 0x44, - 0x06, 0x2c, 0x73, 0x62, 0xbe, 0x2b, 0xa4, 0xda, 0xb2, 0x00, 0x63, 0xc9, 0xcc, 0xde, 0x80, 0x09, - 0x25, 0x2e, 0xd8, 0xa8, 0xa3, 0x59, 0x18, 0xa4, 0x12, 0x51, 0x5a, 0x70, 0x15, 0xda, 0x35, 0x2a, - 0x28, 0x63, 0xcc, 0xe1, 0xac, 0x6b, 0xde, 0x97, 0xc9, 0xe2, 0x6e, 0x42, 0xb8, 0x26, 0x5f, 0xd6, - 0xba, 0x26, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0x0f, 0xdf, 0x6b, 0x53, 0x99, 0x54, 0x40, 0x1e, 0x5f, - 0x82, 0x91, 0xed, 0x30, 0x4e, 0x28, 0x35, 0xab, 0x63, 0x30, 0xdd, 0x5d, 0xaf, 0x0b, 0x38, 0x56, - 0x14, 0xe8, 0x35, 0x18, 0x6f, 0xe8, 0x15, 0x88, 0x2d, 0xe2, 0xac, 0x28, 0x62, 0xd6, 0x8e, 0x4d, - 0x5a, 0x74, 0x15, 0x46, 0x98, 0x5b, 0xb3, 0x11, 0xfa, 0xc2, 0x66, 0x90, 0x3b, 0xde, 0x48, 0x4d, - 0xc0, 0x0f, 0xb4, 0xdf, 0x58, 0x51, 0x53, 0xcb, 0x8b, 0x36, 0x61, 0xb5, 0x26, 0xc4, 0xb8, 0xb2, - 0xbc, 0xae, 0x33, 0x28, 0x16, 0x58, 0xfb, 0x1f, 0x97, 0xb4, 0x51, 0xa6, 0x1a, 0x2f, 0x41, 0x9f, - 0x83, 0xe1, 0x07, 0x8e, 0x97, 0x78, 0xc1, 0x96, 0xd8, 0x99, 0x5f, 0x2a, 0x28, 0xd3, 0x59, 0xf1, - 0x7b, 0xbc, 0x28, 0xdf, 0x7f, 0xc4, 0x1f, 0x2c, 0x19, 0x52, 0xde, 0x51, 0x3b, 0x08, 0x28, 0xef, - 0x52, 0xff, 0xbc, 0x31, 0x2f, 0xca, 0x79, 0x8b, 0x3f, 0x58, 0x32, 0x44, 0x9b, 0x00, 0x72, 0x55, - 0x13, 0x57, 0xb8, 0x13, 0x3f, 0xd6, 0x0f, 0xfb, 0x75, 0x55, 0x7a, 0x71, 0x82, 0xee, 0x78, 0xe9, - 0x7f, 0xac, 0x71, 0xb6, 0x13, 0xa6, 0xe0, 0x74, 0x36, 0x0b, 0x7d, 0x9e, 0x2e, 0x2c, 0x27, 0x4a, - 0x88, 0xbb, 0x90, 0x64, 0x3d, 0xb2, 0x87, 0xeb, 0x69, 0xeb, 0x5e, 0x93, 0xe8, 0x8b, 0x50, 0x30, - 0xc1, 0x29, 0x3f, 0xfb, 0xbb, 0x65, 0x98, 0xee, 0xd5, 0x5c, 0x3a, 0x25, 0xc9, 0x43, 0x2f, 0x59, - 0xa2, 0x2a, 0x88, 0x65, 0x4e, 0xc9, 0x65, 0x01, 0xc7, 0x8a, 0x82, 0xce, 0x8d, 0xd8, 0xdb, 0x0a, - 0x1c, 0x5f, 0x4c, 0x5f, 0x35, 0x37, 0xea, 0x0c, 0x8a, 0x05, 0x96, 0xd2, 0x45, 0xc4, 0x89, 0x85, - 0x37, 0x5b, 0x9b, 0x43, 0x98, 0x41, 0xb1, 0xc0, 0xea, 0x16, 0xf0, 0x40, 0x8e, 0x05, 0x6c, 0x0c, - 0xd1, 0xe0, 0xa3, 0x1d, 0x22, 0xf4, 0x05, 0x80, 0x4d, 0x2f, 0xf0, 0xe2, 0x6d, 0xc6, 0x7d, 0xa8, - 0x6f, 0xee, 0x4a, 0xd5, 0x59, 0x51, 0x5c, 0xb0, 0xc6, 0x11, 0xbd, 0x02, 0xa3, 0x6a, 0x79, 0xae, - 0x56, 0xa7, 0x87, 0x4d, 0x0f, 0x68, 0x2a, 0xab, 0xaa, 0x58, 0xa7, 0xb3, 0xbf, 0x94, 0x9d, 0x2f, - 0x62, 0x55, 0x68, 0xe3, 0x6b, 0x15, 0x1d, 0xdf, 0xd2, 0xe1, 0xe3, 0x6b, 0xff, 0xa7, 0x32, 0x4c, - 0x1a, 0x95, 0xb5, 0xe3, 0x02, 0x12, 0xed, 0x0d, 0xba, 0x6d, 0x38, 0x09, 0x11, 0x6b, 0xf2, 0x52, - 0x3f, 0x8b, 0x46, 0xdf, 0x64, 0xe8, 0x5a, 0xe0, 0x9c, 0xd0, 0x36, 0x54, 0x7c, 0x27, 0x66, 0x36, - 0x34, 0x11, 0x6b, 0xb1, 0x3f, 0xb6, 0xa9, 0x6a, 0xef, 0xc4, 0x89, 0xb6, 0x8b, 0xf3, 0x5a, 0x52, - 0xe6, 0x74, 0xcf, 0xa3, 0x2a, 0x87, 0x3c, 0x42, 0x51, 0xcd, 0xa1, 0x7a, 0xc9, 0x2e, 0xe6, 0x38, - 0x74, 0x15, 0xc6, 0x22, 0xc2, 0x66, 0xca, 0x12, 0xd5, 0xaa, 0xd8, 0xd4, 0x1b, 0x4c, 0xd5, 0x2f, - 0xac, 0xe1, 0xb0, 0x41, 0x99, 0x6a, 0xdf, 0x43, 0x87, 0x68, 0xdf, 0xcf, 0xc1, 0x30, 0xfb, 0xa1, - 0x66, 0x85, 0xfa, 0x42, 0xab, 0x1c, 0x8c, 0x25, 0x3e, 0x3b, 0x89, 0x46, 0x0a, 0x4e, 0xa2, 0xe7, - 0x61, 0xa2, 0xea, 0x90, 0x66, 0x18, 0x2c, 0x07, 0x6e, 0x2b, 0xf4, 0x82, 0x04, 0x4d, 0xc3, 0x00, - 0xdb, 0x4f, 0xf8, 0x7a, 0x1f, 0xa0, 0x1c, 0xf0, 0x00, 0xd5, 0xa0, 0xed, 0xff, 0x6b, 0xc1, 0x78, - 0x95, 0xf8, 0x24, 0x21, 0xb7, 0x5b, 0xcc, 0xef, 0x82, 0x56, 0x00, 0x6d, 0x45, 0x4e, 0x83, 0xd4, - 0x48, 0xe4, 0x85, 0x6e, 0x9d, 0x34, 0xc2, 0x80, 0x9d, 0x3c, 0xd0, 0x0d, 0xf2, 0xdc, 0xfe, 0xde, - 0x2c, 0xba, 0xd6, 0x81, 0xc5, 0x5d, 0x4a, 0x20, 0x17, 0xc6, 0x5b, 0x11, 0x31, 0x1c, 0x45, 0x56, - 0xfe, 0x86, 0x5f, 0xd3, 0x8b, 0x70, 0x9d, 0xd4, 0x00, 0x61, 0x93, 0x29, 0xfa, 0x34, 0x4c, 0x85, - 0x51, 0x6b, 0xdb, 0x09, 0xaa, 0xa4, 0x45, 0x02, 0x97, 0x2a, 0xe2, 0xc2, 0x2b, 0x78, 0x66, 0x7f, - 0x6f, 0x76, 0xea, 0x76, 0x06, 0x87, 0x3b, 0xa8, 0xed, 0x5f, 0x2f, 0xc1, 0xd9, 0x6a, 0xf8, 0x20, - 0x78, 0xe0, 0x44, 0xee, 0x42, 0x6d, 0x95, 0x6b, 0xd7, 0xcc, 0xcb, 0x2a, 0xbd, 0xbb, 0x56, 0x4f, - 0xef, 0xee, 0xe7, 0x61, 0x64, 0xd3, 0x23, 0xbe, 0x8b, 0xc9, 0xa6, 0xe8, 0xde, 0xe5, 0x22, 0xee, - 0xef, 0x15, 0x5a, 0x46, 0x7a, 0x1a, 0xb8, 0x73, 0x79, 0x45, 0xb0, 0xc1, 0x8a, 0x21, 0x6a, 0xc3, - 0x94, 0x34, 0x1f, 0x24, 0x56, 0xac, 0x8e, 0x97, 0x8a, 0x59, 0x27, 0x66, 0x35, 0x6c, 0x3c, 0x70, - 0x86, 0x21, 0xee, 0xa8, 0x82, 0x9a, 0x7d, 0x4d, 0xba, 0x37, 0x0c, 0xb0, 0xb9, 0xc2, 0xcc, 0x3e, - 0x66, 0x97, 0x32, 0xa8, 0xfd, 0x77, 0x2d, 0x78, 0xac, 0x63, 0xb4, 0x84, 0xd1, 0xfe, 0xa6, 0xb4, - 0x96, 0xf9, 0x31, 0x55, 0x4e, 0x2b, 0xbb, 0x8e, 0x79, 0x31, 0xcb, 0xb9, 0x54, 0xc0, 0x72, 0xbe, - 0x0d, 0x67, 0x96, 0x9b, 0xad, 0x64, 0xb7, 0xea, 0x99, 0x4e, 0xe9, 0x57, 0x61, 0xa8, 0x49, 0x5c, - 0xaf, 0xdd, 0x14, 0x9f, 0x75, 0x56, 0x0a, 0xd2, 0x35, 0x06, 0x3d, 0xd8, 0x9b, 0x1d, 0xaf, 0x27, - 0x61, 0xe4, 0x6c, 0x11, 0x0e, 0xc0, 0x82, 0xdc, 0x7e, 0xcf, 0x82, 0x49, 0xb9, 0xa0, 0x16, 0x5c, - 0x37, 0x22, 0x71, 0x8c, 0x66, 0xa0, 0xe4, 0xb5, 0x04, 0x23, 0x10, 0x8c, 0x4a, 0xab, 0x35, 0x5c, - 0xf2, 0x5a, 0xe8, 0x73, 0x50, 0xe1, 0x67, 0x19, 0xe9, 0xe4, 0xe8, 0xf3, 0x6c, 0x84, 0x99, 0x34, - 0xeb, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0xb5, 0x92, 0x89, 0xea, 0xb2, 0xe9, 0x59, 0xbf, 0x2e, 0xe0, - 0x58, 0x51, 0xa0, 0x8b, 0x30, 0x12, 0x84, 0x2e, 0x3f, 0x6e, 0xe2, 0x9b, 0x2e, 0x9b, 0x72, 0xb7, - 0x04, 0x0c, 0x2b, 0xac, 0xfd, 0x75, 0x0b, 0xc6, 0x64, 0x1f, 0x0b, 0x6a, 0xb8, 0x74, 0x91, 0xa4, - 0xda, 0x6d, 0xba, 0x48, 0xa8, 0x86, 0xca, 0x30, 0x86, 0x62, 0x5a, 0xee, 0x47, 0x31, 0xb5, 0x7f, - 0xab, 0x04, 0x13, 0xb2, 0x39, 0xf5, 0xf6, 0x46, 0x4c, 0xe8, 0xbe, 0x5d, 0x71, 0xf8, 0xe0, 0x13, - 0x39, 0xcf, 0x5e, 0xcc, 0x33, 0x21, 0x8c, 0x6f, 0x96, 0xea, 0x05, 0x0b, 0x92, 0x0f, 0x4e, 0x59, - 0xa2, 0x1d, 0x38, 0x15, 0x84, 0x09, 0xdb, 0x0f, 0x14, 0xbe, 0x98, 0x2f, 0x38, 0x5b, 0xcf, 0xe3, - 0xa2, 0x9e, 0x53, 0xb7, 0xb2, 0xfc, 0x70, 0x67, 0x15, 0xe8, 0xb6, 0x74, 0x8d, 0x94, 0x59, 0x5d, - 0xcf, 0x17, 0xab, 0xab, 0xb7, 0x67, 0xc4, 0xfe, 0x81, 0x05, 0x15, 0x49, 0x76, 0x12, 0x87, 0x02, - 0xf7, 0x60, 0x38, 0x66, 0x9f, 0x48, 0x0e, 0xd7, 0xa5, 0x62, 0x5d, 0xe0, 0xdf, 0x35, 0xdd, 0x04, - 0xf9, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0xc5, 0xa9, 0x3a, 0xf2, 0x81, 0x73, 0x71, 0xaa, 0x96, 0xf5, - 0x72, 0x71, 0xb2, 0xd6, 0x6b, 0x46, 0x2c, 0xd5, 0xe4, 0x5a, 0x11, 0xd9, 0xf4, 0x1e, 0x66, 0x35, - 0xb9, 0x1a, 0x83, 0x62, 0x81, 0x45, 0x9b, 0x30, 0xd6, 0x90, 0xbe, 0xd1, 0x54, 0x84, 0x7c, 0xb4, - 0xa0, 0xc7, 0x55, 0x39, 0xda, 0x79, 0xf0, 0xc6, 0x92, 0xc6, 0x09, 0x1b, 0x7c, 0xed, 0x6f, 0x59, - 0x30, 0xc4, 0x5d, 0x63, 0xc5, 0xfc, 0x8b, 0x9a, 0x9b, 0x3f, 0xed, 0xf3, 0x5d, 0x0a, 0x14, 0x5e, - 0x7f, 0x74, 0x0f, 0x2a, 0xec, 0x07, 0x33, 0xf3, 0xcb, 0x45, 0xa2, 0x4d, 0x78, 0xfd, 0xa2, 0xc1, - 0x4c, 0xec, 0xdd, 0x95, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x7e, 0x99, 0x8a, 0xa7, 0x94, 0xd4, 0xd8, - 0x7f, 0xad, 0x93, 0xd8, 0x7f, 0x4b, 0xc7, 0xbf, 0xff, 0xbe, 0x03, 0x93, 0x0d, 0xed, 0x40, 0x22, - 0xdd, 0xf5, 0xaf, 0x14, 0xfc, 0xf4, 0xda, 0x29, 0x06, 0x77, 0x05, 0x2d, 0x99, 0xec, 0x70, 0x96, - 0x3f, 0x22, 0x30, 0xc6, 0x8f, 0x7e, 0x45, 0x7d, 0x03, 0xac, 0xbe, 0xf9, 0x5c, 0xaf, 0x13, 0x2f, - 0xa1, 0x2a, 0x63, 0x33, 0xad, 0xae, 0x31, 0xc2, 0x06, 0x5b, 0xfb, 0x6f, 0x0c, 0xc2, 0xe0, 0xf2, - 0x0e, 0x09, 0x92, 0x13, 0x10, 0x47, 0x4d, 0x98, 0xf0, 0x82, 0x9d, 0xd0, 0xdf, 0x21, 0x2e, 0xc7, - 0x1f, 0x6d, 0x0b, 0x3e, 0x27, 0x2a, 0x99, 0x58, 0x35, 0x98, 0xe1, 0x0c, 0xf3, 0xe3, 0x30, 0x7f, - 0xdf, 0x80, 0x21, 0x3e, 0x33, 0x84, 0xed, 0x9b, 0xe3, 0x2a, 0x66, 0x03, 0x2b, 0x56, 0x50, 0x6a, - 0xa4, 0x73, 0x2f, 0xb5, 0x60, 0x84, 0xbe, 0x04, 0x13, 0x9b, 0x5e, 0x14, 0x27, 0xd4, 0x82, 0x8d, - 0x13, 0xa7, 0xd9, 0x3a, 0x82, 0xe1, 0xab, 0x46, 0x64, 0xc5, 0xe0, 0x84, 0x33, 0x9c, 0xd1, 0x16, - 0x8c, 0x53, 0xbb, 0x2b, 0xad, 0x6a, 0xb8, 0xef, 0xaa, 0x94, 0xdf, 0xeb, 0xa6, 0xce, 0x08, 0x9b, - 0x7c, 0xa9, 0x48, 0x6a, 0x30, 0x3b, 0x6d, 0x84, 0x69, 0x20, 0x4a, 0x24, 0x71, 0x03, 0x8d, 0xe3, - 0xa8, 0x64, 0x63, 0xe7, 0xfd, 0x15, 0x53, 0xb2, 0xa5, 0xa7, 0xfa, 0xf6, 0x77, 0xe8, 0x7e, 0x49, - 0xc7, 0xf0, 0x04, 0xb6, 0x98, 0xeb, 0xe6, 0x16, 0xf3, 0x74, 0x81, 0x2f, 0xdb, 0x63, 0x7b, 0x79, - 0x1b, 0x46, 0xb5, 0x0f, 0x8f, 0xe6, 0xa1, 0xd2, 0x90, 0x47, 0xd2, 0x42, 0x8a, 0x2b, 0x75, 0x47, - 0x9d, 0x55, 0xe3, 0x94, 0x86, 0x8e, 0x0b, 0x55, 0x13, 0xb3, 0x01, 0x2c, 0x54, 0x89, 0xc4, 0x0c, - 0x63, 0xbf, 0x04, 0xb0, 0xfc, 0x90, 0x34, 0x16, 0x1a, 0x2c, 0x6e, 0x42, 0x3b, 0x3a, 0xb2, 0x7a, - 0x1f, 0x1d, 0xd9, 0xdf, 0xb6, 0x60, 0x62, 0x65, 0xc9, 0xd0, 0xbb, 0xe7, 0x00, 0xb8, 0xfe, 0x7a, - 0xef, 0xde, 0x2d, 0xe9, 0x94, 0xe5, 0x9e, 0x33, 0x05, 0xc5, 0x1a, 0x05, 0x7a, 0x1c, 0xca, 0x7e, - 0x3b, 0x10, 0x6a, 0xe5, 0xf0, 0xfe, 0xde, 0x6c, 0xf9, 0x66, 0x3b, 0xc0, 0x14, 0xa6, 0x45, 0x8a, - 0x94, 0x0b, 0x47, 0x8a, 0xe4, 0xc7, 0x4c, 0x7e, 0xb3, 0x0c, 0x53, 0x2b, 0x3e, 0x79, 0x68, 0xb4, - 0xfa, 0x59, 0x18, 0x72, 0x23, 0x6f, 0x87, 0x44, 0xd9, 0xcd, 0xba, 0xca, 0xa0, 0x58, 0x60, 0x0b, - 0x07, 0xaf, 0x18, 0x81, 0x3b, 0xe5, 0x63, 0x0e, 0xdc, 0xc9, 0xed, 0x33, 0xda, 0x84, 0xe1, 0x90, - 0x9b, 0xfd, 0xd3, 0x83, 0x6c, 0x2a, 0xbe, 0x76, 0x78, 0x63, 0xb2, 0xe3, 0x33, 0x27, 0x9c, 0x06, - 0x3c, 0x6c, 0x40, 0xc9, 0x32, 0x01, 0xc5, 0x92, 0xf9, 0xcc, 0x27, 0x60, 0x4c, 0xa7, 0xec, 0x2b, - 0x7e, 0xe0, 0xe7, 0x2d, 0x38, 0xbd, 0xe2, 0x87, 0x8d, 0xfb, 0x99, 0xe8, 0xa2, 0x57, 0x60, 0x94, - 0x2e, 0xa6, 0xd8, 0x08, 0xbd, 0x33, 0x62, 0x0c, 0x05, 0x0a, 0xeb, 0x74, 0x5a, 0xb1, 0x3b, 0x77, - 0x56, 0xab, 0xdd, 0x42, 0x13, 0x05, 0x0a, 0xeb, 0x74, 0xf6, 0xef, 0x5b, 0xf0, 0xe4, 0xb5, 0xa5, - 0xe5, 0x1a, 0x89, 0x62, 0x2f, 0x4e, 0x48, 0x90, 0x74, 0x44, 0x47, 0x52, 0xbd, 0xce, 0xd5, 0x9a, - 0x92, 0xea, 0x75, 0x55, 0xd6, 0x0a, 0x81, 0xfd, 0xa0, 0x84, 0x08, 0x7f, 0xcb, 0x82, 0xd3, 0xd7, - 0xbc, 0x04, 0x93, 0x56, 0x98, 0x0d, 0x68, 0x8c, 0x48, 0x2b, 0x8c, 0xbd, 0x24, 0x8c, 0x76, 0xb3, - 0x01, 0x8d, 0x58, 0x61, 0xb0, 0x46, 0xc5, 0x6b, 0xde, 0xf1, 0x62, 0xda, 0xd2, 0x92, 0x69, 0x8e, - 0x62, 0x01, 0xc7, 0x8a, 0x82, 0x76, 0xcc, 0xf5, 0x22, 0xa6, 0x32, 0xec, 0x8a, 0x15, 0xac, 0x3a, - 0x56, 0x95, 0x08, 0x9c, 0xd2, 0xd8, 0x7f, 0xd3, 0x82, 0xb3, 0xd7, 0xfc, 0x76, 0x9c, 0x90, 0x68, - 0x33, 0x36, 0x1a, 0xfb, 0x12, 0x54, 0x88, 0x54, 0xc0, 0x45, 0x5b, 0xd5, 0xa6, 0xa1, 0x34, 0x73, - 0x1e, 0x4d, 0xa9, 0xe8, 0x0a, 0x04, 0xed, 0xf5, 0x17, 0x62, 0xf6, 0xdb, 0x25, 0x18, 0xbf, 0xbe, - 0xbe, 0x5e, 0xbb, 0x46, 0x12, 0x21, 0x25, 0xf3, 0x1d, 0x47, 0x35, 0xcd, 0x6a, 0xd6, 0xf6, 0x96, - 0xcc, 0xaa, 0x6b, 0x27, 0x9e, 0x3f, 0xc7, 0x83, 0xd7, 0xe7, 0x56, 0x83, 0xe4, 0x76, 0x54, 0x4f, - 0x22, 0x2f, 0xd8, 0xea, 0x6a, 0x65, 0x4b, 0x49, 0x5e, 0xee, 0x25, 0xc9, 0xd1, 0x4b, 0x30, 0xc4, - 0xe2, 0xed, 0xa5, 0xea, 0xf1, 0x33, 0x4a, 0x4b, 0x60, 0xd0, 0x83, 0xbd, 0xd9, 0xca, 0x1d, 0xbc, - 0xca, 0xff, 0x60, 0x41, 0x8a, 0xbe, 0x08, 0xa3, 0xdb, 0x49, 0xd2, 0xba, 0x4e, 0x1c, 0x97, 0x44, - 0x52, 0x4a, 0x5c, 0x3c, 0x5c, 0x4a, 0xd0, 0xc1, 0xe0, 0x05, 0xd2, 0x85, 0x95, 0xc2, 0x62, 0xac, - 0x73, 0xb4, 0xeb, 0x00, 0x29, 0xee, 0x11, 0x59, 0x20, 0xf6, 0xcf, 0x95, 0x60, 0xf8, 0xba, 0x13, - 0xb8, 0x3e, 0x89, 0xd0, 0x0a, 0x0c, 0x90, 0x87, 0xa4, 0x21, 0xb6, 0xf1, 0x9c, 0xa6, 0xa7, 0x5b, - 0x1d, 0xf7, 0x7c, 0xd1, 0xff, 0x98, 0x95, 0x47, 0x18, 0x86, 0x69, 0xbb, 0xaf, 0xa9, 0x48, 0xd7, - 0x17, 0xf2, 0x47, 0x41, 0x4d, 0x09, 0xbe, 0x4f, 0x0a, 0x10, 0x96, 0x8c, 0x98, 0x8f, 0xa8, 0xd1, - 0xaa, 0x53, 0xe1, 0x96, 0x14, 0x0b, 0x6a, 0x5f, 0x5f, 0xaa, 0x71, 0x72, 0xc1, 0x97, 0xfb, 0x88, - 0x24, 0x10, 0xa7, 0xec, 0xec, 0xab, 0x70, 0x86, 0x1d, 0x31, 0x3a, 0xc9, 0xb6, 0xb1, 0x66, 0x72, - 0x27, 0xa7, 0xfd, 0xb7, 0x4b, 0x70, 0x6a, 0xb5, 0xbe, 0x54, 0x37, 0xbd, 0x7b, 0x57, 0x61, 0x8c, - 0x6f, 0xcf, 0x74, 0xd2, 0x39, 0xbe, 0x28, 0xaf, 0xdc, 0xe2, 0xeb, 0x1a, 0x0e, 0x1b, 0x94, 0xe8, - 0x49, 0x28, 0x7b, 0xef, 0x04, 0xd9, 0x18, 0xa6, 0xd5, 0x37, 0x6e, 0x61, 0x0a, 0xa7, 0x68, 0xba, - 0xd3, 0x73, 0x11, 0xa7, 0xd0, 0x6a, 0xb7, 0x7f, 0x1d, 0x26, 0xbc, 0xb8, 0x11, 0x7b, 0xab, 0x01, - 0x5d, 0xff, 0x4e, 0x43, 0x4e, 0xdf, 0x54, 0x35, 0xa7, 0x4d, 0x55, 0x58, 0x9c, 0xa1, 0xd6, 0xe4, - 0xed, 0x60, 0x61, 0x6d, 0x21, 0x3f, 0xe4, 0xf5, 0x4b, 0x50, 0x51, 0xe1, 0x3e, 0x32, 0x48, 0xcb, - 0xea, 0x1e, 0xa4, 0x55, 0x40, 0xe0, 0x48, 0x9f, 0x6b, 0xb9, 0xab, 0xcf, 0xf5, 0x1f, 0x58, 0x90, - 0x46, 0x36, 0x20, 0x0c, 0x95, 0x56, 0xc8, 0x0e, 0x34, 0x22, 0x79, 0x72, 0xf8, 0x4c, 0xce, 0x4c, - 0xe4, 0x2b, 0x81, 0xcf, 0x95, 0x9a, 0x2c, 0x8b, 0x53, 0x36, 0xe8, 0x26, 0x0c, 0xb7, 0x22, 0x52, - 0x4f, 0x58, 0xdc, 0x74, 0x1f, 0x1c, 0xd9, 0xac, 0xae, 0xf1, 0x92, 0x58, 0xb2, 0xb0, 0xff, 0xb9, - 0x05, 0x70, 0xd3, 0x6b, 0x7a, 0x09, 0x76, 0x82, 0x2d, 0x72, 0x02, 0xc6, 0xde, 0x2d, 0x18, 0x88, - 0x5b, 0xa4, 0x51, 0xec, 0x48, 0x2a, 0x6d, 0x59, 0xbd, 0x45, 0x1a, 0xe9, 0xe7, 0xa0, 0xff, 0x30, - 0xe3, 0x63, 0xff, 0x43, 0x80, 0x89, 0x94, 0x8c, 0x2a, 0xdc, 0xe8, 0x45, 0x23, 0x60, 0xf8, 0xf1, - 0x4c, 0xc0, 0x70, 0x85, 0x51, 0x6b, 0x31, 0xc2, 0x09, 0x94, 0x9b, 0xce, 0x43, 0xa1, 0xdf, 0xbf, - 0x52, 0xb4, 0x41, 0xb4, 0xa6, 0xb9, 0x35, 0xe7, 0x21, 0x57, 0xa7, 0x5e, 0x90, 0x13, 0x69, 0xcd, - 0x79, 0x78, 0xc0, 0x0f, 0x9e, 0xd8, 0x4a, 0xa4, 0x06, 0xc5, 0xd7, 0xfe, 0x4b, 0xfa, 0x9f, 0x09, - 0x47, 0x5a, 0x1d, 0xab, 0xd5, 0x0b, 0x84, 0x0b, 0xb1, 0xcf, 0x5a, 0xbd, 0x20, 0x5b, 0xab, 0x17, - 0x14, 0xa8, 0xd5, 0x0b, 0xd0, 0xbb, 0x16, 0x0c, 0x0b, 0xcf, 0x3b, 0x8b, 0x15, 0x1b, 0xbd, 0xf2, - 0xf1, 0xbe, 0xaa, 0x16, 0x2e, 0x7c, 0x5e, 0xfd, 0xbc, 0xd4, 0x21, 0x05, 0x34, 0xb7, 0x09, 0xb2, - 0x6a, 0xf4, 0xab, 0x16, 0x4c, 0x88, 0xdf, 0x98, 0xbc, 0xd3, 0x26, 0x71, 0x22, 0x76, 0xab, 0x4f, - 0x1f, 0xa5, 0x35, 0x82, 0x05, 0x6f, 0xd4, 0xc7, 0xa4, 0xa8, 0x31, 0x91, 0xb9, 0x6d, 0xcb, 0xb4, - 0x07, 0x7d, 0xcf, 0x82, 0x33, 0x4d, 0xe7, 0x21, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x88, - 0x87, 0x5b, 0xe9, 0x77, 0x9e, 0x74, 0x30, 0xe2, 0xcd, 0xfd, 0xa4, 0x3c, 0x0e, 0xed, 0x46, 0x92, - 0xdb, 0xe8, 0xae, 0x2d, 0x9c, 0x71, 0x61, 0x44, 0x4e, 0xcc, 0x2e, 0xda, 0xfb, 0xa2, 0xbe, 0x29, - 0x1f, 0xbe, 0x02, 0xa5, 0xbf, 0x6b, 0xee, 0x8d, 0xb6, 0x13, 0x24, 0x5e, 0xb2, 0xab, 0xe9, 0xfa, - 0xac, 0x16, 0x31, 0x11, 0x8f, 0xb1, 0x96, 0x6d, 0x18, 0xd3, 0xe7, 0xdc, 0x31, 0xd6, 0x14, 0xc2, - 0xe9, 0x2e, 0xf3, 0xe9, 0x18, 0x2b, 0x6c, 0xc3, 0xe3, 0x3d, 0xe7, 0xc5, 0xf1, 0x55, 0x6b, 0xff, - 0x33, 0x4b, 0x17, 0x98, 0x27, 0xe0, 0x41, 0x59, 0x33, 0x3d, 0x28, 0x17, 0x8b, 0xae, 0x9c, 0x1e, - 0x6e, 0x94, 0x4d, 0xbd, 0xf9, 0x74, 0x23, 0x40, 0xeb, 0x30, 0xe4, 0x53, 0x88, 0x3c, 0x64, 0xba, - 0xd4, 0xcf, 0xda, 0x4c, 0x75, 0x0c, 0x06, 0x8f, 0xb1, 0xe0, 0x65, 0x7f, 0xcf, 0x82, 0x81, 0x9f, - 0xe0, 0x25, 0x86, 0x0e, 0xd6, 0xe2, 0x1e, 0xee, 0x1c, 0x76, 0x1e, 0x2c, 0x3f, 0x4c, 0x48, 0x10, - 0x33, 0x95, 0xb2, 0xeb, 0x10, 0xfd, 0x7a, 0x09, 0x46, 0x69, 0x55, 0x32, 0x4c, 0xe0, 0x35, 0x18, - 0xf7, 0x9d, 0x0d, 0xe2, 0x4b, 0xef, 0x6f, 0xd6, 0xfc, 0xba, 0xa9, 0x23, 0xb1, 0x49, 0x4b, 0x0b, - 0x6f, 0xea, 0xce, 0x71, 0xa1, 0x1a, 0xa9, 0xc2, 0x86, 0xe7, 0x1c, 0x9b, 0xb4, 0xd4, 0x02, 0x78, - 0xe0, 0x24, 0x8d, 0x6d, 0x61, 0x9a, 0xa9, 0xe6, 0xde, 0xa3, 0x40, 0xcc, 0x71, 0x68, 0x01, 0x26, - 0xe5, 0x8c, 0xbd, 0x4b, 0x6d, 0xf6, 0x30, 0x10, 0x6a, 0xa3, 0xba, 0x08, 0x89, 0x4d, 0x34, 0xce, - 0xd2, 0xa3, 0x4f, 0xc0, 0x04, 0x1d, 0x9c, 0xb0, 0x9d, 0xc8, 0x20, 0x88, 0x41, 0x16, 0x04, 0xc1, - 0x22, 0x59, 0xd7, 0x0d, 0x0c, 0xce, 0x50, 0xda, 0x5f, 0x84, 0xd3, 0x37, 0x43, 0xc7, 0x5d, 0x74, - 0x7c, 0x27, 0x68, 0x90, 0x68, 0x35, 0xd8, 0xca, 0x3d, 0x2f, 0xd6, 0xcf, 0x74, 0x4b, 0x79, 0x67, - 0xba, 0x76, 0x04, 0x48, 0xaf, 0x40, 0x84, 0xef, 0xbc, 0x05, 0xc3, 0x1e, 0xaf, 0x4a, 0x4c, 0xdb, - 0xcb, 0x79, 0xce, 0xa5, 0x8e, 0x36, 0x6a, 0xe1, 0x28, 0x1c, 0x80, 0x25, 0x4b, 0x6a, 0x51, 0x74, - 0xf3, 0x46, 0xe5, 0x1b, 0x6d, 0xf6, 0x5f, 0xb4, 0x60, 0xf2, 0x56, 0xe6, 0x96, 0xdd, 0xb3, 0x30, - 0x14, 0x93, 0xa8, 0x8b, 0x6b, 0xad, 0xce, 0xa0, 0x58, 0x60, 0x1f, 0xb9, 0xb9, 0xfe, 0x4b, 0x25, - 0xa8, 0xb0, 0x40, 0xd0, 0x16, 0xb5, 0x0e, 0x8e, 0x5f, 0x39, 0x5d, 0x33, 0x94, 0xd3, 0x1c, 0xa3, - 0x51, 0x35, 0xac, 0x97, 0x6e, 0x8a, 0xee, 0xa8, 0xdb, 0x67, 0x85, 0xec, 0xc5, 0x94, 0x21, 0xbf, - 0xa1, 0x34, 0x61, 0x5e, 0x56, 0x93, 0x37, 0xd3, 0xd8, 0x29, 0xab, 0xa2, 0xfd, 0xc0, 0x9d, 0xb2, - 0xaa, 0x96, 0xf5, 0x10, 0x4e, 0x35, 0xad, 0xf1, 0x4c, 0x7c, 0x7f, 0x8a, 0x85, 0xf7, 0x39, 0xbe, - 0xf7, 0x65, 0xa2, 0x2e, 0x71, 0xce, 0x8a, 0x70, 0x3d, 0x01, 0x3d, 0x60, 0x72, 0x46, 0xfc, 0xe3, - 0x77, 0x74, 0xd3, 0x22, 0xf6, 0x75, 0x98, 0xcc, 0x0c, 0x1d, 0x7a, 0x05, 0x06, 0x5b, 0xdb, 0x4e, - 0x4c, 0x32, 0x81, 0x23, 0x83, 0x35, 0x0a, 0x3c, 0xd8, 0x9b, 0x9d, 0x50, 0x05, 0x18, 0x04, 0x73, - 0x6a, 0xfb, 0xdd, 0x12, 0x0c, 0xdc, 0x0a, 0xdd, 0x93, 0x98, 0x6a, 0xd7, 0x8d, 0xa9, 0xf6, 0x6c, - 0xfe, 0x0d, 0xff, 0x9e, 0xb3, 0xac, 0x96, 0x99, 0x65, 0x17, 0x0b, 0xf0, 0x3a, 0x7c, 0x82, 0x35, - 0x61, 0x94, 0x65, 0x10, 0x10, 0x91, 0x33, 0x2f, 0x19, 0xf6, 0xd4, 0x6c, 0xc6, 0x9e, 0x9a, 0xd4, - 0x48, 0x35, 0xab, 0xea, 0x39, 0x18, 0x16, 0x91, 0x1a, 0xd9, 0xe0, 0x46, 0x41, 0x8b, 0x25, 0xde, - 0xfe, 0x27, 0x65, 0x30, 0x32, 0x16, 0xa0, 0x1f, 0x58, 0x30, 0x17, 0xf1, 0xeb, 0x1a, 0x6e, 0xb5, - 0x1d, 0x79, 0xc1, 0x56, 0xbd, 0xb1, 0x4d, 0xdc, 0xb6, 0xef, 0x05, 0x5b, 0xab, 0x5b, 0x41, 0xa8, - 0xc0, 0xcb, 0x0f, 0x49, 0xa3, 0xcd, 0x9c, 0xae, 0x85, 0x13, 0x25, 0xa8, 0x13, 0xd0, 0x2b, 0xfb, - 0x7b, 0xb3, 0x73, 0xb8, 0xaf, 0x5a, 0x70, 0x9f, 0xad, 0x42, 0x7f, 0x64, 0xc1, 0x3c, 0xbf, 0xb3, - 0x5f, 0xbc, 0x27, 0x85, 0xec, 0xd0, 0x9a, 0x64, 0x9a, 0xb2, 0x5b, 0x27, 0x51, 0x73, 0xf1, 0x55, - 0x31, 0xc8, 0xf3, 0xb5, 0xfe, 0x6a, 0xc5, 0xfd, 0x36, 0xd3, 0xfe, 0x97, 0x65, 0x18, 0xa7, 0xe3, - 0x99, 0xde, 0xd3, 0x7d, 0xc5, 0x98, 0x26, 0x4f, 0x65, 0xa6, 0xc9, 0x29, 0x83, 0xf8, 0xd1, 0x5c, - 0xd1, 0x8d, 0xe1, 0x94, 0xef, 0xc4, 0xc9, 0x75, 0xe2, 0x44, 0xc9, 0x06, 0x71, 0xd8, 0x41, 0x63, - 0x36, 0x88, 0xa1, 0xc0, 0xd9, 0xa5, 0x8a, 0xfe, 0xb9, 0x99, 0x65, 0x86, 0x3b, 0xf9, 0xa3, 0x1d, - 0x40, 0xec, 0x50, 0x33, 0x72, 0x82, 0x98, 0xf7, 0xc5, 0x13, 0x6e, 0xda, 0xfe, 0x6a, 0x9d, 0x11, - 0xb5, 0xa2, 0x9b, 0x1d, 0xdc, 0x70, 0x97, 0x1a, 0xb4, 0x63, 0xeb, 0xc1, 0xa2, 0xc7, 0xd6, 0x43, - 0x39, 0x51, 0xc5, 0xbf, 0x60, 0xc1, 0x69, 0xfa, 0x59, 0xcc, 0x08, 0xd4, 0x18, 0x85, 0x30, 0x49, - 0xa7, 0x9d, 0x4f, 0x12, 0x09, 0x13, 0xeb, 0x2b, 0x47, 0xb3, 0x36, 0xf9, 0xa4, 0xea, 0xdb, 0x0d, - 0x93, 0x19, 0xce, 0x72, 0xb7, 0xbf, 0x6d, 0x01, 0x0b, 0x71, 0x3b, 0x81, 0xcd, 0xec, 0x9a, 0xb9, - 0x99, 0xd9, 0xf9, 0x12, 0xa3, 0xc7, 0x3e, 0xf6, 0x32, 0x4c, 0x51, 0x6c, 0x2d, 0x0a, 0x1f, 0xee, - 0x4a, 0x45, 0x3b, 0xdf, 0x5f, 0xfb, 0x6e, 0x89, 0x2f, 0x1b, 0x75, 0xef, 0x0c, 0xfd, 0xa2, 0x05, - 0x23, 0x0d, 0xa7, 0xe5, 0x34, 0x78, 0xbe, 0x97, 0x02, 0x3e, 0x19, 0xa3, 0xfc, 0xdc, 0x92, 0x28, - 0xcb, 0xfd, 0x09, 0x1f, 0x95, 0x5d, 0x97, 0xe0, 0x5c, 0x1f, 0x82, 0xaa, 0x7c, 0xc6, 0x83, 0x71, - 0x83, 0xd9, 0x31, 0x1a, 0xa1, 0xbf, 0x68, 0x71, 0x91, 0xaf, 0x0c, 0x85, 0x07, 0x70, 0x2a, 0xd0, - 0xfe, 0x53, 0x61, 0x26, 0xf5, 0xe2, 0xb9, 0xe2, 0x42, 0x9d, 0xc9, 0x40, 0x2d, 0x98, 0x2f, 0xc3, - 0x10, 0x77, 0xd6, 0x61, 0xff, 0x1d, 0x0b, 0x1e, 0xd3, 0x09, 0xb5, 0x6b, 0x82, 0x79, 0xbe, 0xe2, - 0x2a, 0x8c, 0x84, 0x2d, 0x12, 0x39, 0xa9, 0x51, 0x74, 0x51, 0x8e, 0xfe, 0x6d, 0x01, 0x3f, 0xd8, - 0x9b, 0x3d, 0xa3, 0x73, 0x97, 0x70, 0xac, 0x4a, 0x22, 0x1b, 0x86, 0xd8, 0xb8, 0xc4, 0xe2, 0x82, - 0x27, 0xcb, 0x7e, 0xc2, 0x4e, 0x48, 0x62, 0x2c, 0x30, 0xf6, 0x5f, 0xb5, 0xf8, 0x64, 0xd3, 0x9b, - 0x8e, 0xbe, 0x02, 0x53, 0x4d, 0x6a, 0x3f, 0x2d, 0x3f, 0x6c, 0xd1, 0x6d, 0x94, 0x9d, 0x0c, 0x5b, - 0x45, 0x36, 0x8f, 0x1e, 0xdd, 0x5d, 0x9c, 0x16, 0xad, 0x9f, 0x5a, 0xcb, 0xb0, 0xc5, 0x1d, 0x15, - 0xd9, 0x7f, 0x2c, 0x56, 0x2c, 0xd3, 0xe0, 0x9e, 0x83, 0xe1, 0x56, 0xe8, 0x2e, 0xad, 0x56, 0xb1, - 0x18, 0x2b, 0x25, 0x72, 0x6a, 0x1c, 0x8c, 0x25, 0x1e, 0x5d, 0x01, 0x20, 0x0f, 0x13, 0x12, 0x05, - 0x8e, 0xaf, 0x4e, 0x74, 0x95, 0xa2, 0xb4, 0xac, 0x30, 0x58, 0xa3, 0xa2, 0x65, 0x5a, 0x51, 0xb8, - 0xe3, 0xb9, 0x2c, 0xb2, 0xbe, 0x6c, 0x96, 0xa9, 0x29, 0x0c, 0xd6, 0xa8, 0xa8, 0xd5, 0xda, 0x0e, - 0x62, 0xbe, 0x89, 0x39, 0x1b, 0x22, 0x59, 0xc7, 0x48, 0x6a, 0xb5, 0xde, 0xd1, 0x91, 0xd8, 0xa4, - 0xb5, 0xff, 0x63, 0x05, 0x20, 0x55, 0x93, 0xd0, 0xbb, 0x9d, 0x2b, 0xf4, 0x63, 0x45, 0x75, 0xac, - 0x47, 0xb7, 0x3c, 0xd1, 0x37, 0x2c, 0x18, 0x75, 0x7c, 0x3f, 0x6c, 0x38, 0x09, 0xeb, 0x51, 0xa9, - 0xa8, 0xac, 0x10, 0x2d, 0x59, 0x48, 0xcb, 0xf2, 0xc6, 0xbc, 0x24, 0x0f, 0xfc, 0x34, 0x4c, 0x6e, - 0x7b, 0xf4, 0x26, 0xa0, 0x8f, 0x4a, 0x35, 0x9b, 0x7f, 0x94, 0x99, 0xac, 0x9a, 0x5d, 0x61, 0x12, - 0x52, 0xd3, 0xb0, 0xd1, 0x17, 0x8d, 0x7c, 0x14, 0x03, 0x45, 0xee, 0x15, 0x1a, 0x8a, 0x43, 0x5e, - 0x2a, 0x0a, 0xf4, 0x39, 0x3d, 0xe8, 0x78, 0xb0, 0xc8, 0xc5, 0x5d, 0x4d, 0x7f, 0xcd, 0x09, 0x38, - 0x4e, 0x60, 0xd2, 0x35, 0xb7, 0x4a, 0x11, 0x94, 0x75, 0x39, 0xbf, 0x86, 0xcc, 0x1e, 0x9b, 0x6e, - 0x8e, 0x19, 0x04, 0xce, 0x56, 0x81, 0x3e, 0xc7, 0x43, 0xc2, 0x57, 0x83, 0xcd, 0x50, 0x04, 0x66, - 0x5d, 0x2a, 0xf0, 0xcd, 0x77, 0xe3, 0x84, 0x34, 0x69, 0x99, 0x74, 0x37, 0xbc, 0x25, 0xb8, 0x60, - 0xc5, 0x0f, 0xad, 0xc3, 0x10, 0xbb, 0xc0, 0x12, 0x4f, 0x8f, 0x14, 0x71, 0x9d, 0x99, 0xf7, 0x36, - 0x53, 0x15, 0x84, 0xfd, 0x8d, 0xb1, 0xe0, 0x85, 0xae, 0xcb, 0xfb, 0xd3, 0xf1, 0x6a, 0x70, 0x27, - 0x26, 0xec, 0xfe, 0x74, 0x65, 0xf1, 0xc3, 0xe9, 0x85, 0x68, 0x0e, 0xef, 0x9a, 0x91, 0xcb, 0x28, - 0x49, 0x35, 0x11, 0xf1, 0x5f, 0x26, 0xfa, 0x9a, 0x86, 0x22, 0x0d, 0x35, 0xd3, 0x82, 0xa5, 0x83, - 0x7d, 0xd7, 0x64, 0x86, 0xb3, 0xdc, 0x4f, 0x70, 0x0f, 0x9c, 0xf1, 0x61, 0x2a, 0xbb, 0x24, 0x8f, - 0x71, 0xc7, 0xfd, 0xd3, 0x01, 0x98, 0x30, 0x27, 0x06, 0x9a, 0x87, 0x8a, 0xd0, 0xa6, 0x54, 0xd2, - 0x1f, 0x35, 0xff, 0xd7, 0x24, 0x02, 0xa7, 0x34, 0x2c, 0xfd, 0x11, 0x2b, 0xae, 0x85, 0xe3, 0xa4, - 0xe9, 0x8f, 0x14, 0x06, 0x6b, 0x54, 0x54, 0x6d, 0xdd, 0x08, 0xc3, 0x44, 0x09, 0x6e, 0x35, 0x67, - 0x16, 0x19, 0x14, 0x0b, 0x2c, 0x15, 0xd8, 0xf7, 0x69, 0x87, 0x7c, 0xd3, 0x05, 0xa8, 0x04, 0xf6, - 0x0d, 0x1d, 0x89, 0x4d, 0x5a, 0xba, 0x01, 0x85, 0x31, 0x9b, 0x84, 0x42, 0x39, 0x4e, 0xc3, 0x9b, - 0xea, 0xfc, 0x42, 0x97, 0xc4, 0xa3, 0xcf, 0xc2, 0x63, 0xea, 0xfe, 0x15, 0xe6, 0x2e, 0x55, 0x59, - 0xe3, 0x90, 0x61, 0xdf, 0x3e, 0xb6, 0xd4, 0x9d, 0x0c, 0xf7, 0x2a, 0x8f, 0x5e, 0x87, 0x09, 0xa1, - 0xd8, 0x4a, 0x8e, 0xc3, 0xe6, 0xe9, 0xf7, 0x0d, 0x03, 0x8b, 0x33, 0xd4, 0xa8, 0x0a, 0x53, 0x14, - 0xc2, 0x34, 0x4a, 0xc9, 0x81, 0xdf, 0x23, 0x53, 0x3b, 0xf3, 0x8d, 0x0c, 0x1e, 0x77, 0x94, 0x40, - 0x0b, 0x30, 0xc9, 0x75, 0x0b, 0x6a, 0xc5, 0xb1, 0xef, 0x20, 0x22, 0x29, 0xd5, 0x22, 0xb8, 0x6d, - 0xa2, 0x71, 0x96, 0x1e, 0x5d, 0x85, 0x31, 0x27, 0x6a, 0x6c, 0x7b, 0x09, 0x69, 0x24, 0xed, 0x88, - 0x67, 0x26, 0xd0, 0xc2, 0x07, 0x16, 0x34, 0x1c, 0x36, 0x28, 0xed, 0x2f, 0xc3, 0xe9, 0x2e, 0x61, - 0xdb, 0x74, 0xe2, 0x38, 0x2d, 0x4f, 0xf6, 0x29, 0x13, 0xa8, 0xb4, 0x50, 0x5b, 0x95, 0xbd, 0xd1, - 0xa8, 0xe8, 0xec, 0x64, 0xbe, 0x64, 0x2d, 0x27, 0x9f, 0x9a, 0x9d, 0x2b, 0x12, 0x81, 0x53, 0x1a, - 0xfb, 0x7f, 0x56, 0x40, 0x73, 0xb5, 0x14, 0x08, 0x4f, 0xb9, 0x0a, 0x63, 0x32, 0xcd, 0xa4, 0x96, - 0xde, 0x4d, 0x75, 0xf3, 0x9a, 0x86, 0xc3, 0x06, 0x25, 0x6d, 0x5b, 0x20, 0x1d, 0x48, 0xd9, 0xb0, - 0x28, 0xe5, 0x59, 0xc2, 0x29, 0x0d, 0xba, 0x04, 0x23, 0x31, 0xf1, 0x37, 0x6f, 0x7a, 0xc1, 0x7d, - 0x31, 0xb1, 0x95, 0x54, 0xae, 0x0b, 0x38, 0x56, 0x14, 0x68, 0x11, 0xca, 0x6d, 0xcf, 0x15, 0x53, - 0x59, 0xaa, 0x0c, 0xe5, 0x3b, 0xab, 0xd5, 0x83, 0xbd, 0xd9, 0xa7, 0x7a, 0xe5, 0xe9, 0xa4, 0xc6, - 0x74, 0x3c, 0x47, 0x97, 0x1f, 0x2d, 0xdc, 0xcd, 0xa9, 0x3e, 0xd4, 0xa7, 0x53, 0xfd, 0x0a, 0x80, - 0xe8, 0xb5, 0x9c, 0xcb, 0xe5, 0xf4, 0xab, 0x5d, 0x53, 0x18, 0xac, 0x51, 0x51, 0x93, 0xbc, 0x11, - 0x11, 0x47, 0x5a, 0xad, 0x3c, 0x9c, 0x78, 0xe4, 0xe8, 0x26, 0xf9, 0x52, 0x96, 0x19, 0xee, 0xe4, - 0x8f, 0x42, 0x38, 0xe5, 0xd2, 0x85, 0x64, 0x54, 0x5a, 0xe9, 0x3f, 0x86, 0x99, 0x56, 0x58, 0xcd, - 0x32, 0xc2, 0x9d, 0xbc, 0xd1, 0x17, 0x60, 0x46, 0x02, 0x3b, 0x6f, 0x58, 0xb2, 0xe5, 0x52, 0x5e, - 0x3c, 0xbf, 0xbf, 0x37, 0x3b, 0x53, 0xed, 0x49, 0x85, 0x0f, 0xe1, 0x80, 0xde, 0x82, 0x21, 0x76, - 0x08, 0x13, 0x4f, 0x8f, 0xb2, 0xdd, 0xee, 0xe5, 0x22, 0x91, 0xf0, 0x74, 0xd6, 0xcf, 0xb1, 0xa3, - 0x1c, 0x11, 0xe3, 0x99, 0x9e, 0x6c, 0x31, 0x20, 0x16, 0x3c, 0x51, 0x0b, 0x46, 0x9d, 0x20, 0x08, - 0x13, 0x87, 0x2b, 0x61, 0x63, 0x45, 0xf4, 0x48, 0xad, 0x8a, 0x85, 0xb4, 0x2c, 0xaf, 0x47, 0x05, - 0x8e, 0x69, 0x18, 0xac, 0x57, 0x81, 0x1e, 0xc0, 0x64, 0xf8, 0x80, 0x0a, 0x4c, 0x79, 0x0e, 0x11, - 0x4f, 0x8f, 0x9b, 0x1d, 0xcb, 0xf1, 0xaa, 0x1a, 0x85, 0x35, 0x49, 0x66, 0x32, 0xc5, 0xd9, 0x5a, - 0xd0, 0x9c, 0xe1, 0x5b, 0x9e, 0x48, 0x23, 0x99, 0x53, 0xdf, 0xb2, 0xee, 0x4a, 0x66, 0xb7, 0x78, - 0x79, 0xf4, 0x22, 0x93, 0x08, 0x93, 0x99, 0x5b, 0xbc, 0x29, 0x0a, 0xeb, 0x74, 0x33, 0x1f, 0x87, - 0x51, 0x6d, 0xe0, 0xfb, 0x09, 0x99, 0x9d, 0x79, 0x1d, 0xa6, 0xb2, 0x03, 0xda, 0x57, 0xc8, 0xed, - 0xff, 0x28, 0xc1, 0x64, 0x97, 0x43, 0x9e, 0xfb, 0x1e, 0x0b, 0xfb, 0x36, 0x44, 0xdf, 0x0d, 0x2f, - 0x70, 0x31, 0xc3, 0x98, 0x02, 0xac, 0x54, 0x40, 0x80, 0x49, 0x69, 0x5a, 0xee, 0x29, 0x4d, 0x85, - 0xd0, 0x1a, 0x78, 0x3f, 0x42, 0xcb, 0xdc, 0x27, 0x06, 0x0b, 0xed, 0x13, 0x8f, 0x40, 0xd0, 0x19, - 0x5b, 0xcd, 0x70, 0x81, 0xad, 0xe6, 0x5b, 0x25, 0x98, 0x4a, 0xc3, 0x8b, 0x45, 0xee, 0xd9, 0xe3, - 0x3f, 0x33, 0x58, 0x37, 0xce, 0x0c, 0xf2, 0x52, 0xcb, 0x66, 0xda, 0xd7, 0xf3, 0xfc, 0xe0, 0xad, - 0xcc, 0xf9, 0xc1, 0xcb, 0x7d, 0xf2, 0x3d, 0xfc, 0x2c, 0xe1, 0xbb, 0x25, 0x38, 0x9b, 0x2d, 0xb2, - 0xe4, 0x3b, 0x5e, 0xf3, 0x04, 0xc6, 0xeb, 0xb3, 0xc6, 0x78, 0xbd, 0xda, 0x5f, 0xbf, 0x58, 0x23, - 0x7b, 0x0e, 0x9a, 0x93, 0x19, 0xb4, 0x8f, 0x1f, 0x85, 0xf9, 0xe1, 0x23, 0xf7, 0x07, 0x16, 0x3c, - 0xde, 0xb5, 0xdc, 0x09, 0x78, 0x49, 0xdf, 0x34, 0xbd, 0xa4, 0x2f, 0x1d, 0xa1, 0x77, 0x3d, 0xdc, - 0xa6, 0xff, 0xb5, 0xd4, 0xa3, 0x57, 0xcc, 0x93, 0x74, 0x1b, 0x46, 0x9d, 0x46, 0x83, 0xc4, 0xf1, - 0x5a, 0xe8, 0xaa, 0x7c, 0x40, 0x2f, 0xb2, 0xbd, 0x25, 0x05, 0x1f, 0xec, 0xcd, 0xce, 0x64, 0x59, - 0xa4, 0x68, 0xac, 0x73, 0x30, 0xf3, 0x85, 0x95, 0x8e, 0x29, 0x5f, 0xd8, 0x15, 0x80, 0x1d, 0x65, - 0xc1, 0x66, 0x1d, 0x54, 0x9a, 0x6d, 0xab, 0x51, 0xa1, 0x3f, 0xcf, 0x34, 0x42, 0x1e, 0x51, 0x31, - 0x60, 0xde, 0x54, 0xcc, 0xf9, 0x7e, 0x7a, 0x74, 0x06, 0xbf, 0x10, 0xa9, 0x9c, 0x79, 0x8a, 0xa5, - 0xfd, 0x4f, 0xcb, 0xf0, 0x33, 0x87, 0x4c, 0x3a, 0xb4, 0x60, 0x1e, 0x90, 0xbe, 0x90, 0xf5, 0xdc, - 0xcc, 0x74, 0x2d, 0x6c, 0xb8, 0x72, 0x32, 0xdf, 0xaa, 0xf4, 0xbe, 0xbf, 0xd5, 0x37, 0x75, 0x3f, - 0x1b, 0x0f, 0x8c, 0xbc, 0x76, 0xe4, 0x65, 0xf5, 0xd3, 0xe9, 0x17, 0xff, 0x9a, 0x05, 0x4f, 0x75, - 0xed, 0x94, 0x11, 0x8e, 0x31, 0x0f, 0x95, 0x06, 0x05, 0x6a, 0x37, 0x58, 0xd2, 0xab, 0x63, 0x12, - 0x81, 0x53, 0x1a, 0x23, 0xea, 0xa2, 0x94, 0x1b, 0x75, 0xf1, 0x7b, 0x16, 0x9c, 0xc9, 0x36, 0xe2, - 0x04, 0x64, 0x4e, 0xdd, 0x94, 0x39, 0x73, 0xfd, 0x7d, 0xfa, 0x1e, 0xe2, 0xe6, 0x57, 0xc7, 0xe1, - 0x5c, 0xc7, 0x8e, 0xc5, 0x47, 0xf1, 0x67, 0x2d, 0x38, 0xb5, 0xc5, 0x34, 0x6f, 0xed, 0x9a, 0x90, - 0xe8, 0x57, 0xce, 0xdd, 0xaa, 0x43, 0x6f, 0x17, 0x71, 0x3b, 0xa2, 0x83, 0x04, 0x77, 0x56, 0x86, - 0xbe, 0x6e, 0xc1, 0x19, 0xe7, 0x41, 0xdc, 0xf1, 0xaa, 0x81, 0x98, 0x46, 0xaf, 0xe7, 0x38, 0xb9, - 0x72, 0xde, 0x43, 0x58, 0x9c, 0xde, 0xdf, 0x9b, 0x3d, 0xd3, 0x8d, 0x0a, 0x77, 0xad, 0x95, 0x7e, - 0xdf, 0x6d, 0x71, 0x0d, 0xa1, 0xd8, 0x85, 0xb7, 0x6e, 0x97, 0x16, 0xb8, 0x48, 0x92, 0x18, 0xac, - 0x38, 0xa2, 0xb7, 0xa1, 0xb2, 0x25, 0x6f, 0x06, 0x65, 0x45, 0x5e, 0x8f, 0x61, 0xee, 0x76, 0x91, - 0x88, 0x87, 0xc6, 0x2b, 0x14, 0x4e, 0x99, 0xa2, 0xeb, 0x50, 0x0e, 0x36, 0x63, 0x71, 0x07, 0x37, - 0x2f, 0xd8, 0xc6, 0x0c, 0x71, 0xe2, 0xd7, 0x16, 0x6f, 0xad, 0xd4, 0x31, 0x65, 0x41, 0x39, 0x45, - 0x1b, 0xae, 0xf0, 0xee, 0xe6, 0x70, 0xc2, 0x8b, 0xd5, 0x4e, 0x4e, 0x78, 0xb1, 0x8a, 0x29, 0x0b, - 0x54, 0x83, 0x41, 0x76, 0xc9, 0x41, 0xb8, 0x6e, 0x73, 0x2e, 0x6a, 0x77, 0x5c, 0xe5, 0xe0, 0xc9, - 0xf0, 0x18, 0x18, 0x73, 0x46, 0x68, 0x1d, 0x86, 0x1a, 0x2c, 0x81, 0xb7, 0xb0, 0xab, 0xf3, 0xd2, - 0x0c, 0x74, 0x24, 0xfb, 0xe6, 0x47, 0x4c, 0x1c, 0x8e, 0x05, 0x2f, 0xc6, 0x95, 0xb4, 0xb6, 0x37, - 0x63, 0x61, 0x38, 0xe7, 0x71, 0xed, 0x48, 0xc5, 0x2e, 0xb8, 0x32, 0x38, 0x16, 0xbc, 0x50, 0x15, - 0x4a, 0x9b, 0x0d, 0x91, 0xd9, 0x32, 0xc7, 0x65, 0x6b, 0xde, 0x41, 0x5d, 0x1c, 0xda, 0xdf, 0x9b, - 0x2d, 0xad, 0x2c, 0xe1, 0xd2, 0x66, 0x03, 0xbd, 0x09, 0xc3, 0x9b, 0xfc, 0x56, 0xa1, 0xc8, 0x62, - 0x79, 0x39, 0xef, 0xea, 0x63, 0xc7, 0x15, 0x44, 0x7e, 0xfd, 0x41, 0x20, 0xb0, 0x64, 0xc7, 0x52, - 0x8b, 0xa9, 0x7b, 0x92, 0x22, 0x8d, 0xe5, 0x5c, 0x7f, 0xf7, 0x2a, 0x85, 0x3d, 0xa9, 0xa0, 0x58, - 0xe3, 0x48, 0xe7, 0xbc, 0x23, 0xdf, 0x22, 0x60, 0x29, 0x2c, 0x73, 0xe7, 0x7c, 0xd7, 0xa7, 0x0b, - 0xf8, 0x9c, 0x57, 0x28, 0x9c, 0x32, 0x45, 0x6d, 0x18, 0xdf, 0x89, 0x5b, 0xdb, 0x44, 0x2e, 0x7d, - 0x96, 0xd7, 0x72, 0xf4, 0xca, 0x27, 0x73, 0x92, 0x95, 0x8a, 0x22, 0x5e, 0x94, 0xb4, 0x1d, 0xbf, - 0x43, 0x82, 0xb1, 0x5c, 0x4e, 0x77, 0x75, 0xb6, 0xd8, 0xac, 0x85, 0x7e, 0x92, 0x77, 0xda, 0xe1, - 0xc6, 0x6e, 0x42, 0x44, 0xde, 0xcb, 0x9c, 0x4f, 0xf2, 0x06, 0x27, 0xee, 0xfc, 0x24, 0x02, 0x81, - 0x25, 0x3b, 0x35, 0x64, 0x4c, 0x1a, 0x4f, 0x15, 0x1e, 0xb2, 0x8e, 0x3e, 0xa4, 0x43, 0xc6, 0xa4, - 0x6f, 0xca, 0x94, 0x49, 0xdd, 0xd6, 0x76, 0x98, 0x84, 0x41, 0x46, 0xf6, 0x9f, 0x2a, 0x22, 0x75, - 0x6b, 0x5d, 0x4a, 0x76, 0x4a, 0xdd, 0x6e, 0x54, 0xb8, 0x6b, 0xad, 0xf6, 0x1f, 0x0f, 0x76, 0x6e, - 0xb7, 0x4c, 0x19, 0xfe, 0x2b, 0x9d, 0xe7, 0x8e, 0x9f, 0xee, 0xdf, 0xe6, 0x7b, 0x84, 0x27, 0x90, - 0x5f, 0xb7, 0xe0, 0x5c, 0xab, 0xeb, 0x66, 0x2a, 0x36, 0xac, 0x7e, 0x4d, 0x47, 0x3e, 0x60, 0x2a, - 0xa9, 0x6b, 0x77, 0x3c, 0xee, 0x51, 0x67, 0x56, 0x01, 0x2d, 0xbf, 0x6f, 0x05, 0xf4, 0x1e, 0x8c, - 0x30, 0x9d, 0x29, 0xcd, 0xab, 0xd1, 0x67, 0x0a, 0x0a, 0xb6, 0xf5, 0x2d, 0x09, 0x16, 0x58, 0x31, - 0xa3, 0x03, 0xf7, 0x64, 0xb6, 0x13, 0x98, 0x30, 0xb4, 0xc8, 0x46, 0xcb, 0x7d, 0x1d, 0x2b, 0x62, - 0x24, 0x9e, 0xac, 0x1d, 0x46, 0x7c, 0x90, 0x47, 0x80, 0x0f, 0xaf, 0xec, 0x24, 0x15, 0xda, 0xbf, - 0x67, 0x75, 0xd1, 0xbf, 0xb8, 0x09, 0xf2, 0x49, 0xd3, 0x04, 0x79, 0x36, 0x6b, 0x82, 0x74, 0xb8, - 0x0d, 0x0c, 0xeb, 0xa3, 0x78, 0xf2, 0xc4, 0xa2, 0x09, 0x3f, 0x6c, 0x1f, 0x2e, 0xe4, 0x2d, 0x6e, - 0x16, 0xe1, 0xe3, 0xaa, 0xe3, 0xb2, 0x34, 0xc2, 0xc7, 0x5d, 0xad, 0x62, 0x86, 0x29, 0x7a, 0x67, - 0xdc, 0xfe, 0xb9, 0x12, 0x94, 0x6b, 0xa1, 0x7b, 0x02, 0x6e, 0x90, 0x6b, 0x86, 0x1b, 0xe4, 0x99, - 0xdc, 0x97, 0x98, 0x7a, 0x3a, 0x3d, 0x6e, 0x67, 0x9c, 0x1e, 0x1f, 0xc9, 0x67, 0x75, 0xb8, 0x8b, - 0xe3, 0x7b, 0x65, 0xd0, 0xdf, 0x92, 0x42, 0xff, 0xe1, 0x28, 0x81, 0x9f, 0xe5, 0x62, 0xcf, 0x4b, - 0x89, 0x3a, 0x58, 0x88, 0x90, 0xbc, 0x24, 0xf6, 0x53, 0x1b, 0xff, 0x79, 0x8f, 0x78, 0x5b, 0xdb, - 0x09, 0x71, 0xb3, 0x1d, 0x3b, 0xb9, 0xf8, 0xcf, 0xff, 0x66, 0xc1, 0x64, 0xa6, 0x76, 0xe4, 0x77, - 0xbb, 0x67, 0x72, 0x44, 0xc7, 0xc6, 0xa9, 0xdc, 0x8b, 0x29, 0x73, 0x00, 0xca, 0x3f, 0x2d, 0xdd, - 0x0f, 0x4c, 0x17, 0x53, 0x0e, 0xec, 0x18, 0x6b, 0x14, 0xe8, 0x15, 0x18, 0x4d, 0xc2, 0x56, 0xe8, - 0x87, 0x5b, 0xbb, 0x37, 0x88, 0xcc, 0x66, 0xa0, 0x7c, 0xfb, 0xeb, 0x29, 0x0a, 0xeb, 0x74, 0xf6, - 0xf7, 0xcb, 0x90, 0x7d, 0x89, 0xec, 0xff, 0xcf, 0xd3, 0x9f, 0x9e, 0x79, 0xfa, 0x87, 0x16, 0x4c, - 0xd1, 0xda, 0x59, 0x80, 0x87, 0x8c, 0xd3, 0x54, 0xf9, 0xd4, 0xad, 0x43, 0xf2, 0xa9, 0x3f, 0x4b, - 0xa5, 0x9d, 0x1b, 0xb6, 0x13, 0xe1, 0x32, 0xd1, 0x84, 0x18, 0x85, 0x62, 0x81, 0x15, 0x74, 0x24, - 0x8a, 0xc4, 0x85, 0x16, 0x9d, 0x8e, 0x44, 0x11, 0x16, 0x58, 0x99, 0x6e, 0x7d, 0xa0, 0x47, 0xba, - 0x75, 0x96, 0x0f, 0x48, 0x04, 0x16, 0x08, 0x75, 0x40, 0xcb, 0x07, 0x24, 0x23, 0x0e, 0x52, 0x1a, - 0xfb, 0x3b, 0x65, 0x18, 0xab, 0x85, 0x6e, 0x1a, 0x80, 0xfd, 0xb2, 0x11, 0x80, 0x7d, 0x21, 0x13, - 0x80, 0x3d, 0xa5, 0xd3, 0x3e, 0x9a, 0xf8, 0x6b, 0x91, 0x37, 0x8a, 0x3d, 0x08, 0x70, 0xc4, 0xd8, - 0x6b, 0x23, 0x6f, 0x94, 0x62, 0x84, 0x4d, 0xbe, 0x7f, 0x96, 0x62, 0xae, 0xff, 0xb7, 0x05, 0x13, - 0xb5, 0xd0, 0xa5, 0x13, 0xf4, 0xcf, 0xd2, 0x6c, 0xd4, 0xb3, 0x4d, 0x0d, 0x1d, 0x92, 0x6d, 0xea, - 0x1f, 0x59, 0x30, 0x5c, 0x0b, 0xdd, 0x13, 0x70, 0x27, 0xae, 0x98, 0xee, 0xc4, 0xa7, 0x72, 0x25, - 0x6f, 0x0f, 0x0f, 0xe2, 0x6f, 0x96, 0x61, 0x9c, 0xb6, 0x38, 0xdc, 0x92, 0xdf, 0xcb, 0x18, 0x1b, - 0xab, 0xc0, 0xd8, 0x50, 0x95, 0x30, 0xf4, 0xfd, 0xf0, 0x41, 0xf6, 0xdb, 0xad, 0x30, 0x28, 0x16, - 0x58, 0x74, 0x09, 0x46, 0x5a, 0x11, 0xd9, 0xf1, 0xc2, 0x76, 0x9c, 0xbd, 0x1c, 0x57, 0x13, 0x70, - 0xac, 0x28, 0xd0, 0xcb, 0x30, 0x16, 0x7b, 0x41, 0x83, 0xc8, 0xb0, 0x83, 0x01, 0x16, 0x76, 0xc0, - 0x13, 0xfb, 0x69, 0x70, 0x6c, 0x50, 0xa1, 0x7b, 0x50, 0x61, 0xff, 0xd9, 0x0a, 0xea, 0x3f, 0x53, - 0x3b, 0xcf, 0x66, 0x25, 0x19, 0xe0, 0x94, 0x17, 0xba, 0x02, 0x90, 0xc8, 0x00, 0x89, 0x58, 0x64, - 0xe5, 0x50, 0x7a, 0xa9, 0x0a, 0x9d, 0x88, 0xb1, 0x46, 0x85, 0x5e, 0x80, 0x4a, 0xe2, 0x78, 0xfe, - 0x4d, 0x2f, 0x20, 0xb1, 0x08, 0x30, 0x11, 0x89, 0x74, 0x05, 0x10, 0xa7, 0x78, 0xba, 0xdf, 0xb3, - 0xab, 0xb9, 0xfc, 0x15, 0x88, 0x11, 0x46, 0xcd, 0xf6, 0xfb, 0x9b, 0x0a, 0x8a, 0x35, 0x0a, 0xfb, - 0x25, 0xb6, 0x6f, 0xf7, 0x19, 0x9f, 0xff, 0xa3, 0x12, 0xa0, 0x1a, 0x0b, 0xc4, 0x30, 0x1e, 0xe0, - 0xd8, 0x86, 0x89, 0x98, 0xdc, 0xf4, 0x82, 0xf6, 0x43, 0xc1, 0xaa, 0xd8, 0x85, 0x88, 0xfa, 0xb2, - 0x5e, 0x86, 0xdf, 0x46, 0x35, 0x61, 0x38, 0xc3, 0x97, 0x0e, 0x49, 0xd4, 0x0e, 0x16, 0xe2, 0x3b, - 0x31, 0x89, 0xc4, 0x53, 0x17, 0x6c, 0x48, 0xb0, 0x04, 0xe2, 0x14, 0x4f, 0xa7, 0x00, 0xfb, 0x73, - 0x2b, 0x0c, 0x70, 0x18, 0x26, 0x72, 0xd2, 0xb0, 0xd4, 0xe7, 0x1a, 0x1c, 0x1b, 0x54, 0x68, 0x05, - 0x50, 0xdc, 0x6e, 0xb5, 0x7c, 0x76, 0xb6, 0xe5, 0xf8, 0xd7, 0xa2, 0xb0, 0xdd, 0xe2, 0xb1, 0xb8, - 0x22, 0x6b, 0x78, 0xbd, 0x03, 0x8b, 0xbb, 0x94, 0xa0, 0x4b, 0x7e, 0x33, 0x66, 0xbf, 0xc5, 0x6d, - 0x5b, 0xee, 0x63, 0xab, 0x33, 0x10, 0x96, 0x38, 0xfb, 0xab, 0x6c, 0x9b, 0x62, 0x6f, 0x10, 0x24, - 0xed, 0x88, 0xa0, 0x26, 0x8c, 0xb7, 0xd8, 0x56, 0x94, 0x44, 0xa1, 0xef, 0x13, 0xa9, 0x25, 0x1e, - 0x2d, 0x14, 0x84, 0x67, 0x1d, 0xd7, 0xd9, 0x61, 0x93, 0xbb, 0xfd, 0xe3, 0x51, 0x26, 0x71, 0xc4, - 0xf1, 0xe2, 0xb0, 0x08, 0xf8, 0x14, 0xfa, 0xd8, 0x87, 0x8b, 0xbc, 0xe9, 0x93, 0x4a, 0x73, 0x11, - 0x3e, 0x8a, 0x25, 0x17, 0xf4, 0x79, 0x16, 0xce, 0xcc, 0x97, 0x79, 0xf1, 0x87, 0xb6, 0x38, 0xbd, - 0x11, 0xca, 0x2c, 0x58, 0x60, 0x8d, 0x1d, 0xba, 0x09, 0xe3, 0x22, 0x65, 0xbd, 0x70, 0x12, 0x94, - 0x0d, 0x43, 0x79, 0x1c, 0xeb, 0xc8, 0x83, 0x2c, 0x00, 0x9b, 0x85, 0xd1, 0x16, 0x3c, 0xa9, 0x3d, - 0x8e, 0xd3, 0x25, 0x6c, 0x89, 0xcb, 0x8f, 0xa7, 0xf6, 0xf7, 0x66, 0x9f, 0x5c, 0x3f, 0x8c, 0x10, - 0x1f, 0xce, 0x07, 0xdd, 0x86, 0xb3, 0x4e, 0x23, 0xf1, 0x76, 0x48, 0x95, 0x38, 0xae, 0xef, 0x05, - 0xc4, 0xbc, 0x92, 0xfd, 0xf8, 0xfe, 0xde, 0xec, 0xd9, 0x85, 0x6e, 0x04, 0xb8, 0x7b, 0x39, 0xf4, - 0x49, 0xa8, 0xb8, 0x41, 0x2c, 0xc6, 0x60, 0xc8, 0x78, 0x07, 0xa8, 0x52, 0xbd, 0x55, 0x57, 0xfd, - 0x4f, 0xff, 0xe0, 0xb4, 0x00, 0x7a, 0x87, 0x3f, 0xa9, 0xac, 0x6c, 0x12, 0xfe, 0xfe, 0xd4, 0xab, - 0x85, 0xac, 0x60, 0xe3, 0xaa, 0x04, 0xf7, 0x9f, 0xa9, 0xf0, 0x40, 0xe3, 0x16, 0x85, 0x51, 0x05, - 0xfa, 0x0c, 0xa0, 0x98, 0x44, 0x3b, 0x5e, 0x83, 0x2c, 0x34, 0x58, 0x4e, 0x4b, 0x76, 0x50, 0x37, - 0x62, 0xc4, 0xc8, 0xa3, 0x7a, 0x07, 0x05, 0xee, 0x52, 0x0a, 0x5d, 0xa7, 0x92, 0x47, 0x87, 0x8a, - 0x68, 0x4e, 0xa9, 0xde, 0x4d, 0x57, 0x49, 0x2b, 0x22, 0x0d, 0x27, 0x21, 0xae, 0xc9, 0x11, 0x67, - 0xca, 0xd1, 0xdd, 0x45, 0xa5, 0x16, 0x07, 0x33, 0x06, 0xb1, 0x33, 0xbd, 0x38, 0xb5, 0x96, 0xb6, - 0xc3, 0x38, 0xb9, 0x45, 0x92, 0x07, 0x61, 0x74, 0x9f, 0xf9, 0xdd, 0x47, 0xb4, 0x14, 0x61, 0x29, - 0x0a, 0xeb, 0x74, 0x54, 0x13, 0x62, 0x07, 0x3e, 0xab, 0x55, 0xe6, 0x4d, 0x1f, 0x49, 0xd7, 0xce, - 0x75, 0x0e, 0xc6, 0x12, 0x2f, 0x49, 0x57, 0x6b, 0x4b, 0xcc, 0x33, 0x9e, 0x21, 0x5d, 0xad, 0x2d, - 0x61, 0x89, 0x47, 0x61, 0xe7, 0x6b, 0x4b, 0x13, 0x45, 0x4e, 0x29, 0x3a, 0x25, 0x79, 0xc1, 0x07, - 0x97, 0x1e, 0xc2, 0x94, 0x7a, 0xf1, 0x89, 0xe7, 0x6e, 0x8c, 0xa7, 0x27, 0x8b, 0x3c, 0xe8, 0xdc, - 0x35, 0x05, 0xa4, 0x0a, 0xdf, 0x5d, 0xcd, 0xf0, 0xc4, 0x1d, 0xb5, 0x18, 0xa9, 0x05, 0xa6, 0x72, - 0xd3, 0xc5, 0xcf, 0x43, 0x25, 0x6e, 0x6f, 0xb8, 0x61, 0xd3, 0xf1, 0x02, 0xe6, 0xbe, 0xd6, 0x9f, - 0x27, 0x96, 0x08, 0x9c, 0xd2, 0xa0, 0x1a, 0x8c, 0x38, 0xf2, 0x65, 0x6e, 0x54, 0xe4, 0xea, 0xb1, - 0x7a, 0x92, 0x9b, 0xf9, 0x36, 0xd5, 0x5b, 0xdc, 0x8a, 0x0b, 0x7a, 0x0d, 0xc6, 0xc5, 0xdd, 0x19, - 0x12, 0xb1, 0x56, 0x9f, 0x36, 0x03, 0xb7, 0xeb, 0x12, 0xc9, 0x26, 0x98, 0x49, 0x3b, 0xf3, 0x29, - 0x38, 0xd5, 0xb1, 0xc4, 0xfa, 0x0a, 0x7f, 0xfb, 0xb7, 0x03, 0x50, 0x51, 0x7e, 0x26, 0x34, 0x6f, - 0xba, 0x14, 0x1f, 0xcf, 0xba, 0x14, 0x47, 0xa8, 0x42, 0xa0, 0x7b, 0x11, 0xbf, 0xd0, 0xe5, 0x79, - 0xd4, 0xe7, 0x73, 0xe7, 0x54, 0xf1, 0xdb, 0x28, 0x7d, 0x3c, 0x22, 0x9b, 0xda, 0x1a, 0x03, 0x87, - 0xda, 0x1a, 0x05, 0x5f, 0x80, 0xa2, 0x56, 0x45, 0x2b, 0x74, 0x57, 0x6b, 0xd9, 0x07, 0x4e, 0x6a, - 0x14, 0x88, 0x39, 0x8e, 0x69, 0x83, 0x74, 0x8f, 0x60, 0xda, 0xe0, 0xf0, 0x11, 0xb5, 0x41, 0xc9, - 0x00, 0xa7, 0xbc, 0xd0, 0x0e, 0x9c, 0x6a, 0x98, 0xef, 0xd5, 0xa8, 0x3b, 0x26, 0x2f, 0xf6, 0xf1, - 0x5e, 0x4c, 0x5b, 0xcb, 0xcd, 0xbf, 0x94, 0xe5, 0x87, 0x3b, 0xab, 0x40, 0xaf, 0xc1, 0xc8, 0x3b, - 0x61, 0xbc, 0xe4, 0x3b, 0x71, 0x2c, 0x04, 0xa5, 0x8c, 0xe7, 0x1f, 0x79, 0xe3, 0x76, 0x9d, 0xc1, - 0x0f, 0xf8, 0x03, 0xf6, 0xf2, 0x2f, 0x56, 0x05, 0xec, 0xdf, 0xe1, 0x3e, 0x2d, 0x61, 0xe5, 0x92, - 0xb8, 0xed, 0x9f, 0x44, 0xfa, 0xeb, 0xdb, 0x86, 0x01, 0xfe, 0x08, 0xbc, 0xaa, 0xff, 0xde, 0x62, - 0x5e, 0xd5, 0x75, 0xd2, 0x6c, 0xf9, 0x4e, 0x72, 0x12, 0x81, 0x89, 0x9f, 0x87, 0x91, 0x44, 0xd4, - 0x56, 0x2c, 0x77, 0xb7, 0xd6, 0x3c, 0xe6, 0x6d, 0x56, 0x32, 0x4e, 0x42, 0xb1, 0x62, 0x68, 0xff, - 0x0b, 0xfe, 0x55, 0x24, 0xe6, 0x04, 0x4c, 0xc7, 0x5b, 0xa6, 0xe9, 0xf8, 0x5c, 0xe1, 0xbe, 0xf4, - 0x30, 0x21, 0xbf, 0x6f, 0xf6, 0x80, 0xa9, 0xa2, 0x3f, 0x3d, 0x6e, 0x7f, 0xfb, 0x36, 0x98, 0xef, - 0xfa, 0xa0, 0xd7, 0x79, 0xa8, 0x2f, 0x17, 0xb2, 0x97, 0xfa, 0x0e, 0xf3, 0xb5, 0x7f, 0xa3, 0x04, - 0x67, 0xb8, 0xe3, 0x6f, 0x61, 0x27, 0xf4, 0xdc, 0x5a, 0xe8, 0x8a, 0xc0, 0x67, 0x17, 0xc6, 0x5a, - 0x9a, 0xa9, 0x50, 0x2c, 0xab, 0x83, 0x6e, 0x5c, 0xa4, 0xea, 0x99, 0x0e, 0xc5, 0x06, 0x57, 0x5a, - 0x0b, 0xd9, 0xf1, 0x1a, 0xca, 0x8f, 0x54, 0xea, 0x5b, 0xee, 0xa9, 0x5a, 0x96, 0x35, 0x3e, 0xd8, - 0xe0, 0x7a, 0x0c, 0x69, 0xe6, 0xed, 0x5f, 0xb3, 0xe0, 0xb1, 0x1e, 0x99, 0x1f, 0x68, 0x75, 0x0f, - 0x98, 0xb3, 0x55, 0x3c, 0x1c, 0xa5, 0xaa, 0xe3, 0x2e, 0x58, 0x2c, 0xb0, 0x68, 0x03, 0x80, 0xbb, - 0x50, 0xd9, 0x13, 0xbd, 0xa5, 0x22, 0x11, 0x0f, 0x1d, 0x37, 0xac, 0xb5, 0xcb, 0xb7, 0xea, 0x51, - 0x5e, 0x8d, 0xab, 0xfd, 0xed, 0x32, 0x0c, 0xf2, 0x57, 0x42, 0x6b, 0x30, 0xbc, 0xcd, 0xf3, 0x4f, - 0xf6, 0x97, 0xfe, 0x32, 0x55, 0x05, 0x39, 0x00, 0x4b, 0x36, 0x68, 0x0d, 0x4e, 0x53, 0xbd, 0xc3, - 0x73, 0xfc, 0x2a, 0xf1, 0x9d, 0x5d, 0x69, 0x5b, 0xf0, 0xdc, 0xe3, 0x32, 0x4d, 0xee, 0xe9, 0xd5, - 0x4e, 0x12, 0xdc, 0xad, 0x1c, 0x7a, 0xbd, 0x23, 0x71, 0x14, 0xcf, 0xeb, 0xa9, 0xee, 0x6c, 0x1d, - 0x9e, 0x3c, 0x8a, 0x6a, 0x3f, 0xad, 0x0e, 0x2b, 0x4a, 0x7b, 0x06, 0xd2, 0xb4, 0x9c, 0x4c, 0x5a, - 0x54, 0x85, 0xa9, 0xb8, 0xcd, 0xce, 0x9f, 0xd7, 0xb7, 0x23, 0x12, 0x6f, 0x87, 0xbe, 0x2b, 0x5e, - 0x30, 0x53, 0x1a, 0x63, 0x3d, 0x83, 0xc7, 0x1d, 0x25, 0x28, 0x97, 0x4d, 0xc7, 0xf3, 0xdb, 0x11, - 0x49, 0xb9, 0x0c, 0x99, 0x5c, 0x56, 0x32, 0x78, 0xdc, 0x51, 0xc2, 0xfe, 0x13, 0x0b, 0x4e, 0x77, - 0x09, 0xd2, 0xe0, 0xa1, 0x83, 0x5b, 0x5e, 0x9c, 0xa8, 0x0c, 0xd3, 0x5a, 0xe8, 0x20, 0x87, 0x63, - 0x45, 0x41, 0x67, 0x21, 0x37, 0x8d, 0xb3, 0x87, 0x9f, 0xe2, 0x18, 0x5a, 0x60, 0xfb, 0x4b, 0x03, - 0x85, 0x2e, 0xc0, 0x40, 0x3b, 0x26, 0xf2, 0x79, 0x7d, 0x25, 0xa2, 0x98, 0x37, 0x84, 0x61, 0xa8, - 0xb2, 0xb3, 0xa5, 0x1c, 0x11, 0x9a, 0xb2, 0xc3, 0x5d, 0x11, 0x1c, 0x67, 0x7f, 0xb3, 0x0c, 0x93, - 0x99, 0x60, 0x2d, 0xda, 0x90, 0x66, 0x18, 0x78, 0x49, 0xa8, 0x52, 0x0f, 0xf1, 0x37, 0x58, 0x48, - 0x6b, 0x7b, 0x4d, 0xc0, 0xb1, 0xa2, 0x40, 0xcf, 0x9a, 0x4f, 0x36, 0xa7, 0x6d, 0x5e, 0xac, 0x1a, - 0xef, 0xc6, 0x15, 0xcd, 0x7a, 0xff, 0x34, 0x0c, 0xb4, 0x42, 0xf5, 0x06, 0xa8, 0x9a, 0xf4, 0x78, - 0xb1, 0x5a, 0x0b, 0x43, 0x1f, 0x33, 0x24, 0x7a, 0x46, 0xf4, 0x3e, 0xe3, 0x85, 0xc5, 0x8e, 0x1b, - 0xc6, 0xda, 0x10, 0x3c, 0x07, 0xc3, 0xf7, 0xc9, 0x6e, 0xe4, 0x05, 0x5b, 0x59, 0x1f, 0xf4, 0x0d, - 0x0e, 0xc6, 0x12, 0x6f, 0x66, 0xb6, 0x1f, 0x3e, 0xe6, 0xcc, 0xf6, 0x23, 0xb9, 0xf1, 0xa6, 0xbf, - 0x69, 0xc1, 0x24, 0xcb, 0xc7, 0x27, 0xae, 0xc3, 0x7a, 0x61, 0x70, 0x02, 0xdb, 0xe3, 0xd3, 0x30, - 0x18, 0xd1, 0x4a, 0xb3, 0xc9, 0xa9, 0x59, 0x4b, 0x30, 0xc7, 0xa1, 0x27, 0xc4, 0xf3, 0xfc, 0xf4, - 0x33, 0x8e, 0xf1, 0x64, 0xbf, 0xe9, 0x3b, 0xfb, 0xec, 0x6e, 0x03, 0x26, 0x2d, 0xdf, 0xe3, 0x8d, - 0x4e, 0x9d, 0x4e, 0x1f, 0xb4, 0xbb, 0x0d, 0x5d, 0x1b, 0xf9, 0xa8, 0xee, 0x36, 0x74, 0x67, 0x7e, - 0xb8, 0x8a, 0xfa, 0xdf, 0x4b, 0x70, 0xbe, 0x6b, 0xb9, 0xf4, 0x34, 0x6b, 0xc5, 0x38, 0xcd, 0xba, - 0x92, 0x39, 0xcd, 0xb2, 0x0f, 0x2f, 0xfd, 0x68, 0xce, 0xb7, 0xba, 0x1f, 0x3b, 0x95, 0x4f, 0xf0, - 0xd8, 0x69, 0xa0, 0xa8, 0xea, 0x30, 0x98, 0xa3, 0x3a, 0xfc, 0x81, 0x05, 0x8f, 0x77, 0x1d, 0xb2, - 0x0f, 0xdc, 0x65, 0x92, 0xae, 0xad, 0xec, 0xa1, 0x58, 0xff, 0x52, 0xb9, 0x47, 0xaf, 0x98, 0x8a, - 0x7d, 0x91, 0x4a, 0x21, 0x86, 0x8c, 0x85, 0x52, 0x34, 0xc6, 0x25, 0x10, 0x87, 0x61, 0x85, 0x45, - 0xb1, 0x76, 0x19, 0x83, 0x37, 0x72, 0xf9, 0x88, 0x0b, 0x6a, 0xce, 0xf4, 0x16, 0xea, 0xb7, 0x7c, - 0x33, 0x57, 0x34, 0xd0, 0x3d, 0xcd, 0x68, 0x2a, 0x1f, 0xc5, 0x68, 0x1a, 0xeb, 0x6e, 0x30, 0xa1, - 0x05, 0x98, 0x6c, 0x7a, 0x01, 0x7b, 0xb4, 0xce, 0xd4, 0x4a, 0xd4, 0x8d, 0xb8, 0x35, 0x13, 0x8d, - 0xb3, 0xf4, 0x33, 0xaf, 0xc1, 0xf8, 0xd1, 0x7d, 0x32, 0xef, 0x95, 0xe1, 0x67, 0x0e, 0x11, 0x0a, - 0x7c, 0x77, 0x30, 0xbe, 0x8b, 0xb6, 0x3b, 0x74, 0x7c, 0x9b, 0x1a, 0x9c, 0xd9, 0x6c, 0xfb, 0xfe, - 0x2e, 0x8b, 0x05, 0x21, 0xae, 0xa4, 0x10, 0x1a, 0x9f, 0x7a, 0x4e, 0x76, 0xa5, 0x0b, 0x0d, 0xee, - 0x5a, 0x12, 0x7d, 0x06, 0x50, 0xb8, 0xc1, 0x32, 0x56, 0xba, 0xe9, 0x2d, 0x66, 0xf6, 0x09, 0xca, - 0xe9, 0x52, 0xbd, 0xdd, 0x41, 0x81, 0xbb, 0x94, 0xa2, 0xfa, 0x1f, 0x7b, 0x89, 0x56, 0x35, 0x2b, - 0xa3, 0xff, 0x61, 0x1d, 0x89, 0x4d, 0x5a, 0x74, 0x0d, 0x4e, 0x39, 0x3b, 0x8e, 0xc7, 0x73, 0xd0, - 0x48, 0x06, 0x5c, 0x01, 0x54, 0x5e, 0x8f, 0x85, 0x2c, 0x01, 0xee, 0x2c, 0x83, 0x5a, 0x86, 0x1b, - 0x8b, 0x67, 0xa8, 0xfe, 0xe4, 0x11, 0x66, 0x70, 0x61, 0xc7, 0x96, 0xfd, 0x63, 0x8b, 0x6e, 0x7d, - 0x5d, 0xde, 0x4e, 0x33, 0x1e, 0x46, 0xd7, 0x2e, 0xa8, 0x74, 0x3e, 0x8c, 0xce, 0xfd, 0x81, 0x06, - 0x2d, 0x9f, 0x1a, 0x71, 0x1a, 0x52, 0x6a, 0x68, 0x9b, 0xe2, 0x5e, 0x96, 0xa2, 0x40, 0xf7, 0x60, - 0xd8, 0xf5, 0x76, 0xbc, 0x38, 0x8c, 0x0a, 0x3c, 0x45, 0xdc, 0x11, 0xa6, 0x98, 0x4a, 0xcb, 0x2a, - 0x67, 0x82, 0x25, 0x37, 0xfb, 0x57, 0x4a, 0x30, 0x2e, 0xeb, 0x7b, 0xa3, 0x1d, 0x26, 0xce, 0x09, - 0x6c, 0xe8, 0x6f, 0x18, 0x1b, 0xfa, 0x7c, 0xb1, 0x4b, 0x6a, 0xac, 0x71, 0x3d, 0x37, 0xf2, 0xcf, - 0x66, 0x36, 0xf2, 0xcb, 0xfd, 0x30, 0x3d, 0x7c, 0x03, 0xff, 0xd7, 0x16, 0x9c, 0x32, 0xe8, 0x4f, - 0x60, 0x1f, 0xa9, 0x99, 0xfb, 0xc8, 0x0b, 0x7d, 0xf4, 0xa6, 0xc7, 0xfe, 0xf1, 0xed, 0x52, 0xa6, - 0x17, 0x6c, 0xdf, 0xf8, 0x0a, 0x0c, 0x6c, 0x3b, 0x91, 0x5b, 0x2c, 0x19, 0x5b, 0x47, 0xf1, 0xb9, - 0xeb, 0x4e, 0xe4, 0x72, 0xe9, 0x7f, 0x49, 0xbd, 0xec, 0xe2, 0x44, 0x6e, 0x6e, 0x9c, 0x35, 0xab, - 0x14, 0x5d, 0x85, 0xa1, 0xb8, 0x11, 0xb6, 0x54, 0x44, 0xdb, 0x05, 0xfe, 0xea, 0x0b, 0x85, 0x1c, - 0xec, 0xcd, 0x22, 0xb3, 0x3a, 0x0a, 0xc6, 0x82, 0x7e, 0x86, 0x40, 0x45, 0x55, 0x7d, 0x8c, 0x11, - 0xbd, 0xef, 0x95, 0xe1, 0x74, 0x97, 0x99, 0x82, 0xbe, 0x6a, 0x8c, 0xda, 0x6b, 0x7d, 0x4f, 0xb5, - 0xf7, 0x39, 0x6e, 0x5f, 0x65, 0x56, 0x92, 0x2b, 0xe6, 0xc6, 0x11, 0xaa, 0xbf, 0x13, 0x93, 0x6c, - 0xf5, 0x14, 0x94, 0x5f, 0x3d, 0xad, 0xf6, 0x84, 0x06, 0x9f, 0x56, 0xa3, 0xda, 0x79, 0x8c, 0xdf, - 0xf8, 0xdd, 0x01, 0x38, 0xd3, 0xed, 0x1e, 0x2c, 0xfa, 0x05, 0x2b, 0x93, 0x6b, 0xfd, 0xf5, 0xfe, - 0x2f, 0xd3, 0xf2, 0x04, 0xec, 0x22, 0x77, 0xc4, 0x9c, 0x99, 0x7d, 0x3d, 0x77, 0xb4, 0x45, 0xed, - 0xec, 0x6e, 0x44, 0xc4, 0xb3, 0xe6, 0x4b, 0x79, 0xf0, 0xe9, 0x23, 0x34, 0x45, 0x24, 0xde, 0x8f, - 0x33, 0x77, 0x23, 0x24, 0x38, 0xff, 0x6e, 0x84, 0x6c, 0xc3, 0xcc, 0x16, 0x8c, 0x6a, 0xfd, 0x3a, - 0xc6, 0x29, 0xe0, 0xd1, 0xad, 0x49, 0x6b, 0xf5, 0x31, 0x4e, 0x83, 0x5f, 0xb6, 0x20, 0x13, 0xae, - 0xa2, 0x5c, 0x31, 0x56, 0x4f, 0x57, 0xcc, 0x05, 0x18, 0x88, 0x42, 0x9f, 0x64, 0x73, 0x80, 0xe3, - 0xd0, 0x27, 0x98, 0x61, 0xd4, 0x03, 0x8f, 0xe5, 0x5e, 0x0f, 0x3c, 0x52, 0xdb, 0xdc, 0x27, 0x3b, - 0x44, 0x3a, 0x46, 0x94, 0xf0, 0xbe, 0x49, 0x81, 0x98, 0xe3, 0xec, 0xdf, 0x2f, 0xc3, 0x10, 0xf7, - 0x3e, 0x9c, 0xc0, 0xee, 0x5c, 0x13, 0x8e, 0x80, 0x42, 0x77, 0x53, 0x79, 0xab, 0xe6, 0xaa, 0x4e, - 0xe2, 0xf0, 0x89, 0xa5, 0xfa, 0x98, 0x3a, 0x0f, 0xd0, 0x9c, 0x31, 0x0a, 0x33, 0x19, 0xfb, 0x16, - 0x38, 0x0f, 0x6d, 0x4c, 0xb6, 0x01, 0x62, 0xf6, 0xa4, 0x18, 0xe5, 0x21, 0x32, 0xe7, 0xbd, 0x5c, - 0xa8, 0x1d, 0x75, 0x55, 0x8c, 0xb7, 0x26, 0x4d, 0xd9, 0xa5, 0x10, 0x58, 0xe3, 0x3d, 0xf3, 0x2a, - 0x54, 0x14, 0x71, 0x9e, 0xe2, 0x3f, 0xa6, 0x4f, 0xcd, 0x3f, 0x07, 0x93, 0x99, 0xba, 0xfa, 0xb2, - 0x1b, 0x7e, 0xcb, 0x82, 0x53, 0x1d, 0x2f, 0xd5, 0xa2, 0x77, 0x2d, 0x38, 0xe3, 0x77, 0x71, 0x3f, - 0x89, 0x0f, 0x7d, 0x14, 0xc7, 0x95, 0x32, 0x1a, 0xba, 0x61, 0x71, 0xd7, 0xda, 0x64, 0x2e, 0xd0, - 0x52, 0xf7, 0x5c, 0xa0, 0xf6, 0x6f, 0x58, 0x20, 0x3e, 0xd9, 0x09, 0x28, 0x42, 0xab, 0xa6, 0x22, - 0xf4, 0xe1, 0x22, 0xb3, 0xa0, 0x87, 0x06, 0xf4, 0x7b, 0x16, 0x20, 0x4e, 0x90, 0x7d, 0x59, 0x90, - 0x7b, 0xf3, 0x34, 0x0d, 0x3e, 0x9d, 0x36, 0x0a, 0x83, 0x35, 0xaa, 0x3e, 0xd3, 0xc4, 0xab, 0x17, - 0xb9, 0xba, 0x37, 0x0c, 0x5d, 0x86, 0x51, 0xf1, 0x22, 0xcf, 0x5a, 0xfa, 0xda, 0xd6, 0x24, 0x7b, - 0xf7, 0x31, 0x05, 0x63, 0x9d, 0xc6, 0xfe, 0x9d, 0x32, 0x64, 0x23, 0x3b, 0xd0, 0xdb, 0x30, 0xd6, - 0x70, 0x5a, 0xce, 0x86, 0xe7, 0x7b, 0x89, 0x47, 0xe2, 0x62, 0x27, 0x4a, 0x4b, 0x5a, 0x09, 0xe1, - 0x0f, 0xd6, 0x20, 0xd8, 0xe0, 0x88, 0xe6, 0x00, 0x5a, 0x91, 0xb7, 0xe3, 0xf9, 0x64, 0x8b, 0xa9, - 0x1f, 0x2c, 0xc0, 0x93, 0x1f, 0x8e, 0x48, 0x28, 0xd6, 0x28, 0xba, 0x84, 0x12, 0x96, 0x4f, 0x22, - 0x94, 0x70, 0xa0, 0xcf, 0x50, 0xc2, 0xc1, 0x42, 0xa1, 0x84, 0x18, 0xce, 0x49, 0x37, 0x2e, 0xfd, - 0xbf, 0xe2, 0xf9, 0x84, 0xe7, 0xfe, 0x13, 0x01, 0xa0, 0x33, 0xfb, 0x7b, 0xb3, 0xe7, 0x70, 0x57, - 0x0a, 0xdc, 0xa3, 0xa4, 0xdd, 0x86, 0xd3, 0x75, 0x12, 0x79, 0x2c, 0x25, 0x93, 0x9b, 0x2e, 0xc0, - 0x2f, 0x40, 0x25, 0xca, 0xac, 0xfd, 0x3e, 0x6f, 0xe7, 0x69, 0x49, 0x3c, 0xe4, 0x5a, 0x4f, 0x59, - 0xda, 0x7f, 0xb9, 0x04, 0xc3, 0x22, 0x82, 0xea, 0x04, 0xf6, 0x93, 0x1b, 0x86, 0xb5, 0xf7, 0x5c, - 0xde, 0x0a, 0x66, 0xcd, 0xea, 0x69, 0xe7, 0xd5, 0x33, 0x76, 0xde, 0x0b, 0xc5, 0xd8, 0x1d, 0x6e, - 0xe1, 0xfd, 0xa0, 0x04, 0x13, 0x66, 0x44, 0xd9, 0x09, 0x0c, 0xcb, 0x9b, 0x30, 0x1c, 0x8b, 0x70, - 0xab, 0x52, 0x91, 0x60, 0x91, 0xec, 0x27, 0x56, 0x26, 0xbd, 0x0c, 0xb0, 0x92, 0xec, 0xba, 0x46, - 0x74, 0x95, 0x4f, 0x22, 0xa2, 0xcb, 0xfe, 0x5d, 0x26, 0x62, 0xf5, 0x81, 0x3c, 0x81, 0x2d, 0xe2, - 0x0d, 0x53, 0x18, 0x5f, 0x2a, 0x34, 0x23, 0x44, 0xf3, 0x7a, 0x6c, 0x15, 0xdf, 0xb5, 0x60, 0x54, - 0x10, 0x9e, 0x40, 0x07, 0x3e, 0x63, 0x76, 0xe0, 0x99, 0x42, 0x1d, 0xe8, 0xd1, 0xf2, 0xbf, 0x55, - 0x52, 0x2d, 0xaf, 0x89, 0xf7, 0x57, 0x73, 0x53, 0x43, 0x8e, 0xb4, 0xa2, 0x30, 0x09, 0x1b, 0xa1, - 0x2f, 0xb6, 0xfc, 0x27, 0xd2, 0x48, 0x7c, 0x0e, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, 0x42, 0xcc, - 0xc3, 0x28, 0x11, 0x1b, 0x56, 0xb7, 0xd7, 0x5f, 0x37, 0xe4, 0xeb, 0xda, 0x14, 0x26, 0x2e, 0xb1, - 0xf4, 0xfb, 0xaa, 0x6c, 0x1a, 0x58, 0xaf, 0x38, 0x61, 0x8d, 0xab, 0x8c, 0xf5, 0x64, 0x35, 0x0c, - 0x9a, 0x2e, 0xd6, 0x5b, 0x02, 0x8e, 0x15, 0x85, 0xfd, 0x2a, 0x93, 0xb8, 0x6c, 0x78, 0xfa, 0x8b, - 0x96, 0xff, 0x4b, 0x43, 0x6a, 0x60, 0x99, 0xe7, 0xe4, 0x16, 0x0c, 0xd2, 0x2e, 0x4a, 0xe3, 0xb0, - 0x98, 0x58, 0xa3, 0x4d, 0xd0, 0xc3, 0xd3, 0xa2, 0x24, 0xc6, 0x9c, 0x0d, 0x22, 0x1d, 0x7e, 0xf9, - 0x57, 0x0b, 0x4b, 0xca, 0x3e, 0x3c, 0xf1, 0x2c, 0x9f, 0x0e, 0x4b, 0x22, 0xb2, 0x5a, 0xcb, 0xa6, - 0xf3, 0x5c, 0x92, 0x08, 0x9c, 0xd2, 0xa0, 0x79, 0xa1, 0xbb, 0x9b, 0x8f, 0xf3, 0x4a, 0xdd, 0x5d, - 0x0e, 0x89, 0xa6, 0xbc, 0x5f, 0x86, 0x51, 0x95, 0xd0, 0xbc, 0xc6, 0xf3, 0x52, 0x57, 0xb8, 0x36, - 0xb3, 0x9c, 0x82, 0xb1, 0x4e, 0x83, 0x56, 0xe1, 0xb4, 0xab, 0x42, 0x7b, 0x6b, 0xed, 0x0d, 0xdf, - 0x6b, 0xd0, 0xa2, 0xfc, 0x72, 0xcd, 0x63, 0xfb, 0x7b, 0xb3, 0xa7, 0xab, 0x9d, 0x68, 0xdc, 0xad, - 0x0c, 0x5a, 0x87, 0xc9, 0x98, 0x27, 0x6e, 0x97, 0xf1, 0x9b, 0x22, 0xcb, 0xdd, 0xf3, 0xf2, 0x40, - 0xa0, 0x6e, 0xa2, 0x0f, 0x18, 0x88, 0xcb, 0x04, 0x19, 0xf1, 0x99, 0x65, 0x81, 0x5e, 0x87, 0x09, - 0x5f, 0x7f, 0x93, 0xaa, 0x26, 0x22, 0x9c, 0x55, 0xe8, 0x84, 0xf1, 0x62, 0x55, 0x0d, 0x67, 0xa8, - 0xd1, 0x9b, 0x30, 0xad, 0x43, 0xc4, 0x65, 0x7f, 0x27, 0xd8, 0x22, 0xb1, 0xc8, 0x18, 0xfd, 0xc4, - 0xfe, 0xde, 0xec, 0xf4, 0xcd, 0x1e, 0x34, 0xb8, 0x67, 0x69, 0x74, 0x15, 0xc6, 0xe4, 0x48, 0x6a, - 0xd1, 0xce, 0x69, 0xd0, 0x8e, 0x86, 0xc3, 0x06, 0xe5, 0xfb, 0x3b, 0xf7, 0xf8, 0x0a, 0x2d, 0xac, - 0x6d, 0xad, 0xe8, 0x4b, 0x30, 0xa6, 0xb7, 0x31, 0xbb, 0x67, 0xe6, 0xbf, 0xf3, 0x25, 0xb6, 0x68, - 0xd5, 0x72, 0x1d, 0x87, 0x0d, 0xde, 0xf6, 0x6d, 0x18, 0xaa, 0xef, 0xc6, 0x8d, 0xc4, 0x7f, 0x54, - 0xef, 0x32, 0x37, 0x60, 0x32, 0xf3, 0x80, 0xb1, 0x7a, 0x09, 0xdb, 0x7a, 0x54, 0x2f, 0x61, 0xdb, - 0x5f, 0xb3, 0x60, 0x70, 0xdd, 0xf1, 0xf2, 0xdf, 0x5a, 0x28, 0xd2, 0x64, 0xf4, 0x0a, 0x0c, 0x91, - 0xcd, 0x4d, 0xd2, 0x90, 0x2f, 0x6b, 0x3f, 0x29, 0x55, 0x9b, 0x65, 0x06, 0xa5, 0x4b, 0x93, 0x55, - 0xc6, 0xff, 0x62, 0x41, 0x6c, 0xff, 0x3b, 0x0b, 0x60, 0x3d, 0xf4, 0xe5, 0x91, 0x4e, 0x4e, 0x4b, - 0x16, 0x3b, 0x5e, 0x7d, 0x78, 0xb6, 0xcb, 0xab, 0x0f, 0x28, 0x65, 0xd8, 0xe5, 0xcd, 0x07, 0xd5, - 0x9b, 0x72, 0xa1, 0xde, 0x0c, 0xf4, 0xd3, 0x9b, 0x6f, 0x58, 0x20, 0xa2, 0x6d, 0x0a, 0xcc, 0x04, - 0x57, 0x66, 0x6a, 0x37, 0xd2, 0x78, 0x3c, 0x5f, 0xe4, 0x56, 0x8c, 0x48, 0xde, 0xa1, 0xe6, 0xa6, - 0x91, 0xb2, 0xc3, 0xe0, 0x4a, 0x0d, 0xfb, 0x51, 0x8e, 0x5e, 0x63, 0x7a, 0x64, 0x7e, 0xbb, 0xfa, - 0x4a, 0x58, 0xc6, 0x12, 0x99, 0x53, 0xc6, 0x2a, 0x71, 0x95, 0x9e, 0xc8, 0x5c, 0x22, 0x70, 0x4a, - 0x83, 0x9e, 0x83, 0xe1, 0xb8, 0xbd, 0xc1, 0xc8, 0x33, 0xa1, 0x37, 0x75, 0x0e, 0xc6, 0x12, 0x6f, - 0xff, 0x3c, 0x02, 0xa3, 0x6b, 0x46, 0x92, 0x2c, 0xeb, 0x91, 0x27, 0xc9, 0x7a, 0x0b, 0x46, 0x48, - 0xb3, 0x95, 0xec, 0x56, 0xbd, 0xa8, 0x58, 0xba, 0xc2, 0x65, 0x41, 0xdd, 0xc9, 0x5d, 0x62, 0xb0, - 0xe2, 0xd8, 0x23, 0xe5, 0x59, 0xf9, 0x03, 0x91, 0xf2, 0x6c, 0xe0, 0x27, 0x92, 0xf2, 0xec, 0x4d, - 0x18, 0xde, 0xf2, 0x12, 0x4c, 0x5a, 0xa1, 0xb8, 0x0c, 0x99, 0x73, 0x46, 0x76, 0x8d, 0x13, 0x77, - 0xe6, 0x31, 0x12, 0x08, 0x2c, 0xd9, 0xa1, 0x75, 0x18, 0xe2, 0xb6, 0x87, 0xc8, 0x22, 0xf6, 0xd1, - 0x22, 0x5e, 0x9a, 0xce, 0x84, 0x5a, 0x22, 0xbe, 0x4a, 0xf0, 0x92, 0x29, 0xce, 0x86, 0xdf, 0x7f, - 0x8a, 0x33, 0x95, 0x98, 0x6c, 0xe4, 0x51, 0x25, 0x26, 0x33, 0x12, 0xbc, 0x55, 0x8e, 0x23, 0xc1, - 0xdb, 0x37, 0x2c, 0x38, 0xdb, 0xea, 0x96, 0x1e, 0x51, 0xa4, 0x18, 0xfb, 0xd4, 0x11, 0xd2, 0x45, - 0x1a, 0x55, 0xb3, 0xcb, 0x69, 0x5d, 0xc9, 0x70, 0xf7, 0x8a, 0x65, 0xa6, 0xb8, 0xd1, 0xf7, 0x9f, - 0x29, 0xee, 0xb8, 0x73, 0x91, 0xa5, 0x79, 0xe3, 0xc6, 0x8f, 0x25, 0x6f, 0xdc, 0xc4, 0x23, 0xcc, - 0x1b, 0xa7, 0x65, 0x7c, 0x9b, 0x7c, 0xb4, 0x19, 0xdf, 0xb6, 0x61, 0xd4, 0x0d, 0x1f, 0x04, 0x0f, - 0x9c, 0xc8, 0x5d, 0xa8, 0xad, 0x8a, 0x04, 0x63, 0x39, 0x59, 0x2c, 0xaa, 0x69, 0x01, 0xa3, 0x06, - 0xee, 0x8e, 0x4c, 0x91, 0x58, 0x67, 0x2d, 0x72, 0xdf, 0x9d, 0x7a, 0x9f, 0xb9, 0xef, 0x8c, 0x0c, - 0x72, 0xe8, 0x38, 0x32, 0xc8, 0xbd, 0xcd, 0xae, 0xb3, 0x6f, 0x7a, 0x5b, 0x6b, 0x4e, 0x8b, 0x5d, - 0xde, 0xca, 0xad, 0x61, 0x49, 0x92, 0x77, 0xd6, 0xa0, 0x50, 0x38, 0x65, 0xda, 0x99, 0xa3, 0xee, - 0xcc, 0x49, 0xe7, 0xa8, 0x3b, 0x7b, 0x8c, 0x39, 0xea, 0xce, 0x9d, 0x68, 0x8e, 0xba, 0xc7, 0x7e, - 0x22, 0x39, 0xea, 0xfe, 0x02, 0x9c, 0x3f, 0xfc, 0x73, 0xa4, 0x39, 0x90, 0x6b, 0xa9, 0xcb, 0x20, - 0x93, 0x03, 0x99, 0xa9, 0x3a, 0x1a, 0x55, 0xe1, 0x54, 0x59, 0xdf, 0xb1, 0xe0, 0xb1, 0x1e, 0x99, - 0x64, 0x0a, 0xdf, 0x7b, 0x68, 0xc1, 0x64, 0xcb, 0x2c, 0x5a, 0xf8, 0xa6, 0x92, 0x91, 0xb9, 0x46, - 0xc5, 0xd0, 0x65, 0x10, 0x38, 0xcb, 0x7e, 0xf1, 0xc3, 0x3f, 0x7c, 0xef, 0xfc, 0x87, 0x7e, 0xf4, - 0xde, 0xf9, 0x0f, 0xfd, 0xd1, 0x7b, 0xe7, 0x3f, 0xf4, 0xb3, 0xfb, 0xe7, 0xad, 0x1f, 0xee, 0x9f, - 0xb7, 0x7e, 0xb4, 0x7f, 0xde, 0xfa, 0x93, 0xfd, 0xf3, 0xd6, 0x37, 0xfe, 0xf4, 0xfc, 0x87, 0x3e, - 0x57, 0xda, 0xb9, 0xfc, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x75, 0x32, 0x32, 0x5a, 0xb8, - 0x00, 0x00, + 0x79, 0x76, 0xee, 0x30, 0x81, 0x9a, 0xbb, 0xa9, 0x95, 0x58, 0x9c, 0xda, 0xdf, 0x9b, 0x1d, 0xd3, + 0x21, 0xd8, 0xe0, 0x88, 0xde, 0x84, 0xd1, 0x56, 0xe8, 0xaa, 0x0a, 0x4a, 0xac, 0x82, 0x67, 0x0e, + 0xaf, 0xa0, 0x96, 0x16, 0x58, 0x9c, 0xdc, 0xdf, 0x9b, 0x1d, 0xd5, 0x00, 0x58, 0x67, 0x87, 0x7c, + 0x98, 0xa4, 0x7f, 0x83, 0xc4, 0x53, 0x35, 0x94, 0x59, 0x0d, 0xcf, 0xe7, 0xd7, 0xa0, 0x15, 0x5a, + 0x3c, 0xbd, 0xbf, 0x37, 0x3b, 0x99, 0x01, 0xe2, 0x2c, 0x6b, 0xfb, 0xcb, 0x30, 0xb1, 0x90, 0x24, + 0x4e, 0x63, 0x9b, 0xb8, 0xfc, 0xfb, 0xa2, 0x17, 0x61, 0x20, 0x70, 0x9a, 0x44, 0x7c, 0xfd, 0x0b, + 0x62, 0xd8, 0x07, 0x6e, 0x3a, 0x4d, 0x72, 0xb0, 0x37, 0x3b, 0x75, 0x3b, 0xf0, 0xde, 0x69, 0x0b, + 0x99, 0xa1, 0x30, 0xcc, 0xa8, 0xd1, 0x15, 0x00, 0x97, 0xec, 0x78, 0x0d, 0x52, 0x73, 0x92, 0x6d, + 0x21, 0x0d, 0x48, 0x94, 0x85, 0xaa, 0xc2, 0x60, 0x8d, 0xca, 0xfe, 0x9a, 0x05, 0x95, 0x85, 0x9d, + 0xd0, 0x73, 0x6b, 0xa1, 0x1b, 0xa3, 0x36, 0x4c, 0xb6, 0x22, 0xb2, 0x49, 0x22, 0x05, 0x9a, 0xb6, + 0x2e, 0x94, 0x2f, 0x8e, 0x5e, 0xb9, 0x92, 0xd3, 0x6f, 0xb3, 0xd0, 0x72, 0x90, 0x44, 0xbb, 0x8b, + 0x8f, 0x88, 0xaa, 0x27, 0x33, 0x58, 0x9c, 0xad, 0xc3, 0xfe, 0x1b, 0x25, 0x38, 0xbb, 0xf0, 0xe5, + 0x76, 0x44, 0xaa, 0x5e, 0x7c, 0x2f, 0x3b, 0x15, 0x5c, 0x2f, 0xbe, 0x77, 0x33, 0x1d, 0x0c, 0x25, + 0x83, 0x55, 0x01, 0xc7, 0x8a, 0x02, 0x3d, 0x0f, 0xc3, 0xf4, 0xf7, 0x6d, 0xbc, 0x2a, 0x7a, 0x7f, + 0x5a, 0x10, 0x8f, 0x56, 0x9d, 0xc4, 0xa9, 0x72, 0x14, 0x96, 0x34, 0x68, 0x0d, 0x46, 0x1b, 0x6c, + 0x8d, 0xd8, 0x5a, 0x0b, 0x5d, 0xc2, 0xbe, 0x70, 0x65, 0xf1, 0x39, 0x4a, 0xbe, 0x94, 0x82, 0x0f, + 0xf6, 0x66, 0xa7, 0x79, 0xdb, 0x04, 0x0b, 0x0d, 0x87, 0xf5, 0xf2, 0xc8, 0x56, 0x13, 0x71, 0x80, + 0x71, 0x82, 0x2e, 0x93, 0xf0, 0xa2, 0x36, 0xa7, 0x06, 0xd9, 0x9c, 0x1a, 0xeb, 0x31, 0x9f, 0xfe, + 0x81, 0x25, 0xc6, 0x64, 0xc5, 0xf3, 0xcd, 0xe5, 0xe1, 0x0a, 0x40, 0x4c, 0x1a, 0x11, 0x49, 0xb4, + 0x51, 0x51, 0x9f, 0xb9, 0xae, 0x30, 0x58, 0xa3, 0xa2, 0x93, 0x3f, 0xde, 0x76, 0x22, 0x26, 0x2d, + 0x62, 0x6c, 0xd4, 0xe4, 0xaf, 0x4b, 0x04, 0x4e, 0x69, 0x8c, 0xc9, 0x5f, 0xce, 0x9d, 0xfc, 0xff, + 0xda, 0x82, 0xe1, 0x45, 0x2f, 0x70, 0xbd, 0x60, 0x0b, 0xbd, 0x0d, 0x23, 0x74, 0x35, 0x77, 0x9d, + 0xc4, 0x11, 0xf3, 0xfe, 0x63, 0x52, 0x78, 0xf4, 0x45, 0x59, 0x8a, 0x4f, 0x3c, 0x47, 0xa9, 0xa9, + 0x10, 0xdd, 0xda, 0xf8, 0x12, 0x69, 0x24, 0x6b, 0x24, 0x71, 0xd2, 0xee, 0xa4, 0x30, 0xac, 0xb8, + 0xa2, 0xdb, 0x30, 0x94, 0x38, 0xd1, 0x16, 0x49, 0xc4, 0xb4, 0xcf, 0x99, 0x94, 0x9c, 0x07, 0xa6, + 0x22, 0x47, 0x82, 0x06, 0x49, 0x17, 0xc8, 0x75, 0xc6, 0x04, 0x0b, 0x66, 0x76, 0x03, 0xc6, 0x96, + 0x9c, 0x96, 0xb3, 0xe1, 0xf9, 0x5e, 0xe2, 0x91, 0x18, 0x7d, 0x14, 0xca, 0x8e, 0xeb, 0xb2, 0x09, + 0x50, 0x59, 0x3c, 0xbb, 0xbf, 0x37, 0x5b, 0x5e, 0x70, 0xdd, 0x83, 0xbd, 0x59, 0x50, 0x54, 0xbb, + 0x98, 0x52, 0xa0, 0x67, 0x61, 0xc0, 0x8d, 0xc2, 0xd6, 0x74, 0x89, 0x51, 0x9e, 0xa3, 0x33, 0xb5, + 0x1a, 0x85, 0xad, 0x0c, 0x29, 0xa3, 0xb1, 0x7f, 0xb7, 0x04, 0x68, 0x89, 0xb4, 0xb6, 0x57, 0xea, + 0xc6, 0x37, 0xbd, 0x08, 0x23, 0xcd, 0x30, 0xf0, 0x92, 0x30, 0x8a, 0x45, 0x85, 0x4c, 0x2e, 0xd6, + 0x04, 0x0c, 0x2b, 0x2c, 0xba, 0x00, 0x03, 0xad, 0x74, 0x7a, 0x8f, 0xc9, 0xa5, 0x81, 0x4d, 0x6c, + 0x86, 0xa1, 0x14, 0xed, 0x98, 0x44, 0x42, 0x9e, 0x15, 0xc5, 0xed, 0x98, 0x44, 0x98, 0x61, 0x52, + 0x09, 0xa2, 0xb2, 0x25, 0xa4, 0x35, 0x23, 0x41, 0x14, 0x83, 0x35, 0x2a, 0xf4, 0x16, 0x54, 0xf8, + 0x3f, 0x4c, 0x36, 0x99, 0xe8, 0xe6, 0x2e, 0x0a, 0x37, 0xc2, 0x86, 0xe3, 0x67, 0x07, 0x7f, 0x9c, + 0x49, 0x9c, 0x64, 0x84, 0x53, 0x9e, 0x86, 0xc4, 0x0d, 0xe5, 0x4a, 0xdc, 0x2f, 0x59, 0x80, 0x96, + 0xbc, 0xc0, 0x25, 0xd1, 0x09, 0x6c, 0x9d, 0xfd, 0x4d, 0x86, 0x1f, 0xd3, 0xa6, 0x85, 0xcd, 0x56, + 0x18, 0x90, 0x20, 0x59, 0x0a, 0x03, 0x97, 0x6f, 0xa7, 0x9f, 0x84, 0x81, 0x84, 0x56, 0xc5, 0x9b, + 0xf5, 0xb4, 0xfc, 0x2c, 0xb4, 0x82, 0x83, 0xbd, 0xd9, 0x73, 0x9d, 0x25, 0x58, 0x13, 0x58, 0x19, + 0xf4, 0x09, 0x18, 0x8a, 0x13, 0x27, 0x69, 0xc7, 0xa2, 0xa1, 0x4f, 0xc8, 0x86, 0xd6, 0x19, 0xf4, + 0x60, 0x6f, 0x76, 0x52, 0x15, 0xe3, 0x20, 0x2c, 0x0a, 0xa0, 0x67, 0x60, 0xb8, 0x49, 0xe2, 0xd8, + 0xd9, 0x92, 0x0b, 0xdc, 0xa4, 0x28, 0x3b, 0xbc, 0xc6, 0xc1, 0x58, 0xe2, 0xd1, 0x93, 0x30, 0x48, + 0xa2, 0x28, 0x8c, 0x84, 0x44, 0x8c, 0x0b, 0xc2, 0xc1, 0x65, 0x0a, 0xc4, 0x1c, 0x67, 0xff, 0x17, + 0x0b, 0x26, 0x55, 0x5b, 0x79, 0x5d, 0x27, 0x30, 0xe5, 0x5d, 0x80, 0x86, 0xec, 0x60, 0xcc, 0x26, + 0x9a, 0x56, 0x47, 0x77, 0xf1, 0xeb, 0x1c, 0xd0, 0xb4, 0x0e, 0x05, 0x8a, 0xb1, 0xc6, 0xd7, 0xfe, + 0xb7, 0x16, 0x9c, 0xce, 0xf4, 0xed, 0x86, 0x17, 0x27, 0xe8, 0xcd, 0x8e, 0xfe, 0xcd, 0x15, 0xeb, + 0x1f, 0x2d, 0xcd, 0x7a, 0xa7, 0xe4, 0x45, 0x42, 0xb4, 0xbe, 0x61, 0x18, 0xf4, 0x12, 0xd2, 0x94, + 0xdd, 0x7a, 0xbe, 0x60, 0xb7, 0x78, 0xfb, 0xd2, 0xaf, 0xb4, 0x4a, 0x79, 0x60, 0xce, 0xca, 0xfe, + 0xdf, 0x16, 0x54, 0x96, 0xc2, 0x60, 0xd3, 0xdb, 0x5a, 0x73, 0x5a, 0x27, 0xf0, 0x7d, 0xea, 0x30, + 0xc0, 0xb8, 0xf3, 0x2e, 0x5c, 0xce, 0xeb, 0x82, 0x68, 0xd8, 0x1c, 0xdd, 0x53, 0xb9, 0xb2, 0xa0, + 0x96, 0x29, 0x0a, 0xc2, 0x8c, 0xd9, 0xcc, 0xcb, 0x50, 0x51, 0x04, 0x68, 0x0a, 0xca, 0xf7, 0x08, + 0xd7, 0x24, 0x2b, 0x98, 0xfe, 0x44, 0x67, 0x60, 0x70, 0xc7, 0xf1, 0xdb, 0x62, 0xf2, 0x62, 0xfe, + 0xe7, 0x93, 0xa5, 0x57, 0x2c, 0xfb, 0x97, 0xd9, 0x0c, 0x14, 0x95, 0x2c, 0x07, 0x3b, 0x62, 0x71, + 0x78, 0xd7, 0x82, 0x33, 0x7e, 0x97, 0x45, 0x49, 0x8c, 0xc9, 0x51, 0x96, 0xb3, 0xc7, 0x44, 0xb3, + 0xcf, 0x74, 0xc3, 0xe2, 0xae, 0xb5, 0xd9, 0xdf, 0xb7, 0xe0, 0x8c, 0x6a, 0xdd, 0x75, 0xb2, 0x5b, + 0x27, 0x3e, 0x69, 0x24, 0x61, 0xf4, 0x01, 0x69, 0x1f, 0x7a, 0x9c, 0x8f, 0x34, 0x5f, 0x69, 0x46, + 0x05, 0x83, 0xf2, 0x75, 0xb2, 0xcb, 0x86, 0xdd, 0xfe, 0x6d, 0x0b, 0xc6, 0x55, 0xf3, 0x4f, 0x60, + 0x7a, 0xdc, 0x30, 0xa7, 0xc7, 0x47, 0x0b, 0xca, 0x56, 0x8f, 0x89, 0xf1, 0x2b, 0x25, 0x38, 0xab, + 0x68, 0x8c, 0xad, 0xe3, 0x03, 0x32, 0xfa, 0xfd, 0x75, 0xf7, 0x3a, 0xd9, 0x5d, 0x0f, 0xe9, 0xde, + 0xdf, 0xbd, 0xbb, 0xe8, 0x32, 0x8c, 0xba, 0x64, 0xd3, 0x69, 0xfb, 0x89, 0x52, 0x71, 0x07, 0xb9, + 0xed, 0x53, 0x4d, 0xc1, 0x58, 0xa7, 0xb1, 0x7f, 0x0d, 0xd8, 0xd2, 0x91, 0x38, 0xf4, 0xa3, 0x51, + 0x65, 0x42, 0xb3, 0x44, 0xc6, 0x74, 0x4b, 0x44, 0x58, 0x1d, 0x4f, 0xc2, 0xa0, 0xd7, 0xa4, 0xdb, + 0x4b, 0xc9, 0xdc, 0x35, 0x56, 0x29, 0x10, 0x73, 0x1c, 0x7a, 0x0a, 0x86, 0x1b, 0x61, 0xb3, 0xe9, + 0x04, 0xee, 0x74, 0x99, 0xa9, 0x37, 0xa3, 0x74, 0x07, 0x5a, 0xe2, 0x20, 0x2c, 0x71, 0xe8, 0x31, + 0x18, 0x70, 0xa2, 0xad, 0x78, 0x7a, 0x80, 0xd1, 0x8c, 0xd0, 0x9a, 0x16, 0xa2, 0xad, 0x18, 0x33, + 0x28, 0x55, 0x5b, 0xee, 0x87, 0xd1, 0x3d, 0x2f, 0xd8, 0xaa, 0x7a, 0x11, 0xd3, 0x41, 0x34, 0xb5, + 0xe5, 0xae, 0xc2, 0x60, 0x8d, 0x0a, 0xd5, 0x60, 0xb0, 0x15, 0x46, 0x49, 0x3c, 0x3d, 0xc4, 0x86, + 0xf3, 0xb9, 0x5c, 0xe9, 0xe1, 0xfd, 0xae, 0x85, 0x51, 0x92, 0x76, 0x85, 0xfe, 0x8b, 0x31, 0x67, + 0x84, 0x96, 0xa0, 0x4c, 0x82, 0x9d, 0xe9, 0x61, 0xc6, 0xef, 0x23, 0x87, 0xf3, 0x5b, 0x0e, 0x76, + 0xee, 0x38, 0x51, 0x3a, 0x89, 0x96, 0x83, 0x1d, 0x4c, 0x4b, 0xa3, 0x06, 0x54, 0xa4, 0x5b, 0x21, + 0x9e, 0x1e, 0x29, 0x22, 0x60, 0x58, 0x90, 0x63, 0xf2, 0x4e, 0xdb, 0x8b, 0x48, 0x93, 0x04, 0x49, + 0x9c, 0xea, 0xf0, 0x12, 0x1b, 0xe3, 0x94, 0x2f, 0x6a, 0xc0, 0x18, 0x57, 0x75, 0xd6, 0xc2, 0x76, + 0x90, 0xc4, 0xd3, 0x15, 0xd6, 0xe4, 0x1c, 0x23, 0xf9, 0x4e, 0x5a, 0x62, 0xf1, 0x8c, 0x60, 0x3f, + 0xa6, 0x01, 0x63, 0x6c, 0x30, 0x45, 0x6f, 0xc2, 0xb8, 0xef, 0xed, 0x90, 0x80, 0xc4, 0x71, 0x2d, + 0x0a, 0x37, 0xc8, 0x34, 0xb0, 0xde, 0x3c, 0x99, 0x67, 0x30, 0x86, 0x1b, 0x64, 0xf1, 0xd4, 0xfe, + 0xde, 0xec, 0xf8, 0x0d, 0xbd, 0x34, 0x36, 0x99, 0xa1, 0xb7, 0x60, 0x82, 0xea, 0x55, 0x5e, 0xca, + 0x7e, 0xb4, 0x38, 0x7b, 0xb4, 0xbf, 0x37, 0x3b, 0x81, 0x8d, 0xe2, 0x38, 0xc3, 0x0e, 0xad, 0x43, + 0xc5, 0xf7, 0x36, 0x49, 0x63, 0xb7, 0xe1, 0x93, 0xe9, 0x31, 0xc6, 0x3b, 0x67, 0xca, 0xdd, 0x90, + 0xe4, 0x5c, 0x97, 0x55, 0x7f, 0x71, 0xca, 0x08, 0xdd, 0x81, 0x73, 0x09, 0x89, 0x9a, 0x5e, 0xe0, + 0x50, 0xc5, 0x42, 0x28, 0x5a, 0xcc, 0x2a, 0x1f, 0x67, 0x52, 0x7b, 0x5e, 0x0c, 0xec, 0xb9, 0xf5, + 0xae, 0x54, 0xb8, 0x47, 0x69, 0x74, 0x0b, 0x26, 0xd9, 0x7c, 0xaa, 0xb5, 0x7d, 0xbf, 0x16, 0xfa, + 0x5e, 0x63, 0x77, 0x7a, 0x82, 0x31, 0x7c, 0x4a, 0xda, 0xda, 0xab, 0x26, 0x9a, 0xda, 0x20, 0xe9, + 0x3f, 0x9c, 0x2d, 0x8d, 0x7c, 0x98, 0x8c, 0x49, 0xa3, 0x1d, 0x79, 0xc9, 0x2e, 0x95, 0x7d, 0xf2, + 0x20, 0x99, 0x9e, 0x2c, 0x62, 0x53, 0xd5, 0xcd, 0x42, 0xdc, 0xd1, 0x91, 0x01, 0xe2, 0x2c, 0x6b, + 0xba, 0x54, 0xc4, 0x89, 0xeb, 0x05, 0xd3, 0x53, 0x4c, 0x89, 0x56, 0xf3, 0xab, 0x4e, 0x81, 0x98, + 0xe3, 0x98, 0xa9, 0x4a, 0x7f, 0xdc, 0xa2, 0x6b, 0xef, 0x29, 0x46, 0x98, 0x9a, 0xaa, 0x12, 0x81, + 0x53, 0x1a, 0xba, 0x5f, 0x25, 0xc9, 0xee, 0x34, 0x62, 0xa4, 0x6a, 0xaa, 0xad, 0xaf, 0x7f, 0x0e, + 0x53, 0x38, 0xba, 0x03, 0xc3, 0x24, 0xd8, 0x59, 0x89, 0xc2, 0xe6, 0xf4, 0xe9, 0x22, 0x6b, 0xc0, + 0x32, 0x27, 0xe6, 0xbb, 0x42, 0xaa, 0x2d, 0x0b, 0x30, 0x96, 0xcc, 0xec, 0x0d, 0x98, 0x50, 0xcb, + 0x05, 0x1b, 0x75, 0x34, 0x0b, 0x83, 0x74, 0x45, 0x94, 0x16, 0x5c, 0x85, 0x76, 0x8d, 0x2e, 0x94, + 0x31, 0xe6, 0x70, 0xd6, 0x35, 0xef, 0xcb, 0x64, 0x71, 0x37, 0x21, 0x5c, 0x93, 0x2f, 0x6b, 0x5d, + 0x93, 0x08, 0x9c, 0xd2, 0xd8, 0xff, 0x97, 0xef, 0xb5, 0xe9, 0x9a, 0x54, 0x60, 0x3d, 0xbe, 0x04, + 0x23, 0xdb, 0x61, 0x9c, 0x50, 0x6a, 0x56, 0xc7, 0x60, 0xba, 0xbb, 0x5e, 0x13, 0x70, 0xac, 0x28, + 0xd0, 0xab, 0x30, 0xde, 0xd0, 0x2b, 0x10, 0x5b, 0xc4, 0x59, 0x51, 0xc4, 0xac, 0x1d, 0x9b, 0xb4, + 0xe8, 0x15, 0x18, 0x61, 0x6e, 0xcd, 0x46, 0xe8, 0x0b, 0x9b, 0x41, 0xee, 0x78, 0x23, 0x35, 0x01, + 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0x4d, 0x2d, 0x2f, 0xda, 0x84, 0xd5, 0x9a, 0x58, 0xc6, 0x95, 0xe5, + 0x75, 0x8d, 0x41, 0xb1, 0xc0, 0xda, 0xff, 0xa4, 0xa4, 0x8d, 0x32, 0xd5, 0x78, 0x09, 0xfa, 0x3c, + 0x0c, 0xdf, 0x77, 0xbc, 0xc4, 0x0b, 0xb6, 0xc4, 0xce, 0xfc, 0x42, 0xc1, 0x35, 0x9d, 0x15, 0xbf, + 0xcb, 0x8b, 0xf2, 0xfd, 0x47, 0xfc, 0xc1, 0x92, 0x21, 0xe5, 0x1d, 0xb5, 0x83, 0x80, 0xf2, 0x2e, + 0xf5, 0xcf, 0x1b, 0xf3, 0xa2, 0x9c, 0xb7, 0xf8, 0x83, 0x25, 0x43, 0xb4, 0x09, 0x20, 0x67, 0x35, + 0x71, 0x85, 0x3b, 0xf1, 0xe3, 0xfd, 0xb0, 0x5f, 0x57, 0xa5, 0x17, 0x27, 0xe8, 0x8e, 0x97, 0xfe, + 0xc7, 0x1a, 0x67, 0x3b, 0x61, 0x0a, 0x4e, 0x67, 0xb3, 0xd0, 0x17, 0xe8, 0xc4, 0x72, 0xa2, 0x84, + 0xb8, 0x0b, 0x49, 0xd6, 0x23, 0x7b, 0xb8, 0x9e, 0xb6, 0xee, 0x35, 0x89, 0x3e, 0x09, 0x05, 0x13, + 0x9c, 0xf2, 0xb3, 0xbf, 0x5b, 0x86, 0xe9, 0x5e, 0xcd, 0xa5, 0x22, 0x49, 0x1e, 0x78, 0xc9, 0x12, + 0x55, 0x41, 0x2c, 0x53, 0x24, 0x97, 0x05, 0x1c, 0x2b, 0x0a, 0x2a, 0x1b, 0xb1, 0xb7, 0x15, 0x38, + 0xbe, 0x10, 0x5f, 0x25, 0x1b, 0x75, 0x06, 0xc5, 0x02, 0x4b, 0xe9, 0x22, 0xe2, 0xc4, 0xc2, 0x9b, + 0xad, 0xc9, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, 0x05, 0x3c, 0x90, 0x63, 0x01, 0x1b, 0x43, 0x34, + 0xf8, 0x70, 0x87, 0x08, 0x7d, 0x11, 0x60, 0xd3, 0x0b, 0xbc, 0x78, 0x9b, 0x71, 0x1f, 0xea, 0x9b, + 0xbb, 0x52, 0x75, 0x56, 0x14, 0x17, 0xac, 0x71, 0x44, 0x2f, 0xc1, 0xa8, 0x9a, 0x9e, 0xab, 0xd5, + 0xe9, 0x61, 0xd3, 0x03, 0x9a, 0xae, 0x55, 0x55, 0xac, 0xd3, 0xd9, 0x5f, 0xca, 0xca, 0x8b, 0x98, + 0x15, 0xda, 0xf8, 0x5a, 0x45, 0xc7, 0xb7, 0x74, 0xf8, 0xf8, 0xda, 0xff, 0xb9, 0x0c, 0x93, 0x46, + 0x65, 0xed, 0xb8, 0xc0, 0x8a, 0xf6, 0x3a, 0xdd, 0x36, 0x9c, 0x84, 0x88, 0x39, 0x79, 0xa9, 0x9f, + 0x49, 0xa3, 0x6f, 0x32, 0x74, 0x2e, 0x70, 0x4e, 0x68, 0x1b, 0x2a, 0xbe, 0x13, 0x33, 0x1b, 0x9a, + 0x88, 0xb9, 0xd8, 0x1f, 0xdb, 0x54, 0xb5, 0x77, 0xe2, 0x44, 0xdb, 0xc5, 0x79, 0x2d, 0x29, 0x73, + 0xba, 0xe7, 0x51, 0x95, 0x43, 0x1e, 0xa1, 0xa8, 0xe6, 0x50, 0xbd, 0x64, 0x17, 0x73, 0x1c, 0x7a, + 0x05, 0xc6, 0x22, 0xc2, 0x24, 0x65, 0x89, 0x6a, 0x55, 0x4c, 0xf4, 0x06, 0x53, 0xf5, 0x0b, 0x6b, + 0x38, 0x6c, 0x50, 0xa6, 0xda, 0xf7, 0xd0, 0x21, 0xda, 0xf7, 0x33, 0x30, 0xcc, 0x7e, 0x28, 0xa9, + 0x50, 0x5f, 0x68, 0x95, 0x83, 0xb1, 0xc4, 0x67, 0x85, 0x68, 0xa4, 0xa0, 0x10, 0x3d, 0x0b, 0x13, + 0x55, 0x87, 0x34, 0xc3, 0x60, 0x39, 0x70, 0x5b, 0xa1, 0x17, 0x24, 0x68, 0x1a, 0x06, 0xd8, 0x7e, + 0xc2, 0xe7, 0xfb, 0x00, 0xe5, 0x80, 0x07, 0xa8, 0x06, 0x6d, 0xff, 0x3f, 0x0b, 0xc6, 0xab, 0xc4, + 0x27, 0x09, 0xb9, 0xd5, 0x62, 0x7e, 0x17, 0xb4, 0x02, 0x68, 0x2b, 0x72, 0x1a, 0xa4, 0x46, 0x22, + 0x2f, 0x74, 0xeb, 0xa4, 0x11, 0x06, 0xec, 0xe4, 0x81, 0x6e, 0x90, 0xe7, 0xf6, 0xf7, 0x66, 0xd1, + 0xd5, 0x0e, 0x2c, 0xee, 0x52, 0x02, 0xb9, 0x30, 0xde, 0x8a, 0x88, 0xe1, 0x28, 0xb2, 0xf2, 0x37, + 0xfc, 0x9a, 0x5e, 0x84, 0xeb, 0xa4, 0x06, 0x08, 0x9b, 0x4c, 0xd1, 0x67, 0x60, 0x2a, 0x8c, 0x5a, + 0xdb, 0x4e, 0x50, 0x25, 0x2d, 0x12, 0xb8, 0x54, 0x11, 0x17, 0x5e, 0xc1, 0x33, 0xfb, 0x7b, 0xb3, + 0x53, 0xb7, 0x32, 0x38, 0xdc, 0x41, 0x6d, 0xff, 0x7a, 0x09, 0xce, 0x56, 0xc3, 0xfb, 0xc1, 0x7d, + 0x27, 0x72, 0x17, 0x6a, 0xab, 0x5c, 0xbb, 0x66, 0x5e, 0x56, 0xe9, 0xdd, 0xb5, 0x7a, 0x7a, 0x77, + 0xbf, 0x00, 0x23, 0x9b, 0x1e, 0xf1, 0x5d, 0x4c, 0x36, 0x45, 0xf7, 0x2e, 0x17, 0x71, 0x7f, 0xaf, + 0xd0, 0x32, 0xd2, 0xd3, 0xc0, 0x9d, 0xcb, 0x2b, 0x82, 0x0d, 0x56, 0x0c, 0x51, 0x1b, 0xa6, 0xa4, + 0xf9, 0x20, 0xb1, 0x62, 0x76, 0xbc, 0x50, 0xcc, 0x3a, 0x31, 0xab, 0x61, 0xe3, 0x81, 0x33, 0x0c, + 0x71, 0x47, 0x15, 0xd4, 0xec, 0x6b, 0xd2, 0xbd, 0x61, 0x80, 0xc9, 0x0a, 0x33, 0xfb, 0x98, 0x5d, + 0xca, 0xa0, 0xf6, 0xdf, 0xb3, 0xe0, 0x91, 0x8e, 0xd1, 0x12, 0x46, 0xfb, 0x1b, 0xd2, 0x5a, 0xe6, + 0xc7, 0x54, 0x39, 0xad, 0xec, 0x3a, 0xe6, 0xc5, 0x2c, 0xe7, 0x52, 0x01, 0xcb, 0xf9, 0x16, 0x9c, + 0x59, 0x6e, 0xb6, 0x92, 0xdd, 0xaa, 0x67, 0x3a, 0xa5, 0x5f, 0x86, 0xa1, 0x26, 0x71, 0xbd, 0x76, + 0x53, 0x7c, 0xd6, 0x59, 0xb9, 0x90, 0xae, 0x31, 0xe8, 0xc1, 0xde, 0xec, 0x78, 0x3d, 0x09, 0x23, + 0x67, 0x8b, 0x70, 0x00, 0x16, 0xe4, 0xf6, 0x7b, 0x16, 0x4c, 0xca, 0x09, 0xb5, 0xe0, 0xba, 0x11, + 0x89, 0x63, 0x34, 0x03, 0x25, 0xaf, 0x25, 0x18, 0x81, 0x60, 0x54, 0x5a, 0xad, 0xe1, 0x92, 0xd7, + 0x42, 0x9f, 0x87, 0x0a, 0x3f, 0xcb, 0x48, 0x85, 0xa3, 0xcf, 0xb3, 0x11, 0x66, 0xd2, 0xac, 0x4b, + 0x1e, 0x38, 0x65, 0x27, 0xd5, 0x4a, 0xb6, 0x54, 0x97, 0x4d, 0xcf, 0xfa, 0x35, 0x01, 0xc7, 0x8a, + 0x02, 0x5d, 0x84, 0x91, 0x20, 0x74, 0xf9, 0x71, 0x13, 0xdf, 0x74, 0x99, 0xc8, 0xdd, 0x14, 0x30, + 0xac, 0xb0, 0xf6, 0xd7, 0x2d, 0x18, 0x93, 0x7d, 0x2c, 0xa8, 0xe1, 0xd2, 0x49, 0x92, 0x6a, 0xb7, + 0xe9, 0x24, 0xa1, 0x1a, 0x2a, 0xc3, 0x18, 0x8a, 0x69, 0xb9, 0x1f, 0xc5, 0xd4, 0xfe, 0xad, 0x12, + 0x4c, 0xc8, 0xe6, 0xd4, 0xdb, 0x1b, 0x31, 0xa1, 0xfb, 0x76, 0xc5, 0xe1, 0x83, 0x4f, 0xa4, 0x9c, + 0x3d, 0x9f, 0x67, 0x42, 0x18, 0xdf, 0x2c, 0xd5, 0x0b, 0x16, 0x24, 0x1f, 0x9c, 0xb2, 0x44, 0x3b, + 0x70, 0x2a, 0x08, 0x13, 0xb6, 0x1f, 0x28, 0x7c, 0x31, 0x5f, 0x70, 0xb6, 0x9e, 0x47, 0x45, 0x3d, + 0xa7, 0x6e, 0x66, 0xf9, 0xe1, 0xce, 0x2a, 0xd0, 0x2d, 0xe9, 0x1a, 0x29, 0xb3, 0xba, 0x9e, 0x2d, + 0x56, 0x57, 0x6f, 0xcf, 0x88, 0xfd, 0x03, 0x0b, 0x2a, 0x92, 0xec, 0x24, 0x0e, 0x05, 0xee, 0xc2, + 0x70, 0xcc, 0x3e, 0x91, 0x1c, 0xae, 0x4b, 0xc5, 0xba, 0xc0, 0xbf, 0x6b, 0xba, 0x09, 0xf2, 0xff, + 0x31, 0x96, 0xdc, 0x98, 0x8b, 0x53, 0x75, 0xe4, 0x03, 0xe7, 0xe2, 0x54, 0x2d, 0xeb, 0xed, 0xfb, + 0x1f, 0x37, 0x8c, 0x58, 0xaa, 0xc9, 0xb5, 0x22, 0xb2, 0xe9, 0x3d, 0xc8, 0x6a, 0x72, 0x35, 0x06, + 0xc5, 0x02, 0x8b, 0x36, 0x61, 0xac, 0x21, 0x7d, 0xa3, 0xe9, 0x12, 0xf2, 0xb1, 0x82, 0x1e, 0x57, + 0xe5, 0x68, 0xe7, 0xc1, 0x1b, 0x4b, 0x1a, 0x27, 0x6c, 0xf0, 0xa5, 0xeb, 0x54, 0x7a, 0x96, 0x58, + 0x2e, 0xe8, 0x6f, 0x88, 0x48, 0x92, 0xd6, 0xd0, 0xf3, 0x18, 0xd1, 0xfe, 0x96, 0x05, 0x43, 0xdc, + 0xed, 0x56, 0xcc, 0x77, 0xa9, 0x1d, 0x21, 0xa4, 0xe3, 0x79, 0x87, 0x02, 0xc5, 0x89, 0x02, 0xba, + 0x0b, 0x15, 0xf6, 0x83, 0xb9, 0x10, 0xca, 0x45, 0x22, 0x59, 0x78, 0xfd, 0x7a, 0x53, 0xef, 0x48, + 0x06, 0x38, 0xe5, 0x65, 0x7f, 0xbf, 0x4c, 0x97, 0xbe, 0x94, 0xd4, 0xd8, 0xdb, 0xad, 0x93, 0xd8, + 0xdb, 0x4b, 0xc7, 0xbf, 0xb7, 0xbf, 0x03, 0x93, 0x0d, 0xed, 0xb0, 0x23, 0xfd, 0xe2, 0x57, 0x0a, + 0x8a, 0x95, 0x76, 0x42, 0xc2, 0xdd, 0x4c, 0x4b, 0x26, 0x3b, 0x9c, 0xe5, 0x8f, 0x08, 0x8c, 0x71, + 0x79, 0x10, 0xf5, 0x0d, 0xb0, 0xfa, 0xe6, 0x8b, 0x48, 0x98, 0x5e, 0x19, 0x93, 0xe2, 0xba, 0xc6, + 0x08, 0x1b, 0x6c, 0xed, 0xbf, 0x39, 0x08, 0x83, 0xcb, 0x3b, 0x24, 0x48, 0x4e, 0x60, 0xa9, 0x6b, + 0xc2, 0x84, 0x17, 0xec, 0x84, 0xfe, 0x0e, 0x71, 0x39, 0xfe, 0x68, 0xdb, 0xfb, 0x39, 0x51, 0xc9, + 0xc4, 0xaa, 0xc1, 0x0c, 0x67, 0x98, 0x1f, 0x87, 0x69, 0xfd, 0x3a, 0x0c, 0x71, 0xc9, 0x10, 0x76, + 0x75, 0x8e, 0x1b, 0x9a, 0x0d, 0xac, 0x98, 0x41, 0xa9, 0x03, 0x80, 0x7b, 0xc0, 0x05, 0x23, 0xf4, + 0x25, 0x98, 0xd8, 0xf4, 0xa2, 0x38, 0xa1, 0xd6, 0x71, 0x9c, 0x38, 0xcd, 0xd6, 0x11, 0x8c, 0x6a, + 0x35, 0x22, 0x2b, 0x06, 0x27, 0x9c, 0xe1, 0x8c, 0xb6, 0x60, 0x9c, 0xda, 0x74, 0x69, 0x55, 0xc3, + 0x7d, 0x57, 0xa5, 0x7c, 0x6a, 0x37, 0x74, 0x46, 0xd8, 0xe4, 0x4b, 0x97, 0xa4, 0x06, 0xb3, 0x01, + 0x47, 0x98, 0x76, 0xa3, 0x96, 0x24, 0x6e, 0xfc, 0x71, 0x1c, 0x5d, 0xd9, 0x58, 0x2c, 0x41, 0xc5, + 0x5c, 0xd9, 0xd2, 0x88, 0x01, 0xfb, 0x3b, 0x74, 0x2f, 0xa6, 0x63, 0x78, 0x02, 0xdb, 0xd7, 0x35, + 0x73, 0xfb, 0x7a, 0xb2, 0xc0, 0x97, 0xed, 0xb1, 0x75, 0xbd, 0x0d, 0xa3, 0xda, 0x87, 0x47, 0xf3, + 0x50, 0x69, 0xc8, 0xe3, 0x6e, 0xb1, 0x8a, 0x2b, 0x55, 0x4a, 0x9d, 0x83, 0xe3, 0x94, 0x86, 0x8e, + 0x0b, 0x55, 0x41, 0xb3, 0xc1, 0x31, 0x54, 0x41, 0xc5, 0x0c, 0x63, 0xbf, 0x00, 0xb0, 0xfc, 0x80, + 0x34, 0x16, 0x1a, 0x2c, 0x26, 0x43, 0x3b, 0x96, 0xb2, 0x7a, 0x1f, 0x4b, 0xd9, 0xdf, 0xb6, 0x60, + 0x62, 0x65, 0xc9, 0xd0, 0xe9, 0xe7, 0x00, 0xb8, 0x6e, 0x7c, 0xf7, 0xee, 0x4d, 0xe9, 0xf0, 0xe5, + 0x5e, 0x39, 0x05, 0xc5, 0x1a, 0x05, 0x7a, 0x14, 0xca, 0x7e, 0x3b, 0x10, 0x2a, 0xeb, 0xf0, 0xfe, + 0xde, 0x6c, 0xf9, 0x46, 0x3b, 0xc0, 0x14, 0xa6, 0x45, 0xa1, 0x94, 0x0b, 0x47, 0xa1, 0xe4, 0xc7, + 0x63, 0x7e, 0xb3, 0x0c, 0x53, 0x2b, 0x3e, 0x79, 0x60, 0xb4, 0xfa, 0x69, 0x18, 0x72, 0x23, 0x6f, + 0x87, 0x44, 0x59, 0x45, 0xa0, 0xca, 0xa0, 0x58, 0x60, 0x0b, 0x07, 0xc6, 0xbc, 0xd5, 0xb9, 0x91, + 0x1f, 0x5f, 0x50, 0x50, 0x6e, 0x9f, 0xd1, 0x26, 0x0c, 0x87, 0xdc, 0xa5, 0x30, 0x3d, 0xc8, 0x44, + 0xf1, 0xd5, 0xc3, 0x1b, 0x93, 0x1d, 0x9f, 0x39, 0xe1, 0x90, 0xe0, 0x21, 0x09, 0x6a, 0x2d, 0x13, + 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x12, 0xc6, 0x74, 0xca, 0xbe, 0x62, 0x13, 0x7e, 0xce, 0x82, 0xd3, + 0x2b, 0x7e, 0xd8, 0xb8, 0x97, 0x89, 0x5c, 0x7a, 0x09, 0x46, 0xe9, 0x64, 0x8a, 0x8d, 0xb0, 0x3e, + 0x23, 0x7e, 0x51, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x7d, 0x7b, 0xb5, 0xda, 0x2d, 0xec, 0x51, + 0xa0, 0xb0, 0x4e, 0x67, 0xff, 0xbe, 0x05, 0x8f, 0x5f, 0x5d, 0x5a, 0xae, 0x91, 0x28, 0xf6, 0xe2, + 0x84, 0x04, 0x49, 0x47, 0xe4, 0x25, 0xd5, 0x19, 0x5d, 0xad, 0x29, 0xa9, 0xce, 0x58, 0x65, 0xad, + 0x10, 0xd8, 0x0f, 0x4a, 0xf8, 0xf1, 0xb7, 0x2c, 0x38, 0x7d, 0xd5, 0x4b, 0x30, 0x69, 0x85, 0xd9, + 0x60, 0xc9, 0x88, 0xb4, 0xc2, 0xd8, 0x4b, 0xc2, 0x68, 0x37, 0x1b, 0x2c, 0x89, 0x15, 0x06, 0x6b, + 0x54, 0xbc, 0xe6, 0x1d, 0x2f, 0xa6, 0x2d, 0x2d, 0x99, 0xa6, 0x2e, 0x16, 0x70, 0xac, 0x28, 0x68, + 0xc7, 0x5c, 0x2f, 0x62, 0x2a, 0xc3, 0xae, 0x98, 0xc1, 0xaa, 0x63, 0x55, 0x89, 0xc0, 0x29, 0x8d, + 0xfd, 0xb7, 0x2c, 0x38, 0x7b, 0xd5, 0x6f, 0xc7, 0x09, 0x89, 0x36, 0x63, 0xa3, 0xb1, 0x2f, 0x40, + 0x85, 0x48, 0xe5, 0x5e, 0xb4, 0x55, 0x6d, 0x1a, 0x4a, 0xeb, 0xe7, 0x91, 0x9a, 0x8a, 0xae, 0x40, + 0x40, 0x60, 0x7f, 0xe1, 0x6b, 0xbf, 0x5d, 0x82, 0xf1, 0x6b, 0xeb, 0xeb, 0xb5, 0xab, 0x24, 0x11, + 0xab, 0x64, 0xbe, 0x53, 0xaa, 0xa6, 0x59, 0xe4, 0xda, 0xde, 0x92, 0x99, 0x75, 0xed, 0xc4, 0xf3, + 0xe7, 0x78, 0x60, 0xfc, 0xdc, 0x6a, 0x90, 0xdc, 0x8a, 0xea, 0x49, 0xe4, 0x05, 0x5b, 0x5d, 0x2d, + 0x78, 0xb9, 0x92, 0x97, 0x7b, 0xad, 0xe4, 0xe8, 0x05, 0x18, 0x62, 0xb1, 0xfc, 0x52, 0xf5, 0xf8, + 0xb0, 0xd2, 0x12, 0x18, 0xf4, 0x60, 0x6f, 0xb6, 0x72, 0x1b, 0xaf, 0xf2, 0x3f, 0x58, 0x90, 0xa2, + 0xb7, 0x60, 0x74, 0x3b, 0x49, 0x5a, 0xd7, 0x88, 0xe3, 0x92, 0x48, 0xae, 0x12, 0x17, 0x0f, 0x5f, + 0x25, 0xe8, 0x60, 0xf0, 0x02, 0xe9, 0xc4, 0x4a, 0x61, 0x31, 0xd6, 0x39, 0xda, 0x75, 0x80, 0x14, + 0xf7, 0x90, 0x2c, 0x10, 0xfb, 0x67, 0x4b, 0x30, 0x7c, 0xcd, 0x09, 0x5c, 0x9f, 0x44, 0x68, 0x05, + 0x06, 0xc8, 0x03, 0xd2, 0x10, 0xdb, 0x78, 0x4e, 0xd3, 0xd3, 0xad, 0x8e, 0x7b, 0xd5, 0xe8, 0x7f, + 0xcc, 0xca, 0x23, 0x0c, 0xc3, 0xb4, 0xdd, 0x57, 0x55, 0x14, 0xed, 0x73, 0xf9, 0xa3, 0xa0, 0x44, + 0x82, 0xef, 0x93, 0x02, 0x84, 0x25, 0x23, 0xe6, 0x7f, 0x6a, 0xb4, 0xea, 0x74, 0x71, 0x4b, 0x8a, + 0xd9, 0x75, 0xeb, 0x4b, 0x35, 0x4e, 0x2e, 0xf8, 0x72, 0xff, 0x93, 0x04, 0xe2, 0x94, 0x9d, 0xfd, + 0x0a, 0x9c, 0x61, 0xc7, 0x97, 0x4e, 0xb2, 0x6d, 0xcc, 0x99, 0x5c, 0xe1, 0xb4, 0xff, 0x4e, 0x09, + 0x4e, 0xad, 0xd6, 0x97, 0xea, 0xa6, 0xe7, 0xf0, 0x15, 0x18, 0xe3, 0xdb, 0x33, 0x15, 0x3a, 0xc7, + 0x17, 0xe5, 0x95, 0xcb, 0x7d, 0x5d, 0xc3, 0x61, 0x83, 0x12, 0x3d, 0x0e, 0x65, 0xef, 0x9d, 0x20, + 0x1b, 0x1f, 0xb5, 0xfa, 0xfa, 0x4d, 0x4c, 0xe1, 0x14, 0x4d, 0x77, 0x7a, 0xbe, 0xc4, 0x29, 0xb4, + 0xda, 0xed, 0x5f, 0x83, 0x09, 0x2f, 0x6e, 0xc4, 0xde, 0x6a, 0x40, 0xe7, 0xbf, 0xd3, 0x90, 0xe2, + 0x9b, 0xaa, 0xe6, 0xb4, 0xa9, 0x0a, 0x8b, 0x33, 0xd4, 0xda, 0x7a, 0x3b, 0x58, 0x58, 0x5b, 0xc8, + 0x0f, 0xa7, 0xfd, 0x12, 0x54, 0x54, 0x28, 0x91, 0x0c, 0x00, 0xb3, 0xba, 0x07, 0x80, 0x15, 0x58, + 0x70, 0xa4, 0x3f, 0xb7, 0xdc, 0xd5, 0x9f, 0xfb, 0x0f, 0x2d, 0x48, 0xa3, 0x26, 0x10, 0x86, 0x4a, + 0x2b, 0x64, 0x87, 0x25, 0x91, 0x3c, 0x95, 0x7c, 0x2a, 0x47, 0x12, 0xf9, 0x4c, 0xe0, 0xb2, 0x52, + 0x93, 0x65, 0x71, 0xca, 0x06, 0xdd, 0x80, 0xe1, 0x56, 0x44, 0xea, 0x09, 0x8b, 0xc9, 0xee, 0x83, + 0x23, 0x93, 0xea, 0x1a, 0x2f, 0x89, 0x25, 0x0b, 0xfb, 0x5f, 0x58, 0x00, 0x37, 0xbc, 0xa6, 0x97, + 0x60, 0x27, 0xd8, 0x22, 0x27, 0x60, 0xec, 0xdd, 0x84, 0x81, 0xb8, 0x45, 0x1a, 0xc5, 0x8e, 0xbb, + 0xd2, 0x96, 0xd5, 0x5b, 0xa4, 0x91, 0x7e, 0x0e, 0xfa, 0x0f, 0x33, 0x3e, 0xf6, 0x3f, 0x02, 0x98, + 0x48, 0xc9, 0xa8, 0xc2, 0x8d, 0x9e, 0x37, 0x82, 0x91, 0x1f, 0xcd, 0x04, 0x23, 0x57, 0x18, 0xb5, + 0x16, 0x7f, 0x9c, 0x40, 0xb9, 0xe9, 0x3c, 0x10, 0xfa, 0xfd, 0x4b, 0x45, 0x1b, 0x44, 0x6b, 0x9a, + 0x5b, 0x73, 0x1e, 0x70, 0x75, 0xea, 0x39, 0x29, 0x48, 0x6b, 0xce, 0x83, 0x03, 0x7e, 0xa8, 0xc5, + 0x66, 0x22, 0x35, 0x28, 0xbe, 0xf6, 0x5f, 0xd3, 0xff, 0x6c, 0x71, 0xa4, 0xd5, 0xb1, 0x5a, 0xbd, + 0x40, 0xb8, 0x27, 0xfb, 0xac, 0xd5, 0x0b, 0xb2, 0xb5, 0x7a, 0x41, 0x81, 0x5a, 0xbd, 0x00, 0xbd, + 0x6b, 0xc1, 0xb0, 0xf0, 0xea, 0xb3, 0x38, 0xb4, 0xd1, 0x2b, 0x9f, 0xe8, 0xab, 0x6a, 0x71, 0x3c, + 0xc0, 0xab, 0x9f, 0x97, 0x3a, 0xa4, 0x80, 0xe6, 0x36, 0x41, 0x56, 0x8d, 0x7e, 0xd5, 0x82, 0x09, + 0xf1, 0x1b, 0x93, 0x77, 0xda, 0x24, 0x4e, 0xc4, 0x6e, 0xf5, 0x99, 0xa3, 0xb4, 0x46, 0xb0, 0xe0, + 0x8d, 0xfa, 0xb8, 0x5c, 0x6a, 0x4c, 0x64, 0x6e, 0xdb, 0x32, 0xed, 0x41, 0xdf, 0xb3, 0xe0, 0x4c, + 0xd3, 0x79, 0xc0, 0x6b, 0xe4, 0x30, 0xec, 0x24, 0x5e, 0x28, 0x62, 0xed, 0x56, 0xfa, 0x95, 0x93, + 0x0e, 0x46, 0xbc, 0xb9, 0x9f, 0x92, 0x47, 0xad, 0xdd, 0x48, 0x72, 0x1b, 0xdd, 0xb5, 0x85, 0x33, + 0x2e, 0x8c, 0x48, 0xc1, 0xec, 0xa2, 0xbd, 0x2f, 0xea, 0x9b, 0xf2, 0xe1, 0x33, 0x50, 0xfa, 0xbb, + 0xe6, 0x5e, 0x6f, 0x3b, 0x41, 0xe2, 0x25, 0xbb, 0x9a, 0xae, 0xcf, 0x6a, 0x11, 0x82, 0x78, 0x8c, + 0xb5, 0x6c, 0xc3, 0x98, 0x2e, 0x73, 0xc7, 0x58, 0x53, 0x08, 0xa7, 0xbb, 0xc8, 0xd3, 0x31, 0x56, + 0xd8, 0x86, 0x47, 0x7b, 0xca, 0xc5, 0xf1, 0x55, 0x6b, 0xff, 0x73, 0x4b, 0x5f, 0x30, 0x4f, 0xc0, + 0x83, 0xb2, 0x66, 0x7a, 0x50, 0x2e, 0x16, 0x9d, 0x39, 0x3d, 0xdc, 0x28, 0x9b, 0x7a, 0xf3, 0xe9, + 0x46, 0x80, 0xd6, 0x61, 0xc8, 0xa7, 0x10, 0x79, 0x80, 0x75, 0xa9, 0x9f, 0xb9, 0x99, 0xea, 0x18, + 0x0c, 0x1e, 0x63, 0xc1, 0xcb, 0xfe, 0x9e, 0x05, 0x03, 0x3f, 0xc1, 0x0b, 0x12, 0x1d, 0xac, 0xc5, + 0x1d, 0xdf, 0x39, 0xec, 0xdc, 0x5f, 0x7e, 0x90, 0x90, 0x20, 0x66, 0x2a, 0x65, 0xd7, 0x21, 0xfa, + 0xf5, 0x12, 0x8c, 0xd2, 0xaa, 0x64, 0x08, 0xc2, 0xab, 0x30, 0xee, 0x3b, 0x1b, 0xc4, 0x97, 0xde, + 0xdf, 0xac, 0xf9, 0x75, 0x43, 0x47, 0x62, 0x93, 0x96, 0x16, 0xde, 0xd4, 0x9d, 0xe3, 0x42, 0x35, + 0x52, 0x85, 0x0d, 0xcf, 0x39, 0x36, 0x69, 0xa9, 0x05, 0x70, 0xdf, 0x49, 0x1a, 0xdb, 0xc2, 0x34, + 0x53, 0xcd, 0xbd, 0x4b, 0x81, 0x98, 0xe3, 0xd0, 0x02, 0x4c, 0x4a, 0x89, 0xbd, 0x43, 0x6d, 0xf6, + 0x30, 0x10, 0x6a, 0xa3, 0xba, 0x64, 0x89, 0x4d, 0x34, 0xce, 0xd2, 0xa3, 0x4f, 0xc2, 0x04, 0x1d, + 0x9c, 0xb0, 0x9d, 0xc8, 0x00, 0x8b, 0x41, 0x16, 0x60, 0xc1, 0xa2, 0x64, 0xd7, 0x0d, 0x0c, 0xce, + 0x50, 0xda, 0x6f, 0xc1, 0xe9, 0x1b, 0xa1, 0xe3, 0x2e, 0x3a, 0xbe, 0x13, 0x34, 0x48, 0xb4, 0x1a, + 0x6c, 0xe5, 0x9e, 0x45, 0xeb, 0xe7, 0xc5, 0xa5, 0xbc, 0xf3, 0x62, 0x3b, 0x02, 0xa4, 0x57, 0x20, + 0x42, 0x83, 0xde, 0x84, 0x61, 0x8f, 0x57, 0x25, 0xc4, 0xf6, 0x72, 0x9e, 0x73, 0xa9, 0xa3, 0x8d, + 0x5a, 0xa8, 0x0b, 0x07, 0x60, 0xc9, 0x92, 0x5a, 0x14, 0xdd, 0xbc, 0x51, 0xf9, 0x46, 0x9b, 0xfd, + 0x97, 0x2d, 0x98, 0xbc, 0x99, 0xb9, 0xc1, 0xf7, 0x34, 0x0c, 0xc5, 0x24, 0xea, 0xe2, 0x5a, 0xab, + 0x33, 0x28, 0x16, 0xd8, 0x87, 0x6e, 0xae, 0xff, 0x62, 0x09, 0x2a, 0x2c, 0xc8, 0xb4, 0x45, 0xad, + 0x83, 0xe3, 0x57, 0x4e, 0xd7, 0x0c, 0xe5, 0x34, 0xc7, 0x68, 0x54, 0x0d, 0xeb, 0xa5, 0x9b, 0xa2, + 0xdb, 0xea, 0x66, 0x5b, 0x21, 0x7b, 0x31, 0x65, 0xc8, 0x6f, 0x3f, 0x4d, 0x98, 0x17, 0xe1, 0xe4, + 0xad, 0x37, 0x76, 0x82, 0xab, 0x68, 0x3f, 0x70, 0x27, 0xb8, 0xaa, 0x65, 0x3d, 0x16, 0xa7, 0x9a, + 0xd6, 0x78, 0xb6, 0x7c, 0x7f, 0x9a, 0x85, 0x0e, 0x3a, 0xbe, 0xf7, 0x65, 0xa2, 0x2e, 0x88, 0xce, + 0x8a, 0x50, 0x40, 0x01, 0x3d, 0x60, 0xeb, 0x8c, 0xf8, 0xc7, 0xef, 0xff, 0xa6, 0x45, 0xec, 0x6b, + 0x30, 0x99, 0x19, 0x3a, 0xf4, 0x12, 0x0c, 0xb6, 0xb6, 0x9d, 0x98, 0x64, 0x82, 0x52, 0x06, 0x6b, + 0x14, 0x78, 0xb0, 0x37, 0x3b, 0xa1, 0x0a, 0x30, 0x08, 0xe6, 0xd4, 0xf6, 0xbb, 0x25, 0x18, 0xb8, + 0x19, 0xba, 0x27, 0x21, 0x6a, 0xd7, 0x0c, 0x51, 0x7b, 0x3a, 0x3f, 0x7b, 0x40, 0x4f, 0x29, 0xab, + 0x65, 0xa4, 0xec, 0x62, 0x01, 0x5e, 0x87, 0x0b, 0x58, 0x13, 0x46, 0x59, 0x76, 0x02, 0x11, 0x95, + 0xf3, 0x82, 0x61, 0x4f, 0xcd, 0x66, 0xec, 0xa9, 0x49, 0x8d, 0x54, 0xb3, 0xaa, 0x9e, 0x81, 0x61, + 0x11, 0x05, 0x92, 0x0d, 0x9c, 0x14, 0xb4, 0x58, 0xe2, 0xed, 0x7f, 0x5a, 0x06, 0x23, 0x1b, 0x02, + 0xfa, 0x81, 0x05, 0x73, 0x11, 0xbf, 0x0a, 0xe2, 0x56, 0xdb, 0x91, 0x17, 0x6c, 0xd5, 0x1b, 0xdb, + 0xc4, 0x6d, 0xfb, 0x5e, 0xb0, 0xb5, 0xba, 0x15, 0x84, 0x0a, 0xbc, 0xfc, 0x80, 0x34, 0xda, 0xcc, + 0xe9, 0x5a, 0x38, 0x09, 0x83, 0x3a, 0x01, 0xbd, 0xb2, 0xbf, 0x37, 0x3b, 0x87, 0xfb, 0xaa, 0x05, + 0xf7, 0xd9, 0x2a, 0xf4, 0x47, 0x16, 0xcc, 0xf3, 0x7c, 0x00, 0xc5, 0x7b, 0x52, 0xc8, 0x0e, 0xad, + 0x49, 0xa6, 0x29, 0xbb, 0x75, 0x12, 0x35, 0x17, 0x5f, 0x16, 0x83, 0x3c, 0x5f, 0xeb, 0xaf, 0x56, + 0xdc, 0x6f, 0x33, 0xed, 0x7f, 0x55, 0x86, 0x71, 0x3a, 0x9e, 0xe9, 0x1d, 0xe0, 0x97, 0x0c, 0x31, + 0x79, 0x22, 0x23, 0x26, 0xa7, 0x0c, 0xe2, 0x87, 0x73, 0xfd, 0x37, 0x86, 0x53, 0xbe, 0x13, 0x27, + 0xd7, 0x88, 0x13, 0x25, 0x1b, 0xc4, 0x61, 0x07, 0x8d, 0xd9, 0x20, 0x86, 0x02, 0x67, 0x97, 0x2a, + 0xb2, 0xe8, 0x46, 0x96, 0x19, 0xee, 0xe4, 0x8f, 0x76, 0x00, 0xb1, 0x43, 0xcd, 0xc8, 0x09, 0x62, + 0xde, 0x17, 0x4f, 0xb8, 0x69, 0xfb, 0xab, 0x75, 0x46, 0xd4, 0x8a, 0x6e, 0x74, 0x70, 0xc3, 0x5d, + 0x6a, 0xd0, 0x8e, 0xad, 0x07, 0x8b, 0x1e, 0x5b, 0x0f, 0xe5, 0x44, 0x2c, 0xff, 0xbc, 0x05, 0xa7, + 0xe9, 0x67, 0x31, 0xa3, 0x5b, 0x63, 0x14, 0xc2, 0x24, 0x15, 0x3b, 0x9f, 0x24, 0x12, 0x26, 0xe6, + 0x57, 0x8e, 0x66, 0x6d, 0xf2, 0x49, 0xd5, 0xb7, 0xeb, 0x26, 0x33, 0x9c, 0xe5, 0x6e, 0x7f, 0xdb, + 0x02, 0x16, 0x3e, 0x77, 0x02, 0x9b, 0xd9, 0x55, 0x73, 0x33, 0xb3, 0xf3, 0x57, 0x8c, 0x1e, 0xfb, + 0xd8, 0x8b, 0x30, 0x45, 0xb1, 0xb5, 0x28, 0x7c, 0xb0, 0x2b, 0x15, 0xed, 0x7c, 0x7f, 0xed, 0xbb, + 0x25, 0x3e, 0x6d, 0xd4, 0x9d, 0x36, 0xf4, 0x0b, 0x16, 0x8c, 0x34, 0x9c, 0x96, 0xd3, 0xe0, 0xb9, + 0x64, 0x0a, 0xf8, 0x64, 0x8c, 0xf2, 0x73, 0x4b, 0xa2, 0x2c, 0xf7, 0x27, 0x7c, 0x4c, 0x76, 0x5d, + 0x82, 0x73, 0x7d, 0x08, 0xaa, 0xf2, 0x19, 0x0f, 0xc6, 0x0d, 0x66, 0xc7, 0x68, 0x84, 0xfe, 0x82, + 0xc5, 0x97, 0x7c, 0x65, 0x28, 0xdc, 0x87, 0x53, 0x81, 0xf6, 0x9f, 0x2e, 0x66, 0x52, 0x2f, 0x9e, + 0x2b, 0xbe, 0xa8, 0xb3, 0x35, 0x50, 0x0b, 0x14, 0xcc, 0x30, 0xc4, 0x9d, 0x75, 0xd8, 0x7f, 0xd7, + 0x82, 0x47, 0x74, 0x42, 0xed, 0x0a, 0x62, 0x9e, 0xaf, 0xb8, 0x0a, 0x23, 0x61, 0x8b, 0x44, 0x4e, + 0x6a, 0x14, 0x5d, 0x94, 0xa3, 0x7f, 0x4b, 0xc0, 0x0f, 0xf6, 0x66, 0xcf, 0xe8, 0xdc, 0x25, 0x1c, + 0xab, 0x92, 0xc8, 0x86, 0x21, 0x36, 0x2e, 0xb1, 0xb8, 0x3c, 0xca, 0x32, 0xab, 0xb0, 0x13, 0x92, + 0x18, 0x0b, 0x8c, 0xfd, 0xd7, 0x2d, 0x2e, 0x6c, 0x7a, 0xd3, 0xd1, 0x57, 0x60, 0xaa, 0x49, 0xed, + 0xa7, 0xe5, 0x07, 0x2d, 0xba, 0x8d, 0xb2, 0x93, 0x61, 0xab, 0xc8, 0xe6, 0xd1, 0xa3, 0xbb, 0x8b, + 0xd3, 0xa2, 0xf5, 0x53, 0x6b, 0x19, 0xb6, 0xb8, 0xa3, 0x22, 0xfb, 0x8f, 0xc5, 0x8c, 0x65, 0x1a, + 0xdc, 0x33, 0x30, 0xdc, 0x0a, 0xdd, 0xa5, 0xd5, 0x2a, 0x16, 0x63, 0xa5, 0x96, 0x9c, 0x1a, 0x07, + 0x63, 0x89, 0x47, 0x57, 0x00, 0xc8, 0x83, 0x84, 0x44, 0x81, 0xe3, 0xab, 0x13, 0x5d, 0xa5, 0x28, + 0x2d, 0x2b, 0x0c, 0xd6, 0xa8, 0x68, 0x99, 0x56, 0x14, 0xee, 0x78, 0x2e, 0x8b, 0xda, 0x2f, 0x9b, + 0x65, 0x6a, 0x0a, 0x83, 0x35, 0x2a, 0x6a, 0xb5, 0xb6, 0x83, 0x98, 0x6f, 0x62, 0xce, 0x86, 0x48, + 0x04, 0x32, 0x92, 0x5a, 0xad, 0xb7, 0x75, 0x24, 0x36, 0x69, 0xed, 0xff, 0x54, 0x01, 0x48, 0xd5, + 0x24, 0xf4, 0x6e, 0xe7, 0x0c, 0xfd, 0x78, 0x51, 0x1d, 0xeb, 0xe1, 0x4d, 0x4f, 0xf4, 0x0d, 0x0b, + 0x46, 0x1d, 0xdf, 0x0f, 0x1b, 0x4e, 0xc2, 0x7a, 0x54, 0x2a, 0xba, 0x56, 0x88, 0x96, 0x2c, 0xa4, + 0x65, 0x79, 0x63, 0x5e, 0x90, 0x07, 0x7e, 0x1a, 0x26, 0xb7, 0x3d, 0x7a, 0x13, 0xd0, 0xc7, 0xa4, + 0x9a, 0xcd, 0x3f, 0xca, 0x4c, 0x56, 0xcd, 0xae, 0xb0, 0x15, 0x52, 0xd3, 0xb0, 0xd1, 0x5b, 0x46, + 0xae, 0x8b, 0x81, 0x22, 0x77, 0x16, 0x0d, 0xc5, 0x21, 0x2f, 0xcd, 0x05, 0xfa, 0xbc, 0x1e, 0xd0, + 0x3c, 0x58, 0xe4, 0x52, 0xb0, 0xa6, 0xbf, 0xe6, 0x04, 0x33, 0x27, 0x30, 0xe9, 0x9a, 0x5b, 0xa5, + 0x08, 0xca, 0xba, 0x9c, 0x5f, 0x43, 0x66, 0x8f, 0x4d, 0x37, 0xc7, 0x0c, 0x02, 0x67, 0xab, 0x40, + 0x9f, 0xe7, 0xe1, 0xe6, 0xab, 0xc1, 0x66, 0x28, 0x02, 0xb3, 0x2e, 0x15, 0xf8, 0xe6, 0xbb, 0x71, + 0x42, 0x9a, 0xb4, 0x4c, 0xba, 0x1b, 0xde, 0x14, 0x5c, 0xb0, 0xe2, 0x87, 0xd6, 0x61, 0x88, 0x5d, + 0x8e, 0x89, 0xa7, 0x47, 0x8a, 0xb8, 0xce, 0xcc, 0x3b, 0xa1, 0xa9, 0x0a, 0xc2, 0xfe, 0xc6, 0x58, + 0xf0, 0x42, 0xd7, 0xe4, 0xdd, 0xec, 0x78, 0x35, 0xb8, 0x1d, 0x13, 0x76, 0x37, 0xbb, 0xb2, 0xf8, + 0x91, 0xf4, 0xb2, 0x35, 0x87, 0x77, 0xcd, 0xf6, 0x65, 0x94, 0xa4, 0x9a, 0x88, 0xf8, 0x2f, 0x93, + 0x88, 0x4d, 0x43, 0x91, 0x86, 0x9a, 0x29, 0xc7, 0xd2, 0xc1, 0xbe, 0x63, 0x32, 0xc3, 0x59, 0xee, + 0x27, 0xb8, 0x07, 0xce, 0xf8, 0x30, 0x95, 0x9d, 0x92, 0xc7, 0xb8, 0xe3, 0xfe, 0xe9, 0x00, 0x4c, + 0x98, 0x82, 0x81, 0xe6, 0xa1, 0x22, 0xb4, 0x29, 0x95, 0x50, 0x48, 0xc9, 0xff, 0x9a, 0x44, 0xe0, + 0x94, 0x86, 0xa5, 0x56, 0x62, 0xc5, 0xb5, 0x70, 0x9c, 0x34, 0xb5, 0x92, 0xc2, 0x60, 0x8d, 0x8a, + 0xaa, 0xad, 0x1b, 0x61, 0x98, 0xa8, 0x85, 0x5b, 0xc9, 0xcc, 0x22, 0x83, 0x62, 0x81, 0xa5, 0x0b, + 0xf6, 0x3d, 0xda, 0x21, 0xdf, 0x74, 0x01, 0xaa, 0x05, 0xfb, 0xba, 0x8e, 0xc4, 0x26, 0x2d, 0xdd, + 0x80, 0xc2, 0x98, 0x09, 0xa1, 0x50, 0x8e, 0xd3, 0xf0, 0xa6, 0x3a, 0xbf, 0x2c, 0x26, 0xf1, 0xe8, + 0x73, 0xf0, 0x88, 0xba, 0xdb, 0x85, 0xb9, 0x4b, 0x55, 0xd6, 0x38, 0x64, 0xd8, 0xb7, 0x8f, 0x2c, + 0x75, 0x27, 0xc3, 0xbd, 0xca, 0xa3, 0xd7, 0x60, 0x42, 0x28, 0xb6, 0x92, 0xe3, 0xb0, 0x79, 0xfa, + 0x7d, 0xdd, 0xc0, 0xe2, 0x0c, 0x35, 0xaa, 0xc2, 0x14, 0x85, 0x30, 0x8d, 0x52, 0x72, 0xe0, 0x77, + 0xd4, 0xd4, 0xce, 0x7c, 0x3d, 0x83, 0xc7, 0x1d, 0x25, 0xd0, 0x02, 0x4c, 0x72, 0xdd, 0x82, 0x5a, + 0x71, 0xec, 0x3b, 0x88, 0x48, 0x4a, 0x35, 0x09, 0x6e, 0x99, 0x68, 0x9c, 0xa5, 0x47, 0xaf, 0xc0, + 0x98, 0x13, 0x35, 0xb6, 0xbd, 0x84, 0x34, 0x92, 0x76, 0xc4, 0xb3, 0x1e, 0x68, 0xe1, 0x03, 0x0b, + 0x1a, 0x0e, 0x1b, 0x94, 0xf6, 0x97, 0xe1, 0x74, 0x97, 0xb0, 0x6d, 0x2a, 0x38, 0x4e, 0xcb, 0x93, + 0x7d, 0xca, 0x04, 0x2a, 0x2d, 0xd4, 0x56, 0x65, 0x6f, 0x34, 0x2a, 0x2a, 0x9d, 0xcc, 0x97, 0xac, + 0xe5, 0xfb, 0x53, 0xd2, 0xb9, 0x22, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0x57, 0x05, 0x34, 0x57, 0x4b, + 0x81, 0xf0, 0x94, 0x57, 0x60, 0x4c, 0xa6, 0xb0, 0xd4, 0x52, 0xc7, 0xa9, 0x6e, 0x5e, 0xd5, 0x70, + 0xd8, 0xa0, 0xa4, 0x6d, 0x0b, 0xa4, 0x03, 0x29, 0x1b, 0x16, 0xa5, 0x3c, 0x4b, 0x38, 0xa5, 0x41, + 0x97, 0x60, 0x24, 0x26, 0xfe, 0xe6, 0x0d, 0x2f, 0xb8, 0x27, 0x04, 0x5b, 0xad, 0xca, 0x75, 0x01, + 0xc7, 0x8a, 0x02, 0x2d, 0x42, 0xb9, 0xed, 0xb9, 0x42, 0x94, 0xa5, 0xca, 0x50, 0xbe, 0xbd, 0x5a, + 0x3d, 0xd8, 0x9b, 0x7d, 0xa2, 0x57, 0x0e, 0x50, 0x6a, 0x4c, 0xc7, 0x73, 0x74, 0xfa, 0xd1, 0xc2, + 0xdd, 0x9c, 0xea, 0x43, 0x7d, 0x3a, 0xd5, 0xaf, 0x00, 0x88, 0x5e, 0x4b, 0x59, 0x2e, 0xa7, 0x5f, + 0xed, 0xaa, 0xc2, 0x60, 0x8d, 0x8a, 0x9a, 0xe4, 0x8d, 0x88, 0x38, 0xd2, 0x6a, 0xe5, 0xe1, 0xc4, + 0x23, 0x47, 0x37, 0xc9, 0x97, 0xb2, 0xcc, 0x70, 0x27, 0x7f, 0x14, 0xc2, 0x29, 0x97, 0x4e, 0x24, + 0xa3, 0xd2, 0x4a, 0xff, 0x31, 0xcc, 0xb4, 0xc2, 0x6a, 0x96, 0x11, 0xee, 0xe4, 0x8d, 0xbe, 0x08, + 0x33, 0x12, 0xd8, 0x79, 0x7b, 0x93, 0x4d, 0x97, 0xf2, 0xe2, 0xf9, 0xfd, 0xbd, 0xd9, 0x99, 0x6a, + 0x4f, 0x2a, 0x7c, 0x08, 0x07, 0xf4, 0x26, 0x0c, 0xb1, 0x43, 0x98, 0x78, 0x7a, 0x94, 0xed, 0x76, + 0x2f, 0x16, 0x89, 0x84, 0xa7, 0x52, 0x3f, 0xc7, 0x8e, 0x72, 0x44, 0x8c, 0x67, 0x7a, 0xb2, 0xc5, + 0x80, 0x58, 0xf0, 0x44, 0x2d, 0x18, 0x75, 0x82, 0x20, 0x4c, 0x1c, 0xae, 0x84, 0x8d, 0x15, 0xd1, + 0x23, 0xb5, 0x2a, 0x16, 0xd2, 0xb2, 0xbc, 0x1e, 0x15, 0x38, 0xa6, 0x61, 0xb0, 0x5e, 0x05, 0xba, + 0x0f, 0x93, 0xe1, 0x7d, 0xba, 0x60, 0xca, 0x73, 0x88, 0x78, 0x7a, 0xdc, 0xec, 0x58, 0x8e, 0x57, + 0xd5, 0x28, 0xac, 0xad, 0x64, 0x26, 0x53, 0x9c, 0xad, 0x05, 0xcd, 0x19, 0xbe, 0xe5, 0x89, 0x34, + 0x92, 0x39, 0xf5, 0x2d, 0xeb, 0xae, 0x64, 0x76, 0x43, 0x98, 0x47, 0x2f, 0xb2, 0x15, 0x61, 0x32, + 0x73, 0x43, 0x38, 0x45, 0x61, 0x9d, 0x6e, 0xe6, 0x13, 0x30, 0xaa, 0x0d, 0x7c, 0x3f, 0x21, 0xb3, + 0x33, 0xaf, 0xc1, 0x54, 0x76, 0x40, 0xfb, 0x0a, 0xb9, 0xfd, 0x9f, 0x25, 0x98, 0xec, 0x72, 0xc8, + 0x73, 0xcf, 0x63, 0x61, 0xdf, 0xc6, 0xd2, 0x77, 0xdd, 0x0b, 0x5c, 0xcc, 0x30, 0xe6, 0x02, 0x56, + 0x2a, 0xb0, 0x80, 0xc9, 0xd5, 0xb4, 0xdc, 0x73, 0x35, 0x15, 0x8b, 0xd6, 0xc0, 0xfb, 0x59, 0xb4, + 0xcc, 0x7d, 0x62, 0xb0, 0xd0, 0x3e, 0xf1, 0x10, 0x16, 0x3a, 0x63, 0xab, 0x19, 0x2e, 0xb0, 0xd5, + 0x7c, 0xab, 0x04, 0x53, 0x69, 0x78, 0xb1, 0xc8, 0x6b, 0x7b, 0xfc, 0x67, 0x06, 0xeb, 0xc6, 0x99, + 0x41, 0x5e, 0xda, 0xda, 0x4c, 0xfb, 0x7a, 0x9e, 0x1f, 0xbc, 0x99, 0x39, 0x3f, 0x78, 0xb1, 0x4f, + 0xbe, 0x87, 0x9f, 0x25, 0x7c, 0xb7, 0x04, 0x67, 0xb3, 0x45, 0x96, 0x7c, 0xc7, 0x6b, 0x9e, 0xc0, + 0x78, 0x7d, 0xce, 0x18, 0xaf, 0x97, 0xfb, 0xeb, 0x17, 0x6b, 0x64, 0xcf, 0x41, 0x73, 0x32, 0x83, + 0xf6, 0x89, 0xa3, 0x30, 0x3f, 0x7c, 0xe4, 0xfe, 0xc0, 0x82, 0x47, 0xbb, 0x96, 0x3b, 0x01, 0x2f, + 0xe9, 0x1b, 0xa6, 0x97, 0xf4, 0x85, 0x23, 0xf4, 0xae, 0x87, 0xdb, 0xf4, 0xbf, 0x95, 0x7a, 0xf4, + 0x8a, 0x79, 0x92, 0x6e, 0xc1, 0xa8, 0xd3, 0x68, 0x90, 0x38, 0x5e, 0x0b, 0x5d, 0x95, 0x6b, 0xe8, + 0x79, 0xb6, 0xb7, 0xa4, 0xe0, 0x83, 0xbd, 0xd9, 0x99, 0x2c, 0x8b, 0x14, 0x8d, 0x75, 0x0e, 0x66, + 0x2e, 0xb2, 0xd2, 0x31, 0xe5, 0x22, 0xbb, 0x02, 0xb0, 0xa3, 0x2c, 0xd8, 0xac, 0x83, 0x4a, 0xb3, + 0x6d, 0x35, 0x2a, 0xf4, 0x17, 0x99, 0x46, 0xc8, 0x23, 0x2a, 0x06, 0xcc, 0x9b, 0x8a, 0x39, 0xdf, + 0x4f, 0x8f, 0xce, 0xe0, 0x17, 0x22, 0x95, 0x33, 0x4f, 0xb1, 0xb4, 0xff, 0x59, 0x19, 0x3e, 0x7c, + 0x88, 0xd0, 0xa1, 0x05, 0xf3, 0x80, 0xf4, 0xb9, 0xac, 0xe7, 0x66, 0xa6, 0x6b, 0x61, 0xc3, 0x95, + 0x93, 0xf9, 0x56, 0xa5, 0xf7, 0xfd, 0xad, 0xbe, 0xa9, 0xfb, 0xd9, 0x78, 0x60, 0xe4, 0xd5, 0x23, + 0x4f, 0xab, 0x9f, 0x4e, 0xbf, 0xf8, 0xd7, 0x2c, 0x78, 0xa2, 0x6b, 0xa7, 0x8c, 0x70, 0x8c, 0x79, + 0xa8, 0x34, 0x28, 0x50, 0xbb, 0xc1, 0x92, 0x5e, 0x1d, 0x93, 0x08, 0x9c, 0xd2, 0x18, 0x51, 0x17, + 0xa5, 0xdc, 0xa8, 0x8b, 0xdf, 0xb3, 0xe0, 0x4c, 0xb6, 0x11, 0x27, 0xb0, 0xe6, 0xd4, 0xcd, 0x35, + 0x67, 0xae, 0xbf, 0x4f, 0xdf, 0x63, 0xb9, 0xf9, 0xd5, 0x71, 0x38, 0xd7, 0xb1, 0x63, 0xf1, 0x51, + 0xfc, 0x19, 0x0b, 0x4e, 0x6d, 0x31, 0xcd, 0x5b, 0xbb, 0x26, 0x24, 0xfa, 0x95, 0x73, 0xb7, 0xea, + 0xd0, 0xdb, 0x45, 0xdc, 0x8e, 0xe8, 0x20, 0xc1, 0x9d, 0x95, 0xa1, 0xaf, 0x5b, 0x70, 0xc6, 0xb9, + 0x1f, 0x77, 0xbc, 0x98, 0x20, 0xc4, 0xe8, 0xb5, 0x1c, 0x27, 0x57, 0xce, 0x5b, 0x0b, 0x8b, 0xd3, + 0xfb, 0x7b, 0xb3, 0x67, 0xba, 0x51, 0xe1, 0xae, 0xb5, 0xd2, 0xef, 0xbb, 0x2d, 0xae, 0x21, 0x14, + 0xbb, 0xf0, 0xd6, 0xed, 0xd2, 0x02, 0x5f, 0x92, 0x24, 0x06, 0x2b, 0x8e, 0xe8, 0x6d, 0xa8, 0x6c, + 0xc9, 0x9b, 0x41, 0xd9, 0x25, 0xaf, 0xc7, 0x30, 0x77, 0xbb, 0x48, 0xc4, 0x43, 0xe3, 0x15, 0x0a, + 0xa7, 0x4c, 0xd1, 0x35, 0x28, 0x07, 0x9b, 0xb1, 0xb8, 0x83, 0x9b, 0x17, 0x6c, 0x63, 0x86, 0x38, + 0xf1, 0x6b, 0x8b, 0x37, 0x57, 0xea, 0x98, 0xb2, 0xa0, 0x9c, 0xa2, 0x0d, 0x57, 0x78, 0x77, 0x73, + 0x38, 0xe1, 0xc5, 0x6a, 0x27, 0x27, 0xbc, 0x58, 0xc5, 0x94, 0x05, 0xaa, 0xc1, 0x20, 0xbb, 0xe4, + 0x20, 0x5c, 0xb7, 0x39, 0x17, 0xb5, 0x3b, 0xae, 0x72, 0xf0, 0x44, 0x7b, 0x0c, 0x8c, 0x39, 0x23, + 0xb4, 0x0e, 0x43, 0x0d, 0x96, 0x1c, 0x5c, 0xd8, 0xd5, 0x79, 0x29, 0x0c, 0x3a, 0x12, 0x89, 0xf3, + 0x23, 0x26, 0x0e, 0xc7, 0x82, 0x17, 0xe3, 0x4a, 0x5a, 0xdb, 0x9b, 0xb1, 0x30, 0x9c, 0xf3, 0xb8, + 0x76, 0xa4, 0x79, 0x17, 0x5c, 0x19, 0x1c, 0x0b, 0x5e, 0xa8, 0x0a, 0xa5, 0xcd, 0x86, 0xc8, 0x9a, + 0x99, 0xe3, 0xb2, 0x35, 0xef, 0xa0, 0x2e, 0x0e, 0xed, 0xef, 0xcd, 0x96, 0x56, 0x96, 0x70, 0x69, + 0xb3, 0x81, 0xde, 0x80, 0xe1, 0x4d, 0x7e, 0xab, 0x50, 0x64, 0xc8, 0xbc, 0x9c, 0x77, 0xf5, 0xb1, + 0xe3, 0x0a, 0x22, 0xbf, 0xfe, 0x20, 0x10, 0x58, 0xb2, 0x63, 0x69, 0xcb, 0xd4, 0x3d, 0x49, 0x91, + 0x22, 0x73, 0xae, 0xbf, 0x7b, 0x95, 0xc2, 0x9e, 0x54, 0x50, 0xac, 0x71, 0xa4, 0x32, 0xef, 0xc8, + 0x77, 0x0e, 0x58, 0x7a, 0xcc, 0x5c, 0x99, 0xef, 0xfa, 0x2c, 0x02, 0x97, 0x79, 0x85, 0xc2, 0x29, + 0x53, 0xd4, 0x86, 0xf1, 0x9d, 0xb8, 0xb5, 0x4d, 0xe4, 0xd4, 0x67, 0x39, 0x33, 0x47, 0xaf, 0x7c, + 0x2a, 0x27, 0x11, 0xaa, 0x28, 0xe2, 0x45, 0x49, 0xdb, 0xf1, 0x3b, 0x56, 0x30, 0x96, 0x27, 0xea, + 0x8e, 0xce, 0x16, 0x9b, 0xb5, 0xd0, 0x4f, 0xf2, 0x4e, 0x3b, 0xdc, 0xd8, 0x4d, 0x88, 0xc8, 0xa9, + 0x99, 0xf3, 0x49, 0x5e, 0xe7, 0xc4, 0x9d, 0x9f, 0x44, 0x20, 0xb0, 0x64, 0xa7, 0x86, 0x8c, 0xad, + 0xc6, 0x53, 0x85, 0x87, 0xac, 0xa3, 0x0f, 0xe9, 0x90, 0xb1, 0xd5, 0x37, 0x65, 0xca, 0x56, 0xdd, + 0xd6, 0x76, 0x98, 0x84, 0x41, 0x66, 0xed, 0x3f, 0x55, 0x64, 0xd5, 0xad, 0x75, 0x29, 0xd9, 0xb9, + 0xea, 0x76, 0xa3, 0xc2, 0x5d, 0x6b, 0xb5, 0xff, 0x78, 0xb0, 0x73, 0xbb, 0x65, 0xca, 0xf0, 0x5f, + 0xeb, 0x3c, 0x77, 0xfc, 0x4c, 0xff, 0x36, 0xdf, 0x43, 0x3c, 0x81, 0xfc, 0xba, 0x05, 0xe7, 0x5a, + 0x5d, 0x37, 0x53, 0xb1, 0x61, 0xf5, 0x6b, 0x3a, 0xf2, 0x01, 0x53, 0x09, 0x63, 0xbb, 0xe3, 0x71, + 0x8f, 0x3a, 0xb3, 0x0a, 0x68, 0xf9, 0x7d, 0x2b, 0xa0, 0x77, 0x61, 0x84, 0xe9, 0x4c, 0x69, 0x5e, + 0x8d, 0x3e, 0x53, 0x50, 0xb0, 0xad, 0x6f, 0x49, 0xb0, 0xc0, 0x8a, 0x19, 0x1d, 0xb8, 0xc7, 0xb3, + 0x9d, 0xc0, 0x84, 0xa1, 0x45, 0xa6, 0x5b, 0xee, 0xeb, 0x58, 0x11, 0x23, 0xf1, 0x78, 0xed, 0x30, + 0xe2, 0x83, 0x3c, 0x02, 0x7c, 0x78, 0x65, 0x27, 0xa9, 0xd0, 0xfe, 0x7d, 0xab, 0x8b, 0xfe, 0xc5, + 0x4d, 0x90, 0x4f, 0x99, 0x26, 0xc8, 0xd3, 0x59, 0x13, 0xa4, 0xc3, 0x6d, 0x60, 0x58, 0x1f, 0xc5, + 0x13, 0x33, 0x16, 0x4d, 0xf8, 0x61, 0xfb, 0x70, 0x21, 0x6f, 0x72, 0xb3, 0x08, 0x1f, 0x57, 0x1d, + 0x97, 0xa5, 0x11, 0x3e, 0xee, 0x6a, 0x15, 0x33, 0x4c, 0xd1, 0x3b, 0xe3, 0xf6, 0xcf, 0x96, 0xa0, + 0x5c, 0x0b, 0xdd, 0x13, 0x70, 0x83, 0x5c, 0x35, 0xdc, 0x20, 0x4f, 0xe5, 0xbe, 0xf2, 0xd4, 0xd3, + 0xe9, 0x71, 0x2b, 0xe3, 0xf4, 0xf8, 0x68, 0x3e, 0xab, 0xc3, 0x5d, 0x1c, 0xdf, 0x2b, 0x83, 0xfe, + 0x4e, 0x15, 0xfa, 0x8f, 0x47, 0x09, 0xfc, 0x2c, 0x17, 0x7b, 0xba, 0x4a, 0xd4, 0xc1, 0x42, 0x84, + 0xe4, 0x25, 0xb1, 0x9f, 0xda, 0xf8, 0xcf, 0xbb, 0xc4, 0xdb, 0xda, 0x4e, 0x88, 0x9b, 0xed, 0xd8, + 0xc9, 0xc5, 0x7f, 0xfe, 0x77, 0x0b, 0x26, 0x33, 0xb5, 0x23, 0xbf, 0xdb, 0x3d, 0x93, 0x23, 0x3a, + 0x36, 0x4e, 0xe5, 0x5e, 0x4c, 0x99, 0x03, 0x50, 0xfe, 0x69, 0xe9, 0x7e, 0x60, 0xba, 0x98, 0x72, + 0x60, 0xc7, 0x58, 0xa3, 0x40, 0x2f, 0xc1, 0x68, 0x12, 0xb6, 0x42, 0x3f, 0xdc, 0xda, 0xbd, 0x4e, + 0x64, 0x36, 0x03, 0xe5, 0xdb, 0x5f, 0x4f, 0x51, 0x58, 0xa7, 0xb3, 0xbf, 0x5f, 0x86, 0xec, 0x2b, + 0x67, 0x7f, 0x2e, 0xa7, 0x3f, 0x3d, 0x72, 0xfa, 0x87, 0x16, 0x4c, 0xd1, 0xda, 0x59, 0x80, 0x87, + 0x8c, 0xd3, 0x54, 0xb9, 0xda, 0xad, 0x43, 0x72, 0xb5, 0x3f, 0x4d, 0x57, 0x3b, 0x37, 0x6c, 0x27, + 0xc2, 0x65, 0xa2, 0x2d, 0x62, 0x14, 0x8a, 0x05, 0x56, 0xd0, 0x91, 0x28, 0x12, 0x17, 0x5a, 0x74, + 0x3a, 0x12, 0x45, 0x58, 0x60, 0x65, 0x2a, 0xf7, 0x81, 0x1e, 0xa9, 0xdc, 0x59, 0x3e, 0x20, 0x11, + 0x58, 0x20, 0xd4, 0x01, 0x2d, 0x1f, 0x90, 0x8c, 0x38, 0x48, 0x69, 0xec, 0xef, 0x94, 0x61, 0xac, + 0x16, 0xba, 0x69, 0x00, 0xf6, 0x8b, 0x46, 0x00, 0xf6, 0x85, 0x4c, 0x00, 0xf6, 0x94, 0x4e, 0xfb, + 0x70, 0xe2, 0xaf, 0x45, 0xde, 0x28, 0xf6, 0xd8, 0xc0, 0x11, 0x63, 0xaf, 0x8d, 0xbc, 0x51, 0x8a, + 0x11, 0x36, 0xf9, 0xfe, 0x59, 0x8a, 0xb9, 0xfe, 0x3f, 0x16, 0x4c, 0xd4, 0x42, 0x97, 0x0a, 0xe8, + 0x9f, 0x25, 0x69, 0xd4, 0xb3, 0x4d, 0x0d, 0x1d, 0x92, 0x6d, 0xea, 0x1f, 0x5b, 0x30, 0x5c, 0x0b, + 0xdd, 0x13, 0x70, 0x27, 0xae, 0x98, 0xee, 0xc4, 0x27, 0x72, 0x57, 0xde, 0x1e, 0x1e, 0xc4, 0xdf, + 0x2c, 0xc3, 0x38, 0x6d, 0x71, 0xb8, 0x25, 0xbf, 0x97, 0x31, 0x36, 0x56, 0x81, 0xb1, 0xa1, 0x2a, + 0x61, 0xe8, 0xfb, 0xe1, 0xfd, 0xec, 0xb7, 0x5b, 0x61, 0x50, 0x2c, 0xb0, 0xe8, 0x12, 0x8c, 0xb4, + 0x22, 0xb2, 0xe3, 0x85, 0xed, 0x38, 0x7b, 0x39, 0xae, 0x26, 0xe0, 0x58, 0x51, 0xa0, 0x17, 0x61, + 0x2c, 0xf6, 0x82, 0x06, 0x91, 0x61, 0x07, 0x03, 0x2c, 0xec, 0x80, 0x27, 0xf6, 0xd3, 0xe0, 0xd8, + 0xa0, 0x42, 0x77, 0xa1, 0xc2, 0xfe, 0xb3, 0x19, 0xd4, 0x7f, 0x16, 0x78, 0x9e, 0xcd, 0x4a, 0x32, + 0xc0, 0x29, 0x2f, 0x74, 0x05, 0x20, 0x91, 0x01, 0x12, 0xb1, 0xc8, 0xca, 0xa1, 0xf4, 0x52, 0x15, + 0x3a, 0x11, 0x63, 0x8d, 0x0a, 0x3d, 0x07, 0x95, 0xc4, 0xf1, 0xfc, 0x1b, 0x5e, 0x40, 0x62, 0x11, + 0x60, 0x22, 0x92, 0xf4, 0x0a, 0x20, 0x4e, 0xf1, 0x74, 0xbf, 0x67, 0x57, 0x73, 0xf9, 0x0b, 0x13, + 0x23, 0x8c, 0x9a, 0xed, 0xf7, 0x37, 0x14, 0x14, 0x6b, 0x14, 0xf6, 0x0b, 0x6c, 0xdf, 0xee, 0x33, + 0x3e, 0xff, 0x47, 0x25, 0x40, 0x35, 0x16, 0x88, 0x61, 0x3c, 0xee, 0xb1, 0x0d, 0x13, 0x31, 0xb9, + 0xe1, 0x05, 0xed, 0x07, 0x82, 0x55, 0xb1, 0x0b, 0x11, 0xf5, 0x65, 0xbd, 0x0c, 0xbf, 0x8d, 0x6a, + 0xc2, 0x70, 0x86, 0x2f, 0x1d, 0x92, 0xa8, 0x1d, 0x2c, 0xc4, 0xb7, 0x63, 0x12, 0x89, 0x67, 0x34, + 0xd8, 0x90, 0x60, 0x09, 0xc4, 0x29, 0x9e, 0x8a, 0x00, 0xfb, 0x73, 0x33, 0x0c, 0x70, 0x18, 0x26, + 0x52, 0x68, 0x58, 0x5a, 0x75, 0x0d, 0x8e, 0x0d, 0x2a, 0xb4, 0x02, 0x28, 0x6e, 0xb7, 0x5a, 0x3e, + 0x3b, 0xdb, 0x72, 0xfc, 0xab, 0x51, 0xd8, 0x6e, 0xf1, 0x58, 0x5c, 0x91, 0x91, 0xbc, 0xde, 0x81, + 0xc5, 0x5d, 0x4a, 0xd0, 0x29, 0xbf, 0x19, 0xb3, 0xdf, 0xe2, 0xb6, 0x2d, 0xf7, 0xb1, 0xd5, 0x19, + 0x08, 0x4b, 0x9c, 0xfd, 0x55, 0xb6, 0x4d, 0xb1, 0xf7, 0x0d, 0x92, 0x76, 0x44, 0x50, 0x13, 0xc6, + 0x5b, 0x6c, 0x2b, 0x4a, 0xa2, 0xd0, 0xf7, 0x89, 0xd4, 0x12, 0x8f, 0x16, 0x0a, 0xc2, 0x33, 0x9a, + 0xeb, 0xec, 0xb0, 0xc9, 0xdd, 0xfe, 0xf1, 0x28, 0x5b, 0x71, 0xc4, 0xf1, 0xe2, 0xb0, 0x08, 0xf8, + 0x14, 0xfa, 0xd8, 0x47, 0x8a, 0xbc, 0x17, 0x94, 0xae, 0xe6, 0x22, 0x7c, 0x14, 0x4b, 0x2e, 0xe8, + 0x0b, 0x2c, 0x9c, 0x99, 0x4f, 0xf3, 0xe2, 0x8f, 0x78, 0x71, 0x7a, 0x23, 0x94, 0x59, 0xb0, 0xc0, + 0x1a, 0x3b, 0x74, 0x03, 0xc6, 0x45, 0x3a, 0x7c, 0xe1, 0x24, 0x28, 0x1b, 0x86, 0xf2, 0x38, 0xd6, + 0x91, 0x07, 0x59, 0x00, 0x36, 0x0b, 0xa3, 0x2d, 0x78, 0x5c, 0x7b, 0x78, 0xa7, 0x4b, 0xd8, 0x12, + 0x5f, 0x3f, 0x9e, 0xd8, 0xdf, 0x9b, 0x7d, 0x7c, 0xfd, 0x30, 0x42, 0x7c, 0x38, 0x1f, 0x74, 0x0b, + 0xce, 0x3a, 0x8d, 0xc4, 0xdb, 0x21, 0x55, 0xe2, 0xb8, 0xbe, 0x17, 0x10, 0xf3, 0x4a, 0xf6, 0xa3, + 0xfb, 0x7b, 0xb3, 0x67, 0x17, 0xba, 0x11, 0xe0, 0xee, 0xe5, 0xd0, 0xa7, 0xa0, 0xe2, 0x06, 0xb1, + 0x18, 0x83, 0x21, 0xe3, 0x8d, 0xa1, 0x4a, 0xf5, 0x66, 0x5d, 0xf5, 0x3f, 0xfd, 0x83, 0xd3, 0x02, + 0xe8, 0x1d, 0xfe, 0x5c, 0xb3, 0xb2, 0x49, 0xf8, 0xdb, 0x56, 0x2f, 0x17, 0xb2, 0x82, 0x8d, 0xab, + 0x12, 0xdc, 0x7f, 0xa6, 0xc2, 0x03, 0x8d, 0x5b, 0x14, 0x46, 0x15, 0xe8, 0xb3, 0x80, 0x62, 0x12, + 0xed, 0x78, 0x0d, 0xb2, 0xd0, 0x60, 0x39, 0x2d, 0xd9, 0x41, 0xdd, 0x88, 0x11, 0x23, 0x8f, 0xea, + 0x1d, 0x14, 0xb8, 0x4b, 0x29, 0x74, 0x8d, 0xae, 0x3c, 0x3a, 0x54, 0x44, 0x73, 0x4a, 0xf5, 0x6e, + 0xba, 0x4a, 0x5a, 0x11, 0x69, 0x38, 0x09, 0x71, 0x4d, 0x8e, 0x38, 0x53, 0x8e, 0xee, 0x2e, 0x2a, + 0x6d, 0x39, 0x98, 0x31, 0x88, 0x9d, 0xa9, 0xcb, 0xa9, 0xb5, 0xb4, 0x1d, 0xc6, 0xc9, 0x4d, 0x92, + 0xdc, 0x0f, 0xa3, 0x7b, 0xcc, 0xef, 0x3e, 0xa2, 0xa5, 0x08, 0x4b, 0x51, 0x58, 0xa7, 0xa3, 0x9a, + 0x10, 0x3b, 0xf0, 0x59, 0xad, 0x32, 0x6f, 0xfa, 0x48, 0x3a, 0x77, 0xae, 0x71, 0x30, 0x96, 0x78, + 0x49, 0xba, 0x5a, 0x5b, 0x62, 0x9e, 0xf1, 0x0c, 0xe9, 0x6a, 0x6d, 0x09, 0x4b, 0x3c, 0x0a, 0x3b, + 0x5f, 0x72, 0x9a, 0x28, 0x72, 0x4a, 0xd1, 0xb9, 0x92, 0x17, 0x7c, 0xcc, 0xe9, 0x01, 0x4c, 0xa9, + 0xd7, 0xa4, 0x78, 0xee, 0xc6, 0x78, 0x7a, 0xb2, 0xc8, 0x63, 0xd1, 0x5d, 0x53, 0x40, 0xaa, 0xf0, + 0xdd, 0xd5, 0x0c, 0x4f, 0xdc, 0x51, 0x8b, 0x91, 0x5a, 0x60, 0x2a, 0x37, 0x15, 0xfd, 0x3c, 0x54, + 0xe2, 0xf6, 0x86, 0x1b, 0x36, 0x1d, 0x2f, 0x60, 0xee, 0x6b, 0xfd, 0xe9, 0x63, 0x89, 0xc0, 0x29, + 0x0d, 0xaa, 0xc1, 0x88, 0x23, 0x5f, 0xfd, 0x46, 0x45, 0xae, 0x1e, 0xab, 0xe7, 0xbe, 0x99, 0x6f, + 0x53, 0xbd, 0xf3, 0xad, 0xb8, 0xa0, 0x57, 0x61, 0x5c, 0xdc, 0x9d, 0x21, 0x11, 0x6b, 0xf5, 0x69, + 0x33, 0x70, 0xbb, 0x2e, 0x91, 0x4c, 0xc0, 0x4c, 0xda, 0x99, 0x4f, 0xc3, 0xa9, 0x8e, 0x29, 0xd6, + 0x57, 0xf8, 0xdb, 0xbf, 0x1b, 0x80, 0x8a, 0xf2, 0x33, 0xa1, 0x79, 0xd3, 0xa5, 0xf8, 0x68, 0xd6, + 0xa5, 0x38, 0x42, 0x15, 0x02, 0xdd, 0x8b, 0xf8, 0xc5, 0x2e, 0x4f, 0xaf, 0x3e, 0x9b, 0x2b, 0x53, + 0xc5, 0x6f, 0xa3, 0xf4, 0xf1, 0x40, 0x6d, 0x6a, 0x6b, 0x0c, 0x1c, 0x6a, 0x6b, 0x14, 0x7c, 0x5d, + 0x8a, 0x5a, 0x15, 0xad, 0xd0, 0x5d, 0xad, 0x65, 0x1f, 0x4f, 0xa9, 0x51, 0x20, 0xe6, 0x38, 0xa6, + 0x0d, 0xd2, 0x3d, 0x82, 0x69, 0x83, 0xc3, 0x47, 0xd4, 0x06, 0x25, 0x03, 0x9c, 0xf2, 0x42, 0x3b, + 0x70, 0xaa, 0x61, 0xbe, 0x85, 0xa3, 0xee, 0x98, 0x3c, 0xdf, 0xc7, 0x5b, 0x34, 0x6d, 0x2d, 0xef, + 0xff, 0x52, 0x96, 0x1f, 0xee, 0xac, 0x02, 0xbd, 0x0a, 0x23, 0xef, 0x84, 0xf1, 0x92, 0xef, 0xc4, + 0xb1, 0x58, 0x28, 0x65, 0x3c, 0xff, 0xc8, 0xeb, 0xb7, 0xea, 0x0c, 0x7e, 0xc0, 0x1f, 0xc7, 0x97, + 0x7f, 0xb1, 0x2a, 0x60, 0xff, 0x0e, 0xf7, 0x69, 0x09, 0x2b, 0x97, 0xc4, 0x6d, 0xff, 0x24, 0xd2, + 0x5f, 0xdf, 0x32, 0x0c, 0xf0, 0x87, 0xe0, 0x55, 0xfd, 0x0f, 0x16, 0xf3, 0xaa, 0xae, 0x93, 0x66, + 0xcb, 0x77, 0x92, 0x93, 0x08, 0x4c, 0xfc, 0x02, 0x8c, 0x24, 0xa2, 0xb6, 0x62, 0xb9, 0xbb, 0xb5, + 0xe6, 0x31, 0x6f, 0xb3, 0x5a, 0xe3, 0x24, 0x14, 0x2b, 0x86, 0xf6, 0xbf, 0xe4, 0x5f, 0x45, 0x62, + 0x4e, 0xc0, 0x74, 0xbc, 0x69, 0x9a, 0x8e, 0xcf, 0x14, 0xee, 0x4b, 0x0f, 0x13, 0xf2, 0xfb, 0x66, + 0x0f, 0x98, 0x2a, 0xfa, 0xd3, 0xe3, 0xf6, 0xb7, 0x6f, 0x81, 0xf9, 0x66, 0x10, 0x7a, 0x8d, 0x87, + 0xfa, 0xf2, 0x45, 0xf6, 0x52, 0xdf, 0x61, 0xbe, 0xf6, 0x6f, 0x94, 0xe0, 0x0c, 0x77, 0xfc, 0x2d, + 0xec, 0x84, 0x9e, 0x5b, 0x0b, 0x5d, 0x11, 0xf8, 0xec, 0xc2, 0x58, 0x4b, 0x33, 0x15, 0x8a, 0x65, + 0x75, 0xd0, 0x8d, 0x8b, 0x54, 0x3d, 0xd3, 0xa1, 0xd8, 0xe0, 0x4a, 0x6b, 0x21, 0x3b, 0x5e, 0x43, + 0xf9, 0x91, 0x4a, 0x7d, 0xaf, 0x7b, 0xaa, 0x96, 0x65, 0x8d, 0x0f, 0x36, 0xb8, 0x1e, 0x43, 0x9a, + 0x79, 0xfb, 0xd7, 0x2c, 0x78, 0xa4, 0x47, 0xe6, 0x07, 0x5a, 0xdd, 0x7d, 0xe6, 0x6c, 0x15, 0x8f, + 0x52, 0xa9, 0xea, 0xb8, 0x0b, 0x16, 0x0b, 0x2c, 0xda, 0x00, 0xe0, 0x2e, 0x54, 0xf6, 0xfc, 0x6f, + 0xa9, 0x48, 0xc4, 0x43, 0xc7, 0x0d, 0x6b, 0xed, 0xf2, 0xad, 0x7a, 0xf0, 0x57, 0xe3, 0x6a, 0x7f, + 0xbb, 0x0c, 0x83, 0xfc, 0x05, 0xd2, 0x1a, 0x0c, 0x6f, 0xf3, 0xfc, 0x93, 0xfd, 0xa5, 0xbf, 0x4c, + 0x55, 0x41, 0x0e, 0xc0, 0x92, 0x0d, 0x5a, 0x83, 0xd3, 0x54, 0xef, 0xf0, 0x1c, 0xbf, 0x4a, 0x7c, + 0x67, 0x57, 0xda, 0x16, 0x3c, 0xf7, 0xb8, 0x4c, 0x93, 0x7b, 0x7a, 0xb5, 0x93, 0x04, 0x77, 0x2b, + 0x87, 0x5e, 0xeb, 0x48, 0x1c, 0xc5, 0xf3, 0x7a, 0xaa, 0x3b, 0x5b, 0x87, 0x27, 0x8f, 0xa2, 0xda, + 0x4f, 0xab, 0xc3, 0x8a, 0xd2, 0x9e, 0x98, 0x34, 0x2d, 0x27, 0x93, 0x16, 0x55, 0x61, 0x2a, 0x6e, + 0xb3, 0xf3, 0xe7, 0xf5, 0xed, 0x88, 0xc4, 0xdb, 0xa1, 0xef, 0x8a, 0xd7, 0xd1, 0x94, 0xc6, 0x58, + 0xcf, 0xe0, 0x71, 0x47, 0x09, 0xca, 0x65, 0xd3, 0xf1, 0xfc, 0x76, 0x44, 0x52, 0x2e, 0x43, 0x26, + 0x97, 0x95, 0x0c, 0x1e, 0x77, 0x94, 0xb0, 0xff, 0xc4, 0x82, 0xd3, 0x5d, 0x82, 0x34, 0x78, 0xe8, + 0xe0, 0x96, 0x17, 0x27, 0x2a, 0xc3, 0xb4, 0x16, 0x3a, 0xc8, 0xe1, 0x58, 0x51, 0x50, 0x29, 0xe4, + 0xa6, 0x71, 0xf6, 0xf0, 0x53, 0x1c, 0x43, 0x0b, 0x6c, 0x7f, 0x69, 0xa0, 0xd0, 0x05, 0x18, 0x68, + 0xc7, 0x44, 0x3e, 0xdd, 0xaf, 0x96, 0x28, 0xe6, 0x0d, 0x61, 0x18, 0xaa, 0xec, 0x6c, 0x29, 0x47, + 0x84, 0xa6, 0xec, 0x70, 0x57, 0x04, 0xc7, 0xd9, 0xdf, 0x2c, 0xc3, 0x64, 0x26, 0x58, 0x8b, 0x36, + 0xa4, 0x19, 0x06, 0x5e, 0x12, 0xaa, 0xd4, 0x43, 0xfc, 0x7d, 0x17, 0xd2, 0xda, 0x5e, 0x13, 0x70, + 0xac, 0x28, 0xd0, 0xd3, 0xe6, 0x73, 0xd0, 0x69, 0x9b, 0x17, 0xab, 0xc6, 0x9b, 0x74, 0x45, 0xb3, + 0xde, 0x3f, 0x09, 0x03, 0xad, 0x50, 0xbd, 0x2f, 0xaa, 0x84, 0x1e, 0x2f, 0x56, 0x6b, 0x61, 0xe8, + 0x63, 0x86, 0x44, 0x4f, 0x89, 0xde, 0x67, 0xbc, 0xb0, 0xd8, 0x71, 0xc3, 0x58, 0x1b, 0x82, 0x67, + 0x60, 0xf8, 0x1e, 0xd9, 0x8d, 0xbc, 0x60, 0x2b, 0xeb, 0x83, 0xbe, 0xce, 0xc1, 0x58, 0xe2, 0xcd, + 0xcc, 0xf6, 0xc3, 0xc7, 0x9c, 0xd9, 0x7e, 0x24, 0x37, 0xde, 0xf4, 0x37, 0x2d, 0x98, 0x64, 0xf9, + 0xf8, 0xc4, 0x75, 0x58, 0x2f, 0x0c, 0x4e, 0x60, 0x7b, 0x7c, 0x12, 0x06, 0x23, 0x5a, 0x69, 0x36, + 0x39, 0x35, 0x6b, 0x09, 0xe6, 0x38, 0xf4, 0x98, 0x78, 0xfa, 0x9f, 0x7e, 0xc6, 0x31, 0x9e, 0xec, + 0x37, 0x7d, 0xc3, 0x9f, 0xdd, 0x6d, 0xc0, 0xa4, 0xe5, 0x7b, 0xbc, 0xd1, 0xa9, 0xd3, 0xe9, 0x83, + 0x76, 0xb7, 0xa1, 0x6b, 0x23, 0x1f, 0xd6, 0xdd, 0x86, 0xee, 0xcc, 0x0f, 0x57, 0x51, 0xff, 0x47, + 0x09, 0xce, 0x77, 0x2d, 0x97, 0x9e, 0x66, 0xad, 0x18, 0xa7, 0x59, 0x57, 0x32, 0xa7, 0x59, 0xf6, + 0xe1, 0xa5, 0x1f, 0xce, 0xf9, 0x56, 0xf7, 0x63, 0xa7, 0xf2, 0x09, 0x1e, 0x3b, 0x0d, 0x14, 0x55, + 0x1d, 0x06, 0x73, 0x54, 0x87, 0x3f, 0xb0, 0xe0, 0xd1, 0xae, 0x43, 0xf6, 0x81, 0xbb, 0x4c, 0xd2, + 0xb5, 0x95, 0x3d, 0x14, 0xeb, 0x5f, 0x2c, 0xf7, 0xe8, 0x15, 0x53, 0xb1, 0x2f, 0xd2, 0x55, 0x88, + 0x21, 0x63, 0xa1, 0x14, 0x8d, 0xf1, 0x15, 0x88, 0xc3, 0xb0, 0xc2, 0xa2, 0x58, 0xbb, 0x8c, 0xc1, + 0x1b, 0xb9, 0x7c, 0xc4, 0x09, 0x35, 0x67, 0x7a, 0x0b, 0xf5, 0x5b, 0xbe, 0x99, 0x2b, 0x1a, 0xe8, + 0xae, 0x66, 0x34, 0x95, 0x8f, 0x62, 0x34, 0x8d, 0x75, 0x37, 0x98, 0xd0, 0x02, 0x4c, 0x36, 0xbd, + 0x80, 0x3d, 0x88, 0x67, 0x6a, 0x25, 0xea, 0x46, 0xdc, 0x9a, 0x89, 0xc6, 0x59, 0xfa, 0x99, 0x57, + 0x61, 0xfc, 0xe8, 0x3e, 0x99, 0xf7, 0xca, 0xf0, 0xe1, 0x43, 0x16, 0x05, 0xbe, 0x3b, 0x18, 0xdf, + 0x45, 0xdb, 0x1d, 0x3a, 0xbe, 0x4d, 0x0d, 0xce, 0x6c, 0xb6, 0x7d, 0x7f, 0x97, 0xc5, 0x82, 0x10, + 0x57, 0x52, 0x08, 0x8d, 0x4f, 0x3d, 0x55, 0xbb, 0xd2, 0x85, 0x06, 0x77, 0x2d, 0x89, 0x3e, 0x0b, + 0x28, 0xdc, 0x60, 0x19, 0x2b, 0xdd, 0xf4, 0x16, 0x33, 0xfb, 0x04, 0xe5, 0x74, 0xaa, 0xde, 0xea, + 0xa0, 0xc0, 0x5d, 0x4a, 0x51, 0xfd, 0x8f, 0xbd, 0x72, 0xab, 0x9a, 0x95, 0xd1, 0xff, 0xb0, 0x8e, + 0xc4, 0x26, 0x2d, 0xba, 0x0a, 0xa7, 0x9c, 0x1d, 0xc7, 0xe3, 0x39, 0x68, 0x24, 0x03, 0xae, 0x00, + 0x2a, 0xaf, 0xc7, 0x42, 0x96, 0x00, 0x77, 0x96, 0x41, 0x2d, 0xc3, 0x8d, 0xc5, 0x33, 0x54, 0x7f, + 0xea, 0x08, 0x12, 0x5c, 0xd8, 0xb1, 0x65, 0xff, 0xd8, 0xa2, 0x5b, 0x5f, 0x97, 0xb7, 0xd3, 0x8c, + 0x47, 0xd7, 0xb5, 0x0b, 0x2a, 0x9d, 0x8f, 0xae, 0x73, 0x7f, 0xa0, 0x41, 0xcb, 0x45, 0x23, 0x4e, + 0x43, 0x4a, 0x0d, 0x6d, 0x53, 0xdc, 0xcb, 0x52, 0x14, 0xe8, 0x2e, 0x0c, 0xbb, 0xde, 0x8e, 0x17, + 0x87, 0x51, 0x81, 0x67, 0x8e, 0x3b, 0xc2, 0x14, 0xd3, 0xd5, 0xb2, 0xca, 0x99, 0x60, 0xc9, 0xcd, + 0xfe, 0x95, 0x12, 0x8c, 0xcb, 0xfa, 0x5e, 0x6f, 0x87, 0x89, 0x73, 0x02, 0x1b, 0xfa, 0xeb, 0xc6, + 0x86, 0x3e, 0x5f, 0xec, 0x92, 0x1a, 0x6b, 0x5c, 0xcf, 0x8d, 0xfc, 0x73, 0x99, 0x8d, 0xfc, 0x72, + 0x3f, 0x4c, 0x0f, 0xdf, 0xc0, 0xff, 0x8d, 0x05, 0xa7, 0x0c, 0xfa, 0x13, 0xd8, 0x47, 0x6a, 0xe6, + 0x3e, 0xf2, 0x5c, 0x1f, 0xbd, 0xe9, 0xb1, 0x7f, 0x7c, 0xbb, 0x94, 0xe9, 0x05, 0xdb, 0x37, 0xbe, + 0x02, 0x03, 0xdb, 0x4e, 0xe4, 0x16, 0x4b, 0xc6, 0xd6, 0x51, 0x7c, 0xee, 0x9a, 0x13, 0xb9, 0x7c, + 0xf5, 0xbf, 0xa4, 0x5e, 0x76, 0x71, 0x22, 0x37, 0x37, 0xce, 0x9a, 0x55, 0x8a, 0x5e, 0x81, 0xa1, + 0xb8, 0x11, 0xb6, 0x54, 0x44, 0xdb, 0x05, 0xfe, 0xea, 0x0b, 0x85, 0x1c, 0xec, 0xcd, 0x22, 0xb3, + 0x3a, 0x0a, 0xc6, 0x82, 0x7e, 0x86, 0x40, 0x45, 0x55, 0x7d, 0x8c, 0x11, 0xbd, 0xef, 0x95, 0xe1, + 0x74, 0x17, 0x49, 0x41, 0x5f, 0x35, 0x46, 0xed, 0xd5, 0xbe, 0x45, 0xed, 0x7d, 0x8e, 0xdb, 0x57, + 0x99, 0x95, 0xe4, 0x0a, 0xd9, 0x38, 0x42, 0xf5, 0xb7, 0x63, 0x92, 0xad, 0x9e, 0x82, 0xf2, 0xab, + 0xa7, 0xd5, 0x9e, 0xd0, 0xe0, 0xd3, 0x6a, 0x54, 0x3b, 0x8f, 0xf1, 0x1b, 0xbf, 0x3b, 0x00, 0x67, + 0xba, 0xdd, 0x83, 0x45, 0x3f, 0x6f, 0x65, 0x72, 0xad, 0xbf, 0xd6, 0xff, 0x65, 0x5a, 0x9e, 0x80, + 0x5d, 0xe4, 0x8e, 0x98, 0x33, 0xb3, 0xaf, 0xe7, 0x8e, 0xb6, 0xa8, 0x9d, 0xdd, 0x8d, 0x88, 0x78, + 0xd6, 0x7c, 0xb9, 0x1e, 0x7c, 0xe6, 0x08, 0x4d, 0x11, 0x89, 0xf7, 0xe3, 0xcc, 0xdd, 0x08, 0x09, + 0xce, 0xbf, 0x1b, 0x21, 0xdb, 0x30, 0xb3, 0x05, 0xa3, 0x5a, 0xbf, 0x8e, 0x51, 0x04, 0x3c, 0xba, + 0x35, 0x69, 0xad, 0x3e, 0x46, 0x31, 0xf8, 0x65, 0x0b, 0x32, 0xe1, 0x2a, 0xca, 0x15, 0x63, 0xf5, + 0x74, 0xc5, 0x5c, 0x80, 0x81, 0x28, 0xf4, 0x49, 0x36, 0x07, 0x38, 0x0e, 0x7d, 0x82, 0x19, 0x46, + 0x3d, 0xf0, 0x58, 0xee, 0xf5, 0xc0, 0x23, 0xb5, 0xcd, 0x7d, 0xb2, 0x43, 0xa4, 0x63, 0x44, 0x2d, + 0xde, 0x37, 0x28, 0x10, 0x73, 0x9c, 0xfd, 0xfb, 0x65, 0x18, 0xe2, 0xde, 0x87, 0x13, 0xd8, 0x9d, + 0x6b, 0xc2, 0x11, 0x50, 0xe8, 0x6e, 0x2a, 0x6f, 0xd5, 0x5c, 0xd5, 0x49, 0x1c, 0x2e, 0x58, 0xaa, + 0x8f, 0xa9, 0xf3, 0x00, 0xcd, 0x19, 0xa3, 0x30, 0x93, 0xb1, 0x6f, 0x81, 0xf3, 0xd0, 0xc6, 0x64, + 0x1b, 0x20, 0x66, 0x4f, 0x8a, 0x51, 0x1e, 0x22, 0x73, 0xde, 0x8b, 0x85, 0xda, 0x51, 0x57, 0xc5, + 0x78, 0x6b, 0xd2, 0x94, 0x5d, 0x0a, 0x81, 0x35, 0xde, 0x33, 0x2f, 0x43, 0x45, 0x11, 0xe7, 0x29, + 0xfe, 0x63, 0xba, 0x68, 0xfe, 0x05, 0x98, 0xcc, 0xd4, 0xd5, 0x97, 0xdd, 0xf0, 0x4b, 0x16, 0x4c, + 0x66, 0xde, 0x42, 0x46, 0xef, 0x5a, 0x70, 0xc6, 0xef, 0xe2, 0x7c, 0x12, 0x9f, 0xf9, 0x28, 0x6e, + 0x2b, 0x65, 0x32, 0x74, 0xc3, 0xe2, 0xae, 0xb5, 0xd9, 0xbf, 0x65, 0xc1, 0xa9, 0x8e, 0x47, 0x74, + 0x3f, 0x20, 0x8d, 0x93, 0x69, 0x4a, 0x4b, 0xdd, 0xd3, 0x94, 0xda, 0xbf, 0x61, 0x81, 0x90, 0xa6, + 0x13, 0xd0, 0xd1, 0x56, 0x4d, 0x1d, 0xed, 0x23, 0x45, 0x04, 0xb4, 0x87, 0x72, 0xf6, 0x7b, 0x16, + 0x20, 0x4e, 0x90, 0x7d, 0xf4, 0x90, 0x3b, 0x1a, 0x35, 0xe3, 0x22, 0x95, 0x68, 0x85, 0xc1, 0x1a, + 0x55, 0x9f, 0x19, 0xec, 0xd5, 0x63, 0x61, 0xdd, 0x1b, 0x86, 0x2e, 0xc3, 0xa8, 0x78, 0x2c, 0x68, + 0x2d, 0x7d, 0x08, 0x6c, 0x92, 0x3d, 0x49, 0x99, 0x82, 0xb1, 0x4e, 0x63, 0xff, 0x4e, 0x19, 0xb2, + 0x41, 0x27, 0xe8, 0x6d, 0x18, 0x6b, 0x38, 0x2d, 0x67, 0xc3, 0xf3, 0xbd, 0xc4, 0x23, 0x71, 0xb1, + 0xc3, 0xae, 0x25, 0xad, 0x84, 0x70, 0x55, 0x6b, 0x10, 0x6c, 0x70, 0x44, 0x73, 0x00, 0xad, 0xc8, + 0xdb, 0xf1, 0x7c, 0xb2, 0xc5, 0x34, 0x23, 0x16, 0x7b, 0xca, 0xcf, 0x6d, 0x24, 0x14, 0x6b, 0x14, + 0x5d, 0xa2, 0x1c, 0xcb, 0x27, 0x11, 0xe5, 0x38, 0xd0, 0x67, 0x94, 0xe3, 0x60, 0xa1, 0x28, 0x47, + 0x0c, 0xe7, 0xa4, 0x87, 0x99, 0xfe, 0x5f, 0xf1, 0x7c, 0xc2, 0xd3, 0x12, 0x8a, 0xd8, 0xd4, 0x99, + 0xfd, 0xbd, 0xd9, 0x73, 0xb8, 0x2b, 0x05, 0xee, 0x51, 0xd2, 0x6e, 0xc3, 0xe9, 0x3a, 0x89, 0x3c, + 0x96, 0x2d, 0xca, 0x4d, 0x27, 0xe0, 0x17, 0xa1, 0x12, 0x65, 0xe6, 0x7e, 0x9f, 0x17, 0x07, 0xb5, + 0xfc, 0x22, 0x72, 0xae, 0xa7, 0x2c, 0xed, 0xbf, 0x5a, 0x82, 0x61, 0x11, 0xdc, 0x75, 0x02, 0x5b, + 0xdd, 0x75, 0xc3, 0x10, 0x7d, 0x26, 0x6f, 0x06, 0xb3, 0x66, 0xf5, 0x34, 0x41, 0xeb, 0x19, 0x13, + 0xf4, 0xb9, 0x62, 0xec, 0x0e, 0x37, 0x3e, 0x7f, 0x50, 0x82, 0x09, 0x33, 0xd8, 0xed, 0x04, 0x86, + 0xe5, 0x0d, 0x18, 0x8e, 0x45, 0x24, 0x58, 0xa9, 0x48, 0x1c, 0x4b, 0xf6, 0x13, 0x2b, 0x6f, 0x83, + 0x8c, 0xfd, 0x92, 0xec, 0xba, 0x06, 0x9b, 0x95, 0x4f, 0x22, 0xd8, 0xcc, 0xfe, 0x5d, 0xb6, 0xc4, + 0xea, 0x03, 0x79, 0x02, 0x5b, 0xc4, 0xeb, 0xe6, 0x62, 0x7c, 0xa9, 0x90, 0x44, 0x88, 0xe6, 0xf5, + 0xd8, 0x2a, 0xbe, 0x6b, 0xc1, 0xa8, 0x20, 0x3c, 0x81, 0x0e, 0x7c, 0xd6, 0xec, 0xc0, 0x53, 0x85, + 0x3a, 0xd0, 0xa3, 0xe5, 0x7f, 0xbb, 0xa4, 0x5a, 0x5e, 0x13, 0x4f, 0xc3, 0xe6, 0x66, 0xad, 0x1c, + 0x69, 0x45, 0x61, 0x12, 0x36, 0x42, 0x5f, 0x6c, 0xf9, 0x8f, 0xa5, 0x97, 0x04, 0x38, 0xfc, 0x40, + 0xfb, 0x8d, 0x15, 0x35, 0x8b, 0x7e, 0x0f, 0xa3, 0x44, 0x6c, 0x58, 0xdd, 0x1e, 0xa6, 0xdd, 0x90, + 0x0f, 0x7f, 0x53, 0x98, 0xb8, 0x5f, 0xd3, 0xef, 0x83, 0xb7, 0x69, 0xcc, 0xbf, 0xe2, 0x84, 0x35, + 0xae, 0x32, 0x0c, 0x95, 0xd5, 0x30, 0x68, 0x7a, 0x7f, 0x6f, 0x0a, 0x38, 0x56, 0x14, 0xf6, 0xcb, + 0x6c, 0xc5, 0x65, 0xc3, 0xd3, 0x5f, 0x20, 0xff, 0x5f, 0x19, 0x52, 0x03, 0xcb, 0x9c, 0x3a, 0x37, + 0x61, 0x90, 0x76, 0x51, 0xda, 0xad, 0xc5, 0x96, 0x35, 0xda, 0x04, 0x3d, 0x72, 0x2e, 0x4a, 0x62, + 0xcc, 0xd9, 0x20, 0xd2, 0x71, 0x64, 0xf0, 0x72, 0xe1, 0x95, 0xb2, 0x8f, 0x43, 0x02, 0x96, 0xea, + 0x87, 0xe5, 0x37, 0x59, 0xad, 0x65, 0x33, 0x8d, 0x2e, 0x49, 0x04, 0x4e, 0x69, 0xd0, 0xbc, 0x30, + 0x2b, 0xcc, 0x77, 0x83, 0xa5, 0x59, 0x21, 0x87, 0x44, 0xb3, 0x2b, 0x2e, 0xc3, 0xa8, 0xca, 0xb5, + 0x5e, 0xe3, 0x29, 0xb3, 0x2b, 0x5c, 0x9b, 0x59, 0x4e, 0xc1, 0x58, 0xa7, 0x41, 0xab, 0x70, 0xda, + 0x55, 0x51, 0xc7, 0xb5, 0xf6, 0x86, 0xef, 0x35, 0x68, 0x51, 0x7e, 0xef, 0xe7, 0x91, 0xfd, 0xbd, + 0xd9, 0xd3, 0xd5, 0x4e, 0x34, 0xee, 0x56, 0x06, 0xad, 0xc3, 0x64, 0xcc, 0x73, 0xca, 0xcb, 0xd0, + 0x52, 0x91, 0x80, 0xef, 0x59, 0x79, 0x56, 0x51, 0x37, 0xd1, 0x07, 0x0c, 0xc4, 0xd7, 0x04, 0x19, + 0x8c, 0x9a, 0x65, 0x81, 0x5e, 0x83, 0x09, 0x5f, 0x7f, 0x2e, 0xab, 0x26, 0x82, 0xaf, 0x55, 0x54, + 0x87, 0xf1, 0x98, 0x56, 0x0d, 0x67, 0xa8, 0xd1, 0x1b, 0x30, 0xad, 0x43, 0x44, 0x1e, 0x02, 0x27, + 0xd8, 0x22, 0xb1, 0x48, 0x66, 0xfd, 0xd8, 0xfe, 0xde, 0xec, 0xf4, 0x8d, 0x1e, 0x34, 0xb8, 0x67, + 0x69, 0xf4, 0x0a, 0x8c, 0xc9, 0x91, 0xd4, 0x02, 0xb1, 0xd3, 0x78, 0x22, 0x0d, 0x87, 0x0d, 0xca, + 0xf7, 0x77, 0x24, 0xf3, 0x15, 0x5a, 0x58, 0xdb, 0x5a, 0xd1, 0x97, 0x60, 0x4c, 0x6f, 0x63, 0x76, + 0xcf, 0xcc, 0x7f, 0x82, 0x4c, 0x6c, 0xd1, 0xaa, 0xe5, 0x3a, 0x0e, 0x1b, 0xbc, 0xed, 0x5b, 0x30, + 0x54, 0xdf, 0x8d, 0x1b, 0x89, 0xff, 0xb0, 0x9e, 0x8c, 0x6e, 0xc0, 0x64, 0xe6, 0x6d, 0x65, 0xf5, + 0x48, 0xb7, 0xf5, 0xb0, 0x1e, 0xe9, 0xb6, 0xbf, 0x66, 0xc1, 0xe0, 0xba, 0xe3, 0xe5, 0x3f, 0x03, + 0x51, 0xa4, 0xc9, 0xe8, 0x25, 0x18, 0x22, 0x9b, 0x9b, 0xa4, 0x21, 0x1f, 0xfd, 0x7e, 0x5c, 0xaa, + 0x36, 0xcb, 0x0c, 0x4a, 0xa7, 0x26, 0xab, 0x8c, 0xff, 0xc5, 0x82, 0xd8, 0xfe, 0xf7, 0x16, 0xc0, + 0x7a, 0xe8, 0xcb, 0xd3, 0xa6, 0x9c, 0x96, 0x2c, 0x76, 0x3c, 0x48, 0xf1, 0x74, 0x97, 0x07, 0x29, + 0x50, 0xca, 0xb0, 0xcb, 0x73, 0x14, 0xaa, 0x37, 0xe5, 0x42, 0xbd, 0x19, 0xe8, 0xa7, 0x37, 0xdf, + 0xb0, 0x40, 0x04, 0x02, 0x15, 0x90, 0x04, 0x57, 0x26, 0x91, 0x37, 0x32, 0x8c, 0x3c, 0x5b, 0xe4, + 0xc2, 0x8e, 0xc8, 0x2b, 0xa2, 0x64, 0xd3, 0xc8, 0x26, 0x62, 0x70, 0xa5, 0x86, 0xfd, 0x28, 0x47, + 0xaf, 0x31, 0x3d, 0x32, 0xbf, 0x5d, 0x7d, 0xe5, 0x52, 0x63, 0x39, 0xd6, 0x29, 0x63, 0x95, 0x53, + 0x4b, 0xcf, 0xb1, 0x2e, 0x11, 0x38, 0xa5, 0x41, 0xcf, 0xc0, 0x70, 0xdc, 0xde, 0x60, 0xe4, 0x99, + 0xa8, 0xa0, 0x3a, 0x07, 0x63, 0x89, 0xb7, 0x7f, 0x0e, 0x81, 0xd1, 0x35, 0x23, 0x7f, 0x97, 0xf5, + 0xd0, 0xf3, 0x77, 0xbd, 0x09, 0x23, 0xa4, 0xd9, 0x4a, 0x76, 0xab, 0x5e, 0x54, 0x2c, 0x93, 0xe2, + 0xb2, 0xa0, 0xee, 0xe4, 0x2e, 0x31, 0x58, 0x71, 0xec, 0x91, 0x8d, 0xad, 0xfc, 0x81, 0xc8, 0xc6, + 0x36, 0xf0, 0x13, 0xc9, 0xc6, 0xf6, 0x06, 0x0c, 0x6f, 0x79, 0x09, 0x26, 0xad, 0x50, 0xdc, 0xd3, + 0xcc, 0x39, 0xbe, 0xbb, 0xca, 0x89, 0x3b, 0x53, 0x2c, 0x09, 0x04, 0x96, 0xec, 0xd0, 0x3a, 0x0c, + 0x71, 0xdb, 0x43, 0x24, 0x38, 0xfb, 0x58, 0x11, 0x2f, 0x4d, 0x67, 0xae, 0x2f, 0x11, 0xfa, 0x25, + 0x78, 0xc9, 0xec, 0x6b, 0xc3, 0xef, 0x3f, 0xfb, 0x9a, 0xca, 0x99, 0x36, 0xf2, 0xb0, 0x72, 0xa6, + 0x19, 0xb9, 0xe7, 0x2a, 0xc7, 0x91, 0x7b, 0xee, 0x1b, 0x16, 0x9c, 0x6d, 0x75, 0xcb, 0xdc, 0x28, + 0xb2, 0x9f, 0x7d, 0xfa, 0x08, 0x99, 0x2c, 0x8d, 0xaa, 0xd9, 0xbd, 0xb9, 0xae, 0x64, 0xb8, 0x7b, + 0xc5, 0x32, 0x89, 0xdd, 0xe8, 0xfb, 0x4f, 0x62, 0x77, 0xdc, 0x69, 0xd2, 0xd2, 0x94, 0x76, 0xe3, + 0xc7, 0x92, 0xd2, 0x6e, 0xe2, 0x21, 0xa6, 0xb4, 0xd3, 0x92, 0xd1, 0x4d, 0x3e, 0xdc, 0x64, 0x74, + 0xdb, 0x30, 0xea, 0x86, 0xf7, 0x83, 0xfb, 0x4e, 0xe4, 0x2e, 0xd4, 0x56, 0x45, 0xee, 0xb3, 0x9c, + 0x04, 0x1b, 0xd5, 0xb4, 0x80, 0x51, 0x03, 0x77, 0x47, 0xa6, 0x48, 0xac, 0xb3, 0x16, 0x69, 0xf9, + 0x4e, 0xbd, 0xcf, 0xb4, 0x7c, 0x46, 0x72, 0x3b, 0x74, 0x1c, 0xc9, 0xed, 0xde, 0x66, 0x37, 0xed, + 0x37, 0xbd, 0xad, 0x35, 0xa7, 0xc5, 0xee, 0x95, 0xe5, 0xd6, 0xb0, 0x24, 0xc9, 0x3b, 0x6b, 0x50, + 0x28, 0x9c, 0x32, 0xed, 0x4c, 0x9f, 0x77, 0xe6, 0xa4, 0xd3, 0xe7, 0x9d, 0x3d, 0xc6, 0xf4, 0x79, + 0xe7, 0x4e, 0x34, 0x7d, 0xde, 0x23, 0x3f, 0x91, 0xf4, 0x79, 0x7f, 0x09, 0xce, 0x1f, 0xfe, 0x39, + 0xd2, 0xf4, 0xcc, 0xb5, 0xd4, 0x65, 0x90, 0x49, 0xcf, 0xcc, 0x54, 0x1d, 0x8d, 0xaa, 0x70, 0x16, + 0xaf, 0xef, 0x58, 0xf0, 0x48, 0x8f, 0x24, 0x37, 0x85, 0xaf, 0x64, 0xb4, 0x60, 0xb2, 0x65, 0x16, + 0x2d, 0x7c, 0x89, 0xca, 0x48, 0xaa, 0xa3, 0xc2, 0xfb, 0x32, 0x08, 0x9c, 0x65, 0xbf, 0xf8, 0x91, + 0x1f, 0xbe, 0x77, 0xfe, 0x43, 0x3f, 0x7a, 0xef, 0xfc, 0x87, 0xfe, 0xe8, 0xbd, 0xf3, 0x1f, 0xfa, + 0x99, 0xfd, 0xf3, 0xd6, 0x0f, 0xf7, 0xcf, 0x5b, 0x3f, 0xda, 0x3f, 0x6f, 0xfd, 0xc9, 0xfe, 0x79, + 0xeb, 0x1b, 0x7f, 0x7a, 0xfe, 0x43, 0x9f, 0x2f, 0xed, 0x5c, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x88, 0xaa, 0x58, 0xc8, 0x51, 0xb9, 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index 4693f988cd5..a9d4cf7aaa8 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -799,6 +799,10 @@ message EnvFromSource { // The ConfigMap to select from // +optional optional ConfigMapEnvSource configMapRef = 2; + + // The Secret to select from + // +optional + optional SecretEnvSource secretRef = 3; } // EnvVar represents an environment variable present in a Container. @@ -3067,6 +3071,16 @@ message Secret { optional string type = 3; } +// SecretEnvSource selects a Secret to populate the environment +// variables with. +// +// The contents of the target Secret's Data field will represent the +// key-value pairs as environment variables. +message SecretEnvSource { + // The Secret to select from. + optional LocalObjectReference localObjectReference = 1; +} + // SecretKeySelector selects a key of a Secret. message SecretKeySelector { // The name of the secret in the pod's namespace to select from. diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index 6b4b13d6974..48bfab30acd 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -19828,14 +19828,15 @@ func (x *EnvFromSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [2]bool + var yyq2 [3]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.Prefix != "" yyq2[1] = x.ConfigMapRef != nil + yyq2[2] = x.SecretRef != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(2) + r.EncodeArrayStart(3) } else { yynn2 = 0 for _, b := range yyq2 { @@ -19894,6 +19895,29 @@ func (x *EnvFromSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.SecretRef == nil { + r.EncodeNil() + } else { + x.SecretRef.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("secretRef")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.SecretRef == nil { + r.EncodeNil() + } else { + x.SecretRef.CodecEncodeSelf(e) + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -19978,6 +20002,17 @@ func (x *EnvFromSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } x.ConfigMapRef.CodecDecodeSelf(d) } + case "secretRef": + if r.TryDecodeAsNil() { + if x.SecretRef != nil { + x.SecretRef = nil + } + } else { + if x.SecretRef == nil { + x.SecretRef = new(SecretEnvSource) + } + x.SecretRef.CodecDecodeSelf(d) + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -19989,16 +20024,16 @@ func (x *EnvFromSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj7 int - var yyb7 bool - var yyhl7 bool = l >= 0 - yyj7++ - if yyhl7 { - yyb7 = yyj7 > l + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb7 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb7 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20006,21 +20041,21 @@ func (x *EnvFromSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.Prefix = "" } else { - yyv8 := &x.Prefix - yym9 := z.DecBinary() - _ = yym9 + yyv9 := &x.Prefix + yym10 := z.DecBinary() + _ = yym10 if false { } else { - *((*string)(yyv8)) = r.DecodeString() + *((*string)(yyv9)) = r.DecodeString() } } - yyj7++ - if yyhl7 { - yyb7 = yyj7 > l + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l } else { - yyb7 = r.CheckBreak() + yyb8 = r.CheckBreak() } - if yyb7 { + if yyb8 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -20035,18 +20070,39 @@ func (x *EnvFromSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.ConfigMapRef.CodecDecodeSelf(d) } - for { - yyj7++ - if yyhl7 { - yyb7 = yyj7 > l - } else { - yyb7 = r.CheckBreak() + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.SecretRef != nil { + x.SecretRef = nil } - if yyb7 { + } else { + if x.SecretRef == nil { + x.SecretRef = new(SecretEnvSource) + } + x.SecretRef.CodecDecodeSelf(d) + } + for { + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj7-1, "") + z.DecStructFieldNotFound(yyj8-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -20232,6 +20288,187 @@ func (x *ConfigMapEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } +func (x *SecretEnvSource) CodecEncodeSelf(e *codec1978.Encoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperEncoder(e) + _, _, _ = h, z, r + if x == nil { + r.EncodeNil() + } else { + yym1 := z.EncBinary() + _ = yym1 + if false { + } else if z.HasExtensions() && z.EncExt(x) { + } else { + yysep2 := !z.EncBinary() + yy2arr2 := z.EncBasicHandle().StructToArray + var yyq2 [1]bool + _, _, _ = yysep2, yyq2, yy2arr2 + const yyr2 bool = false + yyq2[0] = x.Name != "" + var yynn2 int + if yyr2 || yy2arr2 { + r.EncodeArrayStart(1) + } else { + yynn2 = 0 + for _, b := range yyq2 { + if b { + yynn2++ + } + } + r.EncodeMapStart(yynn2) + yynn2 = 0 + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[0] { + yym4 := z.EncBinary() + _ = yym4 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[0] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("name")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym5 := z.EncBinary() + _ = yym5 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *SecretEnvSource) CodecDecodeSelf(d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + yym1 := z.DecBinary() + _ = yym1 + if false { + } else if z.HasExtensions() && z.DecExt(x) { + } else { + yyct2 := r.ContainerType() + if yyct2 == codecSelferValueTypeMap1234 { + yyl2 := r.ReadMapStart() + if yyl2 == 0 { + z.DecSendContainerState(codecSelfer_containerMapEnd1234) + } else { + x.codecDecodeSelfFromMap(yyl2, d) + } + } else if yyct2 == codecSelferValueTypeArray1234 { + yyl2 := r.ReadArrayStart() + if yyl2 == 0 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + x.codecDecodeSelfFromArray(yyl2, d) + } + } else { + panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234) + } + } +} + +func (x *SecretEnvSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + var yys3Slc = z.DecScratchBuffer() // default slice to decode into + _ = yys3Slc + var yyhl3 bool = l >= 0 + for yyj3 := 0; ; yyj3++ { + if yyhl3 { + if yyj3 >= l { + break + } + } else { + if r.CheckBreak() { + break + } + } + z.DecSendContainerState(codecSelfer_containerMapKey1234) + yys3Slc = r.DecodeBytes(yys3Slc, true, true) + yys3 := string(yys3Slc) + z.DecSendContainerState(codecSelfer_containerMapValue1234) + switch yys3 { + case "name": + if r.TryDecodeAsNil() { + x.Name = "" + } else { + yyv4 := &x.Name + yym5 := z.DecBinary() + _ = yym5 + if false { + } else { + *((*string)(yyv4)) = r.DecodeString() + } + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *SecretEnvSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + var yyj6 int + var yyb6 bool + var yyhl6 bool = l >= 0 + yyj6++ + if yyhl6 { + yyb6 = yyj6 > l + } else { + yyb6 = r.CheckBreak() + } + if yyb6 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Name = "" + } else { + yyv7 := &x.Name + yym8 := z.DecBinary() + _ = yym8 + if false { + } else { + *((*string)(yyv7)) = r.DecodeString() + } + } + for { + yyj6++ + if yyhl6 { + yyb6 = yyj6 > l + } else { + yyb6 = r.CheckBreak() + } + if yyb6 { + break + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + z.DecStructFieldNotFound(yyj6-1, "") + } + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) +} + func (x *HTTPHeader) CodecEncodeSelf(e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) @@ -62738,7 +62975,7 @@ func (x codecSelfer1234) decSliceEnvFromSource(v *[]EnvFromSource, d *codec1978. yyrg1 := len(yyv1) > 0 yyv21 := yyv1 - yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 24) + yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 32) if yyrt1 { if yyrl1 <= cap(yyv1) { yyv1 = yyv1[:yyrl1] diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/pkg/api/v1/types_swagger_doc_generated.go index 36c9ced8c5f..3b4c8d44b43 100644 --- a/pkg/api/v1/types_swagger_doc_generated.go +++ b/pkg/api/v1/types_swagger_doc_generated.go @@ -437,6 +437,7 @@ var map_EnvFromSource = map[string]string{ "": "EnvFromSource represents the source of a set of ConfigMaps", "prefix": "An optional identifer to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.", "configMapRef": "The ConfigMap to select from", + "secretRef": "The Secret to select from", } func (EnvFromSource) SwaggerDoc() map[string]string { @@ -1588,6 +1589,14 @@ func (Secret) SwaggerDoc() map[string]string { return map_Secret } +var map_SecretEnvSource = map[string]string{ + "": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", +} + +func (SecretEnvSource) SwaggerDoc() map[string]string { + return map_SecretEnvSource +} + var map_SecretKeySelector = map[string]string{ "": "SecretKeySelector selects a key of a Secret.", "key": "The key of the secret to select from. Must be a valid secret key.", diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index b8d15dc3010..aa1a36172ac 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -309,6 +309,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_SELinuxOptions_To_v1_SELinuxOptions, Convert_v1_Secret_To_api_Secret, Convert_api_Secret_To_v1_Secret, + Convert_v1_SecretEnvSource_To_api_SecretEnvSource, + Convert_api_SecretEnvSource_To_v1_SecretEnvSource, Convert_v1_SecretKeySelector_To_api_SecretKeySelector, Convert_api_SecretKeySelector_To_v1_SecretKeySelector, Convert_v1_SecretList_To_api_SecretList, @@ -1205,6 +1207,7 @@ func Convert_api_EndpointsList_To_v1_EndpointsList(in *api.EndpointsList, out *E func autoConvert_v1_EnvFromSource_To_api_EnvFromSource(in *EnvFromSource, out *api.EnvFromSource, s conversion.Scope) error { out.Prefix = in.Prefix out.ConfigMapRef = (*api.ConfigMapEnvSource)(unsafe.Pointer(in.ConfigMapRef)) + out.SecretRef = (*api.SecretEnvSource)(unsafe.Pointer(in.SecretRef)) return nil } @@ -1215,6 +1218,7 @@ func Convert_v1_EnvFromSource_To_api_EnvFromSource(in *EnvFromSource, out *api.E func autoConvert_api_EnvFromSource_To_v1_EnvFromSource(in *api.EnvFromSource, out *EnvFromSource, s conversion.Scope) error { out.Prefix = in.Prefix out.ConfigMapRef = (*ConfigMapEnvSource)(unsafe.Pointer(in.ConfigMapRef)) + out.SecretRef = (*SecretEnvSource)(unsafe.Pointer(in.SecretRef)) return nil } @@ -3760,6 +3764,28 @@ func Convert_api_Secret_To_v1_Secret(in *api.Secret, out *Secret, s conversion.S return autoConvert_api_Secret_To_v1_Secret(in, out, s) } +func autoConvert_v1_SecretEnvSource_To_api_SecretEnvSource(in *SecretEnvSource, out *api.SecretEnvSource, s conversion.Scope) error { + if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + return nil +} + +func Convert_v1_SecretEnvSource_To_api_SecretEnvSource(in *SecretEnvSource, out *api.SecretEnvSource, s conversion.Scope) error { + return autoConvert_v1_SecretEnvSource_To_api_SecretEnvSource(in, out, s) +} + +func autoConvert_api_SecretEnvSource_To_v1_SecretEnvSource(in *api.SecretEnvSource, out *SecretEnvSource, s conversion.Scope) error { + if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + return nil +} + +func Convert_api_SecretEnvSource_To_v1_SecretEnvSource(in *api.SecretEnvSource, out *SecretEnvSource, s conversion.Scope) error { + return autoConvert_api_SecretEnvSource_To_v1_SecretEnvSource(in, out, s) +} + func autoConvert_v1_SecretKeySelector_To_api_SecretKeySelector(in *SecretKeySelector, out *api.SecretKeySelector, s conversion.Scope) error { if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index e666f2516f8..ee74e916430 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -172,6 +172,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ResourceRequirements, InType: reflect.TypeOf(&ResourceRequirements{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SELinuxOptions, InType: reflect.TypeOf(&SELinuxOptions{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Secret, InType: reflect.TypeOf(&Secret{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecretEnvSource, InType: reflect.TypeOf(&SecretEnvSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecretKeySelector, InType: reflect.TypeOf(&SecretKeySelector{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecretList, InType: reflect.TypeOf(&SecretList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecretVolumeSource, InType: reflect.TypeOf(&SecretVolumeSource{})}, @@ -873,6 +874,11 @@ func DeepCopy_v1_EnvFromSource(in interface{}, out interface{}, c *conversion.Cl *out = new(ConfigMapEnvSource) **out = **in } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(SecretEnvSource) + **out = **in + } return nil } } @@ -2767,6 +2773,15 @@ func DeepCopy_v1_Secret(in interface{}, out interface{}, c *conversion.Cloner) e } } +func DeepCopy_v1_SecretEnvSource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*SecretEnvSource) + out := out.(*SecretEnvSource) + *out = *in + return nil + } +} + func DeepCopy_v1_SecretKeySelector(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*SecretKeySelector) diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index 59a75f26d55..cd5cc8ac332 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -175,6 +175,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ResourceRequirements, InType: reflect.TypeOf(&ResourceRequirements{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SELinuxOptions, InType: reflect.TypeOf(&SELinuxOptions{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Secret, InType: reflect.TypeOf(&Secret{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecretEnvSource, InType: reflect.TypeOf(&SecretEnvSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecretKeySelector, InType: reflect.TypeOf(&SecretKeySelector{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecretList, InType: reflect.TypeOf(&SecretList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecretVolumeSource, InType: reflect.TypeOf(&SecretVolumeSource{})}, @@ -901,6 +902,11 @@ func DeepCopy_api_EnvFromSource(in interface{}, out interface{}, c *conversion.C *out = new(ConfigMapEnvSource) **out = **in } + if in.SecretRef != nil { + in, out := &in.SecretRef, &out.SecretRef + *out = new(SecretEnvSource) + **out = **in + } return nil } } @@ -2799,6 +2805,15 @@ func DeepCopy_api_Secret(in interface{}, out interface{}, c *conversion.Cloner) } } +func DeepCopy_api_SecretEnvSource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*SecretEnvSource) + out := out.(*SecretEnvSource) + *out = *in + return nil + } +} + func DeepCopy_api_SecretKeySelector(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*SecretKeySelector) diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 3346cad6594..1f127ecc251 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -1924,11 +1924,17 @@ var OpenAPIDefinitions *openapi.OpenAPIDefinitions = &openapi.OpenAPIDefinitions Ref: spec.MustCreateRef("#/definitions/v1.ConfigMapEnvSource"), }, }, + "secretRef": { + SchemaProps: spec.SchemaProps{ + Description: "The Secret to select from", + Ref: spec.MustCreateRef("#/definitions/v1.SecretEnvSource"), + }, + }, }, }, }, Dependencies: []string{ - "v1.ConfigMapEnvSource"}, + "v1.ConfigMapEnvSource", "v1.SecretEnvSource"}, }, "v1.EnvVar": { Schema: spec.Schema{ @@ -7367,6 +7373,23 @@ var OpenAPIDefinitions *openapi.OpenAPIDefinitions = &openapi.OpenAPIDefinitions Dependencies: []string{ "v1.ObjectMeta"}, }, + "v1.SecretEnvSource": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + }, "v1.SecretKeySelector": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{