diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 0d1edb0732b..275234f093b 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -35729,6 +35729,26 @@ } ] }, + "io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection": { + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the ConfigMap or it's keys must be defined", + "type": "boolean" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource": { "description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", "properties": { @@ -36045,6 +36065,18 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection": { + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "description": "Items is a list of DownwardAPIVolume file", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile" + } + } + } + }, "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile": { "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field", "required": [ @@ -38169,6 +38201,26 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource": { + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "defaultMode": { + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "type": "integer", + "format": "int32" + }, + "sources": { + "description": "list of volume projections", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeProjection" + } + } + } + }, "io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource": { "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", "required": [ @@ -38677,6 +38729,26 @@ } ] }, + "io.k8s.kubernetes.pkg.api.v1.SecretProjection": { + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the Secret or its key must be defined", + "type": "boolean" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource": { "description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "properties": { @@ -39071,6 +39143,10 @@ "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine", "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource" }, + "projected": { + "description": "Items for all in one resources secrets, configmaps, and downward API", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource" + }, "quobyte": { "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime", "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource" @@ -39114,6 +39190,23 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.VolumeProjection": { + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "configMap": { + "description": "information about the configMap data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection" + }, + "downwardAPI": { + "description": "information about the downwardAPI data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection" + }, + "secret": { + "description": "information about the secret data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretProjection" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource": { "description": "Represents a vSphere volume resource.", "required": [ diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index 60c571fb815..184aa5d2686 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -1473,6 +1473,10 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" } } }, @@ -2139,6 +2143,100 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/batch_v1.json b/api/swagger-spec/batch_v1.json index 7986c92b3fd..4fba3a57036 100644 --- a/api/swagger-spec/batch_v1.json +++ b/api/swagger-spec/batch_v1.json @@ -1478,6 +1478,10 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" } } }, @@ -2144,6 +2148,100 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/extensions_v1beta1.json b/api/swagger-spec/extensions_v1beta1.json index 7a8d4fa0967..3d9a6ca315c 100644 --- a/api/swagger-spec/extensions_v1beta1.json +++ b/api/swagger-spec/extensions_v1beta1.json @@ -6880,6 +6880,10 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" } } }, @@ -7546,6 +7550,100 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 3ad39277d3a..b1afed29dba 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -18416,6 +18416,10 @@ "photonPersistentDisk": { "$ref": "v1.PhotonPersistentDiskVolumeSource", "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine" + }, + "projected": { + "$ref": "v1.ProjectedVolumeSource", + "description": "Items for all in one resources secrets, configmaps, and downward API" } } }, @@ -18624,6 +18628,100 @@ } } }, + "v1.ProjectedVolumeSource": { + "id": "v1.ProjectedVolumeSource", + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "sources": { + "type": "array", + "items": { + "$ref": "v1.VolumeProjection" + }, + "description": "list of volume projections" + }, + "defaultMode": { + "type": "integer", + "format": "int32", + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set." + } + } + }, + "v1.VolumeProjection": { + "id": "v1.VolumeProjection", + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "secret": { + "$ref": "v1.SecretProjection", + "description": "information about the secret data to project" + }, + "downwardAPI": { + "$ref": "v1.DownwardAPIProjection", + "description": "information about the downwardAPI data to project" + }, + "configMap": { + "$ref": "v1.ConfigMapProjection", + "description": "information about the configMap data to project" + } + } + }, + "v1.SecretProjection": { + "id": "v1.SecretProjection", + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the Secret or its key must be defined" + } + } + }, + "v1.DownwardAPIProjection": { + "id": "v1.DownwardAPIProjection", + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "v1.DownwardAPIVolumeFile" + }, + "description": "Items is a list of DownwardAPIVolume file" + } + } + }, + "v1.ConfigMapProjection": { + "id": "v1.ConfigMapProjection", + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "name": { + "type": "string", + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names" + }, + "items": { + "type": "array", + "items": { + "$ref": "v1.KeyToPath" + }, + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'." + }, + "optional": { + "type": "boolean", + "description": "Specify whether the ConfigMap or it's keys must be defined" + } + } + }, "v1.Container": { "id": "v1.Container", "description": "A single application container that you want to run within a pod.", diff --git a/cmd/kubelet/app/BUILD b/cmd/kubelet/app/BUILD index d65a2d1f660..066d3fa1d2a 100644 --- a/cmd/kubelet/app/BUILD +++ b/cmd/kubelet/app/BUILD @@ -89,6 +89,7 @@ go_library( "//pkg/volume/iscsi:go_default_library", "//pkg/volume/nfs:go_default_library", "//pkg/volume/photon_pd:go_default_library", + "//pkg/volume/projected:go_default_library", "//pkg/volume/quobyte:go_default_library", "//pkg/volume/rbd:go_default_library", "//pkg/volume/secret:go_default_library", diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index 12da6f5682e..b848168c9e2 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -484,6 +484,57 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.ConfigMapProjection

+
+

Adapts a ConfigMap into a projected volume.

+
+
+

The contents of the target ConfigMap’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the ConfigMap or it’s keys must be defined

false

boolean

false

+

v1.PhotonPersistentDiskVolumeSource

@@ -875,6 +926,40 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.DownwardAPIProjection

+
+

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

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

items

Items is a list of DownwardAPIVolume file

false

v1.DownwardAPIVolumeFile array

+

v1.LabelSelector

@@ -1700,6 +1785,47 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.ProjectedVolumeSource

+
+

Represents a projected volume source

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

sources

list of volume projections

true

v1.VolumeProjection array

defaultMode

Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

false

integer (int32)

+

v1.Container

@@ -2507,6 +2633,57 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.SecretProjection

+
+

Adapts a secret into a projected volume.

+
+
+

The contents of the target Secret’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the Secret or its key must be defined

false

boolean

false

+

v1.EmptyDirVolumeSource

@@ -3186,6 +3363,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EnvVar

+
+

EnvVar represents an environment variable present in a Container.

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

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

+

v1.SecretVolumeSource

@@ -3292,54 +3517,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EnvVar

-
-

EnvVar represents an environment variable present in a Container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

-

v1.PersistentVolumeAccessMode

@@ -3385,6 +3562,61 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EnvVarSource

+
+

EnvVarSource represents a source for the value of an EnvVar.

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

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

+

v1.FlexVolumeSource

@@ -3447,61 +3679,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EnvVarSource

-
-

EnvVarSource represents a source for the value of an EnvVar.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

-

v1.PodTemplateSpec

@@ -4053,6 +4230,13 @@ The StatefulSet guarantees that a given network identity will always map to the

v1.PhotonPersistentDiskVolumeSource

+ +

projected

+

Items for all in one resources secrets, configmaps, and downward API

+

false

+

v1.ProjectedVolumeSource

+ + @@ -4148,6 +4332,54 @@ The StatefulSet guarantees that a given network identity will always map to the +
+
+

v1.VolumeProjection

+
+

Projection that may be projected along with other supported volume types

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

secret

information about the secret data to project

false

v1.SecretProjection

downwardAPI

information about the downwardAPI data to project

false

v1.DownwardAPIProjection

configMap

information about the configMap data to project

false

v1.ConfigMapProjection

+

v1.WeightedPodAffinityTerm

@@ -5088,7 +5320,7 @@ Examples:
diff --git a/docs/api-reference/batch/v1/definitions.html b/docs/api-reference/batch/v1/definitions.html index 2f494d4bbe3..93d85e84922 100755 --- a/docs/api-reference/batch/v1/definitions.html +++ b/docs/api-reference/batch/v1/definitions.html @@ -484,6 +484,57 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.ConfigMapProjection

+
+

Adapts a ConfigMap into a projected volume.

+
+
+

The contents of the target ConfigMap’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the ConfigMap or it’s keys must be defined

false

boolean

false

+

v1.PhotonPersistentDiskVolumeSource

@@ -875,6 +926,40 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.DownwardAPIProjection

+
+

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

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

items

Items is a list of DownwardAPIVolume file

false

v1.DownwardAPIVolumeFile array

+

v1.LabelSelector

@@ -1604,6 +1689,47 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.ProjectedVolumeSource

+
+

Represents a projected volume source

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

sources

list of volume projections

true

v1.VolumeProjection array

defaultMode

Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

false

integer (int32)

+

v1.Container

@@ -2418,6 +2544,57 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.SecretProjection

+
+

Adapts a secret into a projected volume.

+
+
+

The contents of the target Secret’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the Secret or its key must be defined

false

boolean

false

+

v1.EmptyDirVolumeSource

@@ -3173,6 +3350,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EnvVar

+
+

EnvVar represents an environment variable present in a Container.

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

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

+

v1.SecretVolumeSource

@@ -3279,54 +3504,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EnvVar

-
-

EnvVar represents an environment variable present in a Container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

-

v1.ResourceRequirements

@@ -3368,6 +3545,61 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EnvVarSource

+
+

EnvVarSource represents a source for the value of an EnvVar.

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

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

+

v1.FlexVolumeSource

@@ -3430,61 +3662,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EnvVarSource

-
-

EnvVarSource represents a source for the value of an EnvVar.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

-

v1.PodTemplateSpec

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

v1.PhotonPersistentDiskVolumeSource

+ +

projected

+

Items for all in one resources secrets, configmaps, and downward API

+

false

+

v1.ProjectedVolumeSource

+ + @@ -4135,6 +4319,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.VolumeProjection

+
+

Projection that may be projected along with other supported volume types

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

secret

information about the secret data to project

false

v1.SecretProjection

downwardAPI

information about the downwardAPI data to project

false

v1.DownwardAPIProjection

configMap

information about the configMap data to project

false

v1.ConfigMapProjection

+

v1.WeightedPodAffinityTerm

@@ -5020,7 +5252,7 @@ Examples:
diff --git a/docs/api-reference/extensions/v1beta1/definitions.html b/docs/api-reference/extensions/v1beta1/definitions.html index cb0a8ce88cc..badcae75888 100755 --- a/docs/api-reference/extensions/v1beta1/definitions.html +++ b/docs/api-reference/extensions/v1beta1/definitions.html @@ -931,6 +931,40 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.DownwardAPIProjection

+
+

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

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

items

Items is a list of DownwardAPIVolume file

false

v1.DownwardAPIVolumeFile array

+

v1.LabelSelector

@@ -1783,6 +1817,47 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.ProjectedVolumeSource

+
+

Represents a projected volume source

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

sources

list of volume projections

true

v1.VolumeProjection array

defaultMode

Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

false

integer (int32)

+

v1.ExecAction

@@ -2249,40 +2324,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EmptyDirVolumeSource

-
-

Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

-
- ------- - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

medium

What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir

false

string

-

v1beta1.IngressList

@@ -2338,6 +2379,40 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EmptyDirVolumeSource

+
+

Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

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

medium

What type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir

false

string

+

v1beta1.ScaleSpec

@@ -2803,61 +2878,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i -
-
-

v1.EnvVarSource

-
-

EnvVarSource represents a source for the value of an EnvVar.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

-

v1.FlexVolumeSource

@@ -2920,6 +2940,61 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.EnvVarSource

+
+

EnvVarSource represents a source for the value of an EnvVar.

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

fieldRef

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.podIP.

false

v1.ObjectFieldSelector

resourceFieldRef

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

false

v1.ResourceFieldSelector

configMapKeyRef

Selects a key of a ConfigMap.

false

v1.ConfigMapKeySelector

secretKeyRef

Selects a key of a secret in the pod’s namespace

false

v1.SecretKeySelector

+

v1.LoadBalancerIngress

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

v1.PhotonPersistentDiskVolumeSource

+ +

projected

+

Items for all in one resources secrets, configmaps, and downward API

+

false

+

v1.ProjectedVolumeSource

+ + @@ -3547,6 +3629,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i +
+
+

v1.VolumeProjection

+
+

Projection that may be projected along with other supported volume types

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

secret

information about the secret data to project

false

v1.SecretProjection

downwardAPI

information about the downwardAPI data to project

false

v1.DownwardAPIProjection

configMap

information about the configMap data to project

false

v1.ConfigMapProjection

+

v1.Probe

@@ -4534,6 +4664,57 @@ Examples:
+
+
+

v1.ConfigMapProjection

+
+

Adapts a ConfigMap into a projected volume.

+
+
+

The contents of the target ConfigMap’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the ConfigMap or it’s keys must be defined

false

boolean

false

+

v1.PhotonPersistentDiskVolumeSource

@@ -6090,6 +6271,57 @@ Both these may change in the future. Incoming requests are matched against the h +
+
+

v1.SecretProjection

+
+

Adapts a secret into a projected volume.

+
+
+

The contents of the target Secret’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the Secret or its key must be defined

false

boolean

false

+

v1beta1.DaemonSet

@@ -6472,54 +6704,6 @@ Both these may change in the future. Incoming requests are matched against the h -
-
-

v1.EnvVar

-
-

EnvVar represents an environment variable present in a Container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

-

v1.LabelSelectorRequirement

@@ -6568,6 +6752,54 @@ Both these may change in the future. Incoming requests are matched against the h +
+
+

v1.EnvVar

+
+

EnvVar represents an environment variable present in a Container.

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

name

Name of the environment variable. Must be a C_IDENTIFIER.

true

string

value

Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

false

string

valueFrom

Source for the environment variable’s value. Cannot be used if value is not empty.

false

v1.EnvVarSource

+

v1.ResourceRequirements

@@ -7311,7 +7543,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 0b1e5e15dda..ced7c83fcc3 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -947,6 +947,40 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.DownwardAPIProjection

+
+

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

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

items

Items is a list of DownwardAPIVolume file

false

v1.DownwardAPIVolumeFile array

+

v1.LabelSelector

@@ -2088,6 +2122,47 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.ProjectedVolumeSource

+
+

Represents a projected volume source

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

sources

list of volume projections

true

v1.VolumeProjection array

defaultMode

Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

false

integer (int32)

+

v1.ExecAction

@@ -4206,6 +4281,13 @@ The resulting set of endpoints can be viewed as:

v1.PhotonPersistentDiskVolumeSource

+ +

projected

+

Items for all in one resources secrets, configmaps, and downward API

+

false

+

v1.ProjectedVolumeSource

+ + @@ -4257,6 +4339,54 @@ The resulting set of endpoints can be viewed as:
+
+
+

v1.VolumeProjection

+
+

Projection that may be projected along with other supported volume types

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

secret

information about the secret data to project

false

v1.SecretProjection

downwardAPI

information about the downwardAPI data to project

false

v1.DownwardAPIProjection

configMap

information about the configMap data to project

false

v1.ConfigMapProjection

+

v1.WeightedPodAffinityTerm

@@ -4702,6 +4832,68 @@ The resulting set of endpoints can be viewed as:
+
+
+

v1.ContainerPort

+
+

ContainerPort represents a network port in a single container.

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

name

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.

false

string

hostPort

Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.

false

integer (int32)

containerPort

Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.

true

integer (int32)

protocol

Protocol for port. Must be UDP or TCP. Defaults to "TCP".

false

string

hostIP

What host IP to bind the external port to.

false

string

+

v1.PodSpec

@@ -4876,68 +5068,6 @@ The resulting set of endpoints can be viewed as:
-
-
-

v1.ContainerPort

-
-

ContainerPort represents a network port in a single container.

-
- ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescriptionRequiredSchemaDefault

name

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.

false

string

hostPort

Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.

false

integer (int32)

containerPort

Number of port to expose on the pod’s IP address. This must be a valid port number, 0 < x < 65536.

true

integer (int32)

protocol

Protocol for port. Must be UDP or TCP. Defaults to "TCP".

false

string

hostIP

What host IP to bind the external port to.

false

string

-

v1.ResourceQuota

@@ -5630,6 +5760,57 @@ Examples:
+
+
+

v1.ConfigMapProjection

+
+

Adapts a ConfigMap into a projected volume.

+
+
+

The contents of the target ConfigMap’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the ConfigMap or it’s keys must be defined

false

boolean

false

+

v1.PhotonPersistentDiskVolumeSource

@@ -7213,6 +7394,57 @@ Examples:
+
+
+

v1.SecretProjection

+
+

Adapts a secret into a projected volume.

+
+
+

The contents of the target Secret’s Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

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

name

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

false

string

items

If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the .. path or start with ...

false

v1.KeyToPath array

optional

Specify whether the Secret or its key must be defined

false

boolean

false

+

v1.ContainerStateTerminated

@@ -9275,7 +9507,7 @@ Examples:
diff --git a/federation/apis/openapi-spec/swagger.json b/federation/apis/openapi-spec/swagger.json index 9356499890d..0f2df82c9ad 100644 --- a/federation/apis/openapi-spec/swagger.json +++ b/federation/apis/openapi-spec/swagger.json @@ -11407,6 +11407,26 @@ } ] }, + "io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection": { + "description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "properties": { + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the ConfigMap or it's keys must be defined", + "type": "boolean" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource": { "description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", "properties": { @@ -11568,6 +11588,18 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection": { + "description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "properties": { + "items": { + "description": "Items is a list of DownwardAPIVolume file", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile" + } + } + } + }, "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile": { "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field", "required": [ @@ -12657,6 +12689,26 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource": { + "description": "Represents a projected volume source", + "required": [ + "sources" + ], + "properties": { + "defaultMode": { + "description": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "type": "integer", + "format": "int32" + }, + "sources": { + "description": "list of volume projections", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeProjection" + } + } + } + }, "io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource": { "description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", "required": [ @@ -12900,6 +12952,26 @@ } ] }, + "io.k8s.kubernetes.pkg.api.v1.SecretProjection": { + "description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "properties": { + "items": { + "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath" + } + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the Secret or its key must be defined", + "type": "boolean" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource": { "description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "properties": { @@ -13218,6 +13290,10 @@ "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine", "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource" }, + "projected": { + "description": "Items for all in one resources secrets, configmaps, and downward API", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ProjectedVolumeSource" + }, "quobyte": { "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime", "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource" @@ -13261,6 +13337,23 @@ } } }, + "io.k8s.kubernetes.pkg.api.v1.VolumeProjection": { + "description": "Projection that may be projected along with other supported volume types", + "properties": { + "configMap": { + "description": "information about the configMap data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection" + }, + "downwardAPI": { + "description": "information about the downwardAPI data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection" + }, + "secret": { + "description": "information about the secret data to project", + "$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretProjection" + } + } + }, "io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource": { "description": "Represents a vSphere volume resource.", "required": [ diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index efc0f180ff9..1c6cec9a37b 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -42,6 +42,7 @@ limitations under the License. ConfigMapEnvSource ConfigMapKeySelector ConfigMapList + ConfigMapProjection ConfigMapVolumeSource Container ContainerImage @@ -53,6 +54,7 @@ limitations under the License. ContainerStatus DaemonEndpoint DeleteOptions + DownwardAPIProjection DownwardAPIVolumeFile DownwardAPIVolumeSource EmptyDirVolumeSource @@ -146,6 +148,7 @@ limitations under the License. PreferAvoidPodsEntry PreferredSchedulingTerm Probe + ProjectedVolumeSource QuobyteVolumeSource RBDVolumeSource RangeAllocation @@ -165,6 +168,7 @@ limitations under the License. SecretEnvSource SecretKeySelector SecretList + SecretProjection SecretVolumeSource SecurityContext SerializedReference @@ -182,6 +186,7 @@ limitations under the License. Toleration Volume VolumeMount + VolumeProjection VolumeSource VsphereVirtualDiskVolumeSource WeightedPodAffinityTerm @@ -283,608 +288,628 @@ func (m *ConfigMapList) Reset() { *m = ConfigMapList{} } func (*ConfigMapList) ProtoMessage() {} func (*ConfigMapList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } +func (m *ConfigMapProjection) Reset() { *m = ConfigMapProjection{} } +func (*ConfigMapProjection) ProtoMessage() {} +func (*ConfigMapProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } + func (m *ConfigMapVolumeSource) Reset() { *m = ConfigMapVolumeSource{} } func (*ConfigMapVolumeSource) ProtoMessage() {} -func (*ConfigMapVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } +func (*ConfigMapVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } func (m *Container) Reset() { *m = Container{} } func (*Container) ProtoMessage() {} -func (*Container) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } +func (*Container) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } func (m *ContainerImage) Reset() { *m = ContainerImage{} } func (*ContainerImage) ProtoMessage() {} -func (*ContainerImage) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } +func (*ContainerImage) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } func (m *ContainerPort) Reset() { *m = ContainerPort{} } func (*ContainerPort) ProtoMessage() {} -func (*ContainerPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } +func (*ContainerPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } func (m *ContainerState) Reset() { *m = ContainerState{} } func (*ContainerState) ProtoMessage() {} -func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } +func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } func (m *ContainerStateRunning) Reset() { *m = ContainerStateRunning{} } func (*ContainerStateRunning) ProtoMessage() {} -func (*ContainerStateRunning) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } +func (*ContainerStateRunning) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } func (m *ContainerStateTerminated) Reset() { *m = ContainerStateTerminated{} } func (*ContainerStateTerminated) ProtoMessage() {} func (*ContainerStateTerminated) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{23} + return fileDescriptorGenerated, []int{24} } func (m *ContainerStateWaiting) Reset() { *m = ContainerStateWaiting{} } func (*ContainerStateWaiting) ProtoMessage() {} -func (*ContainerStateWaiting) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } +func (*ContainerStateWaiting) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } func (m *ContainerStatus) Reset() { *m = ContainerStatus{} } func (*ContainerStatus) ProtoMessage() {} -func (*ContainerStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } +func (*ContainerStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } func (m *DaemonEndpoint) Reset() { *m = DaemonEndpoint{} } func (*DaemonEndpoint) ProtoMessage() {} -func (*DaemonEndpoint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } +func (*DaemonEndpoint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } func (m *DeleteOptions) Reset() { *m = DeleteOptions{} } func (*DeleteOptions) ProtoMessage() {} -func (*DeleteOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } +func (*DeleteOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } + +func (m *DownwardAPIProjection) Reset() { *m = DownwardAPIProjection{} } +func (*DownwardAPIProjection) ProtoMessage() {} +func (*DownwardAPIProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } func (m *DownwardAPIVolumeFile) Reset() { *m = DownwardAPIVolumeFile{} } func (*DownwardAPIVolumeFile) ProtoMessage() {} -func (*DownwardAPIVolumeFile) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } +func (*DownwardAPIVolumeFile) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } func (m *DownwardAPIVolumeSource) Reset() { *m = DownwardAPIVolumeSource{} } func (*DownwardAPIVolumeSource) ProtoMessage() {} func (*DownwardAPIVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{29} + return fileDescriptorGenerated, []int{31} } func (m *EmptyDirVolumeSource) Reset() { *m = EmptyDirVolumeSource{} } func (*EmptyDirVolumeSource) ProtoMessage() {} -func (*EmptyDirVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } +func (*EmptyDirVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} } func (m *EndpointAddress) Reset() { *m = EndpointAddress{} } func (*EndpointAddress) ProtoMessage() {} -func (*EndpointAddress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } +func (*EndpointAddress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} } func (m *EndpointPort) Reset() { *m = EndpointPort{} } func (*EndpointPort) ProtoMessage() {} -func (*EndpointPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} } +func (*EndpointPort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} } func (m *EndpointSubset) Reset() { *m = EndpointSubset{} } func (*EndpointSubset) ProtoMessage() {} -func (*EndpointSubset) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} } +func (*EndpointSubset) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} } func (m *Endpoints) Reset() { *m = Endpoints{} } func (*Endpoints) ProtoMessage() {} -func (*Endpoints) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} } +func (*Endpoints) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} } func (m *EndpointsList) Reset() { *m = EndpointsList{} } func (*EndpointsList) ProtoMessage() {} -func (*EndpointsList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} } +func (*EndpointsList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} } func (m *EnvFromSource) Reset() { *m = EnvFromSource{} } func (*EnvFromSource) ProtoMessage() {} -func (*EnvFromSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} } +func (*EnvFromSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} } func (m *EnvVar) Reset() { *m = EnvVar{} } func (*EnvVar) ProtoMessage() {} -func (*EnvVar) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} } +func (*EnvVar) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} } func (m *EnvVarSource) Reset() { *m = EnvVarSource{} } func (*EnvVarSource) ProtoMessage() {} -func (*EnvVarSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} } +func (*EnvVarSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} } func (m *Event) Reset() { *m = Event{} } func (*Event) ProtoMessage() {} -func (*Event) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} } +func (*Event) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} } func (m *EventList) Reset() { *m = EventList{} } func (*EventList) ProtoMessage() {} -func (*EventList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} } +func (*EventList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} } func (m *EventSource) Reset() { *m = EventSource{} } func (*EventSource) ProtoMessage() {} -func (*EventSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{41} } +func (*EventSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} } func (m *ExecAction) Reset() { *m = ExecAction{} } func (*ExecAction) ProtoMessage() {} -func (*ExecAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} } +func (*ExecAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} } func (m *FCVolumeSource) Reset() { *m = FCVolumeSource{} } func (*FCVolumeSource) ProtoMessage() {} -func (*FCVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} } +func (*FCVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} } func (m *FlexVolumeSource) Reset() { *m = FlexVolumeSource{} } func (*FlexVolumeSource) ProtoMessage() {} -func (*FlexVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} } +func (*FlexVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} } func (m *FlockerVolumeSource) Reset() { *m = FlockerVolumeSource{} } func (*FlockerVolumeSource) ProtoMessage() {} -func (*FlockerVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} } +func (*FlockerVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{47} } func (m *GCEPersistentDiskVolumeSource) Reset() { *m = GCEPersistentDiskVolumeSource{} } func (*GCEPersistentDiskVolumeSource) ProtoMessage() {} func (*GCEPersistentDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{46} + return fileDescriptorGenerated, []int{48} } func (m *GitRepoVolumeSource) Reset() { *m = GitRepoVolumeSource{} } func (*GitRepoVolumeSource) ProtoMessage() {} -func (*GitRepoVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{47} } +func (*GitRepoVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{49} } func (m *GlusterfsVolumeSource) Reset() { *m = GlusterfsVolumeSource{} } func (*GlusterfsVolumeSource) ProtoMessage() {} -func (*GlusterfsVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{48} } +func (*GlusterfsVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{50} } func (m *HTTPGetAction) Reset() { *m = HTTPGetAction{} } func (*HTTPGetAction) ProtoMessage() {} -func (*HTTPGetAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{49} } +func (*HTTPGetAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{51} } func (m *HTTPHeader) Reset() { *m = HTTPHeader{} } func (*HTTPHeader) ProtoMessage() {} -func (*HTTPHeader) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{50} } +func (*HTTPHeader) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} } func (m *Handler) Reset() { *m = Handler{} } func (*Handler) ProtoMessage() {} -func (*Handler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{51} } +func (*Handler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} } func (m *HostPathVolumeSource) Reset() { *m = HostPathVolumeSource{} } func (*HostPathVolumeSource) ProtoMessage() {} -func (*HostPathVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} } +func (*HostPathVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{54} } func (m *ISCSIVolumeSource) Reset() { *m = ISCSIVolumeSource{} } func (*ISCSIVolumeSource) ProtoMessage() {} -func (*ISCSIVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} } +func (*ISCSIVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{55} } func (m *KeyToPath) Reset() { *m = KeyToPath{} } func (*KeyToPath) ProtoMessage() {} -func (*KeyToPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{54} } +func (*KeyToPath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{56} } func (m *Lifecycle) Reset() { *m = Lifecycle{} } func (*Lifecycle) ProtoMessage() {} -func (*Lifecycle) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{55} } +func (*Lifecycle) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{57} } func (m *LimitRange) Reset() { *m = LimitRange{} } func (*LimitRange) ProtoMessage() {} -func (*LimitRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{56} } +func (*LimitRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{58} } func (m *LimitRangeItem) Reset() { *m = LimitRangeItem{} } func (*LimitRangeItem) ProtoMessage() {} -func (*LimitRangeItem) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{57} } +func (*LimitRangeItem) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{59} } func (m *LimitRangeList) Reset() { *m = LimitRangeList{} } func (*LimitRangeList) ProtoMessage() {} -func (*LimitRangeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{58} } +func (*LimitRangeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{60} } func (m *LimitRangeSpec) Reset() { *m = LimitRangeSpec{} } func (*LimitRangeSpec) ProtoMessage() {} -func (*LimitRangeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{59} } +func (*LimitRangeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{61} } func (m *List) Reset() { *m = List{} } func (*List) ProtoMessage() {} -func (*List) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{60} } +func (*List) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{62} } func (m *ListOptions) Reset() { *m = ListOptions{} } func (*ListOptions) ProtoMessage() {} -func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{61} } +func (*ListOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{63} } func (m *LoadBalancerIngress) Reset() { *m = LoadBalancerIngress{} } func (*LoadBalancerIngress) ProtoMessage() {} -func (*LoadBalancerIngress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{62} } +func (*LoadBalancerIngress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{64} } func (m *LoadBalancerStatus) Reset() { *m = LoadBalancerStatus{} } func (*LoadBalancerStatus) ProtoMessage() {} -func (*LoadBalancerStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{63} } +func (*LoadBalancerStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{65} } func (m *LocalObjectReference) Reset() { *m = LocalObjectReference{} } func (*LocalObjectReference) ProtoMessage() {} -func (*LocalObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{64} } +func (*LocalObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{66} } func (m *NFSVolumeSource) Reset() { *m = NFSVolumeSource{} } func (*NFSVolumeSource) ProtoMessage() {} -func (*NFSVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{65} } +func (*NFSVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{67} } func (m *Namespace) Reset() { *m = Namespace{} } func (*Namespace) ProtoMessage() {} -func (*Namespace) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{66} } +func (*Namespace) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{68} } func (m *NamespaceList) Reset() { *m = NamespaceList{} } func (*NamespaceList) ProtoMessage() {} -func (*NamespaceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{67} } +func (*NamespaceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{69} } func (m *NamespaceSpec) Reset() { *m = NamespaceSpec{} } func (*NamespaceSpec) ProtoMessage() {} -func (*NamespaceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{68} } +func (*NamespaceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{70} } func (m *NamespaceStatus) Reset() { *m = NamespaceStatus{} } func (*NamespaceStatus) ProtoMessage() {} -func (*NamespaceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{69} } +func (*NamespaceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{71} } func (m *Node) Reset() { *m = Node{} } func (*Node) ProtoMessage() {} -func (*Node) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{70} } +func (*Node) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{72} } func (m *NodeAddress) Reset() { *m = NodeAddress{} } func (*NodeAddress) ProtoMessage() {} -func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{71} } +func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{73} } func (m *NodeAffinity) Reset() { *m = NodeAffinity{} } func (*NodeAffinity) ProtoMessage() {} -func (*NodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{72} } +func (*NodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{74} } func (m *NodeCondition) Reset() { *m = NodeCondition{} } func (*NodeCondition) ProtoMessage() {} -func (*NodeCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{73} } +func (*NodeCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{75} } func (m *NodeDaemonEndpoints) Reset() { *m = NodeDaemonEndpoints{} } func (*NodeDaemonEndpoints) ProtoMessage() {} -func (*NodeDaemonEndpoints) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{74} } +func (*NodeDaemonEndpoints) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{76} } func (m *NodeList) Reset() { *m = NodeList{} } func (*NodeList) ProtoMessage() {} -func (*NodeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{75} } +func (*NodeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{77} } func (m *NodeProxyOptions) Reset() { *m = NodeProxyOptions{} } func (*NodeProxyOptions) ProtoMessage() {} -func (*NodeProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{76} } +func (*NodeProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{78} } func (m *NodeResources) Reset() { *m = NodeResources{} } func (*NodeResources) ProtoMessage() {} -func (*NodeResources) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{77} } +func (*NodeResources) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{79} } func (m *NodeSelector) Reset() { *m = NodeSelector{} } func (*NodeSelector) ProtoMessage() {} -func (*NodeSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{78} } +func (*NodeSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{80} } func (m *NodeSelectorRequirement) Reset() { *m = NodeSelectorRequirement{} } func (*NodeSelectorRequirement) ProtoMessage() {} func (*NodeSelectorRequirement) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{79} + return fileDescriptorGenerated, []int{81} } func (m *NodeSelectorTerm) Reset() { *m = NodeSelectorTerm{} } func (*NodeSelectorTerm) ProtoMessage() {} -func (*NodeSelectorTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{80} } +func (*NodeSelectorTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{82} } func (m *NodeSpec) Reset() { *m = NodeSpec{} } func (*NodeSpec) ProtoMessage() {} -func (*NodeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{81} } +func (*NodeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{83} } func (m *NodeStatus) Reset() { *m = NodeStatus{} } func (*NodeStatus) ProtoMessage() {} -func (*NodeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{82} } +func (*NodeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{84} } func (m *NodeSystemInfo) Reset() { *m = NodeSystemInfo{} } func (*NodeSystemInfo) ProtoMessage() {} -func (*NodeSystemInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{83} } +func (*NodeSystemInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{85} } func (m *ObjectFieldSelector) Reset() { *m = ObjectFieldSelector{} } func (*ObjectFieldSelector) ProtoMessage() {} -func (*ObjectFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{84} } +func (*ObjectFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{86} } func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } func (*ObjectMeta) ProtoMessage() {} -func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{85} } +func (*ObjectMeta) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{87} } func (m *ObjectReference) Reset() { *m = ObjectReference{} } func (*ObjectReference) ProtoMessage() {} -func (*ObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{86} } +func (*ObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{88} } func (m *PersistentVolume) Reset() { *m = PersistentVolume{} } func (*PersistentVolume) ProtoMessage() {} -func (*PersistentVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{87} } +func (*PersistentVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{89} } func (m *PersistentVolumeClaim) Reset() { *m = PersistentVolumeClaim{} } func (*PersistentVolumeClaim) ProtoMessage() {} -func (*PersistentVolumeClaim) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{88} } +func (*PersistentVolumeClaim) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{90} } func (m *PersistentVolumeClaimList) Reset() { *m = PersistentVolumeClaimList{} } func (*PersistentVolumeClaimList) ProtoMessage() {} func (*PersistentVolumeClaimList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{89} + return fileDescriptorGenerated, []int{91} } func (m *PersistentVolumeClaimSpec) Reset() { *m = PersistentVolumeClaimSpec{} } func (*PersistentVolumeClaimSpec) ProtoMessage() {} func (*PersistentVolumeClaimSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{90} + return fileDescriptorGenerated, []int{92} } func (m *PersistentVolumeClaimStatus) Reset() { *m = PersistentVolumeClaimStatus{} } func (*PersistentVolumeClaimStatus) ProtoMessage() {} func (*PersistentVolumeClaimStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{91} + return fileDescriptorGenerated, []int{93} } func (m *PersistentVolumeClaimVolumeSource) Reset() { *m = PersistentVolumeClaimVolumeSource{} } func (*PersistentVolumeClaimVolumeSource) ProtoMessage() {} func (*PersistentVolumeClaimVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{92} + return fileDescriptorGenerated, []int{94} } func (m *PersistentVolumeList) Reset() { *m = PersistentVolumeList{} } func (*PersistentVolumeList) ProtoMessage() {} -func (*PersistentVolumeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{93} } +func (*PersistentVolumeList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{95} } func (m *PersistentVolumeSource) Reset() { *m = PersistentVolumeSource{} } func (*PersistentVolumeSource) ProtoMessage() {} -func (*PersistentVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{94} } +func (*PersistentVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{96} } func (m *PersistentVolumeSpec) Reset() { *m = PersistentVolumeSpec{} } func (*PersistentVolumeSpec) ProtoMessage() {} -func (*PersistentVolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{95} } +func (*PersistentVolumeSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{97} } func (m *PersistentVolumeStatus) Reset() { *m = PersistentVolumeStatus{} } func (*PersistentVolumeStatus) ProtoMessage() {} -func (*PersistentVolumeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{96} } +func (*PersistentVolumeStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{98} } func (m *PhotonPersistentDiskVolumeSource) Reset() { *m = PhotonPersistentDiskVolumeSource{} } func (*PhotonPersistentDiskVolumeSource) ProtoMessage() {} func (*PhotonPersistentDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{97} + return fileDescriptorGenerated, []int{99} } func (m *Pod) Reset() { *m = Pod{} } func (*Pod) ProtoMessage() {} -func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{98} } +func (*Pod) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{100} } func (m *PodAffinity) Reset() { *m = PodAffinity{} } func (*PodAffinity) ProtoMessage() {} -func (*PodAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{99} } +func (*PodAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{101} } func (m *PodAffinityTerm) Reset() { *m = PodAffinityTerm{} } func (*PodAffinityTerm) ProtoMessage() {} -func (*PodAffinityTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{100} } +func (*PodAffinityTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{102} } func (m *PodAntiAffinity) Reset() { *m = PodAntiAffinity{} } func (*PodAntiAffinity) ProtoMessage() {} -func (*PodAntiAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{101} } +func (*PodAntiAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{103} } func (m *PodAttachOptions) Reset() { *m = PodAttachOptions{} } func (*PodAttachOptions) ProtoMessage() {} -func (*PodAttachOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{102} } +func (*PodAttachOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{104} } func (m *PodCondition) Reset() { *m = PodCondition{} } func (*PodCondition) ProtoMessage() {} -func (*PodCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{103} } +func (*PodCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{105} } func (m *PodExecOptions) Reset() { *m = PodExecOptions{} } func (*PodExecOptions) ProtoMessage() {} -func (*PodExecOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{104} } +func (*PodExecOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{106} } func (m *PodList) Reset() { *m = PodList{} } func (*PodList) ProtoMessage() {} -func (*PodList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{105} } +func (*PodList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{107} } func (m *PodLogOptions) Reset() { *m = PodLogOptions{} } func (*PodLogOptions) ProtoMessage() {} -func (*PodLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{106} } +func (*PodLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{108} } func (m *PodPortForwardOptions) Reset() { *m = PodPortForwardOptions{} } func (*PodPortForwardOptions) ProtoMessage() {} -func (*PodPortForwardOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{107} } +func (*PodPortForwardOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{109} } func (m *PodProxyOptions) Reset() { *m = PodProxyOptions{} } func (*PodProxyOptions) ProtoMessage() {} -func (*PodProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{108} } +func (*PodProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{110} } func (m *PodSecurityContext) Reset() { *m = PodSecurityContext{} } func (*PodSecurityContext) ProtoMessage() {} -func (*PodSecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{109} } +func (*PodSecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{111} } func (m *PodSignature) Reset() { *m = PodSignature{} } func (*PodSignature) ProtoMessage() {} -func (*PodSignature) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{110} } +func (*PodSignature) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{112} } func (m *PodSpec) Reset() { *m = PodSpec{} } func (*PodSpec) ProtoMessage() {} -func (*PodSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{111} } +func (*PodSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{113} } func (m *PodStatus) Reset() { *m = PodStatus{} } func (*PodStatus) ProtoMessage() {} -func (*PodStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{112} } +func (*PodStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{114} } func (m *PodStatusResult) Reset() { *m = PodStatusResult{} } func (*PodStatusResult) ProtoMessage() {} -func (*PodStatusResult) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{113} } +func (*PodStatusResult) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{115} } func (m *PodTemplate) Reset() { *m = PodTemplate{} } func (*PodTemplate) ProtoMessage() {} -func (*PodTemplate) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{114} } +func (*PodTemplate) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{116} } func (m *PodTemplateList) Reset() { *m = PodTemplateList{} } func (*PodTemplateList) ProtoMessage() {} -func (*PodTemplateList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{115} } +func (*PodTemplateList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{117} } func (m *PodTemplateSpec) Reset() { *m = PodTemplateSpec{} } func (*PodTemplateSpec) ProtoMessage() {} -func (*PodTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{116} } +func (*PodTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{118} } func (m *Preconditions) Reset() { *m = Preconditions{} } func (*Preconditions) ProtoMessage() {} -func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{117} } +func (*Preconditions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{119} } func (m *PreferAvoidPodsEntry) Reset() { *m = PreferAvoidPodsEntry{} } func (*PreferAvoidPodsEntry) ProtoMessage() {} -func (*PreferAvoidPodsEntry) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{118} } +func (*PreferAvoidPodsEntry) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{120} } func (m *PreferredSchedulingTerm) Reset() { *m = PreferredSchedulingTerm{} } func (*PreferredSchedulingTerm) ProtoMessage() {} func (*PreferredSchedulingTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{119} + return fileDescriptorGenerated, []int{121} } func (m *Probe) Reset() { *m = Probe{} } func (*Probe) ProtoMessage() {} -func (*Probe) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{120} } +func (*Probe) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{122} } + +func (m *ProjectedVolumeSource) Reset() { *m = ProjectedVolumeSource{} } +func (*ProjectedVolumeSource) ProtoMessage() {} +func (*ProjectedVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{123} } func (m *QuobyteVolumeSource) Reset() { *m = QuobyteVolumeSource{} } func (*QuobyteVolumeSource) ProtoMessage() {} -func (*QuobyteVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{121} } +func (*QuobyteVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{124} } func (m *RBDVolumeSource) Reset() { *m = RBDVolumeSource{} } func (*RBDVolumeSource) ProtoMessage() {} -func (*RBDVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{122} } +func (*RBDVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{125} } func (m *RangeAllocation) Reset() { *m = RangeAllocation{} } func (*RangeAllocation) ProtoMessage() {} -func (*RangeAllocation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{123} } +func (*RangeAllocation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{126} } func (m *ReplicationController) Reset() { *m = ReplicationController{} } func (*ReplicationController) ProtoMessage() {} -func (*ReplicationController) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{124} } +func (*ReplicationController) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{127} } func (m *ReplicationControllerCondition) Reset() { *m = ReplicationControllerCondition{} } func (*ReplicationControllerCondition) ProtoMessage() {} func (*ReplicationControllerCondition) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{125} + return fileDescriptorGenerated, []int{128} } func (m *ReplicationControllerList) Reset() { *m = ReplicationControllerList{} } func (*ReplicationControllerList) ProtoMessage() {} func (*ReplicationControllerList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{126} + return fileDescriptorGenerated, []int{129} } func (m *ReplicationControllerSpec) Reset() { *m = ReplicationControllerSpec{} } func (*ReplicationControllerSpec) ProtoMessage() {} func (*ReplicationControllerSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{127} + return fileDescriptorGenerated, []int{130} } func (m *ReplicationControllerStatus) Reset() { *m = ReplicationControllerStatus{} } func (*ReplicationControllerStatus) ProtoMessage() {} func (*ReplicationControllerStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{128} + return fileDescriptorGenerated, []int{131} } func (m *ResourceFieldSelector) Reset() { *m = ResourceFieldSelector{} } func (*ResourceFieldSelector) ProtoMessage() {} -func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{129} } +func (*ResourceFieldSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{132} } func (m *ResourceQuota) Reset() { *m = ResourceQuota{} } func (*ResourceQuota) ProtoMessage() {} -func (*ResourceQuota) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{130} } +func (*ResourceQuota) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{133} } func (m *ResourceQuotaList) Reset() { *m = ResourceQuotaList{} } func (*ResourceQuotaList) ProtoMessage() {} -func (*ResourceQuotaList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{131} } +func (*ResourceQuotaList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{134} } func (m *ResourceQuotaSpec) Reset() { *m = ResourceQuotaSpec{} } func (*ResourceQuotaSpec) ProtoMessage() {} -func (*ResourceQuotaSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{132} } +func (*ResourceQuotaSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{135} } func (m *ResourceQuotaStatus) Reset() { *m = ResourceQuotaStatus{} } func (*ResourceQuotaStatus) ProtoMessage() {} -func (*ResourceQuotaStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{133} } +func (*ResourceQuotaStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } func (m *ResourceRequirements) Reset() { *m = ResourceRequirements{} } func (*ResourceRequirements) ProtoMessage() {} -func (*ResourceRequirements) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{134} } +func (*ResourceRequirements) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } func (m *SELinuxOptions) Reset() { *m = SELinuxOptions{} } func (*SELinuxOptions) ProtoMessage() {} -func (*SELinuxOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{135} } +func (*SELinuxOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } func (m *Secret) Reset() { *m = Secret{} } func (*Secret) ProtoMessage() {} -func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{136} } +func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } func (m *SecretEnvSource) Reset() { *m = SecretEnvSource{} } func (*SecretEnvSource) ProtoMessage() {} -func (*SecretEnvSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{137} } +func (*SecretEnvSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } func (m *SecretKeySelector) Reset() { *m = SecretKeySelector{} } func (*SecretKeySelector) ProtoMessage() {} -func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{138} } +func (*SecretKeySelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } func (m *SecretList) Reset() { *m = SecretList{} } func (*SecretList) ProtoMessage() {} -func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{139} } +func (*SecretList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } + +func (m *SecretProjection) Reset() { *m = SecretProjection{} } +func (*SecretProjection) ProtoMessage() {} +func (*SecretProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } func (m *SecretVolumeSource) Reset() { *m = SecretVolumeSource{} } func (*SecretVolumeSource) ProtoMessage() {} -func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{140} } +func (*SecretVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } func (m *SecurityContext) Reset() { *m = SecurityContext{} } func (*SecurityContext) ProtoMessage() {} -func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{141} } +func (*SecurityContext) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } func (m *SerializedReference) Reset() { *m = SerializedReference{} } func (*SerializedReference) ProtoMessage() {} -func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{142} } +func (*SerializedReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } func (m *Service) Reset() { *m = Service{} } func (*Service) ProtoMessage() {} -func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{143} } +func (*Service) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } func (m *ServiceAccount) Reset() { *m = ServiceAccount{} } func (*ServiceAccount) ProtoMessage() {} -func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{144} } +func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } func (m *ServiceAccountList) Reset() { *m = ServiceAccountList{} } func (*ServiceAccountList) ProtoMessage() {} -func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{145} } +func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } func (m *ServiceList) Reset() { *m = ServiceList{} } func (*ServiceList) ProtoMessage() {} -func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{146} } +func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } func (m *ServicePort) Reset() { *m = ServicePort{} } func (*ServicePort) ProtoMessage() {} -func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{147} } +func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } func (m *ServiceProxyOptions) Reset() { *m = ServiceProxyOptions{} } func (*ServiceProxyOptions) ProtoMessage() {} -func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{148} } +func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } func (*ServiceSpec) ProtoMessage() {} -func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{149} } +func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } func (m *ServiceStatus) Reset() { *m = ServiceStatus{} } func (*ServiceStatus) ProtoMessage() {} -func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{150} } +func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{154} } func (m *Sysctl) Reset() { *m = Sysctl{} } func (*Sysctl) ProtoMessage() {} -func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{151} } +func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{155} } func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } func (*TCPSocketAction) ProtoMessage() {} -func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{152} } +func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{156} } func (m *Taint) Reset() { *m = Taint{} } func (*Taint) ProtoMessage() {} -func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{153} } +func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{157} } func (m *Toleration) Reset() { *m = Toleration{} } func (*Toleration) ProtoMessage() {} -func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{154} } +func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{158} } func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{155} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{159} } func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} -func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{156} } +func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{160} } + +func (m *VolumeProjection) Reset() { *m = VolumeProjection{} } +func (*VolumeProjection) ProtoMessage() {} +func (*VolumeProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{161} } func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} -func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{157} } +func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{162} } func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{158} + return fileDescriptorGenerated, []int{163} } func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{159} + return fileDescriptorGenerated, []int{164} } func init() { @@ -905,6 +930,7 @@ func init() { proto.RegisterType((*ConfigMapEnvSource)(nil), "k8s.io.kubernetes.pkg.api.v1.ConfigMapEnvSource") proto.RegisterType((*ConfigMapKeySelector)(nil), "k8s.io.kubernetes.pkg.api.v1.ConfigMapKeySelector") proto.RegisterType((*ConfigMapList)(nil), "k8s.io.kubernetes.pkg.api.v1.ConfigMapList") + proto.RegisterType((*ConfigMapProjection)(nil), "k8s.io.kubernetes.pkg.api.v1.ConfigMapProjection") proto.RegisterType((*ConfigMapVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.ConfigMapVolumeSource") proto.RegisterType((*Container)(nil), "k8s.io.kubernetes.pkg.api.v1.Container") proto.RegisterType((*ContainerImage)(nil), "k8s.io.kubernetes.pkg.api.v1.ContainerImage") @@ -916,6 +942,7 @@ func init() { proto.RegisterType((*ContainerStatus)(nil), "k8s.io.kubernetes.pkg.api.v1.ContainerStatus") proto.RegisterType((*DaemonEndpoint)(nil), "k8s.io.kubernetes.pkg.api.v1.DaemonEndpoint") proto.RegisterType((*DeleteOptions)(nil), "k8s.io.kubernetes.pkg.api.v1.DeleteOptions") + proto.RegisterType((*DownwardAPIProjection)(nil), "k8s.io.kubernetes.pkg.api.v1.DownwardAPIProjection") proto.RegisterType((*DownwardAPIVolumeFile)(nil), "k8s.io.kubernetes.pkg.api.v1.DownwardAPIVolumeFile") proto.RegisterType((*DownwardAPIVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.DownwardAPIVolumeSource") proto.RegisterType((*EmptyDirVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.EmptyDirVolumeSource") @@ -1009,6 +1036,7 @@ func init() { proto.RegisterType((*PreferAvoidPodsEntry)(nil), "k8s.io.kubernetes.pkg.api.v1.PreferAvoidPodsEntry") proto.RegisterType((*PreferredSchedulingTerm)(nil), "k8s.io.kubernetes.pkg.api.v1.PreferredSchedulingTerm") proto.RegisterType((*Probe)(nil), "k8s.io.kubernetes.pkg.api.v1.Probe") + proto.RegisterType((*ProjectedVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.ProjectedVolumeSource") proto.RegisterType((*QuobyteVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.QuobyteVolumeSource") proto.RegisterType((*RBDVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.RBDVolumeSource") proto.RegisterType((*RangeAllocation)(nil), "k8s.io.kubernetes.pkg.api.v1.RangeAllocation") @@ -1028,6 +1056,7 @@ func init() { 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((*SecretProjection)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretProjection") proto.RegisterType((*SecretVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.SecretVolumeSource") proto.RegisterType((*SecurityContext)(nil), "k8s.io.kubernetes.pkg.api.v1.SecurityContext") proto.RegisterType((*SerializedReference)(nil), "k8s.io.kubernetes.pkg.api.v1.SerializedReference") @@ -1045,6 +1074,7 @@ func init() { proto.RegisterType((*Toleration)(nil), "k8s.io.kubernetes.pkg.api.v1.Toleration") proto.RegisterType((*Volume)(nil), "k8s.io.kubernetes.pkg.api.v1.Volume") proto.RegisterType((*VolumeMount)(nil), "k8s.io.kubernetes.pkg.api.v1.VolumeMount") + proto.RegisterType((*VolumeProjection)(nil), "k8s.io.kubernetes.pkg.api.v1.VolumeProjection") proto.RegisterType((*VolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.VolumeSource") proto.RegisterType((*VsphereVirtualDiskVolumeSource)(nil), "k8s.io.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource") proto.RegisterType((*WeightedPodAffinityTerm)(nil), "k8s.io.kubernetes.pkg.api.v1.WeightedPodAffinityTerm") @@ -1718,6 +1748,54 @@ func (m *ConfigMapList) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *ConfigMapProjection) 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 *ConfigMapProjection) 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())) + n13, err := m.LocalObjectReference.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n13 + if len(m.Items) > 0 { + for _, msg := range m.Items { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } + return i, nil +} + func (m *ConfigMapVolumeSource) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -1736,11 +1814,11 @@ func (m *ConfigMapVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n13, err := m.LocalObjectReference.MarshalTo(data[i:]) + n14, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n13 + i += n14 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -1855,11 +1933,11 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n14, err := m.Resources.MarshalTo(data[i:]) + n15, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n14 + i += n15 if len(m.VolumeMounts) > 0 { for _, msg := range m.VolumeMounts { data[i] = 0x4a @@ -1876,32 +1954,32 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x52 i++ i = encodeVarintGenerated(data, i, uint64(m.LivenessProbe.Size())) - n15, err := m.LivenessProbe.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n15 - } - if m.ReadinessProbe != nil { - data[i] = 0x5a - i++ - i = encodeVarintGenerated(data, i, uint64(m.ReadinessProbe.Size())) - n16, err := m.ReadinessProbe.MarshalTo(data[i:]) + n16, err := m.LivenessProbe.MarshalTo(data[i:]) if err != nil { return 0, err } i += n16 } - if m.Lifecycle != nil { - data[i] = 0x62 + if m.ReadinessProbe != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.Lifecycle.Size())) - n17, err := m.Lifecycle.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ReadinessProbe.Size())) + n17, err := m.ReadinessProbe.MarshalTo(data[i:]) if err != nil { return 0, err } i += n17 } + if m.Lifecycle != nil { + data[i] = 0x62 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Lifecycle.Size())) + n18, err := m.Lifecycle.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n18 + } data[i] = 0x6a i++ i = encodeVarintGenerated(data, i, uint64(len(m.TerminationMessagePath))) @@ -1914,11 +1992,11 @@ func (m *Container) MarshalTo(data []byte) (int, error) { data[i] = 0x7a i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n18, err := m.SecurityContext.MarshalTo(data[i:]) + n19, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n18 + i += n19 } data[i] = 0x80 i++ @@ -2064,32 +2142,32 @@ func (m *ContainerState) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Waiting.Size())) - n19, err := m.Waiting.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n19 - } - if m.Running != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Running.Size())) - n20, err := m.Running.MarshalTo(data[i:]) + n20, err := m.Waiting.MarshalTo(data[i:]) if err != nil { return 0, err } i += n20 } - if m.Terminated != nil { - data[i] = 0x1a + if m.Running != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Terminated.Size())) - n21, err := m.Terminated.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Running.Size())) + n21, err := m.Running.MarshalTo(data[i:]) if err != nil { return 0, err } i += n21 } + if m.Terminated != nil { + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Terminated.Size())) + n22, err := m.Terminated.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n22 + } return i, nil } @@ -2111,11 +2189,11 @@ func (m *ContainerStateRunning) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.StartedAt.Size())) - n22, err := m.StartedAt.MarshalTo(data[i:]) + n23, err := m.StartedAt.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n22 + i += n23 return i, nil } @@ -2151,19 +2229,19 @@ func (m *ContainerStateTerminated) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.StartedAt.Size())) - n23, err := m.StartedAt.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n23 - data[i] = 0x32 - i++ - i = encodeVarintGenerated(data, i, uint64(m.FinishedAt.Size())) - n24, err := m.FinishedAt.MarshalTo(data[i:]) + n24, err := m.StartedAt.MarshalTo(data[i:]) if err != nil { return 0, err } i += n24 + data[i] = 0x32 + i++ + i = encodeVarintGenerated(data, i, uint64(m.FinishedAt.Size())) + n25, err := m.FinishedAt.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n25 data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(len(m.ContainerID))) @@ -2219,19 +2297,19 @@ func (m *ContainerStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.State.Size())) - n25, err := m.State.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n25 - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTerminationState.Size())) - n26, err := m.LastTerminationState.MarshalTo(data[i:]) + n26, err := m.State.MarshalTo(data[i:]) if err != nil { return 0, err } i += n26 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTerminationState.Size())) + n27, err := m.LastTerminationState.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n27 data[i] = 0x20 i++ if m.Ready { @@ -2303,11 +2381,11 @@ func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preconditions.Size())) - n27, err := m.Preconditions.MarshalTo(data[i:]) + n28, err := m.Preconditions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n27 + i += n28 } if m.OrphanDependents != nil { data[i] = 0x18 @@ -2322,6 +2400,36 @@ func (m *DeleteOptions) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *DownwardAPIProjection) 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 *DownwardAPIProjection) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Items) > 0 { + for _, msg := range m.Items { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + func (m *DownwardAPIVolumeFile) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -2345,21 +2453,21 @@ func (m *DownwardAPIVolumeFile) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.FieldRef.Size())) - n28, err := m.FieldRef.MarshalTo(data[i:]) + n29, err := m.FieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n28 + i += n29 } if m.ResourceFieldRef != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) - n29, err := m.ResourceFieldRef.MarshalTo(data[i:]) + n30, err := m.ResourceFieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n29 + i += n30 } if m.Mode != nil { data[i] = 0x20 @@ -2449,11 +2557,11 @@ func (m *EndpointAddress) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetRef.Size())) - n30, err := m.TargetRef.MarshalTo(data[i:]) + n31, err := m.TargetRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n30 + i += n31 } data[i] = 0x1a i++ @@ -2569,11 +2677,11 @@ func (m *Endpoints) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n31, err := m.ObjectMeta.MarshalTo(data[i:]) + n32, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n31 + i += n32 if len(m.Subsets) > 0 { for _, msg := range m.Subsets { data[i] = 0x12 @@ -2607,11 +2715,11 @@ func (m *EndpointsList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n32, err := m.ListMeta.MarshalTo(data[i:]) + n33, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n32 + i += n33 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -2650,21 +2758,21 @@ func (m *EnvFromSource) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMapRef.Size())) - n33, err := m.ConfigMapRef.MarshalTo(data[i:]) + n34, err := m.ConfigMapRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n33 + i += n34 } if m.SecretRef != nil { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n34, err := m.SecretRef.MarshalTo(data[i:]) + n35, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n34 + i += n35 } return i, nil } @@ -2696,11 +2804,11 @@ func (m *EnvVar) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.ValueFrom.Size())) - n35, err := m.ValueFrom.MarshalTo(data[i:]) + n36, err := m.ValueFrom.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n35 + i += n36 } return i, nil } @@ -2724,42 +2832,42 @@ func (m *EnvVarSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.FieldRef.Size())) - n36, err := m.FieldRef.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n36 - } - if m.ResourceFieldRef != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) - n37, err := m.ResourceFieldRef.MarshalTo(data[i:]) + n37, err := m.FieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n37 } - if m.ConfigMapKeyRef != nil { - data[i] = 0x1a + if m.ResourceFieldRef != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.ConfigMapKeyRef.Size())) - n38, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ResourceFieldRef.Size())) + n38, err := m.ResourceFieldRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n38 } - if m.SecretKeyRef != nil { - data[i] = 0x22 + if m.ConfigMapKeyRef != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.SecretKeyRef.Size())) - n39, err := m.SecretKeyRef.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ConfigMapKeyRef.Size())) + n39, err := m.ConfigMapKeyRef.MarshalTo(data[i:]) if err != nil { return 0, err } i += n39 } + if m.SecretKeyRef != nil { + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.SecretKeyRef.Size())) + n40, err := m.SecretKeyRef.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n40 + } return i, nil } @@ -2781,19 +2889,19 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + n41, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n41 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.InvolvedObject.Size())) + n42, err := m.InvolvedObject.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n42 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -2805,27 +2913,27 @@ func (m *Event) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.Source.Size())) - n42, err := m.Source.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n42 - data[i] = 0x32 - i++ - i = encodeVarintGenerated(data, i, uint64(m.FirstTimestamp.Size())) - n43, err := m.FirstTimestamp.MarshalTo(data[i:]) + n43, err := m.Source.MarshalTo(data[i:]) if err != nil { return 0, err } i += n43 - data[i] = 0x3a + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.LastTimestamp.Size())) - n44, err := m.LastTimestamp.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FirstTimestamp.Size())) + n44, err := m.FirstTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } i += n44 + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTimestamp.Size())) + n45, err := m.LastTimestamp.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n45 data[i] = 0x40 i++ i = encodeVarintGenerated(data, i, uint64(m.Count)) @@ -2854,11 +2962,11 @@ func (m *EventList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n45, err := m.ListMeta.MarshalTo(data[i:]) + n46, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n45 + i += n46 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3010,11 +3118,11 @@ func (m *FlexVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n46, err := m.SecretRef.MarshalTo(data[i:]) + n47, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n46 + i += n47 } data[i] = 0x20 i++ @@ -3193,11 +3301,11 @@ func (m *HTTPGetAction) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n47, err := m.Port.MarshalTo(data[i:]) + n48, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n47 + i += n48 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Host))) @@ -3266,32 +3374,32 @@ func (m *Handler) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Exec.Size())) - n48, err := m.Exec.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n48 - } - if m.HTTPGet != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.HTTPGet.Size())) - n49, err := m.HTTPGet.MarshalTo(data[i:]) + n49, err := m.Exec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n49 } - if m.TCPSocket != nil { - data[i] = 0x1a + if m.HTTPGet != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.TCPSocket.Size())) - n50, err := m.TCPSocket.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.HTTPGet.Size())) + n50, err := m.HTTPGet.MarshalTo(data[i:]) if err != nil { return 0, err } i += n50 } + if m.TCPSocket != nil { + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.TCPSocket.Size())) + n51, err := m.TCPSocket.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n51 + } return i, nil } @@ -3427,21 +3535,21 @@ func (m *Lifecycle) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PostStart.Size())) - n51, err := m.PostStart.MarshalTo(data[i:]) + n52, err := m.PostStart.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n51 + i += n52 } if m.PreStop != nil { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PreStop.Size())) - n52, err := m.PreStop.MarshalTo(data[i:]) + n53, err := m.PreStop.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n52 + i += n53 } return i, nil } @@ -3464,19 +3572,19 @@ func (m *LimitRange) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + n54, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n54 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n55, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n55 return i, nil } @@ -3514,11 +3622,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.Min) > 0 { @@ -3536,11 +3644,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.Default) > 0 { @@ -3558,11 +3666,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.DefaultRequest) > 0 { @@ -3580,11 +3688,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 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -3602,11 +3710,11 @@ func (m *LimitRangeItem) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n59, err := (&v).MarshalTo(data[i:]) + n60, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n59 + i += n60 } } return i, nil @@ -3630,11 +3738,11 @@ func (m *LimitRangeList) 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 @@ -3698,11 +3806,11 @@ func (m *List) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n61, err := m.ListMeta.MarshalTo(data[i:]) + n62, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n61 + i += n62 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -3891,27 +3999,27 @@ func (m *Namespace) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n62, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n62 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n63, err := m.Spec.MarshalTo(data[i:]) + n63, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n63 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n64, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n64, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n64 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n65, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n65 return i, nil } @@ -3933,11 +4041,11 @@ func (m *NamespaceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n65, err := m.ListMeta.MarshalTo(data[i:]) + n66, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n65 + i += n66 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4026,27 +4134,27 @@ func (m *Node) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n66, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n66 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n67, err := m.Spec.MarshalTo(data[i:]) + n67, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n67 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n68, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n68, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n68 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n69, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n69 return i, nil } @@ -4095,11 +4203,11 @@ func (m *NodeAffinity) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n69, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) + n70, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n69 + i += n70 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -4142,19 +4250,19 @@ func (m *NodeCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastHeartbeatTime.Size())) - 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:]) + n71, err := m.LastHeartbeatTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n71 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n72, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n72 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -4184,11 +4292,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.KubeletEndpoint.Size())) - n72, err := m.KubeletEndpoint.MarshalTo(data[i:]) + n73, err := m.KubeletEndpoint.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n72 + i += n73 return i, nil } @@ -4210,11 +4318,11 @@ func (m *NodeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n73, err := m.ListMeta.MarshalTo(data[i:]) + n74, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n73 + i += n74 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4282,11 +4390,11 @@ func (m *NodeResources) 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 } } return i, nil @@ -4461,11 +4569,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 } } if len(m.Allocatable) > 0 { @@ -4483,11 +4591,11 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n76, err := (&v).MarshalTo(data[i:]) + n77, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n76 + i += n77 } } data[i] = 0x1a @@ -4521,19 +4629,19 @@ func (m *NodeStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x32 i++ i = encodeVarintGenerated(data, i, uint64(m.DaemonEndpoints.Size())) - 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:]) + n78, err := m.DaemonEndpoints.MarshalTo(data[i:]) if err != nil { return 0, err } i += n78 + data[i] = 0x3a + i++ + i = encodeVarintGenerated(data, i, uint64(m.NodeInfo.Size())) + n79, err := m.NodeInfo.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n79 if len(m.Images) > 0 { for _, msg := range m.Images { data[i] = 0x42 @@ -4705,20 +4813,20 @@ func (m *ObjectMeta) MarshalTo(data []byte) (int, error) { data[i] = 0x42 i++ i = encodeVarintGenerated(data, i, uint64(m.CreationTimestamp.Size())) - n79, err := m.CreationTimestamp.MarshalTo(data[i:]) + n80, err := m.CreationTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n79 + i += n80 if m.DeletionTimestamp != nil { data[i] = 0x4a i++ i = encodeVarintGenerated(data, i, uint64(m.DeletionTimestamp.Size())) - n80, err := m.DeletionTimestamp.MarshalTo(data[i:]) + n81, err := m.DeletionTimestamp.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n80 + i += n81 } if m.DeletionGracePeriodSeconds != nil { data[i] = 0x50 @@ -4857,27 +4965,27 @@ func (m *PersistentVolume) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n81, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n81 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n82, err := m.Spec.MarshalTo(data[i:]) + n82, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n82 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n83, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n83, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n83 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n84, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n84 return i, nil } @@ -4899,27 +5007,27 @@ func (m *PersistentVolumeClaim) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n84, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n84 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n85, err := m.Spec.MarshalTo(data[i:]) + n85, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n85 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n86, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n86, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n86 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n87, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n87 return i, nil } @@ -4941,11 +5049,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n87, err := m.ListMeta.MarshalTo(data[i:]) + n88, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n87 + i += n88 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -4994,11 +5102,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Resources.Size())) - n88, err := m.Resources.MarshalTo(data[i:]) + n89, err := m.Resources.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n88 + i += n89 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.VolumeName))) @@ -5007,11 +5115,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.Selector.Size())) - n89, err := m.Selector.MarshalTo(data[i:]) + n90, err := m.Selector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n89 + i += n90 } return i, nil } @@ -5065,11 +5173,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n90, err := (&v).MarshalTo(data[i:]) + n91, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n90 + i += n91 } } return i, nil @@ -5123,11 +5231,11 @@ func (m *PersistentVolumeList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n91, err := m.ListMeta.MarshalTo(data[i:]) + n92, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n91 + i += n92 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5162,163 +5270,163 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n92, err := m.GCEPersistentDisk.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n92 - } - if m.AWSElasticBlockStore != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n93, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) + n93, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n93 } - if m.HostPath != nil { - data[i] = 0x1a + if m.AWSElasticBlockStore != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n94, err := m.HostPath.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n94, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n94 } - if m.Glusterfs != nil { - data[i] = 0x22 + if m.HostPath != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n95, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) + n95, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n95 } - if m.NFS != nil { - data[i] = 0x2a + if m.Glusterfs != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n96, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n96, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n96 } - if m.RBD != nil { - data[i] = 0x32 + if m.NFS != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n97, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n97, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n97 } - if m.ISCSI != nil { - data[i] = 0x3a + if m.RBD != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n98, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n98, err := m.RBD.MarshalTo(data[i:]) if err != nil { return 0, err } i += n98 } - if m.Cinder != nil { - data[i] = 0x42 + if m.ISCSI != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n99, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n99, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n99 } - if m.CephFS != nil { - data[i] = 0x4a + if m.Cinder != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n100, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n100, err := m.Cinder.MarshalTo(data[i:]) if err != nil { return 0, err } i += n100 } - if m.FC != nil { - data[i] = 0x52 + if m.CephFS != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n101, err := m.FC.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n101, err := m.CephFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n101 } - if m.Flocker != nil { - data[i] = 0x5a + if m.FC != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n102, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) + n102, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } i += n102 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.Flocker != nil { + data[i] = 0x5a i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n103, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n103, err := m.Flocker.MarshalTo(data[i:]) if err != nil { return 0, err } i += n103 } - if m.AzureFile != nil { - data[i] = 0x6a + if m.FlexVolume != nil { + data[i] = 0x62 i++ - i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n104, err := m.AzureFile.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n104, err := m.FlexVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n104 } - if m.VsphereVolume != nil { - data[i] = 0x72 + if m.AzureFile != nil { + data[i] = 0x6a i++ - i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n105, err := m.VsphereVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) + n105, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } i += n105 } - if m.Quobyte != nil { - data[i] = 0x7a + if m.VsphereVolume != nil { + data[i] = 0x72 i++ - i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n106, err := m.Quobyte.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) + n106, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } i += n106 } + if m.Quobyte != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) + n107, err := m.Quobyte.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n107 + } if m.AzureDisk != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n107, err := m.AzureDisk.MarshalTo(data[i:]) + n108, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n107 + i += n108 } if m.PhotonPersistentDisk != nil { data[i] = 0x8a @@ -5326,11 +5434,11 @@ func (m *PersistentVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n108, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n109, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n108 + i += n109 } return i, nil } @@ -5365,21 +5473,21 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n109, err := (&v).MarshalTo(data[i:]) + n110, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n109 + i += n110 } } data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeSource.Size())) - n110, err := m.PersistentVolumeSource.MarshalTo(data[i:]) + n111, err := m.PersistentVolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n110 + i += n111 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { data[i] = 0x1a @@ -5399,11 +5507,11 @@ func (m *PersistentVolumeSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.ClaimRef.Size())) - n111, err := m.ClaimRef.MarshalTo(data[i:]) + n112, err := m.ClaimRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n111 + i += n112 } data[i] = 0x2a i++ @@ -5486,27 +5594,27 @@ func (m *Pod) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n112, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n112 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n113, err := m.Spec.MarshalTo(data[i:]) + n113, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n113 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n114, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n114, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n114 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n115, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n115 return i, nil } @@ -5571,11 +5679,11 @@ func (m *PodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LabelSelector.Size())) - n115, err := m.LabelSelector.MarshalTo(data[i:]) + n116, err := m.LabelSelector.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n115 + i += n116 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -5721,19 +5829,19 @@ func (m *PodCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastProbeTime.Size())) - 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:]) + n117, err := m.LastProbeTime.MarshalTo(data[i:]) if err != nil { return 0, err } i += n117 + data[i] = 0x22 + i++ + i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) + n118, err := m.LastTransitionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n118 data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -5832,11 +5940,11 @@ func (m *PodList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n118, err := m.ListMeta.MarshalTo(data[i:]) + n119, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n118 + i += n119 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -5896,11 +6004,11 @@ func (m *PodLogOptions) MarshalTo(data []byte) (int, error) { data[i] = 0x2a i++ i = encodeVarintGenerated(data, i, uint64(m.SinceTime.Size())) - n119, err := m.SinceTime.MarshalTo(data[i:]) + n120, err := m.SinceTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n119 + i += n120 } data[i] = 0x30 i++ @@ -5989,11 +6097,11 @@ func (m *PodSecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n120, err := m.SELinuxOptions.MarshalTo(data[i:]) + n121, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n120 + i += n121 } if m.RunAsUser != nil { data[i] = 0x10 @@ -6044,11 +6152,11 @@ func (m *PodSignature) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodController.Size())) - n121, err := m.PodController.MarshalTo(data[i:]) + n122, err := m.PodController.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n121 + i += n122 } return i, nil } @@ -6167,11 +6275,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x72 i++ i = encodeVarintGenerated(data, i, uint64(m.SecurityContext.Size())) - n122, err := m.SecurityContext.MarshalTo(data[i:]) + n123, err := m.SecurityContext.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n122 + i += n123 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -6203,11 +6311,11 @@ func (m *PodSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Affinity.Size())) - n123, err := m.Affinity.MarshalTo(data[i:]) + n124, err := m.Affinity.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n123 + i += n124 } data[i] = 0x9a i++ @@ -6295,11 +6403,11 @@ func (m *PodStatus) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.StartTime.Size())) - n124, err := m.StartTime.MarshalTo(data[i:]) + n125, err := m.StartTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n124 + i += n125 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -6350,19 +6458,19 @@ func (m *PodStatusResult) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + 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.Status.Size())) + n127, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n127 return i, nil } @@ -6384,19 +6492,19 @@ func (m *PodTemplate) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + n128, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n128 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) + n129, err := m.Template.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n129 return i, nil } @@ -6418,11 +6526,11 @@ func (m *PodTemplateList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n129, err := m.ListMeta.MarshalTo(data[i:]) + n130, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n129 + i += n130 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6456,19 +6564,19 @@ func (m *PodTemplateSpec) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + n131, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n131 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n132, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n132 return i, nil } @@ -6514,19 +6622,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.PodSignature.Size())) - 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:]) + n133, err := m.PodSignature.MarshalTo(data[i:]) if err != nil { return 0, err } i += n133 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.EvictionTime.Size())) + n134, err := m.EvictionTime.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n134 data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6559,11 +6667,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.Preference.Size())) - n134, err := m.Preference.MarshalTo(data[i:]) + n135, err := m.Preference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n134 + i += n135 return i, nil } @@ -6585,11 +6693,11 @@ func (m *Probe) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Handler.Size())) - n135, err := m.Handler.MarshalTo(data[i:]) + n136, err := m.Handler.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n135 + i += n136 data[i] = 0x10 i++ i = encodeVarintGenerated(data, i, uint64(m.InitialDelaySeconds)) @@ -6608,6 +6716,41 @@ func (m *Probe) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *ProjectedVolumeSource) 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 *ProjectedVolumeSource) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Sources) > 0 { + for _, msg := range m.Sources { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.DefaultMode != nil { + data[i] = 0x10 + i++ + i = encodeVarintGenerated(data, i, uint64(*m.DefaultMode)) + } + return i, nil +} + func (m *QuobyteVolumeSource) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -6704,11 +6847,11 @@ func (m *RBDVolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x3a i++ i = encodeVarintGenerated(data, i, uint64(m.SecretRef.Size())) - n136, err := m.SecretRef.MarshalTo(data[i:]) + n137, err := m.SecretRef.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n136 + i += n137 } data[i] = 0x40 i++ @@ -6739,11 +6882,11 @@ func (m *RangeAllocation) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n137, err := m.ObjectMeta.MarshalTo(data[i:]) + n138, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n137 + i += n138 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Range))) @@ -6775,27 +6918,27 @@ func (m *ReplicationController) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n138, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n138 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n139, err := m.Spec.MarshalTo(data[i:]) + n139, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n139 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n140, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n140, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n140 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n141, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n141 return i, nil } @@ -6825,11 +6968,11 @@ func (m *ReplicationControllerCondition) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.LastTransitionTime.Size())) - n141, err := m.LastTransitionTime.MarshalTo(data[i:]) + n142, err := m.LastTransitionTime.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n141 + i += n142 data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Reason))) @@ -6859,11 +7002,11 @@ func (m *ReplicationControllerList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n142, err := m.ListMeta.MarshalTo(data[i:]) + n143, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n142 + i += n143 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -6920,11 +7063,11 @@ func (m *ReplicationControllerSpec) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Template.Size())) - n143, err := m.Template.MarshalTo(data[i:]) + n144, err := m.Template.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n143 + i += n144 } data[i] = 0x20 i++ @@ -7003,11 +7146,11 @@ func (m *ResourceFieldSelector) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.Divisor.Size())) - n144, err := m.Divisor.MarshalTo(data[i:]) + n145, err := m.Divisor.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n144 + i += n145 return i, nil } @@ -7029,27 +7172,27 @@ func (m *ResourceQuota) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n145, err := m.ObjectMeta.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n145 - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) - n146, err := m.Spec.MarshalTo(data[i:]) + n146, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n146 - data[i] = 0x1a + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) - n147, err := m.Status.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n147, err := m.Spec.MarshalTo(data[i:]) if err != nil { return 0, err } i += n147 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n148, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n148 return i, nil } @@ -7071,11 +7214,11 @@ func (m *ResourceQuotaList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n148, err := m.ListMeta.MarshalTo(data[i:]) + n149, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n148 + i += n149 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7121,11 +7264,11 @@ func (m *ResourceQuotaSpec) 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.Scopes) > 0 { @@ -7176,11 +7319,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 } } if len(m.Used) > 0 { @@ -7198,11 +7341,11 @@ func (m *ResourceQuotaStatus) 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 } } return i, nil @@ -7238,11 +7381,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 } } if len(m.Requests) > 0 { @@ -7260,11 +7403,11 @@ func (m *ResourceRequirements) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64((&v).Size())) - n153, err := (&v).MarshalTo(data[i:]) + n154, err := (&v).MarshalTo(data[i:]) if err != nil { return 0, err } - i += n153 + i += n154 } } return i, nil @@ -7322,11 +7465,11 @@ func (m *Secret) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n154, err := m.ObjectMeta.MarshalTo(data[i:]) + n155, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n154 + i += n155 if len(m.Data) > 0 { for k := range m.Data { data[i] = 0x12 @@ -7386,11 +7529,11 @@ func (m *SecretEnvSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n155, err := m.LocalObjectReference.MarshalTo(data[i:]) + n156, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n155 + i += n156 if m.Optional != nil { data[i] = 0x10 i++ @@ -7422,11 +7565,11 @@ func (m *SecretKeySelector) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LocalObjectReference.Size())) - n156, err := m.LocalObjectReference.MarshalTo(data[i:]) + n157, err := m.LocalObjectReference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n156 + i += n157 data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(len(m.Key))) @@ -7462,11 +7605,11 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n157, err := m.ListMeta.MarshalTo(data[i:]) + n158, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n157 + i += n158 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7482,6 +7625,54 @@ func (m *SecretList) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *SecretProjection) 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 *SecretProjection) 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())) + n159, err := m.LocalObjectReference.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n159 + if len(m.Items) > 0 { + for _, msg := range m.Items { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(msg.Size())) + n, err := msg.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Optional != nil { + data[i] = 0x20 + i++ + if *m.Optional { + data[i] = 1 + } else { + data[i] = 0 + } + i++ + } + return i, nil +} + func (m *SecretVolumeSource) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -7550,11 +7741,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Capabilities.Size())) - n158, err := m.Capabilities.MarshalTo(data[i:]) + n160, err := m.Capabilities.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n158 + i += n160 } if m.Privileged != nil { data[i] = 0x10 @@ -7570,11 +7761,11 @@ func (m *SecurityContext) MarshalTo(data []byte) (int, error) { data[i] = 0x1a i++ i = encodeVarintGenerated(data, i, uint64(m.SELinuxOptions.Size())) - n159, err := m.SELinuxOptions.MarshalTo(data[i:]) + n161, err := m.SELinuxOptions.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n159 + i += n161 } if m.RunAsUser != nil { data[i] = 0x20 @@ -7622,11 +7813,11 @@ func (m *SerializedReference) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Reference.Size())) - n160, err := m.Reference.MarshalTo(data[i:]) + n162, err := m.Reference.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n160 + i += n162 return i, nil } @@ -7648,27 +7839,27 @@ func (m *Service) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - 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:]) + n163, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } i += n163 + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Spec.Size())) + n164, err := m.Spec.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n164 + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Status.Size())) + n165, err := m.Status.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n165 return i, nil } @@ -7690,11 +7881,11 @@ func (m *ServiceAccount) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ObjectMeta.Size())) - n164, err := m.ObjectMeta.MarshalTo(data[i:]) + n166, err := m.ObjectMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n164 + i += n166 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { data[i] = 0x12 @@ -7750,11 +7941,11 @@ func (m *ServiceAccountList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n165, err := m.ListMeta.MarshalTo(data[i:]) + n167, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n165 + i += n167 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7788,11 +7979,11 @@ func (m *ServiceList) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.ListMeta.Size())) - n166, err := m.ListMeta.MarshalTo(data[i:]) + n168, err := m.ListMeta.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n166 + i += n168 if len(m.Items) > 0 { for _, msg := range m.Items { data[i] = 0x12 @@ -7837,11 +8028,11 @@ func (m *ServicePort) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.TargetPort.Size())) - n167, err := m.TargetPort.MarshalTo(data[i:]) + n169, err := m.TargetPort.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n167 + i += n169 data[i] = 0x28 i++ i = encodeVarintGenerated(data, i, uint64(m.NodePort)) @@ -8000,11 +8191,11 @@ func (m *ServiceStatus) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.LoadBalancer.Size())) - n168, err := m.LoadBalancer.MarshalTo(data[i:]) + n170, err := m.LoadBalancer.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n168 + i += n170 return i, nil } @@ -8052,11 +8243,11 @@ func (m *TCPSocketAction) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.Port.Size())) - n169, err := m.Port.MarshalTo(data[i:]) + n171, err := m.Port.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n169 + i += n171 return i, nil } @@ -8090,11 +8281,11 @@ func (m *Taint) MarshalTo(data []byte) (int, error) { data[i] = 0x22 i++ i = encodeVarintGenerated(data, i, uint64(m.TimeAdded.Size())) - n170, err := m.TimeAdded.MarshalTo(data[i:]) + n172, err := m.TimeAdded.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n170 + i += n172 return i, nil } @@ -8159,11 +8350,11 @@ func (m *Volume) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.VolumeSource.Size())) - n171, err := m.VolumeSource.MarshalTo(data[i:]) + n173, err := m.VolumeSource.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n171 + i += n173 return i, nil } @@ -8205,6 +8396,54 @@ func (m *VolumeMount) MarshalTo(data []byte) (int, error) { return i, nil } +func (m *VolumeProjection) 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 *VolumeProjection) MarshalTo(data []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Secret != nil { + data[i] = 0xa + i++ + i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) + n174, err := m.Secret.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n174 + } + if m.DownwardAPI != nil { + data[i] = 0x12 + i++ + i = encodeVarintGenerated(data, i, uint64(m.DownwardAPI.Size())) + n175, err := m.DownwardAPI.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n175 + } + if m.ConfigMap != nil { + data[i] = 0x1a + i++ + i = encodeVarintGenerated(data, i, uint64(m.ConfigMap.Size())) + n176, err := m.ConfigMap.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n176 + } + return i, nil +} + func (m *VolumeSource) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) @@ -8224,163 +8463,163 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0xa i++ i = encodeVarintGenerated(data, i, uint64(m.HostPath.Size())) - n172, err := m.HostPath.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n172 - } - if m.EmptyDir != nil { - data[i] = 0x12 - i++ - i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) - n173, err := m.EmptyDir.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n173 - } - if m.GCEPersistentDisk != nil { - data[i] = 0x1a - i++ - i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) - n174, err := m.GCEPersistentDisk.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n174 - } - if m.AWSElasticBlockStore != nil { - data[i] = 0x22 - i++ - i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) - n175, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n175 - } - if m.GitRepo != nil { - data[i] = 0x2a - i++ - i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) - n176, err := m.GitRepo.MarshalTo(data[i:]) - if err != nil { - return 0, err - } - i += n176 - } - if m.Secret != nil { - data[i] = 0x32 - i++ - i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) - n177, err := m.Secret.MarshalTo(data[i:]) + n177, err := m.HostPath.MarshalTo(data[i:]) if err != nil { return 0, err } i += n177 } - if m.NFS != nil { - data[i] = 0x3a + if m.EmptyDir != nil { + data[i] = 0x12 i++ - i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) - n178, err := m.NFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.EmptyDir.Size())) + n178, err := m.EmptyDir.MarshalTo(data[i:]) if err != nil { return 0, err } i += n178 } - if m.ISCSI != nil { - data[i] = 0x42 + if m.GCEPersistentDisk != nil { + data[i] = 0x1a i++ - i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) - n179, err := m.ISCSI.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GCEPersistentDisk.Size())) + n179, err := m.GCEPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } i += n179 } - if m.Glusterfs != nil { - data[i] = 0x4a + if m.AWSElasticBlockStore != nil { + data[i] = 0x22 i++ - i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) - n180, err := m.Glusterfs.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.AWSElasticBlockStore.Size())) + n180, err := m.AWSElasticBlockStore.MarshalTo(data[i:]) if err != nil { return 0, err } i += n180 } - if m.PersistentVolumeClaim != nil { - data[i] = 0x52 + if m.GitRepo != nil { + data[i] = 0x2a i++ - i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) - n181, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.GitRepo.Size())) + n181, err := m.GitRepo.MarshalTo(data[i:]) if err != nil { return 0, err } i += n181 } - if m.RBD != nil { - data[i] = 0x5a + if m.Secret != nil { + data[i] = 0x32 i++ - i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) - n182, err := m.RBD.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Secret.Size())) + n182, err := m.Secret.MarshalTo(data[i:]) if err != nil { return 0, err } i += n182 } - if m.FlexVolume != nil { - data[i] = 0x62 + if m.NFS != nil { + data[i] = 0x3a i++ - i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) - n183, err := m.FlexVolume.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.NFS.Size())) + n183, err := m.NFS.MarshalTo(data[i:]) if err != nil { return 0, err } i += n183 } - if m.Cinder != nil { - data[i] = 0x6a + if m.ISCSI != nil { + data[i] = 0x42 i++ - i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) - n184, err := m.Cinder.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.ISCSI.Size())) + n184, err := m.ISCSI.MarshalTo(data[i:]) if err != nil { return 0, err } i += n184 } - if m.CephFS != nil { - data[i] = 0x72 + if m.Glusterfs != nil { + data[i] = 0x4a i++ - i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) - n185, err := m.CephFS.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.Glusterfs.Size())) + n185, err := m.Glusterfs.MarshalTo(data[i:]) if err != nil { return 0, err } i += n185 } - if m.Flocker != nil { - data[i] = 0x7a + if m.PersistentVolumeClaim != nil { + data[i] = 0x52 i++ - i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) - n186, err := m.Flocker.MarshalTo(data[i:]) + i = encodeVarintGenerated(data, i, uint64(m.PersistentVolumeClaim.Size())) + n186, err := m.PersistentVolumeClaim.MarshalTo(data[i:]) if err != nil { return 0, err } i += n186 } + if m.RBD != nil { + data[i] = 0x5a + i++ + i = encodeVarintGenerated(data, i, uint64(m.RBD.Size())) + n187, err := m.RBD.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n187 + } + if m.FlexVolume != nil { + data[i] = 0x62 + i++ + i = encodeVarintGenerated(data, i, uint64(m.FlexVolume.Size())) + n188, err := m.FlexVolume.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n188 + } + if m.Cinder != nil { + data[i] = 0x6a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Cinder.Size())) + n189, err := m.Cinder.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n189 + } + if m.CephFS != nil { + data[i] = 0x72 + i++ + i = encodeVarintGenerated(data, i, uint64(m.CephFS.Size())) + n190, err := m.CephFS.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n190 + } + if m.Flocker != nil { + data[i] = 0x7a + i++ + i = encodeVarintGenerated(data, i, uint64(m.Flocker.Size())) + n191, err := m.Flocker.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n191 + } if m.DownwardAPI != nil { data[i] = 0x82 i++ data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.DownwardAPI.Size())) - n187, err := m.DownwardAPI.MarshalTo(data[i:]) + n192, err := m.DownwardAPI.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n187 + i += n192 } if m.FC != nil { data[i] = 0x8a @@ -8388,11 +8627,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.FC.Size())) - n188, err := m.FC.MarshalTo(data[i:]) + n193, err := m.FC.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n188 + i += n193 } if m.AzureFile != nil { data[i] = 0x92 @@ -8400,11 +8639,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureFile.Size())) - n189, err := m.AzureFile.MarshalTo(data[i:]) + n194, err := m.AzureFile.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n189 + i += n194 } if m.ConfigMap != nil { data[i] = 0x9a @@ -8412,11 +8651,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.ConfigMap.Size())) - n190, err := m.ConfigMap.MarshalTo(data[i:]) + n195, err := m.ConfigMap.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n190 + i += n195 } if m.VsphereVolume != nil { data[i] = 0xa2 @@ -8424,11 +8663,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.VsphereVolume.Size())) - n191, err := m.VsphereVolume.MarshalTo(data[i:]) + n196, err := m.VsphereVolume.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n191 + i += n196 } if m.Quobyte != nil { data[i] = 0xaa @@ -8436,11 +8675,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.Quobyte.Size())) - n192, err := m.Quobyte.MarshalTo(data[i:]) + n197, err := m.Quobyte.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n192 + i += n197 } if m.AzureDisk != nil { data[i] = 0xb2 @@ -8448,11 +8687,11 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.AzureDisk.Size())) - n193, err := m.AzureDisk.MarshalTo(data[i:]) + n198, err := m.AzureDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n193 + i += n198 } if m.PhotonPersistentDisk != nil { data[i] = 0xba @@ -8460,11 +8699,23 @@ func (m *VolumeSource) MarshalTo(data []byte) (int, error) { data[i] = 0x1 i++ i = encodeVarintGenerated(data, i, uint64(m.PhotonPersistentDisk.Size())) - n194, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) + n199, err := m.PhotonPersistentDisk.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n194 + i += n199 + } + if m.Projected != nil { + data[i] = 0xc2 + i++ + data[i] = 0x1 + i++ + i = encodeVarintGenerated(data, i, uint64(m.Projected.Size())) + n200, err := m.Projected.MarshalTo(data[i:]) + if err != nil { + return 0, err + } + i += n200 } return i, nil } @@ -8516,11 +8767,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(data []byte) (int, error) { data[i] = 0x12 i++ i = encodeVarintGenerated(data, i, uint64(m.PodAffinityTerm.Size())) - n195, err := m.PodAffinityTerm.MarshalTo(data[i:]) + n201, err := m.PodAffinityTerm.MarshalTo(data[i:]) if err != nil { return 0, err } - i += n195 + i += n201 return i, nil } @@ -8793,6 +9044,23 @@ func (m *ConfigMapList) Size() (n int) { return n } +func (m *ConfigMapProjection) Size() (n int) { + var l int + _ = l + l = m.LocalObjectReference.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Optional != nil { + n += 2 + } + return n +} + func (m *ConfigMapVolumeSource) Size() (n int) { var l int _ = l @@ -9012,6 +9280,18 @@ func (m *DeleteOptions) Size() (n int) { return n } +func (m *DownwardAPIProjection) Size() (n int) { + var l int + _ = l + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + func (m *DownwardAPIVolumeFile) Size() (n int) { var l int _ = l @@ -10609,6 +10889,21 @@ func (m *Probe) Size() (n int) { return n } +func (m *ProjectedVolumeSource) Size() (n int) { + var l int + _ = l + if len(m.Sources) > 0 { + for _, e := range m.Sources { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.DefaultMode != nil { + n += 1 + sovGenerated(uint64(*m.DefaultMode)) + } + return n +} + func (m *QuobyteVolumeSource) Size() (n int) { var l int _ = l @@ -10931,6 +11226,23 @@ func (m *SecretList) Size() (n int) { return n } +func (m *SecretProjection) Size() (n int) { + var l int + _ = l + l = m.LocalObjectReference.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Optional != nil { + n += 2 + } + return n +} + func (m *SecretVolumeSource) Size() (n int) { var l int _ = l @@ -11198,6 +11510,24 @@ func (m *VolumeMount) Size() (n int) { return n } +func (m *VolumeProjection) Size() (n int) { + var l int + _ = l + if m.Secret != nil { + l = m.Secret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.DownwardAPI != nil { + l = m.DownwardAPI.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.ConfigMap != nil { + l = m.ConfigMap.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *VolumeSource) Size() (n int) { var l int _ = l @@ -11293,6 +11623,10 @@ func (m *VolumeSource) Size() (n int) { l = m.PhotonPersistentDisk.Size() n += 2 + l + sovGenerated(uint64(l)) } + if m.Projected != nil { + l = m.Projected.Size() + n += 2 + l + sovGenerated(uint64(l)) + } return n } @@ -11539,6 +11873,18 @@ func (this *ConfigMapList) String() string { }, "") return s } +func (this *ConfigMapProjection) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ConfigMapProjection{`, + `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, + `}`, + }, "") + return s +} func (this *ConfigMapVolumeSource) String() string { if this == nil { return "nil" @@ -11694,6 +12040,16 @@ func (this *DeleteOptions) String() string { }, "") return s } +func (this *DownwardAPIProjection) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DownwardAPIProjection{`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "DownwardAPIVolumeFile", "DownwardAPIVolumeFile", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} func (this *DownwardAPIVolumeFile) String() string { if this == nil { return "nil" @@ -13006,6 +13362,17 @@ func (this *Probe) String() string { }, "") return s } +func (this *ProjectedVolumeSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProjectedVolumeSource{`, + `Sources:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Sources), "VolumeProjection", "VolumeProjection", 1), `&`, ``, 1) + `,`, + `DefaultMode:` + valueToStringGenerated(this.DefaultMode) + `,`, + `}`, + }, "") + return s +} func (this *QuobyteVolumeSource) String() string { if this == nil { return "nil" @@ -13322,6 +13689,18 @@ func (this *SecretList) String() string { }, "") return s } +func (this *SecretProjection) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecretProjection{`, + `LocalObjectReference:` + strings.Replace(strings.Replace(this.LocalObjectReference.String(), "LocalObjectReference", "LocalObjectReference", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "KeyToPath", "KeyToPath", 1), `&`, ``, 1) + `,`, + `Optional:` + valueToStringGenerated(this.Optional) + `,`, + `}`, + }, "") + return s +} func (this *SecretVolumeSource) String() string { if this == nil { return "nil" @@ -13542,6 +13921,18 @@ func (this *VolumeMount) String() string { }, "") return s } +func (this *VolumeProjection) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&VolumeProjection{`, + `Secret:` + strings.Replace(fmt.Sprintf("%v", this.Secret), "SecretProjection", "SecretProjection", 1) + `,`, + `DownwardAPI:` + strings.Replace(fmt.Sprintf("%v", this.DownwardAPI), "DownwardAPIProjection", "DownwardAPIProjection", 1) + `,`, + `ConfigMap:` + strings.Replace(fmt.Sprintf("%v", this.ConfigMap), "ConfigMapProjection", "ConfigMapProjection", 1) + `,`, + `}`, + }, "") + return s +} func (this *VolumeSource) String() string { if this == nil { return "nil" @@ -13570,6 +13961,7 @@ func (this *VolumeSource) String() string { `Quobyte:` + strings.Replace(fmt.Sprintf("%v", this.Quobyte), "QuobyteVolumeSource", "QuobyteVolumeSource", 1) + `,`, `AzureDisk:` + strings.Replace(fmt.Sprintf("%v", this.AzureDisk), "AzureDiskVolumeSource", "AzureDiskVolumeSource", 1) + `,`, `PhotonPersistentDisk:` + strings.Replace(fmt.Sprintf("%v", this.PhotonPersistentDisk), "PhotonPersistentDiskVolumeSource", "PhotonPersistentDiskVolumeSource", 1) + `,`, + `Projected:` + strings.Replace(fmt.Sprintf("%v", this.Projected), "ProjectedVolumeSource", "ProjectedVolumeSource", 1) + `,`, `}`, }, "") return s @@ -15892,6 +16284,138 @@ func (m *ConfigMapList) Unmarshal(data []byte) error { } return nil } +func (m *ConfigMapProjection) 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: ConfigMapProjection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConfigMapProjection: 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 + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", 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 + } + m.Items = append(m.Items, KeyToPath{}) + if err := m.Items[len(m.Items)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b + 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 *ConfigMapVolumeSource) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -17975,6 +18499,87 @@ func (m *DeleteOptions) Unmarshal(data []byte) error { } return nil } +func (m *DownwardAPIProjection) 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: DownwardAPIProjection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DownwardAPIProjection: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", 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 + } + m.Items = append(m.Items, DownwardAPIVolumeFile{}) + if err := m.Items[len(m.Items)-1].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 *DownwardAPIVolumeFile) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -33376,6 +33981,107 @@ func (m *Probe) Unmarshal(data []byte) error { } return nil } +func (m *ProjectedVolumeSource) 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: ProjectedVolumeSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectedVolumeSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sources", 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 + } + m.Sources = append(m.Sources, VolumeProjection{}) + if err := m.Sources[len(m.Sources)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultMode", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.DefaultMode = &v + 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 *QuobyteVolumeSource) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -36823,6 +37529,138 @@ func (m *SecretList) Unmarshal(data []byte) error { } return nil } +func (m *SecretProjection) 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: SecretProjection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecretProjection: 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 + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", 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 + } + m.Items = append(m.Items, KeyToPath{}) + if err := m.Items[len(m.Items)-1].Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := data[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Optional = &b + 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 *SecretVolumeSource) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -39344,6 +40182,155 @@ func (m *VolumeMount) Unmarshal(data []byte) error { } return nil } +func (m *VolumeProjection) 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: VolumeProjection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VolumeProjection: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", 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.Secret == nil { + m.Secret = &SecretProjection{} + } + if err := m.Secret.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DownwardAPI", 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.DownwardAPI == nil { + m.DownwardAPI = &DownwardAPIProjection{} + } + if err := m.DownwardAPI.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigMap", 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.ConfigMap == nil { + m.ConfigMap = &ConfigMapProjection{} + } + if err := m.ConfigMap.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 *VolumeSource) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 @@ -40132,6 +41119,39 @@ func (m *VolumeSource) Unmarshal(data []byte) error { return err } iNdEx = postIndex + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Projected", 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.Projected == nil { + m.Projected = &ProjectedVolumeSource{} + } + if err := m.Projected.Unmarshal(data[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(data[iNdEx:]) @@ -40466,661 +41486,670 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10482 bytes of a gzipped FileDescriptorProto + // 10633 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x6c, 0x24, 0xc7, - 0x95, 0x18, 0xee, 0x9e, 0xe1, 0xd7, 0x3c, 0x7e, 0x6e, 0xed, 0xae, 0x44, 0xd1, 0xd2, 0x72, 0xd5, - 0xb2, 0xe4, 0x95, 0xb4, 0x22, 0xbd, 0x2b, 0xc9, 0x5a, 0x5b, 0xfe, 0xc9, 0x26, 0x39, 0xe4, 0x2e, - 0xbd, 0xcb, 0xdd, 0x51, 0x0d, 0x77, 0x57, 0xb6, 0xf5, 0xb3, 0xd4, 0x9c, 0x2e, 0x92, 0xad, 0xed, - 0xe9, 0x1e, 0x75, 0xf7, 0x70, 0x97, 0x76, 0x0c, 0xdc, 0xf9, 0x0c, 0x5f, 0x82, 0x38, 0x89, 0x83, - 0x83, 0x81, 0x20, 0x09, 0xe0, 0x43, 0x80, 0x04, 0xce, 0x5d, 0x82, 0xc4, 0x31, 0xce, 0xf6, 0x21, - 0xbe, 0x04, 0xb9, 0x9c, 0x2f, 0x3e, 0x20, 0xb9, 0x18, 0x38, 0x24, 0x77, 0xf9, 0xe2, 0x9d, 0xe9, - 0xe4, 0xfe, 0xcc, 0x1f, 0xb9, 0xff, 0x98, 0x20, 0x09, 0xea, 0xb3, 0xab, 0x7a, 0x66, 0xd8, 0x3d, - 0xd4, 0x92, 0x96, 0x0f, 0xf9, 0x6f, 0xe6, 0xbd, 0x57, 0xaf, 0x3e, 0xba, 0xea, 0xd5, 0x7b, 0xaf, - 0x5e, 0xbd, 0x82, 0x8b, 0xf7, 0xae, 0xc4, 0x73, 0x5e, 0x38, 0x7f, 0xaf, 0xbd, 0x41, 0xa2, 0x80, - 0x24, 0x24, 0x9e, 0x6f, 0xdd, 0xdb, 0x9a, 0x77, 0x5a, 0xde, 0xfc, 0xce, 0xa5, 0xf9, 0x2d, 0x12, - 0x90, 0xc8, 0x49, 0x88, 0x3b, 0xd7, 0x8a, 0xc2, 0x24, 0x44, 0x8f, 0x73, 0xea, 0xb9, 0x94, 0x7a, - 0xae, 0x75, 0x6f, 0x6b, 0xce, 0x69, 0x79, 0x73, 0x3b, 0x97, 0x66, 0x5e, 0xd8, 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, 0x49, 0x54, 0xed, 0xb4, 0xbc, 0xa6, 0xd3, 0xd8, - 0xf6, 0x02, 0x12, 0xed, 0xaa, 0xca, 0x23, 0x12, 0x87, 0xed, 0xa8, 0x41, 0xb2, 0x4d, 0x38, 0xb4, - 0x54, 0x3c, 0xdf, 0x24, 0x89, 0xd3, 0xa5, 0xe1, 0x33, 0xf3, 0xbd, 0x4a, 0x45, 0xed, 0x20, 0xf1, - 0x9a, 0x9d, 0xd5, 0x7c, 0x34, 0xaf, 0x40, 0xdc, 0xd8, 0x26, 0x4d, 0xa7, 0xa3, 0xdc, 0x8b, 0xbd, - 0xca, 0xb5, 0x13, 0xcf, 0x9f, 0xf7, 0x82, 0x24, 0x4e, 0xa2, 0xc3, 0xfa, 0x14, 0x93, 0x68, 0x87, - 0x44, 0x69, 0x87, 0xc8, 0x03, 0xa7, 0xd9, 0xf2, 0x49, 0x97, 0x3e, 0xd9, 0x7f, 0x68, 0xc1, 0xf9, - 0x85, 0xbb, 0xf5, 0x65, 0xdf, 0x89, 0x13, 0xaf, 0xb1, 0xe8, 0x87, 0x8d, 0x7b, 0xf5, 0x24, 0x8c, - 0xc8, 0x9d, 0xd0, 0x6f, 0x37, 0x49, 0x9d, 0x0d, 0x1f, 0xba, 0x08, 0x23, 0x3b, 0xec, 0xff, 0x6a, - 0x75, 0xda, 0x3a, 0x6f, 0x5d, 0xa8, 0x2c, 0x4e, 0xfd, 0x68, 0x6f, 0xf6, 0x03, 0xfb, 0x7b, 0xb3, - 0x23, 0x77, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0x0c, 0x0c, 0x6d, 0xc6, 0xeb, 0xbb, 0x2d, 0x32, 0x5d, - 0x62, 0xb4, 0x13, 0x82, 0x76, 0x68, 0xa5, 0x4e, 0xa1, 0x58, 0x60, 0xd1, 0x3c, 0x54, 0x5a, 0x4e, - 0x94, 0x78, 0x89, 0x17, 0x06, 0xd3, 0xe5, 0xf3, 0xd6, 0x85, 0xc1, 0xc5, 0x53, 0x82, 0xb4, 0x52, - 0x93, 0x08, 0x9c, 0xd2, 0xd0, 0x66, 0x44, 0xc4, 0x71, 0x6f, 0x05, 0xfe, 0xee, 0xf4, 0xc0, 0x79, - 0xeb, 0xc2, 0x48, 0xda, 0x0c, 0x2c, 0xe0, 0x58, 0x51, 0xd8, 0xdf, 0x2f, 0xc1, 0xc8, 0xc2, 0xe6, - 0xa6, 0x17, 0x78, 0xc9, 0x2e, 0x7a, 0x1b, 0xc6, 0x82, 0xd0, 0x25, 0xf2, 0x3f, 0xeb, 0xc5, 0xe8, - 0xe5, 0xe7, 0xe6, 0x0e, 0x9b, 0x8a, 0x73, 0x37, 0xb5, 0x12, 0x8b, 0x53, 0xfb, 0x7b, 0xb3, 0x63, - 0x3a, 0x04, 0x1b, 0x1c, 0xd1, 0x9b, 0x30, 0xda, 0x0a, 0x5d, 0x55, 0x41, 0x89, 0x55, 0xf0, 0xec, - 0xe1, 0x15, 0xd4, 0xd2, 0x02, 0x8b, 0x93, 0xfb, 0x7b, 0xb3, 0xa3, 0x1a, 0x00, 0xeb, 0xec, 0x90, - 0x0f, 0x93, 0xf4, 0x6f, 0x90, 0x78, 0xaa, 0x86, 0x32, 0xab, 0xe1, 0x85, 0xfc, 0x1a, 0xb4, 0x42, - 0x8b, 0xa7, 0xf7, 0xf7, 0x66, 0x27, 0x33, 0x40, 0x9c, 0x65, 0x6d, 0x7f, 0x01, 0x26, 0x16, 0x92, - 0xc4, 0x69, 0x6c, 0x13, 0x97, 0x7f, 0x5f, 0xf4, 0x12, 0x0c, 0x04, 0x4e, 0x93, 0x88, 0xaf, 0x7f, - 0x5e, 0x0c, 0xfb, 0xc0, 0x4d, 0xa7, 0x49, 0x0e, 0xf6, 0x66, 0xa7, 0x6e, 0x07, 0xde, 0xbb, 0x6d, - 0x31, 0x67, 0x28, 0x0c, 0x33, 0x6a, 0x74, 0x19, 0xc0, 0x25, 0x3b, 0x5e, 0x83, 0xd4, 0x9c, 0x64, - 0x5b, 0xcc, 0x06, 0x24, 0xca, 0x42, 0x55, 0x61, 0xb0, 0x46, 0x65, 0x7f, 0xd9, 0x82, 0xca, 0xc2, - 0x4e, 0xe8, 0xb9, 0xb5, 0xd0, 0x8d, 0x51, 0x1b, 0x26, 0x5b, 0x11, 0xd9, 0x24, 0x91, 0x02, 0x4d, - 0x5b, 0xe7, 0xcb, 0x17, 0x46, 0x2f, 0x5f, 0xce, 0xe9, 0xb7, 0x59, 0x68, 0x39, 0x48, 0xa2, 0xdd, - 0xc5, 0x47, 0x45, 0xd5, 0x93, 0x19, 0x2c, 0xce, 0xd6, 0x61, 0xff, 0xf5, 0x12, 0x9c, 0x5d, 0xf8, - 0x42, 0x3b, 0x22, 0x55, 0x2f, 0xbe, 0x97, 0x5d, 0x0a, 0xae, 0x17, 0xdf, 0xbb, 0x99, 0x0e, 0x86, - 0x9a, 0x83, 0x55, 0x01, 0xc7, 0x8a, 0x02, 0xbd, 0x00, 0xc3, 0xf4, 0xf7, 0x6d, 0xbc, 0x2a, 0x7a, - 0x7f, 0x5a, 0x10, 0x8f, 0x56, 0x9d, 0xc4, 0xa9, 0x72, 0x14, 0x96, 0x34, 0x68, 0x0d, 0x46, 0x1b, - 0x6c, 0xbd, 0x6f, 0xad, 0x85, 0x2e, 0x61, 0x5f, 0xb8, 0xb2, 0xf8, 0x3c, 0x25, 0x5f, 0x4a, 0xc1, - 0x07, 0x7b, 0xb3, 0xd3, 0xbc, 0x6d, 0x82, 0x85, 0x86, 0xc3, 0x7a, 0x79, 0x64, 0xab, 0x85, 0x38, - 0xc0, 0x38, 0x41, 0x97, 0x45, 0x78, 0x41, 0x5b, 0x53, 0x83, 0x6c, 0x4d, 0x8d, 0xf5, 0x58, 0x4f, - 0xbf, 0x66, 0x89, 0x31, 0x59, 0xf1, 0x7c, 0x53, 0x3c, 0x5c, 0x06, 0x88, 0x49, 0x23, 0x22, 0x89, - 0x36, 0x2a, 0xea, 0x33, 0xd7, 0x15, 0x06, 0x6b, 0x54, 0x74, 0xf1, 0xc7, 0xdb, 0x4e, 0xc4, 0x66, - 0x8b, 0x18, 0x1b, 0xb5, 0xf8, 0xeb, 0x12, 0x81, 0x53, 0x1a, 0x63, 0xf1, 0x97, 0x73, 0x17, 0xff, - 0x6f, 0x5b, 0x30, 0xbc, 0xe8, 0x05, 0xae, 0x17, 0x6c, 0xa1, 0xb7, 0x61, 0x84, 0x4a, 0x74, 0xd7, - 0x49, 0x1c, 0xb1, 0xee, 0x3f, 0x22, 0x27, 0x8f, 0x2e, 0x60, 0xe5, 0xf4, 0x89, 0xe7, 0x28, 0x35, - 0x9d, 0x44, 0xb7, 0x36, 0xde, 0x21, 0x8d, 0x64, 0x8d, 0x24, 0x4e, 0xda, 0x9d, 0x14, 0x86, 0x15, - 0x57, 0x74, 0x1b, 0x86, 0x12, 0x27, 0xda, 0x22, 0x89, 0x58, 0xf6, 0x39, 0x8b, 0x92, 0xf3, 0xc0, - 0x74, 0xca, 0x91, 0xa0, 0x41, 0x52, 0x01, 0xb9, 0xce, 0x98, 0x60, 0xc1, 0xcc, 0x6e, 0xc0, 0xd8, - 0x92, 0xd3, 0x72, 0x36, 0x3c, 0xdf, 0x4b, 0x3c, 0x12, 0xa3, 0x0f, 0x43, 0xd9, 0x71, 0x5d, 0xb6, - 0x00, 0x2a, 0x8b, 0x67, 0xf7, 0xf7, 0x66, 0xcb, 0x0b, 0xae, 0x7b, 0xb0, 0x37, 0x0b, 0x8a, 0x6a, - 0x17, 0x53, 0x0a, 0xf4, 0x1c, 0x0c, 0xb8, 0x51, 0xd8, 0x9a, 0x2e, 0x31, 0xca, 0x47, 0xe8, 0x4a, - 0xad, 0x46, 0x61, 0x2b, 0x43, 0xca, 0x68, 0xec, 0x1f, 0x96, 0x00, 0x2d, 0x91, 0xd6, 0xf6, 0x4a, - 0xdd, 0xf8, 0xa6, 0x17, 0x60, 0xa4, 0x19, 0x06, 0x5e, 0x12, 0x46, 0xb1, 0xa8, 0x90, 0xcd, 0x8b, - 0x35, 0x01, 0xc3, 0x0a, 0x8b, 0xce, 0xc3, 0x40, 0x2b, 0x5d, 0xde, 0x63, 0x52, 0x34, 0xb0, 0x85, - 0xcd, 0x30, 0x94, 0xa2, 0x1d, 0x93, 0x48, 0xcc, 0x67, 0x45, 0x71, 0x3b, 0x26, 0x11, 0x66, 0x98, - 0x74, 0x06, 0xd1, 0xb9, 0x25, 0x66, 0x6b, 0x66, 0x06, 0x51, 0x0c, 0xd6, 0xa8, 0xd0, 0x5b, 0x50, - 0xe1, 0xff, 0x30, 0xd9, 0x64, 0x53, 0x37, 0x57, 0x28, 0xdc, 0x08, 0x1b, 0x8e, 0x9f, 0x1d, 0xfc, - 0x71, 0x36, 0xe3, 0x24, 0x23, 0x9c, 0xf2, 0x34, 0x66, 0xdc, 0x50, 0xee, 0x8c, 0xfb, 0x1b, 0x16, - 0xa0, 0x25, 0x2f, 0x70, 0x49, 0x74, 0x02, 0x5b, 0x67, 0x7f, 0x8b, 0xe1, 0x3f, 0xd1, 0xa6, 0x85, - 0xcd, 0x56, 0x18, 0x90, 0x20, 0x59, 0x0a, 0x03, 0x97, 0x6f, 0xa7, 0x1f, 0x87, 0x81, 0x84, 0x56, - 0xc5, 0x9b, 0xf5, 0x8c, 0xfc, 0x2c, 0xb4, 0x82, 0x83, 0xbd, 0xd9, 0x47, 0x3a, 0x4b, 0xb0, 0x26, - 0xb0, 0x32, 0xe8, 0x63, 0x30, 0x14, 0x27, 0x4e, 0xd2, 0x8e, 0x45, 0x43, 0x9f, 0x94, 0x0d, 0xad, - 0x33, 0xe8, 0xc1, 0xde, 0xec, 0xa4, 0x2a, 0xc6, 0x41, 0x58, 0x14, 0x40, 0xcf, 0xc2, 0x70, 0x93, - 0xc4, 0xb1, 0xb3, 0x25, 0x05, 0xdc, 0xa4, 0x28, 0x3b, 0xbc, 0xc6, 0xc1, 0x58, 0xe2, 0xd1, 0x53, - 0x30, 0x48, 0xa2, 0x28, 0x8c, 0xc4, 0x8c, 0x18, 0x17, 0x84, 0x83, 0xcb, 0x14, 0x88, 0x39, 0xce, - 0xfe, 0x0f, 0x16, 0x4c, 0xaa, 0xb6, 0xf2, 0xba, 0x4e, 0x60, 0xc9, 0xbb, 0x00, 0x0d, 0xd9, 0xc1, - 0x98, 0x2d, 0x34, 0xad, 0x8e, 0xee, 0xd3, 0xaf, 0x73, 0x40, 0xd3, 0x3a, 0x14, 0x28, 0xc6, 0x1a, - 0x5f, 0xfb, 0x5f, 0x59, 0x70, 0x3a, 0xd3, 0xb7, 0x1b, 0x5e, 0x9c, 0xa0, 0x37, 0x3b, 0xfa, 0x37, - 0x57, 0xac, 0x7f, 0xb4, 0x34, 0xeb, 0x9d, 0x9a, 0x2f, 0x12, 0xa2, 0xf5, 0x0d, 0xc3, 0xa0, 0x97, - 0x90, 0xa6, 0xec, 0xd6, 0x0b, 0x05, 0xbb, 0xc5, 0xdb, 0x97, 0x7e, 0xa5, 0x55, 0xca, 0x03, 0x73, - 0x56, 0xf6, 0xff, 0xb4, 0xa0, 0xb2, 0x14, 0x06, 0x9b, 0xde, 0xd6, 0x9a, 0xd3, 0x3a, 0x81, 0xef, - 0x53, 0x87, 0x01, 0xc6, 0x9d, 0x77, 0xe1, 0x52, 0x5e, 0x17, 0x44, 0xc3, 0xe6, 0xe8, 0x9e, 0xca, - 0x95, 0x05, 0x25, 0xa6, 0x28, 0x08, 0x33, 0x66, 0x33, 0xaf, 0x40, 0x45, 0x11, 0xa0, 0x29, 0x28, - 0xdf, 0x23, 0x5c, 0x93, 0xac, 0x60, 0xfa, 0x13, 0x9d, 0x81, 0xc1, 0x1d, 0xc7, 0x6f, 0x8b, 0xc5, - 0x8b, 0xf9, 0x9f, 0x8f, 0x97, 0xae, 0x58, 0xf6, 0x0f, 0xd9, 0x0a, 0x14, 0x95, 0x2c, 0x07, 0x3b, - 0x42, 0x38, 0x7c, 0xc5, 0x82, 0x33, 0x7e, 0x17, 0xa1, 0x24, 0xc6, 0xe4, 0x28, 0xe2, 0xec, 0x71, - 0xd1, 0xec, 0x33, 0xdd, 0xb0, 0xb8, 0x6b, 0x6d, 0x54, 0xd6, 0x87, 0x2d, 0x3a, 0xe1, 0x1c, 0x9f, - 0x35, 0x5d, 0xe8, 0x00, 0xb7, 0x04, 0x0c, 0x2b, 0xac, 0xfd, 0xa7, 0x16, 0x9c, 0x51, 0xfd, 0xb8, - 0x4e, 0x76, 0xeb, 0xc4, 0x27, 0x8d, 0x24, 0x8c, 0xde, 0x2f, 0x3d, 0x79, 0x82, 0x7f, 0x13, 0x2e, - 0x93, 0x46, 0x05, 0x83, 0xf2, 0x75, 0xb2, 0xcb, 0x3f, 0x90, 0xde, 0xd1, 0xf2, 0xa1, 0x1d, 0xfd, - 0xa7, 0x16, 0x8c, 0xab, 0x8e, 0x9e, 0xc0, 0x92, 0xbb, 0x61, 0x2e, 0xb9, 0x0f, 0x17, 0x9c, 0xaf, - 0x3d, 0x16, 0xdb, 0xef, 0x95, 0xe0, 0xac, 0xa2, 0x31, 0xb6, 0xa3, 0xf7, 0xc9, 0x77, 0xea, 0xaf, - 0xbb, 0xd7, 0xc9, 0xee, 0x7a, 0x48, 0xf5, 0x89, 0xee, 0xdd, 0x45, 0x97, 0x60, 0xd4, 0x25, 0x9b, - 0x4e, 0xdb, 0x4f, 0x94, 0xda, 0x3c, 0xc8, 0xed, 0xa9, 0x6a, 0x0a, 0xc6, 0x3a, 0x8d, 0x31, 0x13, - 0x06, 0x0e, 0x9d, 0x09, 0xdf, 0x1c, 0x65, 0x82, 0x2b, 0x71, 0xe8, 0xe7, 0xa5, 0xaa, 0x8c, 0x66, - 0x07, 0x8d, 0xe9, 0x76, 0x90, 0xb0, 0x79, 0x9e, 0x82, 0x41, 0xaf, 0x49, 0x37, 0xb7, 0x92, 0xb9, - 0x67, 0xad, 0x52, 0x20, 0xe6, 0x38, 0xf4, 0x34, 0x0c, 0x37, 0xc2, 0x66, 0xd3, 0x09, 0xdc, 0xe9, - 0x32, 0x53, 0xae, 0x46, 0xe9, 0xfe, 0xb7, 0xc4, 0x41, 0x58, 0xe2, 0xd0, 0xe3, 0x30, 0xe0, 0x44, - 0x5b, 0xf1, 0xf4, 0x00, 0xa3, 0x19, 0xa1, 0x35, 0x2d, 0x44, 0x5b, 0x31, 0x66, 0x50, 0xaa, 0x34, - 0xdd, 0x0f, 0xa3, 0x7b, 0x5e, 0xb0, 0x55, 0xf5, 0x22, 0xa6, 0x01, 0x69, 0x4a, 0xd3, 0x5d, 0x85, - 0xc1, 0x1a, 0x15, 0xaa, 0xc1, 0x60, 0x2b, 0x8c, 0x92, 0x78, 0x7a, 0x88, 0x0d, 0xfc, 0xf3, 0xb9, - 0xf3, 0x8c, 0xf7, 0xbb, 0x16, 0x46, 0x49, 0xda, 0x15, 0xfa, 0x2f, 0xc6, 0x9c, 0x11, 0x5a, 0x82, - 0x32, 0x09, 0x76, 0xa6, 0x87, 0x19, 0xbf, 0x0f, 0x1d, 0xce, 0x6f, 0x39, 0xd8, 0xb9, 0xe3, 0x44, - 0xe9, 0xc2, 0x5c, 0x0e, 0x76, 0x30, 0x2d, 0x8d, 0x1a, 0x50, 0x91, 0xbe, 0x9a, 0x78, 0x7a, 0xa4, - 0xc8, 0x54, 0xc4, 0x82, 0x1c, 0x93, 0x77, 0xdb, 0x5e, 0x44, 0x9a, 0x24, 0x48, 0xe2, 0xd4, 0x82, - 0x90, 0xd8, 0x18, 0xa7, 0x7c, 0x51, 0x03, 0xc6, 0xb8, 0xa2, 0xb5, 0x16, 0xb6, 0x83, 0x24, 0x9e, - 0xae, 0xb0, 0x26, 0xe7, 0x98, 0xe8, 0x77, 0xd2, 0x12, 0x8b, 0x67, 0x04, 0xfb, 0x31, 0x0d, 0x18, - 0x63, 0x83, 0x29, 0x7a, 0x13, 0xc6, 0x7d, 0x6f, 0x87, 0x04, 0x24, 0x8e, 0x6b, 0x51, 0xb8, 0x41, - 0xa6, 0x81, 0xf5, 0xe6, 0xa9, 0x3c, 0x73, 0x35, 0xdc, 0x20, 0x8b, 0xa7, 0xf6, 0xf7, 0x66, 0xc7, - 0x6f, 0xe8, 0xa5, 0xb1, 0xc9, 0x0c, 0xbd, 0x05, 0x13, 0x54, 0xab, 0xf3, 0x52, 0xf6, 0xa3, 0xc5, - 0xd9, 0xa3, 0xfd, 0xbd, 0xd9, 0x09, 0x6c, 0x14, 0xc7, 0x19, 0x76, 0x68, 0x1d, 0x2a, 0xbe, 0xb7, - 0x49, 0x1a, 0xbb, 0x0d, 0x9f, 0x4c, 0x8f, 0x31, 0xde, 0x39, 0x8b, 0xf3, 0x86, 0x24, 0xe7, 0x9a, - 0xb4, 0xfa, 0x8b, 0x53, 0x46, 0xe8, 0x0e, 0x3c, 0x92, 0x90, 0xa8, 0xe9, 0x05, 0x0e, 0x5d, 0x54, - 0x42, 0xcd, 0x63, 0x3e, 0x81, 0x71, 0x36, 0x6b, 0xcf, 0x89, 0x81, 0x7d, 0x64, 0xbd, 0x2b, 0x15, - 0xee, 0x51, 0x1a, 0xdd, 0x82, 0x49, 0xb6, 0x9e, 0x6a, 0x6d, 0xdf, 0xaf, 0x85, 0xbe, 0xd7, 0xd8, - 0x9d, 0x9e, 0x60, 0x0c, 0x9f, 0x96, 0x96, 0xfe, 0xaa, 0x89, 0xa6, 0x16, 0x50, 0xfa, 0x0f, 0x67, - 0x4b, 0x23, 0x1f, 0x26, 0x63, 0xd2, 0x68, 0x47, 0x5e, 0xb2, 0x4b, 0xe7, 0x3e, 0x79, 0x90, 0x4c, - 0x4f, 0x16, 0xb1, 0xe8, 0xea, 0x66, 0x21, 0xee, 0x66, 0xc9, 0x00, 0x71, 0x96, 0x35, 0x15, 0x15, - 0x71, 0xe2, 0x7a, 0xc1, 0xf4, 0x14, 0x93, 0x40, 0x6a, 0x7d, 0xd5, 0x29, 0x10, 0x73, 0x1c, 0x33, - 0x94, 0xe9, 0x8f, 0x5b, 0x54, 0x4a, 0x9f, 0x62, 0x84, 0xa9, 0xa1, 0x2c, 0x11, 0x38, 0xa5, 0xa1, - 0x7b, 0x60, 0x92, 0xec, 0x4e, 0x23, 0x46, 0xaa, 0x96, 0xda, 0xfa, 0xfa, 0x67, 0x30, 0x85, 0xa3, - 0x3b, 0x30, 0x4c, 0x82, 0x9d, 0x95, 0x28, 0x6c, 0x4e, 0x9f, 0x2e, 0x22, 0x03, 0x96, 0x39, 0x31, - 0xdf, 0x3f, 0x52, 0x5d, 0x5d, 0x80, 0xb1, 0x64, 0x86, 0x1e, 0xc0, 0x74, 0x97, 0xaf, 0xc4, 0x3f, - 0xca, 0x19, 0xf6, 0x51, 0x3e, 0x21, 0xca, 0x4e, 0xaf, 0xf7, 0xa0, 0x3b, 0x38, 0x04, 0x87, 0x7b, - 0x72, 0xb7, 0x37, 0x60, 0x42, 0x09, 0x2a, 0xf6, 0xbd, 0xd1, 0x2c, 0x0c, 0x52, 0x59, 0x2c, 0x2d, - 0xd7, 0x0a, 0x1d, 0x54, 0x2a, 0xa2, 0x63, 0xcc, 0xe1, 0x6c, 0x50, 0xbd, 0x2f, 0x90, 0xc5, 0xdd, - 0x84, 0x70, 0x0b, 0xa6, 0xac, 0x0d, 0xaa, 0x44, 0xe0, 0x94, 0xc6, 0xfe, 0xdf, 0x5c, 0x1f, 0x48, - 0xa5, 0x61, 0x81, 0x9d, 0xe0, 0x22, 0x8c, 0x6c, 0x87, 0x71, 0x42, 0xa9, 0x59, 0x1d, 0x83, 0xa9, - 0x06, 0x70, 0x4d, 0xc0, 0xb1, 0xa2, 0x40, 0xaf, 0xc2, 0x78, 0x43, 0xaf, 0x40, 0x6c, 0x63, 0x67, - 0x45, 0x11, 0xb3, 0x76, 0x6c, 0xd2, 0xa2, 0x2b, 0x30, 0xc2, 0xdc, 0xb9, 0x8d, 0xd0, 0x17, 0xb6, - 0x92, 0xdc, 0x95, 0x47, 0x6a, 0x02, 0x7e, 0xa0, 0xfd, 0xc6, 0x8a, 0x9a, 0x5a, 0x9c, 0xb4, 0x09, - 0xab, 0x35, 0xb1, 0x81, 0x28, 0x8b, 0xf3, 0x1a, 0x83, 0x62, 0x81, 0xb5, 0xff, 0x71, 0x49, 0x1b, - 0x65, 0xaa, 0xe9, 0x13, 0xf4, 0x59, 0x18, 0xbe, 0xef, 0x78, 0x89, 0x17, 0x6c, 0x09, 0xed, 0xe1, - 0xc5, 0x82, 0xbb, 0x09, 0x2b, 0x7e, 0x97, 0x17, 0xe5, 0x3b, 0x9f, 0xf8, 0x83, 0x25, 0x43, 0xca, - 0x3b, 0x6a, 0x07, 0x01, 0xe5, 0x5d, 0xea, 0x9f, 0x37, 0xe6, 0x45, 0x39, 0x6f, 0xf1, 0x07, 0x4b, - 0x86, 0x68, 0x13, 0x40, 0xce, 0x25, 0xe2, 0x0a, 0x37, 0xea, 0x47, 0xfb, 0x61, 0xbf, 0xae, 0x4a, - 0x2f, 0x4e, 0xd0, 0xbd, 0x36, 0xfd, 0x8f, 0x35, 0xce, 0x76, 0xc2, 0x94, 0xb0, 0xce, 0x66, 0xa1, - 0xcf, 0xd1, 0x25, 0xed, 0x44, 0x09, 0x71, 0x17, 0x92, 0xac, 0x27, 0xfa, 0x70, 0x5d, 0x72, 0xdd, - 0x6b, 0x12, 0x7d, 0xf9, 0x0b, 0x26, 0x38, 0xe5, 0x67, 0x7f, 0xaf, 0x0c, 0xd3, 0xbd, 0x9a, 0x4b, - 0xa7, 0x24, 0x79, 0xe0, 0x25, 0x4b, 0x54, 0x4d, 0xb2, 0xcc, 0x29, 0xb9, 0x2c, 0xe0, 0x58, 0x51, - 0xd0, 0xb9, 0x11, 0x7b, 0x5b, 0xd2, 0x2a, 0x18, 0x4c, 0xe7, 0x46, 0x9d, 0x41, 0xb1, 0xc0, 0x52, - 0xba, 0x88, 0x38, 0xb1, 0xf0, 0xe2, 0x6b, 0x73, 0x08, 0x33, 0x28, 0x16, 0x58, 0xdd, 0xf2, 0x1f, - 0xc8, 0xb1, 0xfc, 0x8d, 0x21, 0x1a, 0x7c, 0xb8, 0x43, 0x84, 0x3e, 0x0f, 0xb0, 0xe9, 0x05, 0x5e, - 0xbc, 0xcd, 0xb8, 0x0f, 0xf5, 0xcd, 0x5d, 0x29, 0x59, 0x2b, 0x8a, 0x0b, 0xd6, 0x38, 0xa2, 0x97, - 0x61, 0x54, 0x2d, 0xcf, 0xd5, 0xea, 0xf4, 0xb0, 0xe9, 0xf9, 0x4d, 0x65, 0x55, 0x15, 0xeb, 0x74, - 0xf6, 0x3b, 0xd9, 0xf9, 0x22, 0x56, 0x85, 0x36, 0xbe, 0x56, 0xd1, 0xf1, 0x2d, 0x1d, 0x3e, 0xbe, - 0xf6, 0xbf, 0x2f, 0xc3, 0xa4, 0x51, 0x59, 0x3b, 0x2e, 0x20, 0xd1, 0x5e, 0xa7, 0x1b, 0x96, 0x93, - 0x10, 0xb1, 0x26, 0x2f, 0xf6, 0xb3, 0x68, 0xf4, 0xed, 0x8d, 0xae, 0x05, 0xce, 0x09, 0x6d, 0x43, - 0xc5, 0x77, 0x62, 0xe6, 0x3b, 0x20, 0x62, 0x2d, 0xf6, 0xc7, 0x36, 0x35, 0x3f, 0x9c, 0x38, 0xd1, - 0x76, 0x0f, 0x5e, 0x4b, 0xca, 0x9c, 0xee, 0xb6, 0x54, 0xd9, 0x91, 0x47, 0x47, 0xaa, 0x39, 0x54, - 0x23, 0xda, 0xc5, 0x1c, 0x87, 0xae, 0xc0, 0x58, 0x44, 0xd8, 0x4c, 0x59, 0xa2, 0xfa, 0x1c, 0x9b, - 0x7a, 0x83, 0xa9, 0xe2, 0x87, 0x35, 0x1c, 0x36, 0x28, 0x53, 0xbd, 0x7f, 0xe8, 0x10, 0xbd, 0xff, - 0x59, 0x18, 0x66, 0x3f, 0xd4, 0xac, 0x50, 0x5f, 0x68, 0x95, 0x83, 0xb1, 0xc4, 0x67, 0x27, 0xd1, - 0x48, 0xc1, 0x49, 0xf4, 0x1c, 0x4c, 0x54, 0x1d, 0xd2, 0x0c, 0x83, 0xe5, 0xc0, 0x6d, 0x85, 0x5e, - 0x90, 0xa0, 0x69, 0x18, 0x60, 0xfb, 0x09, 0x5f, 0xef, 0x03, 0x94, 0x03, 0x1e, 0xa0, 0xba, 0xbb, - 0xfd, 0x7f, 0x2c, 0x18, 0xaf, 0x12, 0x9f, 0x24, 0x84, 0xdb, 0x3d, 0x31, 0x5a, 0x01, 0xb4, 0x15, - 0x39, 0x0d, 0x52, 0x23, 0x91, 0x17, 0xba, 0x75, 0xd2, 0x08, 0x03, 0x76, 0xe2, 0x42, 0x37, 0xc8, - 0x47, 0xf6, 0xf7, 0x66, 0xd1, 0xd5, 0x0e, 0x2c, 0xee, 0x52, 0x02, 0xb9, 0x30, 0xde, 0x8a, 0x88, - 0xe1, 0x20, 0xb3, 0xf2, 0x55, 0x8d, 0x9a, 0x5e, 0x84, 0x6b, 0xc3, 0x06, 0x08, 0x9b, 0x4c, 0xd1, - 0xa7, 0x60, 0x2a, 0x8c, 0x5a, 0xdb, 0x4e, 0x50, 0x25, 0x2d, 0x12, 0xb8, 0xd4, 0x04, 0x10, 0x66, - 0xfd, 0x99, 0xfd, 0xbd, 0xd9, 0xa9, 0x5b, 0x19, 0x1c, 0xee, 0xa0, 0xb6, 0x7f, 0xbd, 0x04, 0x67, - 0xab, 0xe1, 0xfd, 0xe0, 0xbe, 0x13, 0xb9, 0x0b, 0xb5, 0x55, 0xae, 0xd7, 0x33, 0xef, 0xb2, 0xf4, - 0x6a, 0x5b, 0x3d, 0xbd, 0xda, 0x9f, 0x83, 0x91, 0x4d, 0x8f, 0xf8, 0x2e, 0x26, 0x9b, 0xa2, 0x7b, - 0x97, 0x8a, 0xb8, 0xfd, 0x57, 0x68, 0x19, 0xe9, 0x37, 0xe1, 0x56, 0xe7, 0x8a, 0x60, 0x83, 0x15, - 0x43, 0xd4, 0x86, 0x29, 0x69, 0xb8, 0x48, 0xac, 0x58, 0x1d, 0x2f, 0x16, 0xb3, 0x8b, 0xcc, 0x6a, - 0xd8, 0x78, 0xe0, 0x0c, 0x43, 0xdc, 0x51, 0x05, 0x35, 0x38, 0x9b, 0x74, 0x6f, 0x18, 0x60, 0x73, - 0x85, 0x19, 0x9c, 0xcc, 0x76, 0x66, 0x50, 0xfb, 0xef, 0x59, 0xf0, 0x68, 0xc7, 0x68, 0x09, 0xc7, - 0xc2, 0x1b, 0xd2, 0xa2, 0xe7, 0xc7, 0x73, 0x39, 0xad, 0xec, 0x3a, 0xe6, 0xc5, 0xac, 0xfb, 0x52, - 0xbe, 0x75, 0x6f, 0xdf, 0x82, 0x33, 0xcb, 0xcd, 0x56, 0xb2, 0x5b, 0xf5, 0x4c, 0x67, 0xfc, 0x2b, - 0x30, 0xd4, 0x24, 0xae, 0xd7, 0x6e, 0x8a, 0xcf, 0x3a, 0x2b, 0x05, 0xe9, 0x1a, 0x83, 0x1e, 0xec, - 0xcd, 0x8e, 0xd7, 0x93, 0x30, 0x72, 0xb6, 0x08, 0x07, 0x60, 0x41, 0x6e, 0xff, 0xc4, 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, 0xb3, 0x50, 0xe1, 0x67, 0x38, 0xe9, 0xe4, 0xe8, 0xf3, - 0x4c, 0x88, 0x19, 0x53, 0xeb, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0xb5, 0x92, 0x89, 0xea, 0xb2, 0x79, - 0xa2, 0x70, 0x4d, 0xc0, 0xb1, 0xa2, 0x40, 0x17, 0x60, 0x24, 0x08, 0x5d, 0x7e, 0xcc, 0xc6, 0x37, - 0x5d, 0x36, 0xe5, 0x6e, 0x0a, 0x18, 0x56, 0x58, 0xfb, 0x6b, 0x16, 0x8c, 0xc9, 0x3e, 0x16, 0xd4, - 0x70, 0xe9, 0x22, 0x49, 0xb5, 0xdb, 0x74, 0x91, 0x50, 0x0d, 0x95, 0x61, 0x0c, 0xc5, 0xb4, 0xdc, - 0x8f, 0x62, 0x6a, 0xff, 0x66, 0x09, 0x26, 0x64, 0x73, 0xea, 0xed, 0x8d, 0x98, 0xd0, 0x7d, 0xbb, - 0xe2, 0xf0, 0xc1, 0x27, 0x72, 0x9e, 0xbd, 0x90, 0x67, 0xbc, 0x18, 0xdf, 0x2c, 0xd5, 0x0b, 0x16, - 0x24, 0x1f, 0x9c, 0xb2, 0x44, 0x3b, 0x70, 0x2a, 0x08, 0x13, 0xb6, 0x1f, 0x28, 0x7c, 0x31, 0x1f, - 0x78, 0xb6, 0x9e, 0xc7, 0x44, 0x3d, 0xa7, 0x6e, 0x66, 0xf9, 0xe1, 0xce, 0x2a, 0xd0, 0x2d, 0xe9, - 0x94, 0x29, 0xb3, 0xba, 0x9e, 0x2b, 0x56, 0x57, 0x6f, 0x9f, 0x8c, 0xfd, 0xbb, 0x16, 0x54, 0x24, - 0xd9, 0x49, 0x1c, 0x86, 0xdc, 0x85, 0xe1, 0x98, 0x7d, 0x22, 0x39, 0x5c, 0x17, 0x8b, 0x75, 0x81, - 0x7f, 0xd7, 0x74, 0x13, 0xe4, 0xff, 0x63, 0x2c, 0xb9, 0x31, 0x37, 0xac, 0xea, 0xc8, 0xfb, 0xce, - 0x0d, 0xab, 0x5a, 0xd6, 0xfb, 0xcc, 0x63, 0xdc, 0x30, 0x9f, 0xa9, 0x26, 0xd7, 0x8a, 0xc8, 0xa6, - 0xf7, 0x20, 0xab, 0xc9, 0xd5, 0x18, 0x14, 0x0b, 0x2c, 0xda, 0x84, 0xb1, 0x86, 0xf4, 0xdf, 0xa6, - 0x22, 0xe4, 0x23, 0x05, 0xbd, 0xc2, 0xea, 0x80, 0x81, 0x07, 0xad, 0x2c, 0x69, 0x9c, 0xb0, 0xc1, - 0x97, 0xca, 0xa9, 0xf4, 0x0c, 0xb5, 0x5c, 0xd0, 0xd3, 0x11, 0x91, 0x24, 0xad, 0xa1, 0xe7, 0xf1, - 0xa9, 0xfd, 0x2d, 0x0b, 0x86, 0xb8, 0xc3, 0xaf, 0x98, 0xd7, 0x54, 0x3b, 0x3a, 0x49, 0xc7, 0xf3, - 0x0e, 0x05, 0x8a, 0x93, 0x14, 0x74, 0x17, 0x2a, 0xec, 0x07, 0x73, 0x5e, 0x94, 0x8b, 0x44, 0xf0, - 0xf0, 0xfa, 0xf5, 0xa6, 0xde, 0x91, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x41, 0x99, 0x8a, 0xbe, 0x94, - 0xd4, 0xd8, 0xdb, 0xad, 0x93, 0xd8, 0xdb, 0x4b, 0xc7, 0xbf, 0xb7, 0xbf, 0x0b, 0x93, 0x0d, 0xed, - 0xe8, 0x26, 0xfd, 0xe2, 0x97, 0x0b, 0x4e, 0x2b, 0xed, 0xbc, 0x87, 0x3b, 0xb8, 0x96, 0x4c, 0x76, - 0x38, 0xcb, 0x1f, 0x11, 0x18, 0xe3, 0xf3, 0x41, 0xd4, 0x37, 0xc0, 0xea, 0x9b, 0x2f, 0x32, 0xc3, - 0xf4, 0xca, 0xd8, 0x2c, 0xae, 0x6b, 0x8c, 0xb0, 0xc1, 0xd6, 0xfe, 0x9b, 0x83, 0x30, 0xb8, 0xbc, - 0x43, 0x82, 0xe4, 0x04, 0x44, 0x5d, 0x13, 0x26, 0xbc, 0x60, 0x27, 0xf4, 0x77, 0x88, 0xcb, 0xf1, - 0x47, 0xdb, 0xde, 0x1f, 0x11, 0x95, 0x4c, 0xac, 0x1a, 0xcc, 0x70, 0x86, 0xf9, 0x71, 0x98, 0xd6, - 0xaf, 0xc3, 0x10, 0x9f, 0x19, 0xc2, 0xae, 0xce, 0x71, 0x80, 0xb3, 0x81, 0x15, 0x2b, 0x28, 0x75, - 0x00, 0x70, 0xdf, 0xbb, 0x60, 0x84, 0xde, 0x81, 0x89, 0x4d, 0x2f, 0x8a, 0x13, 0x6a, 0x1d, 0xc7, - 0x89, 0xd3, 0x6c, 0x1d, 0xc1, 0xa8, 0x56, 0x23, 0xb2, 0x62, 0x70, 0xc2, 0x19, 0xce, 0x68, 0x0b, - 0xc6, 0xa9, 0x4d, 0x97, 0x56, 0x35, 0xdc, 0x77, 0x55, 0xca, 0xa7, 0x76, 0x43, 0x67, 0x84, 0x4d, - 0xbe, 0x54, 0x24, 0x35, 0x98, 0x0d, 0x38, 0xc2, 0xb4, 0x1b, 0x25, 0x92, 0xb8, 0xf1, 0xc7, 0x71, - 0x54, 0xb2, 0xb1, 0x18, 0x8a, 0x8a, 0x29, 0xd9, 0xd2, 0x48, 0x09, 0xfb, 0x3b, 0x74, 0x2f, 0xa6, - 0x63, 0x78, 0x02, 0xdb, 0xd7, 0x35, 0x73, 0xfb, 0x7a, 0xaa, 0xc0, 0x97, 0xed, 0xb1, 0x75, 0xbd, - 0x0d, 0xa3, 0xda, 0x87, 0x47, 0xf3, 0x50, 0x69, 0xc8, 0x63, 0x7e, 0x21, 0xc5, 0x95, 0x2a, 0xa5, - 0xce, 0xff, 0x71, 0x4a, 0x43, 0xc7, 0x85, 0xaa, 0xa0, 0xd9, 0xa0, 0x20, 0xaa, 0xa0, 0x62, 0x86, - 0xb1, 0x5f, 0x04, 0x58, 0x7e, 0x40, 0x1a, 0x0b, 0x0d, 0x16, 0x8b, 0xa2, 0x1d, 0x88, 0x59, 0xbd, - 0x0f, 0xc4, 0xec, 0x6f, 0x5b, 0x30, 0xb1, 0xb2, 0x64, 0xe8, 0xf4, 0x73, 0x00, 0x5c, 0x37, 0xbe, - 0x7b, 0xf7, 0xa6, 0x74, 0xf8, 0x72, 0xaf, 0x9c, 0x82, 0x62, 0x8d, 0x02, 0x3d, 0x06, 0x65, 0xbf, - 0x1d, 0x08, 0x95, 0x75, 0x78, 0x7f, 0x6f, 0xb6, 0x7c, 0xa3, 0x1d, 0x60, 0x0a, 0xd3, 0xa2, 0x6f, - 0xca, 0x85, 0xa3, 0x6f, 0xf2, 0xe3, 0x50, 0xbf, 0x51, 0x86, 0xa9, 0x15, 0x9f, 0x3c, 0x30, 0x5a, - 0xfd, 0x0c, 0x0c, 0xb9, 0x91, 0xb7, 0x43, 0xa2, 0xac, 0x22, 0x50, 0x65, 0x50, 0x2c, 0xb0, 0x85, - 0x03, 0x82, 0xde, 0xea, 0xdc, 0xc8, 0x8f, 0x2f, 0x18, 0x2a, 0xb7, 0xcf, 0x68, 0x13, 0x86, 0xf9, - 0x01, 0x6a, 0x3c, 0x3d, 0xc8, 0xa6, 0xe2, 0xab, 0x87, 0x37, 0x26, 0x3b, 0x3e, 0x73, 0xc2, 0x21, - 0xc1, 0x43, 0x31, 0x94, 0x2c, 0x13, 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x1c, 0xc6, 0x74, 0xca, 0xbe, - 0x62, 0x32, 0x7e, 0xc9, 0x82, 0xd3, 0x2b, 0x7e, 0xd8, 0xb8, 0x97, 0x89, 0xd8, 0x7a, 0x19, 0x46, - 0xe9, 0x62, 0x8a, 0x8d, 0x70, 0x46, 0x23, 0x6e, 0x53, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x7d, - 0x7b, 0xb5, 0xda, 0x2d, 0xdc, 0x53, 0xa0, 0xb0, 0x4e, 0x67, 0xff, 0xbe, 0x05, 0x4f, 0x5c, 0x5d, - 0x5a, 0xae, 0x91, 0x28, 0xf6, 0xe2, 0x84, 0x04, 0x49, 0x47, 0xc4, 0x29, 0xd5, 0x19, 0x5d, 0xad, - 0x29, 0xa9, 0xce, 0x58, 0x65, 0xad, 0x10, 0xd8, 0xf7, 0x4b, 0xd8, 0xf5, 0xb7, 0x2c, 0x38, 0x7d, - 0xd5, 0x4b, 0x30, 0x69, 0x85, 0xd9, 0x20, 0xd1, 0x88, 0xb4, 0xc2, 0xd8, 0x4b, 0xc2, 0x68, 0x37, - 0x1b, 0x24, 0x8a, 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, 0x58, 0xc1, 0xaa, - 0x63, 0x55, 0x89, 0xc0, 0x29, 0x8d, 0xfd, 0xb7, 0x2d, 0x38, 0x7b, 0xd5, 0x6f, 0xc7, 0x09, 0x89, - 0x36, 0x63, 0xa3, 0xb1, 0x2f, 0x42, 0x85, 0x48, 0xe5, 0x5e, 0xb4, 0x55, 0x6d, 0x1a, 0x4a, 0xeb, - 0xe7, 0x11, 0xaa, 0x8a, 0xae, 0x40, 0x20, 0x64, 0x7f, 0x61, 0x7b, 0xbf, 0x55, 0x82, 0xf1, 0x6b, - 0xeb, 0xeb, 0xb5, 0xab, 0x24, 0x11, 0x52, 0x32, 0xdf, 0x29, 0x85, 0x35, 0x8b, 0xfc, 0x30, 0xe5, - 0xa7, 0x9d, 0x78, 0xfe, 0x1c, 0xbf, 0x48, 0x30, 0xb7, 0x1a, 0x24, 0xb7, 0xa2, 0x7a, 0x12, 0x79, - 0xc1, 0x56, 0x57, 0x1b, 0x5e, 0xca, 0xf2, 0x72, 0x2f, 0x59, 0x8e, 0x5e, 0x84, 0x21, 0x76, 0x93, - 0x41, 0x2a, 0x1f, 0x1f, 0x54, 0x7a, 0x02, 0x83, 0x1e, 0xec, 0xcd, 0x56, 0x6e, 0xe3, 0x55, 0xfe, - 0x07, 0x0b, 0x52, 0xf4, 0x16, 0x8c, 0x6e, 0x27, 0x49, 0xeb, 0x1a, 0x71, 0x5c, 0x12, 0x49, 0x39, - 0x71, 0xe1, 0x70, 0x39, 0x41, 0x87, 0x83, 0x17, 0x48, 0x97, 0x56, 0x0a, 0x8b, 0xb1, 0xce, 0xd1, - 0xae, 0x03, 0xa4, 0xb8, 0x87, 0x64, 0x83, 0xd8, 0xbf, 0x58, 0x82, 0xe1, 0x6b, 0x4e, 0xe0, 0xfa, - 0x24, 0x42, 0x2b, 0x30, 0x40, 0x1e, 0x90, 0x86, 0xd8, 0xc8, 0x73, 0x9a, 0x9e, 0x6e, 0x76, 0xdc, - 0xaf, 0x46, 0xff, 0x63, 0x56, 0x1e, 0x61, 0x18, 0xa6, 0xed, 0xbe, 0xaa, 0xe2, 0x87, 0x9f, 0xcf, - 0x1f, 0x05, 0x35, 0x29, 0xf8, 0x4e, 0x29, 0x40, 0x58, 0x32, 0x62, 0x1e, 0xa8, 0x46, 0xab, 0x4e, - 0xc5, 0x5b, 0x52, 0xcc, 0xb2, 0x5b, 0x5f, 0xaa, 0x71, 0x72, 0xc1, 0x97, 0x7b, 0xa0, 0x24, 0x10, - 0xa7, 0xec, 0xec, 0x2b, 0x70, 0x86, 0x1d, 0x60, 0x3a, 0xc9, 0xb6, 0xb1, 0x6a, 0x72, 0xa7, 0xa7, - 0xfd, 0xa3, 0x12, 0x9c, 0x5a, 0xad, 0x2f, 0xd5, 0x4d, 0xdf, 0xe1, 0x15, 0x18, 0xe3, 0x1b, 0x34, - 0x9d, 0x74, 0x8e, 0x2f, 0xca, 0x2b, 0xa7, 0xfb, 0xba, 0x86, 0xc3, 0x06, 0x25, 0x7a, 0x02, 0xca, - 0xde, 0xbb, 0x41, 0x36, 0xde, 0x6b, 0xf5, 0xf5, 0x9b, 0x98, 0xc2, 0x29, 0x9a, 0xee, 0xf5, 0x5c, - 0xc8, 0x29, 0xb4, 0xda, 0xef, 0x5f, 0x83, 0x09, 0x2f, 0x6e, 0xc4, 0xde, 0x6a, 0x40, 0x25, 0x80, - 0xd3, 0x90, 0xd3, 0x37, 0x55, 0xce, 0x69, 0x53, 0x15, 0x16, 0x67, 0xa8, 0x35, 0x89, 0x3b, 0x58, - 0x58, 0x5f, 0xc8, 0x0d, 0x24, 0xa6, 0xaa, 0x50, 0x8b, 0xf5, 0x2e, 0x66, 0x41, 0x35, 0x42, 0x15, - 0xe2, 0x1d, 0x8e, 0xb1, 0xc4, 0xd9, 0xef, 0x40, 0x45, 0xc5, 0x45, 0xc9, 0xb8, 0x37, 0xab, 0x47, - 0xdc, 0x5b, 0xbe, 0x64, 0x92, 0x8e, 0xdf, 0x72, 0x57, 0xc7, 0xef, 0x3f, 0xb4, 0x20, 0x0d, 0xec, - 0x40, 0x18, 0x2a, 0xad, 0x90, 0x9d, 0xaa, 0x44, 0xf2, 0xf8, 0xf2, 0xe9, 0x9c, 0x09, 0xcb, 0x17, - 0x0c, 0x9f, 0x52, 0x35, 0x59, 0x16, 0xa7, 0x6c, 0xd0, 0x0d, 0x18, 0x6e, 0x45, 0xa4, 0x9e, 0xb0, - 0xa0, 0xf5, 0x3e, 0x38, 0xf2, 0xb1, 0xe1, 0x25, 0xb1, 0x64, 0x61, 0xff, 0x33, 0x0b, 0xe0, 0x86, - 0xd7, 0xf4, 0x12, 0xec, 0x04, 0x5b, 0xe4, 0x04, 0xac, 0xc2, 0x9b, 0x30, 0x10, 0xb7, 0x48, 0xa3, - 0xd8, 0xb9, 0x58, 0xda, 0xb2, 0x7a, 0x8b, 0x34, 0xd2, 0xcf, 0x41, 0xff, 0x61, 0xc6, 0xc7, 0xfe, - 0x3e, 0xc0, 0x44, 0x4a, 0x46, 0x35, 0x73, 0xf4, 0x82, 0x11, 0xad, 0xfd, 0x58, 0x26, 0x5a, 0xbb, - 0xc2, 0xa8, 0xb5, 0x00, 0xed, 0x04, 0xca, 0x4d, 0xe7, 0x81, 0x30, 0x04, 0x5e, 0x2e, 0xda, 0x20, - 0x5a, 0xd3, 0xdc, 0x9a, 0xf3, 0x80, 0xeb, 0x5d, 0xcf, 0xcb, 0x89, 0xb4, 0xe6, 0x3c, 0x38, 0xe0, - 0xa7, 0x5f, 0x6c, 0xc1, 0x52, 0xcb, 0xe3, 0xcb, 0x7f, 0x9c, 0xfe, 0x67, 0x32, 0x94, 0x56, 0xc7, - 0x6a, 0xf5, 0x02, 0xe1, 0xc7, 0xec, 0xb3, 0x56, 0x2f, 0xc8, 0xd6, 0xea, 0x05, 0x05, 0x6a, 0xf5, - 0x02, 0xf4, 0x15, 0x0b, 0x86, 0x85, 0xfb, 0x9f, 0x85, 0xca, 0x8d, 0x5e, 0xfe, 0x58, 0x5f, 0x55, - 0x8b, 0x73, 0x04, 0x5e, 0xfd, 0xbc, 0x54, 0x36, 0x05, 0x34, 0xb7, 0x09, 0xb2, 0x6a, 0xf4, 0xab, - 0x16, 0x4c, 0x88, 0xdf, 0x98, 0xbc, 0xdb, 0x26, 0x71, 0x22, 0x36, 0xb5, 0x4f, 0x1d, 0xa5, 0x35, - 0x82, 0x05, 0x6f, 0xd4, 0x47, 0xa5, 0x44, 0x32, 0x91, 0xb9, 0x6d, 0xcb, 0xb4, 0x07, 0x7d, 0xdf, - 0x82, 0x33, 0x4d, 0xe7, 0x01, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x08, 0x07, 0x5c, 0xe9, - 0x77, 0x9e, 0x74, 0x30, 0xe2, 0xcd, 0x95, 0x91, 0x3e, 0x67, 0xba, 0x91, 0xe4, 0x36, 0xba, 0x6b, - 0x0b, 0x67, 0x36, 0x61, 0x44, 0x4e, 0xcc, 0x2e, 0x6a, 0x7e, 0x55, 0xdf, 0xbb, 0x73, 0x8c, 0xea, - 0x39, 0xe9, 0x1a, 0x9b, 0x7b, 0xbd, 0xed, 0x04, 0x89, 0x97, 0xec, 0x6a, 0x66, 0x01, 0xab, 0x47, - 0x4c, 0xc5, 0x63, 0xad, 0xe7, 0x1d, 0x18, 0xd3, 0xe7, 0xdd, 0xb1, 0xd6, 0xf5, 0x2e, 0x9c, 0xee, - 0x32, 0xab, 0x8e, 0xb5, 0xca, 0xfb, 0xf0, 0x58, 0xcf, 0xf9, 0x71, 0x9c, 0x15, 0xdb, 0xbf, 0x65, - 0xe9, 0xa2, 0xf3, 0x04, 0x9c, 0x2e, 0x6b, 0xa6, 0xd3, 0xe5, 0x42, 0xd1, 0x35, 0xd4, 0xc3, 0xf3, - 0xb2, 0xa9, 0x37, 0x9f, 0x6e, 0x09, 0x68, 0x1d, 0x86, 0x7c, 0x0a, 0x91, 0x67, 0x5e, 0x17, 0xfb, - 0x59, 0xa5, 0xa9, 0x52, 0xc2, 0xe0, 0x31, 0x16, 0xbc, 0xec, 0xef, 0x5b, 0x30, 0xf0, 0x33, 0xbc, - 0x4b, 0xd2, 0xc1, 0x5a, 0x5c, 0x89, 0x9e, 0xc3, 0xce, 0xfd, 0xe5, 0x07, 0x09, 0x09, 0x62, 0xa6, - 0x83, 0x76, 0x1d, 0xa2, 0x5f, 0x2f, 0xc1, 0x28, 0xad, 0x4a, 0x46, 0x2d, 0xbc, 0x0a, 0xe3, 0xbe, - 0xb3, 0x41, 0x7c, 0xe9, 0x30, 0xce, 0x5a, 0x6c, 0x37, 0x74, 0x24, 0x36, 0x69, 0x69, 0xe1, 0x4d, - 0xdd, 0x9f, 0x2e, 0x94, 0x24, 0x55, 0xd8, 0x70, 0xb6, 0x63, 0x93, 0x96, 0x9a, 0x0c, 0xf7, 0x9d, - 0xa4, 0xb1, 0x2d, 0xac, 0x39, 0xd5, 0xdc, 0xbb, 0x14, 0x88, 0x39, 0x0e, 0x2d, 0xc0, 0xa4, 0x9c, - 0xb1, 0x77, 0xa8, 0x99, 0x1f, 0x06, 0x42, 0xcf, 0x54, 0xf7, 0x51, 0xb1, 0x89, 0xc6, 0x59, 0x7a, - 0xf4, 0x71, 0x98, 0xa0, 0x83, 0x13, 0xb6, 0x13, 0x19, 0x93, 0x31, 0xc8, 0x62, 0x32, 0x58, 0x48, - 0xef, 0xba, 0x81, 0xc1, 0x19, 0x4a, 0xfb, 0x2d, 0x38, 0x7d, 0x23, 0x74, 0xdc, 0x45, 0xc7, 0x77, - 0x82, 0x06, 0x89, 0x56, 0x83, 0xad, 0xdc, 0xe3, 0x6b, 0xfd, 0x88, 0xb9, 0x94, 0x77, 0xc4, 0x6c, - 0x47, 0x80, 0xf4, 0x0a, 0x44, 0x34, 0xd1, 0x9b, 0x30, 0xec, 0xf1, 0xaa, 0xc4, 0xb4, 0xbd, 0x94, - 0xe7, 0x8f, 0xea, 0x68, 0xa3, 0x16, 0x1d, 0xc3, 0x01, 0x58, 0xb2, 0xa4, 0x26, 0x48, 0x37, 0x07, - 0x56, 0xbe, 0x95, 0x67, 0xff, 0x25, 0x0b, 0x26, 0x6f, 0x66, 0x2e, 0x3b, 0x3e, 0x03, 0x43, 0xfc, - 0xca, 0x7c, 0xd6, 0xc5, 0x52, 0x67, 0x50, 0x2c, 0xb0, 0x0f, 0xdd, 0xc2, 0xff, 0x95, 0x12, 0x54, - 0x58, 0x5c, 0x6a, 0x8b, 0x9a, 0x13, 0xc7, 0xaf, 0xa6, 0xae, 0x19, 0x6a, 0x6a, 0x8e, 0x95, 0xa9, - 0x1a, 0xd6, 0x4b, 0x4b, 0x45, 0xb7, 0xd5, 0x25, 0xc0, 0x42, 0x06, 0x66, 0xca, 0x90, 0x5f, 0x14, - 0x9b, 0x30, 0xef, 0x0c, 0xca, 0x0b, 0x82, 0xec, 0xd0, 0x57, 0xd1, 0xbe, 0xef, 0x0e, 0x7d, 0x55, - 0xcb, 0x7a, 0x08, 0xa7, 0x9a, 0xd6, 0x78, 0x26, 0xbe, 0x3f, 0xc9, 0xa2, 0x0d, 0x1d, 0xdf, 0xfb, - 0x02, 0x51, 0x77, 0x69, 0x67, 0x45, 0xf4, 0xa0, 0x80, 0x1e, 0x30, 0x39, 0x23, 0xfe, 0xf1, 0xab, - 0xd2, 0x69, 0x11, 0xfb, 0x1a, 0x4c, 0x66, 0x86, 0x0e, 0xbd, 0x0c, 0x83, 0xad, 0x6d, 0x27, 0x26, - 0x99, 0x38, 0x96, 0xc1, 0x1a, 0x05, 0x1e, 0xec, 0xcd, 0x4e, 0xa8, 0x02, 0x0c, 0x82, 0x39, 0xb5, - 0xfd, 0x95, 0x12, 0x0c, 0xdc, 0x0c, 0xdd, 0x93, 0x98, 0x6a, 0xd7, 0x8c, 0xa9, 0xf6, 0x4c, 0x7e, - 0xa2, 0x85, 0x9e, 0xb3, 0xac, 0x96, 0x99, 0x65, 0x17, 0x0a, 0xf0, 0x3a, 0x7c, 0x82, 0x35, 0x61, - 0x94, 0x25, 0x72, 0x10, 0x81, 0x3c, 0x2f, 0x1a, 0x96, 0xd5, 0x6c, 0xc6, 0xb2, 0x9a, 0xd4, 0x48, - 0x35, 0xfb, 0xea, 0x59, 0x18, 0x16, 0x81, 0x23, 0xd9, 0x58, 0x4b, 0x41, 0x8b, 0x25, 0xde, 0xfe, - 0x27, 0x65, 0x30, 0x12, 0x47, 0xa0, 0xdf, 0xb5, 0x60, 0x2e, 0xe2, 0xf7, 0x56, 0xdc, 0x6a, 0x3b, - 0xf2, 0x82, 0xad, 0x7a, 0x63, 0x9b, 0xb8, 0x6d, 0xdf, 0x0b, 0xb6, 0x56, 0xb7, 0x82, 0x50, 0x81, - 0x97, 0x1f, 0x90, 0x46, 0x9b, 0xf9, 0x69, 0x0b, 0xe7, 0xab, 0x50, 0x87, 0xa6, 0x97, 0xf7, 0xf7, - 0x66, 0xe7, 0x70, 0x5f, 0xb5, 0xe0, 0x3e, 0x5b, 0x85, 0xfe, 0xc8, 0x82, 0x79, 0x9e, 0x3a, 0xa1, - 0x78, 0x4f, 0x0a, 0x59, 0xa4, 0x35, 0xc9, 0x34, 0x65, 0xb7, 0x4e, 0xa2, 0xe6, 0xe2, 0x2b, 0x62, - 0x90, 0xe7, 0x6b, 0xfd, 0xd5, 0x8a, 0xfb, 0x6d, 0xa6, 0xfd, 0x2f, 0xca, 0x30, 0x4e, 0xc7, 0x33, - 0xbd, 0x2e, 0xfd, 0xb2, 0x31, 0x4d, 0x9e, 0xcc, 0x4c, 0x93, 0x53, 0x06, 0xf1, 0xc3, 0xb9, 0x29, - 0x1d, 0xc3, 0x29, 0xdf, 0x89, 0x93, 0x6b, 0xc4, 0x89, 0x92, 0x0d, 0xe2, 0xb0, 0xb3, 0xc9, 0x6c, - 0xdc, 0x43, 0x81, 0xe3, 0x4e, 0x15, 0x8c, 0x74, 0x23, 0xcb, 0x0c, 0x77, 0xf2, 0x47, 0x3b, 0x80, - 0xd8, 0x39, 0x68, 0xe4, 0x04, 0x31, 0xef, 0x8b, 0x27, 0xfc, 0xba, 0xfd, 0xd5, 0x3a, 0x23, 0x6a, - 0x45, 0x37, 0x3a, 0xb8, 0xe1, 0x2e, 0x35, 0x68, 0x27, 0xdd, 0x83, 0x45, 0x4f, 0xba, 0x87, 0x72, - 0x82, 0x9c, 0xbf, 0x6a, 0xc1, 0x69, 0xfa, 0x59, 0xcc, 0x80, 0xd8, 0x18, 0x85, 0x30, 0x49, 0xa7, - 0x9d, 0x4f, 0x12, 0x09, 0x13, 0xeb, 0x2b, 0x47, 0xb3, 0x36, 0xf9, 0xa4, 0xea, 0xdb, 0x75, 0x93, - 0x19, 0xce, 0x72, 0xb7, 0xbf, 0x6d, 0x01, 0x8b, 0xb8, 0x3b, 0x81, 0xcd, 0xec, 0xaa, 0xb9, 0x99, - 0xd9, 0xf9, 0x12, 0xa3, 0xc7, 0x3e, 0xf6, 0x12, 0x4c, 0x51, 0x6c, 0x2d, 0x0a, 0x1f, 0xec, 0x4a, - 0x45, 0x3b, 0xdf, 0xc1, 0xfb, 0xd5, 0x12, 0x5f, 0x36, 0xea, 0x02, 0x1e, 0xfa, 0x65, 0x0b, 0x46, - 0x1a, 0x4e, 0xcb, 0x69, 0xf0, 0xb4, 0x3b, 0x05, 0xbc, 0x33, 0x46, 0xf9, 0xb9, 0x25, 0x51, 0x96, - 0x7b, 0x16, 0x3e, 0x22, 0xbb, 0x2e, 0xc1, 0xb9, 0xde, 0x04, 0x55, 0xf9, 0xcc, 0x3d, 0x18, 0x37, - 0x98, 0x1d, 0xab, 0x19, 0xfa, 0xcb, 0x16, 0x17, 0xfa, 0xca, 0x54, 0xb8, 0x0f, 0xa7, 0x02, 0xed, - 0x3f, 0x15, 0x67, 0x52, 0x33, 0x9e, 0x2b, 0x2e, 0xd6, 0x99, 0x14, 0xd4, 0xa2, 0x0b, 0x33, 0x0c, - 0x71, 0x67, 0x1d, 0xf6, 0xdf, 0xb1, 0xe0, 0x51, 0x9d, 0x50, 0xbb, 0x31, 0x99, 0xe7, 0x37, 0xae, - 0xc2, 0x48, 0xd8, 0x22, 0x91, 0x93, 0x9a, 0x45, 0x17, 0xe4, 0xf8, 0xdf, 0x12, 0xf0, 0x83, 0xbd, - 0xd9, 0x33, 0x3a, 0x77, 0x09, 0xc7, 0xaa, 0x24, 0xb2, 0x61, 0x88, 0x8d, 0x4b, 0x2c, 0xee, 0xba, - 0xb2, 0x34, 0x34, 0xec, 0x50, 0x25, 0xc6, 0x02, 0x63, 0xff, 0x35, 0x8b, 0x4f, 0x37, 0xbd, 0xe9, - 0xe8, 0x8b, 0x30, 0xd5, 0xa4, 0x16, 0xd4, 0xf2, 0x83, 0x16, 0xdd, 0x48, 0xd9, 0x71, 0xb2, 0x55, - 0x64, 0xfb, 0xe8, 0xd1, 0xdd, 0xc5, 0x69, 0xd1, 0xfa, 0xa9, 0xb5, 0x0c, 0x5b, 0xdc, 0x51, 0x91, - 0xfd, 0x1f, 0xc5, 0x9a, 0x65, 0x3a, 0xdc, 0xb3, 0x30, 0xdc, 0x0a, 0xdd, 0xa5, 0xd5, 0x2a, 0x16, - 0x63, 0xa5, 0x84, 0x4e, 0x8d, 0x83, 0xb1, 0xc4, 0xa3, 0xcb, 0x00, 0xe4, 0x41, 0x42, 0xa2, 0xc0, - 0xf1, 0xd5, 0x31, 0xb0, 0x52, 0x95, 0x96, 0x15, 0x06, 0x6b, 0x54, 0xb4, 0x4c, 0x2b, 0x0a, 0x77, - 0x3c, 0x97, 0x85, 0xfa, 0x97, 0xcd, 0x32, 0x35, 0x85, 0xc1, 0x1a, 0x15, 0xb5, 0x5b, 0xdb, 0x41, - 0xcc, 0xb7, 0x31, 0x67, 0x43, 0x64, 0x4d, 0x19, 0x49, 0xed, 0xd6, 0xdb, 0x3a, 0x12, 0x9b, 0xb4, - 0xf6, 0xbf, 0xab, 0x00, 0xa4, 0x8a, 0x12, 0xfa, 0x4a, 0xe7, 0x1a, 0xfd, 0x68, 0x51, 0x2d, 0xeb, - 0xe1, 0x2d, 0x50, 0xf4, 0x75, 0x0b, 0x46, 0x1d, 0xdf, 0x0f, 0x1b, 0x4e, 0xc2, 0x7a, 0x54, 0x2a, - 0x2a, 0x2d, 0x44, 0x4b, 0x16, 0xd2, 0xb2, 0xbc, 0x31, 0x2f, 0xca, 0x33, 0x42, 0x0d, 0x93, 0xdb, - 0x1e, 0xbd, 0x09, 0xe8, 0x23, 0x52, 0xd1, 0xe6, 0x1f, 0x65, 0x26, 0xab, 0x68, 0x57, 0x98, 0x8c, - 0xd4, 0x74, 0x6c, 0xf4, 0x96, 0x91, 0x18, 0x64, 0xa0, 0xc8, 0x15, 0x4b, 0x43, 0x75, 0xc8, 0xcb, - 0x09, 0x82, 0x3e, 0xab, 0x47, 0x41, 0x0f, 0x16, 0xb9, 0xc3, 0xac, 0x69, 0xb0, 0x39, 0x11, 0xd0, - 0x09, 0x4c, 0xba, 0xe6, 0x66, 0x29, 0x22, 0xb9, 0x2e, 0xe5, 0xd7, 0x90, 0xd9, 0x65, 0xd3, 0xed, - 0x31, 0x83, 0xc0, 0xd9, 0x2a, 0xd0, 0x67, 0x79, 0x8c, 0xfa, 0x6a, 0xb0, 0x19, 0x8a, 0x68, 0xae, - 0x8b, 0x05, 0xbe, 0xf9, 0x6e, 0x9c, 0x90, 0x26, 0x2d, 0x93, 0xee, 0x87, 0x37, 0x05, 0x17, 0xac, - 0xf8, 0xa1, 0x75, 0x18, 0x62, 0x37, 0x6a, 0xe2, 0xe9, 0x91, 0x22, 0xce, 0x33, 0xf3, 0x22, 0x69, - 0xaa, 0x84, 0xb0, 0xbf, 0x31, 0x16, 0xbc, 0xd0, 0x35, 0x79, 0x95, 0x3c, 0x5e, 0x0d, 0x6e, 0xc7, - 0x84, 0x5d, 0x25, 0xaf, 0x2c, 0x7e, 0x28, 0xbd, 0x1b, 0xce, 0xe1, 0x5d, 0x53, 0xa3, 0x19, 0x25, - 0xa9, 0x2e, 0x22, 0xfe, 0xcb, 0x8c, 0x6b, 0xd3, 0x50, 0xa4, 0xa1, 0x66, 0x7e, 0xb6, 0x74, 0xb0, - 0xef, 0x98, 0xcc, 0x70, 0x96, 0xfb, 0x89, 0xee, 0x82, 0x33, 0x01, 0x4c, 0x65, 0x17, 0xe5, 0xb1, - 0xee, 0xba, 0x3f, 0x1d, 0x80, 0x09, 0x73, 0x72, 0xa0, 0x79, 0xa8, 0x08, 0x26, 0x2a, 0x03, 0x93, - 0x5a, 0x03, 0x6b, 0x12, 0x81, 0x53, 0x1a, 0x96, 0x8b, 0x8a, 0x15, 0xd7, 0xe2, 0x78, 0xd2, 0x5c, - 0x54, 0x0a, 0x83, 0x35, 0x2a, 0xaa, 0xbc, 0x6e, 0x84, 0x61, 0xa2, 0x84, 0xb7, 0x9a, 0x37, 0x8b, - 0x0c, 0x8a, 0x05, 0x96, 0x0a, 0xed, 0x7b, 0xf4, 0x63, 0xfa, 0xa6, 0x23, 0x50, 0x09, 0xed, 0xeb, - 0x3a, 0x12, 0x9b, 0xb4, 0x74, 0x13, 0x0a, 0x63, 0x36, 0x11, 0x85, 0x8a, 0x9c, 0xc6, 0x45, 0xd5, - 0xf9, 0x2d, 0x33, 0x89, 0x47, 0x9f, 0x81, 0x47, 0xd5, 0xa5, 0x30, 0xcc, 0x1d, 0xab, 0xb2, 0xc6, - 0x21, 0xc3, 0xca, 0x7d, 0x74, 0xa9, 0x3b, 0x19, 0xee, 0x55, 0x1e, 0xbd, 0x06, 0x13, 0x42, 0xbd, - 0x95, 0x1c, 0x87, 0xcd, 0x43, 0xf3, 0xeb, 0x06, 0x16, 0x67, 0xa8, 0x51, 0x15, 0xa6, 0x28, 0x84, - 0xe9, 0x95, 0x92, 0x03, 0xbf, 0xdc, 0xa6, 0x76, 0xe7, 0xeb, 0x19, 0x3c, 0xee, 0x28, 0x81, 0x16, - 0x60, 0x92, 0xeb, 0x17, 0xd4, 0x96, 0x63, 0xdf, 0x41, 0x84, 0x60, 0xaa, 0x85, 0x70, 0xcb, 0x44, - 0xe3, 0x2c, 0x3d, 0xba, 0x02, 0x63, 0x4e, 0xd4, 0xd8, 0xf6, 0x12, 0xd2, 0x48, 0xda, 0x11, 0x4f, - 0xd4, 0xa0, 0x45, 0x1d, 0x2c, 0x68, 0x38, 0x6c, 0x50, 0xda, 0x5f, 0x80, 0xd3, 0x5d, 0xe2, 0xbd, - 0xe9, 0xc4, 0x71, 0x5a, 0x9e, 0xec, 0x53, 0x26, 0xc2, 0x69, 0xa1, 0xb6, 0x2a, 0x7b, 0xa3, 0x51, - 0xd1, 0xd9, 0xc9, 0x3c, 0xca, 0x5a, 0x82, 0x44, 0x35, 0x3b, 0x57, 0x24, 0x02, 0xa7, 0x34, 0xf6, - 0x9f, 0x55, 0x40, 0x73, 0xb8, 0x14, 0x88, 0x6a, 0xb9, 0x02, 0x63, 0x32, 0xe7, 0xa7, 0x96, 0x6b, - 0x4f, 0x75, 0xf3, 0xaa, 0x86, 0xc3, 0x06, 0x25, 0x6d, 0x5b, 0x20, 0xdd, 0x48, 0xd9, 0x78, 0x2a, - 0xe5, 0x5f, 0xc2, 0x29, 0x0d, 0xba, 0x08, 0x23, 0x31, 0xf1, 0x37, 0x6f, 0x78, 0xc1, 0x3d, 0x31, - 0xb1, 0x95, 0x64, 0xae, 0x0b, 0x38, 0x56, 0x14, 0x68, 0x11, 0xca, 0x6d, 0xcf, 0x15, 0x53, 0x59, - 0xaa, 0x0d, 0xe5, 0xdb, 0xab, 0xd5, 0x83, 0xbd, 0xd9, 0x27, 0x7b, 0x25, 0x40, 0xa5, 0x26, 0x75, - 0x3c, 0x47, 0x97, 0x1f, 0x2d, 0xdc, 0xcd, 0xb5, 0x3e, 0xd4, 0xa7, 0x6b, 0xfd, 0x32, 0x80, 0xe8, - 0xb5, 0x9c, 0xcb, 0xe5, 0xf4, 0xab, 0x5d, 0x55, 0x18, 0xac, 0x51, 0x51, 0xc3, 0xbc, 0x11, 0x11, - 0x47, 0xda, 0xae, 0x3c, 0x0e, 0x79, 0xe4, 0xe8, 0x86, 0xf9, 0x52, 0x96, 0x19, 0xee, 0xe4, 0x8f, - 0x42, 0x38, 0xe5, 0xd2, 0x85, 0x64, 0x54, 0x5a, 0xe9, 0x3f, 0xf8, 0x99, 0x56, 0x58, 0xcd, 0x32, - 0xc2, 0x9d, 0xbc, 0xd1, 0xe7, 0x61, 0x46, 0x02, 0x3b, 0xaf, 0x7d, 0xb2, 0xe5, 0x52, 0x5e, 0x3c, - 0xb7, 0xbf, 0x37, 0x3b, 0x53, 0xed, 0x49, 0x85, 0x0f, 0xe1, 0x80, 0xde, 0x84, 0x21, 0x76, 0x14, - 0x13, 0x4f, 0x8f, 0xb2, 0x1d, 0xef, 0xa5, 0x22, 0x21, 0xf4, 0x74, 0xd6, 0xcf, 0xb1, 0x03, 0x1d, - 0x11, 0x1c, 0x9a, 0x9e, 0x6f, 0x31, 0x20, 0x16, 0x3c, 0x51, 0x0b, 0x46, 0x9d, 0x20, 0x08, 0x13, - 0x87, 0x2b, 0x62, 0x63, 0x45, 0x74, 0x49, 0xad, 0x8a, 0x85, 0xb4, 0x2c, 0xaf, 0x47, 0xc5, 0x9b, - 0x69, 0x18, 0xac, 0x57, 0x81, 0xee, 0xc3, 0x64, 0x78, 0x9f, 0x0a, 0x4c, 0x79, 0x1a, 0x11, 0x4f, - 0x8f, 0x9b, 0x1d, 0xcb, 0xf1, 0xad, 0x1a, 0x85, 0x35, 0x49, 0x66, 0x32, 0xc5, 0xd9, 0x5a, 0xd0, - 0x9c, 0xe1, 0x61, 0x9e, 0x48, 0x43, 0xa0, 0x53, 0x0f, 0xb3, 0xee, 0x50, 0x66, 0x57, 0x8b, 0x79, - 0xd8, 0x23, 0x93, 0x08, 0x93, 0x99, 0xab, 0xc5, 0x29, 0x0a, 0xeb, 0x74, 0x33, 0x1f, 0x83, 0x51, - 0x6d, 0xe0, 0xfb, 0x89, 0xb5, 0x9d, 0x79, 0x0d, 0xa6, 0xb2, 0x03, 0xda, 0x57, 0xac, 0xee, 0xff, - 0x28, 0xc1, 0x64, 0x97, 0xa3, 0x9e, 0x7b, 0x1e, 0x8b, 0x17, 0x37, 0x44, 0xdf, 0x75, 0x2f, 0x70, - 0x31, 0xc3, 0x98, 0x02, 0xac, 0x54, 0x40, 0x80, 0x49, 0x69, 0x5a, 0xee, 0x29, 0x4d, 0x85, 0xd0, - 0x1a, 0x78, 0x2f, 0x42, 0xcb, 0xdc, 0x27, 0x06, 0x0b, 0xed, 0x13, 0x0f, 0x41, 0xd0, 0x19, 0x5b, - 0xcd, 0x70, 0x81, 0xad, 0xe6, 0x5b, 0x25, 0x98, 0x4a, 0xe3, 0x92, 0x45, 0x22, 0xe0, 0xe3, 0x3f, - 0x39, 0x58, 0x37, 0x4e, 0x0e, 0xf2, 0xf2, 0xfc, 0x66, 0xda, 0xd7, 0xf3, 0x14, 0xe1, 0xcd, 0xcc, - 0x29, 0xc2, 0x4b, 0x7d, 0xf2, 0x3d, 0xfc, 0x44, 0xe1, 0x7b, 0x25, 0x38, 0x9b, 0x2d, 0xb2, 0xe4, - 0x3b, 0x5e, 0xf3, 0x04, 0xc6, 0xeb, 0x33, 0xc6, 0x78, 0xbd, 0xd2, 0x5f, 0xbf, 0x58, 0x23, 0x7b, - 0x0e, 0x9a, 0x93, 0x19, 0xb4, 0x8f, 0x1d, 0x85, 0xf9, 0xe1, 0x23, 0xf7, 0x07, 0x16, 0x3c, 0xd6, - 0xb5, 0xdc, 0x09, 0xf8, 0x4a, 0xdf, 0x30, 0x7d, 0xa5, 0x2f, 0x1e, 0xa1, 0x77, 0x3d, 0x9c, 0xa7, - 0xff, 0xb5, 0xd4, 0xa3, 0x57, 0xcc, 0x9b, 0x74, 0x0b, 0x46, 0x9d, 0x46, 0x83, 0xc4, 0xf1, 0x5a, - 0xe8, 0xaa, 0x24, 0x45, 0x2f, 0xb0, 0xbd, 0x25, 0x05, 0x1f, 0xec, 0xcd, 0xce, 0x64, 0x59, 0xa4, - 0x68, 0xac, 0x73, 0x30, 0xd3, 0xa7, 0x95, 0x8e, 0x29, 0x7d, 0xda, 0x65, 0x80, 0x1d, 0x65, 0xc5, - 0x66, 0x9d, 0x54, 0x9a, 0x7d, 0xab, 0x51, 0xa1, 0xff, 0x9f, 0x69, 0x84, 0x3c, 0xae, 0x62, 0xc0, - 0xbc, 0xe2, 0x98, 0xf3, 0xfd, 0xf4, 0x18, 0x0d, 0x7e, 0x93, 0x52, 0x39, 0xf4, 0x14, 0x4b, 0xfb, - 0xbb, 0x65, 0xf8, 0xe0, 0x21, 0x93, 0x0e, 0x2d, 0x98, 0xc7, 0xa4, 0xcf, 0x67, 0xbd, 0x37, 0x33, - 0x5d, 0x0b, 0x1b, 0xee, 0x9c, 0xcc, 0xb7, 0x2a, 0xbd, 0xe7, 0x6f, 0xf5, 0x0d, 0xdd, 0xd7, 0xc6, - 0x03, 0x25, 0xaf, 0x1e, 0x79, 0x59, 0xfd, 0xbc, 0x7a, 0xc7, 0xbf, 0x6c, 0xc1, 0x93, 0x5d, 0xbb, - 0x65, 0x84, 0x65, 0xcc, 0x43, 0xa5, 0x41, 0x81, 0xda, 0xe5, 0x97, 0xf4, 0xd6, 0x99, 0x44, 0xe0, - 0x94, 0xc6, 0x88, 0xbe, 0x28, 0xe5, 0x46, 0x5f, 0xfc, 0x9e, 0x05, 0x67, 0xb2, 0x8d, 0x38, 0x01, - 0xa9, 0x53, 0x37, 0xa5, 0xce, 0x5c, 0x7f, 0x1f, 0xbf, 0x87, 0xc0, 0xf9, 0xd5, 0x71, 0x78, 0xa4, - 0x63, 0xcf, 0xe2, 0xa3, 0xf8, 0x0b, 0x16, 0x9c, 0xda, 0x62, 0xba, 0xb7, 0x76, 0xc3, 0x48, 0xf4, - 0x2b, 0xe7, 0x5a, 0xd6, 0xa1, 0x17, 0x93, 0xb8, 0x25, 0xd1, 0x41, 0x82, 0x3b, 0x2b, 0x43, 0x5f, - 0xb3, 0xe0, 0x8c, 0x73, 0x3f, 0xee, 0x78, 0x64, 0x42, 0x4c, 0xa4, 0xd7, 0x72, 0x5c, 0x5d, 0x39, - 0xcf, 0x53, 0x2c, 0x4e, 0xef, 0xef, 0xcd, 0x9e, 0xe9, 0x46, 0x85, 0xbb, 0xd6, 0x4a, 0xbf, 0xef, - 0xb6, 0xb8, 0xbf, 0x50, 0xec, 0xae, 0x5c, 0xb7, 0xdb, 0x0e, 0x5c, 0x28, 0x49, 0x0c, 0x56, 0x1c, - 0xd1, 0xdb, 0x50, 0xd9, 0x92, 0x97, 0x8a, 0xb2, 0x42, 0xaf, 0xc7, 0x30, 0x77, 0xbb, 0x83, 0xc4, - 0x83, 0xe5, 0x15, 0x0a, 0xa7, 0x4c, 0xd1, 0x35, 0x28, 0x07, 0x9b, 0xb1, 0xb8, 0xbe, 0x9b, 0x17, - 0x74, 0x63, 0x86, 0x3a, 0xf1, 0x1b, 0x8f, 0x37, 0x57, 0xea, 0x98, 0xb2, 0xa0, 0x9c, 0xa2, 0x0d, - 0x57, 0xf8, 0x78, 0x73, 0x38, 0xe1, 0xc5, 0x6a, 0x27, 0x27, 0xbc, 0x58, 0xc5, 0x94, 0x05, 0xaa, - 0xc1, 0x20, 0xbb, 0x1d, 0x21, 0x1c, 0xb8, 0x39, 0x77, 0xbc, 0x3b, 0xee, 0x80, 0xf0, 0x1c, 0x7d, - 0x0c, 0x8c, 0x39, 0x23, 0xb4, 0x0e, 0x43, 0x0d, 0x96, 0x4f, 0x5d, 0x58, 0xd6, 0x79, 0xd9, 0x0f, - 0x3a, 0x72, 0xaf, 0xf3, 0x83, 0x26, 0x0e, 0xc7, 0x82, 0x17, 0xe3, 0x4a, 0x5a, 0xdb, 0x9b, 0xb1, - 0x30, 0x9d, 0xf3, 0xb8, 0x76, 0x64, 0xc6, 0x17, 0x5c, 0x19, 0x1c, 0x0b, 0x5e, 0xa8, 0x0a, 0xa5, - 0xcd, 0x86, 0x48, 0xf5, 0x99, 0xe3, 0xb8, 0x35, 0xaf, 0xaf, 0x2e, 0x0e, 0xed, 0xef, 0xcd, 0x96, - 0x56, 0x96, 0x70, 0x69, 0xb3, 0x81, 0xde, 0x80, 0xe1, 0x4d, 0x7e, 0x21, 0x51, 0xa4, 0xf5, 0xbc, - 0x94, 0x77, 0x6b, 0xb2, 0xe3, 0xf6, 0x22, 0xbf, 0x10, 0x21, 0x10, 0x58, 0xb2, 0x63, 0x19, 0xcf, - 0xd4, 0x15, 0x4b, 0x91, 0xd7, 0x73, 0xae, 0xbf, 0x2b, 0x99, 0xc2, 0xa2, 0x54, 0x50, 0xac, 0x71, - 0xa4, 0x73, 0xde, 0x91, 0x4f, 0x43, 0xb0, 0x9c, 0x9e, 0xb9, 0x73, 0xbe, 0xeb, 0x4b, 0x12, 0x7c, - 0xce, 0x2b, 0x14, 0x4e, 0x99, 0xa2, 0x36, 0x8c, 0xef, 0xc4, 0xad, 0x6d, 0x22, 0x97, 0x3e, 0x4b, - 0xf4, 0x39, 0x7a, 0xf9, 0x13, 0x39, 0xd9, 0x5b, 0x45, 0x11, 0x2f, 0x4a, 0xda, 0x8e, 0xdf, 0x21, - 0xc1, 0x58, 0x8a, 0xa9, 0x3b, 0x3a, 0x5b, 0x6c, 0xd6, 0x42, 0x3f, 0xc9, 0xbb, 0xed, 0x70, 0x63, - 0x37, 0x21, 0x22, 0x11, 0x68, 0xce, 0x27, 0x79, 0x9d, 0x13, 0x77, 0x7e, 0x12, 0x81, 0xc0, 0x92, - 0x9d, 0x1a, 0x32, 0x26, 0x8d, 0xa7, 0x0a, 0x0f, 0x59, 0x47, 0x1f, 0xd2, 0x21, 0x63, 0xd2, 0x37, - 0x65, 0xca, 0xa4, 0x6e, 0x6b, 0x3b, 0x4c, 0xc2, 0x20, 0x23, 0xfb, 0x4f, 0x15, 0x91, 0xba, 0xb5, - 0x2e, 0x25, 0x3b, 0xa5, 0x6e, 0x37, 0x2a, 0xdc, 0xb5, 0x56, 0xfb, 0x3f, 0x0f, 0x76, 0x6e, 0xb7, - 0x4c, 0x1d, 0xfe, 0xab, 0x9d, 0xa7, 0x8f, 0x9f, 0xea, 0xdf, 0xea, 0x7b, 0x88, 0xe7, 0x90, 0x5f, - 0xb3, 0xe0, 0x91, 0x56, 0xd7, 0xcd, 0x54, 0x6c, 0x58, 0xfd, 0x1a, 0x8f, 0x7c, 0xc0, 0x54, 0x96, - 0xdb, 0xee, 0x78, 0xdc, 0xa3, 0xce, 0xac, 0x0a, 0x5a, 0x7e, 0xcf, 0x2a, 0xe8, 0x5d, 0x18, 0x61, - 0x3a, 0x53, 0x9a, 0x92, 0xa3, 0xcf, 0xec, 0x15, 0x6c, 0xeb, 0x5b, 0x12, 0x2c, 0xb0, 0x62, 0x46, - 0x07, 0xee, 0x89, 0x6c, 0x27, 0x30, 0x61, 0x68, 0x91, 0x09, 0x96, 0x7b, 0x3b, 0x56, 0xc4, 0x48, - 0x3c, 0x51, 0x3b, 0x8c, 0xf8, 0x20, 0x8f, 0x00, 0x1f, 0x5e, 0xd9, 0xc9, 0xaa, 0xb4, 0x7f, 0xdf, - 0xea, 0xa2, 0x81, 0x71, 0x33, 0xe4, 0x13, 0xa6, 0x19, 0xf2, 0x4c, 0xd6, 0x0c, 0xe9, 0x70, 0x1d, - 0x18, 0x16, 0x48, 0xf1, 0xac, 0x8e, 0x45, 0xb3, 0x85, 0xd8, 0x3e, 0x9c, 0xcf, 0x5b, 0xde, 0x2c, - 0xd6, 0xc7, 0x55, 0x47, 0x66, 0x69, 0xac, 0x8f, 0xbb, 0x5a, 0xc5, 0x0c, 0x53, 0xf4, 0xc2, 0xb9, - 0xfd, 0x8b, 0x25, 0x28, 0xd7, 0x42, 0xf7, 0x04, 0x5c, 0x21, 0x57, 0x0d, 0x57, 0xc8, 0xd3, 0xb9, - 0x4f, 0x63, 0xf5, 0x74, 0x7c, 0xdc, 0xca, 0x38, 0x3e, 0x3e, 0x9c, 0xcf, 0xea, 0x70, 0x37, 0xc7, - 0xf7, 0xcb, 0xa0, 0x3f, 0xee, 0x85, 0xfe, 0xcd, 0x51, 0x42, 0x40, 0xcb, 0xc5, 0xde, 0xfb, 0x12, - 0x75, 0xb0, 0x50, 0x21, 0x79, 0x71, 0xec, 0xe7, 0x36, 0x12, 0xf4, 0x2e, 0xf1, 0xb6, 0xb6, 0x13, - 0xe2, 0x66, 0x3b, 0x76, 0x72, 0x91, 0xa0, 0x7f, 0x6a, 0xc1, 0x64, 0xa6, 0x76, 0xe4, 0x77, 0xbb, - 0x71, 0x72, 0x44, 0xe7, 0xc6, 0xa9, 0xdc, 0x2b, 0x2a, 0x73, 0x00, 0xca, 0x47, 0x2d, 0x5d, 0x10, - 0x4c, 0x1b, 0x53, 0x4e, 0xec, 0x18, 0x6b, 0x14, 0xe8, 0x65, 0x18, 0x4d, 0xc2, 0x56, 0xe8, 0x87, - 0x5b, 0xbb, 0xd7, 0x89, 0x4c, 0x85, 0xa0, 0xfc, 0xfb, 0xeb, 0x29, 0x0a, 0xeb, 0x74, 0xf6, 0x0f, - 0xca, 0x90, 0x7d, 0x1a, 0xee, 0xff, 0xcd, 0xd3, 0x9f, 0x9f, 0x79, 0xfa, 0x87, 0x16, 0x4c, 0xd1, - 0xda, 0x59, 0xa0, 0x87, 0x8c, 0xd8, 0x54, 0x29, 0xe6, 0xad, 0x43, 0x52, 0xcc, 0x3f, 0x43, 0xa5, - 0x9d, 0x1b, 0xb6, 0x13, 0xe1, 0x34, 0xd1, 0x84, 0x18, 0x85, 0x62, 0x81, 0x15, 0x74, 0x24, 0x8a, - 0xc4, 0xd5, 0x16, 0x9d, 0x8e, 0x44, 0x11, 0x16, 0x58, 0x99, 0x81, 0x7e, 0xa0, 0x47, 0x06, 0x7a, - 0x96, 0x4c, 0x48, 0x04, 0x17, 0x08, 0x85, 0x40, 0x4b, 0x26, 0x24, 0xa3, 0x0e, 0x52, 0x1a, 0xfb, - 0x3b, 0x65, 0x18, 0xab, 0x85, 0x6e, 0x1a, 0x8a, 0xfd, 0x92, 0x11, 0x8a, 0x7d, 0x3e, 0x13, 0x8a, - 0x3d, 0xa5, 0xd3, 0x3e, 0x9c, 0x48, 0x6c, 0x91, 0x74, 0x8a, 0xbd, 0x91, 0x70, 0xc4, 0x28, 0x6c, - 0x23, 0xe9, 0x94, 0x62, 0x84, 0x4d, 0xbe, 0x7f, 0x9e, 0xa2, 0xaf, 0xff, 0x97, 0x05, 0x13, 0xb5, - 0xd0, 0xa5, 0x13, 0xf4, 0xcf, 0xd3, 0x6c, 0xd4, 0x53, 0x55, 0x0d, 0x1d, 0x92, 0xaa, 0xea, 0x1f, - 0x59, 0x30, 0x5c, 0x0b, 0xdd, 0x13, 0x70, 0x28, 0xae, 0x98, 0x0e, 0xc5, 0x27, 0x73, 0x25, 0x6f, - 0x0f, 0x1f, 0xe2, 0x77, 0xcb, 0x30, 0x4e, 0x5b, 0x1c, 0x6e, 0xc9, 0xef, 0x65, 0x8c, 0x8d, 0x55, - 0x60, 0x6c, 0xa8, 0x4a, 0x18, 0xfa, 0x7e, 0x78, 0x3f, 0xfb, 0xed, 0x56, 0x18, 0x14, 0x0b, 0x2c, - 0xba, 0x08, 0x23, 0xad, 0x88, 0xec, 0x78, 0x61, 0x3b, 0xce, 0x5e, 0x93, 0xab, 0x09, 0x38, 0x56, - 0x14, 0xe8, 0x25, 0x18, 0x8b, 0xbd, 0xa0, 0x41, 0x64, 0xe8, 0xc1, 0x00, 0x0b, 0x3d, 0xe0, 0x59, - 0x01, 0x35, 0x38, 0x36, 0xa8, 0xd0, 0x5d, 0xa8, 0xb0, 0xff, 0x6c, 0x05, 0xf5, 0x9f, 0x42, 0x9e, - 0xa7, 0xc2, 0x92, 0x0c, 0x70, 0xca, 0x0b, 0x5d, 0x06, 0x48, 0x64, 0x90, 0x44, 0x2c, 0x12, 0x7a, - 0x28, 0xbd, 0x54, 0x85, 0x4f, 0xc4, 0x58, 0xa3, 0x42, 0xcf, 0x43, 0x25, 0x71, 0x3c, 0xff, 0x86, - 0x17, 0x90, 0x58, 0x04, 0x99, 0x88, 0x0c, 0xbf, 0x02, 0x88, 0x53, 0x3c, 0xdd, 0xef, 0xd9, 0x25, - 0x5d, 0xfe, 0x3c, 0xc5, 0x08, 0xa3, 0x66, 0xfb, 0xfd, 0x0d, 0x05, 0xc5, 0x1a, 0x85, 0x7d, 0x05, - 0xce, 0xd6, 0x42, 0xb7, 0x16, 0x46, 0xc9, 0x4a, 0x18, 0xdd, 0x77, 0x22, 0x57, 0x7e, 0xbf, 0x59, - 0x99, 0x58, 0x96, 0xee, 0xc9, 0x83, 0xdc, 0xc7, 0x66, 0x24, 0x8a, 0x7d, 0x91, 0xed, 0xf8, 0x7d, - 0xc6, 0xf8, 0xff, 0xb8, 0x04, 0xa8, 0xc6, 0xc2, 0x38, 0x8c, 0xd7, 0x4c, 0xb6, 0x61, 0x22, 0x26, - 0x37, 0xbc, 0xa0, 0xfd, 0x40, 0xb0, 0x2a, 0x76, 0xa9, 0xa2, 0xbe, 0xac, 0x97, 0xe1, 0x37, 0x5a, - 0x4d, 0x18, 0xce, 0xf0, 0xa5, 0x83, 0x19, 0xb5, 0x83, 0x85, 0xf8, 0x76, 0x4c, 0x22, 0xf1, 0x7a, - 0x07, 0x1b, 0x4c, 0x2c, 0x81, 0x38, 0xc5, 0xd3, 0xc9, 0xc3, 0xfe, 0xdc, 0x0c, 0x03, 0x1c, 0x86, - 0x89, 0x9c, 0x6e, 0x2c, 0x9b, 0xbb, 0x06, 0xc7, 0x06, 0x15, 0x5a, 0x01, 0x14, 0xb7, 0x5b, 0x2d, - 0x9f, 0x9d, 0x8c, 0x39, 0xfe, 0xd5, 0x28, 0x6c, 0xb7, 0x78, 0x34, 0xaf, 0x48, 0x84, 0x5e, 0xef, - 0xc0, 0xe2, 0x2e, 0x25, 0xa8, 0xb0, 0xd8, 0x8c, 0xd9, 0x6f, 0x71, 0x63, 0x97, 0xfb, 0xe7, 0xea, - 0x0c, 0x84, 0x25, 0xce, 0xfe, 0x12, 0xdb, 0xe0, 0xd8, 0xb3, 0x0a, 0x49, 0x3b, 0x22, 0xa8, 0x09, - 0xe3, 0x2d, 0xb6, 0x89, 0x25, 0x51, 0xe8, 0xfb, 0x44, 0xea, 0x97, 0x47, 0x0b, 0x24, 0xe1, 0x89, - 0xd4, 0x75, 0x76, 0xd8, 0xe4, 0x6e, 0xff, 0xda, 0x38, 0x93, 0x55, 0xe2, 0x70, 0x72, 0x58, 0x84, - 0x8c, 0x0a, 0x4d, 0xee, 0x43, 0x45, 0x1e, 0x48, 0x4a, 0xf7, 0x01, 0x11, 0x80, 0x8a, 0x25, 0x17, - 0xf4, 0x39, 0x16, 0x10, 0xcd, 0x05, 0x44, 0xf1, 0xf7, 0xcd, 0x38, 0xbd, 0x11, 0x0c, 0x2d, 0x58, - 0x60, 0x8d, 0x1d, 0xba, 0x01, 0xe3, 0x22, 0x0b, 0xbf, 0x70, 0x30, 0x94, 0x0d, 0x13, 0x7b, 0x1c, - 0xeb, 0xc8, 0x83, 0x2c, 0x00, 0x9b, 0x85, 0xd1, 0x16, 0x3c, 0xa1, 0xbd, 0x32, 0xd3, 0x25, 0xe8, - 0x89, 0x4b, 0x9e, 0x27, 0xf7, 0xf7, 0x66, 0x9f, 0x58, 0x3f, 0x8c, 0x10, 0x1f, 0xce, 0x07, 0xdd, - 0x82, 0xb3, 0x4e, 0x23, 0xf1, 0x76, 0x48, 0x95, 0x38, 0xae, 0xef, 0x05, 0xc4, 0xbc, 0xd6, 0xfd, - 0xd8, 0xfe, 0xde, 0xec, 0xd9, 0x85, 0x6e, 0x04, 0xb8, 0x7b, 0x39, 0xf4, 0x09, 0xa8, 0xb8, 0x41, - 0x2c, 0xc6, 0x60, 0xc8, 0x78, 0x54, 0xa9, 0x52, 0xbd, 0x59, 0x57, 0xfd, 0x4f, 0xff, 0xe0, 0xb4, - 0x00, 0x7a, 0x97, 0xbf, 0x8e, 0xad, 0xac, 0x19, 0xfe, 0x98, 0xd7, 0x2b, 0x85, 0xec, 0x67, 0xe3, - 0xb2, 0x05, 0xf7, 0xbd, 0xa9, 0xe0, 0x42, 0xe3, 0x1e, 0x86, 0x51, 0x05, 0xfa, 0x34, 0xa0, 0x98, - 0x44, 0x3b, 0x5e, 0x83, 0x2c, 0x34, 0x58, 0x2a, 0x4d, 0x76, 0xc8, 0x37, 0x62, 0x44, 0xd9, 0xa3, - 0x7a, 0x07, 0x05, 0xee, 0x52, 0x0a, 0x5d, 0xa3, 0x92, 0x47, 0x87, 0x8a, 0x58, 0x50, 0xa9, 0x18, - 0x4e, 0x57, 0x49, 0x2b, 0x22, 0x0d, 0x27, 0x21, 0xae, 0xc9, 0x11, 0x67, 0xca, 0xd1, 0x7d, 0x49, - 0x65, 0x4b, 0x07, 0x33, 0x82, 0xb1, 0x33, 0x63, 0x3a, 0xb5, 0xb3, 0xb6, 0xc3, 0x38, 0xb9, 0x49, - 0x92, 0xfb, 0x61, 0x74, 0x8f, 0xf9, 0xec, 0x47, 0xb4, 0xbc, 0x64, 0x29, 0x0a, 0xeb, 0x74, 0x54, - 0x87, 0x62, 0x87, 0x45, 0xab, 0x55, 0xe6, 0x89, 0x1f, 0x49, 0xd7, 0xce, 0x35, 0x0e, 0xc6, 0x12, - 0x2f, 0x49, 0x57, 0x6b, 0x4b, 0xcc, 0xab, 0x9e, 0x21, 0x5d, 0xad, 0x2d, 0x61, 0x89, 0x47, 0x61, - 0xe7, 0xd3, 0x55, 0x13, 0x45, 0x4e, 0x38, 0x3a, 0x25, 0x79, 0xc1, 0xd7, 0xab, 0x1e, 0xc0, 0x94, - 0x7a, 0x3e, 0x8b, 0xa7, 0x8c, 0x8c, 0xa7, 0x27, 0x8b, 0xbc, 0xcd, 0xdd, 0x35, 0xf3, 0xa4, 0x0a, - 0xfe, 0x5d, 0xcd, 0xf0, 0xc4, 0x1d, 0xb5, 0x18, 0xe9, 0x09, 0xa6, 0x72, 0x33, 0xe0, 0xcf, 0x43, - 0x25, 0x6e, 0x6f, 0xb8, 0x61, 0xd3, 0xf1, 0x02, 0xe6, 0xfa, 0xd6, 0x5f, 0x9a, 0x96, 0x08, 0x9c, - 0xd2, 0xa0, 0x1a, 0x8c, 0x38, 0xf2, 0x91, 0x75, 0x54, 0xe4, 0xfa, 0xb2, 0x7a, 0x5d, 0x9d, 0xf9, - 0x45, 0xd5, 0xb3, 0xea, 0x8a, 0x0b, 0x7a, 0x15, 0xc6, 0xc5, 0xed, 0x1b, 0x12, 0xb1, 0x56, 0x9f, - 0x36, 0xc3, 0xbe, 0xeb, 0x12, 0xc9, 0x26, 0x98, 0x49, 0x8b, 0xb6, 0x60, 0x82, 0x72, 0x49, 0x05, - 0xe0, 0xf4, 0x99, 0xfe, 0x64, 0xa8, 0x96, 0x6b, 0x58, 0x67, 0x83, 0x33, 0x6c, 0x91, 0x0b, 0x8f, - 0x3b, 0xed, 0x24, 0x6c, 0xd2, 0x95, 0x60, 0xae, 0x93, 0xf5, 0xf0, 0x1e, 0x09, 0xa6, 0xcf, 0xb2, - 0x19, 0x78, 0x7e, 0x7f, 0x6f, 0xf6, 0xf1, 0x85, 0x43, 0xe8, 0xf0, 0xa1, 0x5c, 0x66, 0x3e, 0x09, - 0xa7, 0x3a, 0x24, 0x46, 0x5f, 0xb1, 0x80, 0xff, 0x76, 0x10, 0x2a, 0xca, 0xe1, 0x86, 0xe6, 0x4d, - 0xdf, 0xea, 0x63, 0x59, 0xdf, 0xea, 0x08, 0xd5, 0x6f, 0x74, 0x77, 0xea, 0xe7, 0xbb, 0x3c, 0xdc, - 0xfb, 0x5c, 0xee, 0x12, 0x29, 0x7e, 0x3d, 0xa7, 0x8f, 0xe7, 0x8d, 0x53, 0xa3, 0x6b, 0xe0, 0x50, - 0xa3, 0xab, 0xe0, 0x1b, 0x5d, 0xd4, 0xbc, 0x6a, 0x85, 0xee, 0x6a, 0x2d, 0xfb, 0x04, 0x4d, 0x8d, - 0x02, 0x31, 0xc7, 0x31, 0xb5, 0x98, 0x6e, 0x79, 0x4c, 0x2d, 0x1e, 0x3e, 0xa2, 0x5a, 0x2c, 0x19, - 0xe0, 0x94, 0x17, 0xda, 0x81, 0x53, 0x0d, 0xf3, 0x45, 0x21, 0x75, 0xe9, 0xe6, 0x85, 0x3e, 0x5e, - 0xf4, 0x69, 0x6b, 0xaf, 0x27, 0x2c, 0x65, 0xf9, 0xe1, 0xce, 0x2a, 0xd0, 0xab, 0x30, 0xf2, 0x6e, - 0x18, 0x2f, 0xf9, 0x4e, 0x1c, 0x0b, 0xb9, 0x2f, 0x2f, 0x37, 0x8c, 0xbc, 0x7e, 0xab, 0xce, 0xe0, - 0x07, 0x7b, 0xb3, 0xa3, 0xb5, 0xd0, 0x95, 0x7f, 0xb1, 0x2a, 0x80, 0xbe, 0x6c, 0xc1, 0x59, 0x63, - 0x19, 0xa8, 0x96, 0xc3, 0x51, 0x5a, 0xfe, 0x84, 0xa8, 0xf9, 0xec, 0x6a, 0x37, 0x9e, 0xb8, 0x7b, - 0x55, 0xf6, 0xef, 0x70, 0x0f, 0xa3, 0xf0, 0x39, 0x90, 0xb8, 0xed, 0x9f, 0x44, 0x26, 0xf3, 0x5b, - 0x86, 0x3b, 0xe4, 0x21, 0xf8, 0xb8, 0xff, 0xb5, 0xc5, 0x7c, 0xdc, 0xeb, 0xa4, 0xd9, 0xf2, 0x9d, - 0xe4, 0x24, 0x42, 0x45, 0x3f, 0x07, 0x23, 0x89, 0xa8, 0xad, 0x58, 0x1a, 0x76, 0xad, 0x79, 0xcc, - 0xf7, 0xaf, 0xf6, 0x0d, 0x09, 0xc5, 0x8a, 0xa1, 0xfd, 0xcf, 0xf9, 0x57, 0x91, 0x98, 0x13, 0x30, - 0xe4, 0x6f, 0x9a, 0x86, 0xfc, 0xb3, 0x85, 0xfb, 0xd2, 0xc3, 0xa0, 0xff, 0x81, 0xd9, 0x03, 0xa6, - 0xde, 0xff, 0xfc, 0x1c, 0xc2, 0xd8, 0xb7, 0xc0, 0x7c, 0xfe, 0x09, 0xbd, 0xc6, 0x83, 0xaf, 0xb9, - 0xa4, 0xbf, 0xd8, 0x77, 0xe0, 0xb5, 0xfd, 0x1b, 0x25, 0x38, 0xc3, 0xdd, 0xb0, 0x0b, 0x3b, 0xa1, - 0xe7, 0xd6, 0x42, 0x57, 0x84, 0xa2, 0xbb, 0x30, 0xd6, 0xd2, 0xcc, 0xaf, 0x62, 0xd9, 0x36, 0x74, - 0x83, 0x2d, 0x55, 0x79, 0x75, 0x28, 0x36, 0xb8, 0xd2, 0x5a, 0xc8, 0x8e, 0xd7, 0x50, 0x5e, 0xbd, - 0x52, 0xdf, 0xc2, 0x57, 0xd5, 0xb2, 0xac, 0xf1, 0xc1, 0x06, 0xd7, 0x63, 0x78, 0x31, 0xc0, 0xfe, - 0xbb, 0x16, 0x3c, 0xda, 0x23, 0x23, 0x07, 0xad, 0xee, 0x3e, 0x73, 0x7d, 0x8b, 0xf7, 0xc5, 0x54, - 0x75, 0xdc, 0x21, 0x8e, 0x05, 0x16, 0x6d, 0x00, 0x70, 0x87, 0x36, 0x7b, 0x6d, 0xba, 0x54, 0x24, - 0x02, 0xa5, 0xe3, 0xde, 0xbb, 0x76, 0x25, 0x5a, 0xbd, 0x2f, 0xad, 0x71, 0xb5, 0xbf, 0x5d, 0x86, - 0x41, 0xfe, 0x8c, 0x6d, 0x0d, 0x86, 0xb7, 0x79, 0x86, 0xd0, 0xfe, 0x12, 0x94, 0xa6, 0xea, 0x35, - 0x07, 0x60, 0xc9, 0x06, 0xad, 0xc1, 0x69, 0x2a, 0xbc, 0x3d, 0xc7, 0xaf, 0x12, 0xdf, 0xd9, 0x95, - 0xf6, 0x1a, 0x4f, 0x23, 0x2f, 0xf3, 0x1d, 0x9f, 0x5e, 0xed, 0x24, 0xc1, 0xdd, 0xca, 0xa1, 0xd7, - 0x3a, 0x12, 0x7a, 0xf1, 0xcc, 0xab, 0x4a, 0x57, 0x3b, 0x3c, 0xa9, 0x17, 0xd5, 0x28, 0x5b, 0x1d, - 0x96, 0xa9, 0xf6, 0x5a, 0xa8, 0x69, 0x8d, 0x9a, 0xb4, 0xa8, 0x0a, 0x53, 0x71, 0x9b, 0xc5, 0x03, - 0xac, 0x6f, 0x47, 0x24, 0xde, 0x0e, 0x7d, 0x57, 0x3c, 0x74, 0xa7, 0xb4, 0xf0, 0x7a, 0x06, 0x8f, - 0x3b, 0x4a, 0x50, 0x2e, 0x9b, 0x8e, 0xe7, 0xb7, 0x23, 0x92, 0x72, 0x19, 0x32, 0xb9, 0xac, 0x64, - 0xf0, 0xb8, 0xa3, 0x84, 0xfd, 0x27, 0x16, 0x9c, 0xee, 0x12, 0x34, 0xc3, 0x43, 0x39, 0xb7, 0xbc, - 0x38, 0x51, 0xc9, 0xc2, 0xb5, 0x50, 0x4e, 0x0e, 0xc7, 0x8a, 0x82, 0xce, 0x42, 0xee, 0x6e, 0xc8, - 0x1e, 0x45, 0x8b, 0xb0, 0x00, 0x81, 0xed, 0x2f, 0x3d, 0x17, 0x3a, 0x0f, 0x03, 0xed, 0x98, 0x44, - 0xf2, 0xdd, 0x2c, 0x29, 0xa2, 0x98, 0x87, 0x89, 0x61, 0xa8, 0xc6, 0xb5, 0xa5, 0x9c, 0x3b, 0x9a, - 0xc6, 0xc5, 0xdd, 0x3b, 0x1c, 0x67, 0x7f, 0xa3, 0x0c, 0x93, 0x99, 0xe0, 0x39, 0xda, 0x90, 0x66, - 0x18, 0x78, 0x49, 0xa8, 0x52, 0x42, 0xf1, 0xa7, 0x7a, 0x48, 0x6b, 0x7b, 0x4d, 0xc0, 0xb1, 0xa2, - 0x40, 0xcf, 0x98, 0x6f, 0x8a, 0xa7, 0x6d, 0x5e, 0xac, 0x1a, 0xcf, 0x0b, 0x16, 0x7d, 0xc0, 0xe0, - 0x29, 0x18, 0x68, 0x85, 0xea, 0xa9, 0x58, 0x35, 0xe9, 0xf1, 0x62, 0xb5, 0x16, 0x86, 0x3e, 0x66, - 0x48, 0xf4, 0xb4, 0xe8, 0x7d, 0xc6, 0x27, 0x8e, 0x1d, 0x37, 0x8c, 0xb5, 0x21, 0x78, 0x16, 0x86, - 0xef, 0x91, 0xdd, 0xc8, 0x0b, 0xb6, 0xb2, 0x27, 0x02, 0xd7, 0x39, 0x18, 0x4b, 0xbc, 0xf9, 0x48, - 0xc1, 0xf0, 0x31, 0x3f, 0x52, 0x30, 0x92, 0x1b, 0xff, 0xfb, 0x5d, 0x0b, 0x26, 0x59, 0x9e, 0x44, - 0x71, 0x45, 0xd9, 0x0b, 0x83, 0x13, 0xd8, 0x1e, 0x9f, 0x82, 0xc1, 0x88, 0x56, 0x9a, 0xcd, 0x32, - 0xce, 0x5a, 0x82, 0x39, 0x0e, 0x3d, 0x0e, 0x03, 0xac, 0x09, 0xf4, 0x33, 0x8e, 0xf1, 0x74, 0xcc, - 0x55, 0x27, 0x71, 0x30, 0x83, 0xb2, 0xdb, 0x26, 0x98, 0xb4, 0x7c, 0x8f, 0x37, 0x3a, 0x75, 0xe4, - 0xbd, 0xdf, 0x6e, 0x9b, 0x74, 0x6d, 0xe4, 0xc3, 0xba, 0x6d, 0xd2, 0x9d, 0xf9, 0xe1, 0x2a, 0xea, - 0x7f, 0x2f, 0xc1, 0xb9, 0xae, 0xe5, 0xd2, 0xb3, 0xc5, 0x15, 0xe3, 0x6c, 0xf1, 0x72, 0xe6, 0x6c, - 0xd1, 0x3e, 0xbc, 0xf4, 0xc3, 0x39, 0x6d, 0xec, 0x7e, 0x08, 0x58, 0x3e, 0xc1, 0x43, 0xc0, 0x81, - 0xa2, 0xaa, 0xc3, 0x60, 0x8e, 0xea, 0xf0, 0x07, 0x16, 0x3c, 0xd6, 0x75, 0xc8, 0xde, 0x77, 0xd7, - 0x7b, 0xba, 0xb6, 0xb2, 0x87, 0x62, 0xfd, 0x2b, 0xe5, 0x1e, 0xbd, 0x62, 0x2a, 0xf6, 0x05, 0x2a, - 0x85, 0x18, 0x32, 0x16, 0x4a, 0xd1, 0x18, 0x97, 0x40, 0x1c, 0x86, 0x15, 0x16, 0xc5, 0xda, 0xf5, - 0x18, 0xde, 0xc8, 0xe5, 0x23, 0x2e, 0xa8, 0x39, 0xd3, 0x03, 0xab, 0xdf, 0xbb, 0xce, 0x5c, 0x9a, - 0x41, 0x77, 0x35, 0xa3, 0xa9, 0x7c, 0x14, 0xa3, 0x69, 0xac, 0xbb, 0xc1, 0x84, 0x16, 0x60, 0xb2, - 0xe9, 0x05, 0xec, 0x6d, 0x43, 0x53, 0x2b, 0x51, 0x77, 0x14, 0xd7, 0x4c, 0x34, 0xce, 0xd2, 0xcf, - 0xbc, 0x0a, 0xe3, 0x47, 0x77, 0x0c, 0xfd, 0xa4, 0x0c, 0x1f, 0x3c, 0x44, 0x28, 0xf0, 0xdd, 0xc1, - 0xf8, 0x2e, 0xda, 0xee, 0xd0, 0xf1, 0x6d, 0x6a, 0x70, 0x66, 0xb3, 0xed, 0xfb, 0xbb, 0x2c, 0x32, - 0x87, 0xb8, 0x92, 0x42, 0x68, 0x7c, 0xea, 0xd5, 0xe1, 0x95, 0x2e, 0x34, 0xb8, 0x6b, 0x49, 0xf4, - 0x69, 0x40, 0xe1, 0x06, 0xcb, 0x24, 0xea, 0xa6, 0xf7, 0xca, 0xd9, 0x27, 0x28, 0xa7, 0x4b, 0xf5, - 0x56, 0x07, 0x05, 0xee, 0x52, 0x8a, 0xea, 0x7f, 0xec, 0xc1, 0x62, 0xd5, 0xac, 0x8c, 0xfe, 0x87, - 0x75, 0x24, 0x36, 0x69, 0xd1, 0x55, 0x38, 0xe5, 0xec, 0x38, 0x1e, 0xcf, 0x0c, 0x24, 0x19, 0x70, - 0x05, 0x50, 0xb9, 0x5e, 0x16, 0xb2, 0x04, 0xb8, 0xb3, 0x0c, 0x6a, 0x19, 0xbe, 0x34, 0x9e, 0x43, - 0xfc, 0x13, 0x47, 0x98, 0xc1, 0x85, 0xbd, 0x6b, 0xf6, 0x7f, 0xb1, 0xe8, 0xd6, 0xd7, 0xe5, 0x19, - 0x3c, 0xe3, 0xfd, 0x7c, 0xed, 0xc2, 0x50, 0xe7, 0xfb, 0xf9, 0xdc, 0xc7, 0x6a, 0xd0, 0xf2, 0xa9, - 0x11, 0xa7, 0x21, 0xbe, 0x86, 0xb6, 0x29, 0x6e, 0xca, 0x29, 0x0a, 0xf4, 0x19, 0x18, 0x76, 0xbd, - 0x1d, 0x2f, 0x0e, 0x23, 0xb1, 0x80, 0xfa, 0x0c, 0x1b, 0x4d, 0xe5, 0x65, 0x95, 0xb3, 0xc1, 0x92, - 0x9f, 0xfd, 0xcd, 0x12, 0x8c, 0xcb, 0x1a, 0x5f, 0x6f, 0x87, 0x89, 0x73, 0x02, 0x5b, 0xfa, 0xeb, - 0xc6, 0x96, 0x3e, 0x5f, 0xec, 0xe2, 0x20, 0x6b, 0x5c, 0xcf, 0xad, 0xfc, 0x33, 0x99, 0xad, 0xfc, - 0x52, 0x3f, 0x4c, 0x0f, 0xdf, 0xc2, 0xff, 0xa5, 0x05, 0xa7, 0x0c, 0xfa, 0x13, 0xd8, 0x49, 0x6a, - 0xe6, 0x4e, 0xf2, 0x7c, 0x1f, 0xbd, 0xe9, 0xb1, 0x83, 0x7c, 0xa7, 0x94, 0xe9, 0x05, 0xdb, 0x39, - 0xbe, 0x08, 0x03, 0xdb, 0x4e, 0xe4, 0x16, 0x4b, 0x93, 0xd7, 0x51, 0x7c, 0xee, 0x9a, 0x13, 0xb9, - 0x5c, 0xfe, 0x5f, 0x54, 0x8f, 0xf4, 0x38, 0x91, 0x9b, 0x1b, 0xf9, 0xce, 0x2a, 0x45, 0x57, 0x60, - 0x28, 0x6e, 0x84, 0x2d, 0x15, 0x61, 0x78, 0x9e, 0x3f, 0xe0, 0x43, 0x21, 0x07, 0x7b, 0xb3, 0xc8, - 0xac, 0x8e, 0x82, 0xb1, 0xa0, 0x9f, 0xd9, 0x82, 0x8a, 0xaa, 0xfa, 0x58, 0x63, 0xac, 0xff, 0x5b, - 0x19, 0x4e, 0x77, 0x99, 0x2b, 0xe8, 0x4b, 0xc6, 0xb8, 0xbd, 0xda, 0xf7, 0x64, 0x7b, 0x8f, 0x23, - 0xf7, 0x25, 0x66, 0x29, 0xb9, 0x62, 0x76, 0x1c, 0xa1, 0xfa, 0xdb, 0x31, 0xc9, 0x56, 0x4f, 0x41, - 0xf9, 0xd5, 0xd3, 0x6a, 0x4f, 0x6c, 0xf8, 0x69, 0x45, 0xaa, 0xa5, 0xc7, 0xfa, 0x9d, 0xff, 0xe2, - 0x00, 0x9c, 0xe9, 0x76, 0x43, 0x19, 0x7d, 0xd5, 0xca, 0xe4, 0xc2, 0x7f, 0xad, 0xff, 0x6b, 0xce, - 0x3c, 0x41, 0xbe, 0xc8, 0xea, 0x31, 0x67, 0x66, 0xc7, 0xcf, 0x1d, 0x71, 0x51, 0x3b, 0xbb, 0xb3, - 0x12, 0xf1, 0x77, 0x0d, 0xa4, 0x54, 0xf8, 0xd4, 0x11, 0x9a, 0x22, 0x9e, 0x46, 0x88, 0x33, 0x77, - 0x56, 0x24, 0x38, 0xff, 0xce, 0x8a, 0x6c, 0xc3, 0x8c, 0x07, 0xa3, 0x5a, 0xbf, 0x8e, 0x75, 0x1a, - 0xdc, 0xa3, 0x5b, 0x94, 0xd6, 0xee, 0x63, 0x9d, 0x0a, 0x7f, 0xcb, 0x82, 0x4c, 0x38, 0x90, 0x72, - 0xcb, 0x58, 0x3d, 0xdd, 0x32, 0xe7, 0x61, 0x20, 0x0a, 0x7d, 0x92, 0xcd, 0xd3, 0x8e, 0x43, 0x9f, - 0x60, 0x86, 0x51, 0xef, 0x76, 0x96, 0x7b, 0xbd, 0xdb, 0x49, 0xed, 0x74, 0x9f, 0xec, 0x10, 0xe9, - 0x24, 0x51, 0x62, 0xfc, 0x06, 0x05, 0x62, 0x8e, 0xb3, 0x7f, 0xbf, 0x0c, 0x43, 0xdc, 0x13, 0x71, - 0x02, 0xfb, 0x74, 0x4d, 0x38, 0x05, 0x0a, 0xdd, 0x1b, 0xe6, 0xad, 0x9a, 0xab, 0x3a, 0x89, 0xc3, - 0x27, 0x97, 0xea, 0x63, 0xea, 0x48, 0x40, 0x73, 0xc6, 0x28, 0xcc, 0x64, 0x6c, 0x5d, 0xe0, 0x3c, - 0xb4, 0x31, 0xd9, 0x06, 0x88, 0xd9, 0x3b, 0x71, 0x94, 0x87, 0xc8, 0x6d, 0xf8, 0x52, 0xa1, 0x76, - 0xd4, 0x55, 0x31, 0xde, 0x9a, 0x34, 0xa1, 0x9a, 0x42, 0x60, 0x8d, 0xf7, 0xcc, 0x2b, 0x50, 0x51, - 0xc4, 0x79, 0x46, 0xc0, 0x98, 0x3e, 0x39, 0xff, 0x3f, 0x98, 0xcc, 0xd4, 0xd5, 0x97, 0x0d, 0xf1, - 0xdb, 0x16, 0x4c, 0x66, 0x9e, 0xb8, 0x46, 0x5f, 0xb1, 0xe0, 0x8c, 0xdf, 0xc5, 0x11, 0x25, 0x3e, - 0xf3, 0x51, 0x5c, 0x58, 0xca, 0x7c, 0xe8, 0x86, 0xc5, 0x5d, 0x6b, 0xa3, 0x66, 0x25, 0x7f, 0xf6, - 0xd2, 0xf1, 0x45, 0x74, 0xe5, 0x18, 0x4f, 0xc4, 0xca, 0x61, 0x58, 0x61, 0xed, 0x9f, 0x5a, 0x70, - 0xaa, 0xe3, 0x15, 0xe5, 0xf7, 0x4b, 0x37, 0x44, 0xca, 0xd9, 0x52, 0x8f, 0x94, 0xb3, 0x7a, 0x2f, - 0xcb, 0x87, 0xf6, 0xf2, 0x37, 0x2c, 0x10, 0x33, 0xf4, 0x04, 0x34, 0xc0, 0x55, 0x53, 0x03, 0xfc, - 0x50, 0x91, 0x49, 0xdf, 0x43, 0xf5, 0xfb, 0x33, 0x0b, 0x10, 0x27, 0xc8, 0xbe, 0x8f, 0xc9, 0x1d, - 0x99, 0x9a, 0xf1, 0x92, 0xae, 0x12, 0x85, 0xc1, 0x1a, 0x55, 0x9f, 0x2f, 0x17, 0xa8, 0xe7, 0xe2, - 0xba, 0x37, 0x0c, 0x5d, 0x82, 0x51, 0xf1, 0x5c, 0xd4, 0x5a, 0xfa, 0x14, 0xdc, 0x24, 0x7b, 0xbd, - 0x34, 0x05, 0x63, 0x9d, 0xc6, 0xf8, 0x5a, 0x03, 0x87, 0x7e, 0xad, 0xdf, 0x29, 0x43, 0x36, 0xa4, - 0x08, 0xbd, 0x0d, 0x63, 0x0d, 0xa7, 0xe5, 0x6c, 0x78, 0xbe, 0x97, 0x78, 0x24, 0x2e, 0x76, 0xec, - 0xb6, 0xa4, 0x95, 0x10, 0x4e, 0x73, 0x0d, 0x82, 0x0d, 0x8e, 0x68, 0x0e, 0xa0, 0x15, 0x79, 0x3b, - 0x9e, 0x4f, 0xb6, 0x98, 0x7e, 0xc6, 0x62, 0x92, 0xf9, 0x09, 0x92, 0x84, 0x62, 0x8d, 0xa2, 0x4b, - 0x0c, 0x6b, 0xf9, 0x24, 0x62, 0x58, 0x07, 0xfa, 0x8c, 0x61, 0x1d, 0x2c, 0x14, 0xc3, 0x8a, 0xe1, - 0x11, 0xe9, 0xeb, 0xa6, 0xff, 0x57, 0x3c, 0x9f, 0xf0, 0x94, 0x95, 0x22, 0x66, 0x79, 0x66, 0x7f, - 0x6f, 0xf6, 0x11, 0xdc, 0x95, 0x02, 0xf7, 0x28, 0x69, 0xb7, 0xe1, 0x74, 0x9d, 0x44, 0x1e, 0xcb, - 0x24, 0xe6, 0xa6, 0x8b, 0xfa, 0xf3, 0x50, 0x89, 0x32, 0xf2, 0xa4, 0xcf, 0x2b, 0xa5, 0x5a, 0xee, - 0x19, 0x29, 0x3f, 0x52, 0x96, 0xf6, 0x5f, 0x29, 0xc1, 0xb0, 0x08, 0x26, 0x3a, 0x81, 0x8d, 0xf6, - 0xba, 0x61, 0x10, 0x3f, 0x9b, 0xb7, 0xd6, 0x59, 0xb3, 0x7a, 0x9a, 0xc2, 0xf5, 0x8c, 0x29, 0xfc, - 0x7c, 0x31, 0x76, 0x87, 0x1b, 0xc1, 0xff, 0xa0, 0x0c, 0x13, 0x66, 0x70, 0xd5, 0x09, 0x0c, 0xcb, - 0x1b, 0x30, 0x1c, 0x8b, 0x38, 0xbf, 0x52, 0x91, 0xe0, 0x98, 0xec, 0x27, 0x56, 0x5e, 0x0f, 0x19, - 0xd9, 0x27, 0xd9, 0x75, 0x0d, 0x25, 0x2c, 0x9f, 0x48, 0x28, 0x61, 0x5e, 0xcc, 0xdb, 0xc0, 0xc3, - 0x88, 0x79, 0xb3, 0x7f, 0xc8, 0x44, 0xbe, 0x0e, 0x3f, 0x81, 0x2d, 0xeb, 0x75, 0x73, 0x73, 0xb8, - 0x58, 0x68, 0xde, 0x89, 0xe6, 0xf5, 0xd8, 0xba, 0xbe, 0x67, 0xc1, 0xa8, 0x20, 0x3c, 0x81, 0x0e, - 0x7c, 0xda, 0xec, 0xc0, 0xd3, 0x85, 0x3a, 0xd0, 0xa3, 0xe5, 0xdf, 0x2c, 0xa9, 0x96, 0xd7, 0xc4, - 0x9b, 0xc6, 0xb9, 0x79, 0x53, 0x47, 0x5a, 0x51, 0x98, 0x84, 0x8d, 0xd0, 0x17, 0xca, 0xca, 0xe3, - 0xe9, 0x15, 0x15, 0x0e, 0x3f, 0xd0, 0x7e, 0x63, 0x45, 0xcd, 0x6e, 0x50, 0x84, 0x51, 0x22, 0x36, - 0xd0, 0x6e, 0x2f, 0x2a, 0xbb, 0xf2, 0xcd, 0x7a, 0x0a, 0x13, 0xb7, 0xbb, 0xfa, 0x7f, 0xab, 0x39, - 0xbd, 0x73, 0xa2, 0x78, 0x61, 0x8d, 0xaf, 0x0c, 0x66, 0x66, 0x75, 0x0c, 0x9a, 0xfe, 0xee, 0x9b, - 0x02, 0x8e, 0x15, 0x85, 0xfd, 0x0a, 0x93, 0xec, 0x6c, 0x80, 0xfa, 0xbb, 0x0e, 0xf2, 0x97, 0x87, - 0xd4, 0xd0, 0x32, 0x27, 0xd6, 0x4d, 0xfd, 0xd2, 0x49, 0x51, 0xf1, 0x49, 0x9b, 0xa0, 0x07, 0x2c, - 0xa6, 0x77, 0x54, 0x10, 0xe9, 0x38, 0x24, 0x79, 0xa5, 0xb0, 0x44, 0xee, 0xe3, 0x58, 0x84, 0x25, - 0x9b, 0x62, 0x19, 0x76, 0x56, 0x6b, 0xd9, 0x6c, 0xb7, 0x4b, 0x12, 0x81, 0x53, 0x1a, 0x34, 0x2f, - 0x8c, 0x27, 0xf3, 0xc9, 0x6b, 0x69, 0x3c, 0xc9, 0x21, 0xd1, 0xac, 0xa7, 0x4b, 0x30, 0xaa, 0x72, - 0xfe, 0xd7, 0x78, 0xea, 0xf6, 0x0a, 0xd7, 0xaf, 0x96, 0x53, 0x30, 0xd6, 0x69, 0xd0, 0x2a, 0x9c, - 0x76, 0x55, 0xec, 0x7a, 0xad, 0xbd, 0xe1, 0x7b, 0x0d, 0x5a, 0x94, 0xdf, 0x3b, 0x7b, 0x74, 0x7f, - 0x6f, 0xf6, 0x74, 0xb5, 0x13, 0x8d, 0xbb, 0x95, 0x41, 0xeb, 0x30, 0x19, 0xf3, 0xb7, 0x0d, 0x64, - 0x80, 0xb2, 0x48, 0x02, 0xf9, 0x9c, 0x3c, 0x9d, 0xa9, 0x9b, 0xe8, 0x03, 0x06, 0xe2, 0x52, 0x41, - 0x86, 0x34, 0x67, 0x59, 0xa0, 0xd7, 0x60, 0xc2, 0xd7, 0x1f, 0x6e, 0xab, 0x89, 0x10, 0x7e, 0x15, - 0xc7, 0x62, 0x3c, 0xeb, 0x56, 0xc3, 0x19, 0x6a, 0xf4, 0x06, 0x4c, 0xeb, 0x10, 0x91, 0x09, 0xc3, - 0x09, 0xb6, 0x48, 0x2c, 0x92, 0xaa, 0x3f, 0xbe, 0xbf, 0x37, 0x3b, 0x7d, 0xa3, 0x07, 0x0d, 0xee, - 0x59, 0x1a, 0x5d, 0x81, 0x31, 0x39, 0x92, 0x5a, 0x38, 0x7f, 0x1a, 0x41, 0xa5, 0xe1, 0xb0, 0x41, - 0xf9, 0xde, 0x0e, 0xa1, 0xbe, 0x48, 0x0b, 0x6b, 0x5b, 0x38, 0x7a, 0x07, 0xc6, 0xf4, 0x36, 0x66, - 0xf7, 0xe6, 0xfc, 0xc7, 0xf0, 0x84, 0x2a, 0xa0, 0x5a, 0xae, 0xe3, 0xb0, 0xc1, 0xdb, 0xbe, 0x05, - 0x43, 0xf5, 0xdd, 0xb8, 0x91, 0xf8, 0x0f, 0xeb, 0xb5, 0x73, 0x02, 0x93, 0x99, 0x67, 0xc1, 0xd5, - 0x0b, 0xf3, 0xd6, 0xc3, 0x7b, 0x61, 0xde, 0xfe, 0x63, 0x0b, 0x06, 0xd7, 0x1d, 0x2f, 0xff, 0x41, - 0x92, 0x22, 0x8d, 0x46, 0x2f, 0xc3, 0x10, 0xd9, 0xdc, 0x24, 0x0d, 0xf9, 0x62, 0xbd, 0x0c, 0xca, - 0x1d, 0x5a, 0x66, 0x50, 0xba, 0x38, 0x59, 0x65, 0xfc, 0x2f, 0x16, 0xc4, 0xe8, 0x73, 0x50, 0x49, - 0xbc, 0x26, 0x59, 0x70, 0x5d, 0xe2, 0x1e, 0xe1, 0xc6, 0xad, 0x12, 0x16, 0xeb, 0x92, 0x09, 0x4e, - 0xf9, 0xd9, 0x5f, 0x2f, 0x01, 0xac, 0x87, 0xbe, 0x3c, 0xbe, 0xcb, 0xe9, 0xe6, 0x62, 0xc7, 0xbb, - 0x2b, 0xcf, 0x74, 0x79, 0x77, 0x05, 0xa5, 0x0c, 0xbb, 0xbc, 0xba, 0xa2, 0x86, 0xaa, 0x5c, 0x68, - 0xa8, 0x06, 0xfa, 0x19, 0xaa, 0x25, 0x38, 0x95, 0xa8, 0xba, 0xcd, 0xab, 0x4b, 0x2c, 0x29, 0xdc, - 0x7a, 0x16, 0x89, 0x3b, 0xe9, 0xed, 0xaf, 0x5b, 0x20, 0xc2, 0xb3, 0x0a, 0xcc, 0x56, 0x57, 0x3e, - 0xb8, 0x60, 0xe4, 0xe1, 0x79, 0xae, 0xc8, 0xd5, 0x34, 0x91, 0x7d, 0x47, 0xad, 0x1f, 0x23, 0xe7, - 0x8e, 0xc1, 0xd5, 0xfe, 0x4d, 0x0b, 0x46, 0x39, 0x7a, 0x8d, 0xe9, 0xd4, 0xf9, 0xed, 0xea, 0x2b, - 0xe3, 0x20, 0x7b, 0x8b, 0x80, 0x32, 0x56, 0x99, 0xe7, 0xf4, 0xb7, 0x08, 0x24, 0x02, 0xa7, 0x34, - 0xe8, 0x59, 0x18, 0x8e, 0xdb, 0x1b, 0x8c, 0x3c, 0x13, 0xab, 0x55, 0xe7, 0x60, 0x2c, 0xf1, 0xf6, - 0x2f, 0x21, 0x30, 0xba, 0x66, 0x64, 0xb9, 0xb3, 0x1e, 0x7a, 0x96, 0xbb, 0x37, 0x61, 0x84, 0x34, - 0x5b, 0xc9, 0x6e, 0xd5, 0x8b, 0x8a, 0x65, 0x1c, 0x5d, 0x16, 0xd4, 0x9d, 0xdc, 0x25, 0x06, 0x2b, - 0x8e, 0x3d, 0x72, 0x16, 0x96, 0xdf, 0x17, 0x39, 0x0b, 0x07, 0x7e, 0x26, 0x39, 0x0b, 0xdf, 0x80, - 0xe1, 0x2d, 0x2f, 0xc1, 0xa4, 0x15, 0x8a, 0xbb, 0xcc, 0x39, 0x47, 0xaa, 0x57, 0x39, 0x71, 0x67, - 0x22, 0x32, 0x81, 0xc0, 0x92, 0x1d, 0x5a, 0x87, 0x21, 0x6e, 0x87, 0x89, 0x34, 0x80, 0x1f, 0x29, - 0xe2, 0xdb, 0xea, 0xcc, 0x88, 0x27, 0x02, 0xf2, 0x04, 0x2f, 0x99, 0xa3, 0x70, 0xf8, 0xbd, 0xe7, - 0x28, 0x54, 0x99, 0x05, 0x47, 0x1e, 0x56, 0x66, 0x41, 0x23, 0x43, 0x63, 0xe5, 0x38, 0x32, 0x34, - 0x7e, 0xdd, 0x82, 0xb3, 0xad, 0x6e, 0xf9, 0x4d, 0x45, 0x8e, 0xc0, 0x4f, 0x1e, 0x21, 0xe3, 0xab, - 0x51, 0x35, 0xbb, 0x21, 0xda, 0x95, 0x0c, 0x77, 0xaf, 0x58, 0xa6, 0x7a, 0x1c, 0x7d, 0xef, 0xa9, - 0x1e, 0x8f, 0x3b, 0x99, 0x60, 0x9a, 0xf8, 0x71, 0xfc, 0x58, 0x12, 0x3f, 0x4e, 0x3c, 0xc4, 0xc4, - 0x8f, 0x5a, 0xca, 0xc6, 0xc9, 0x87, 0x9b, 0xb2, 0x71, 0x1b, 0x46, 0xdd, 0xf0, 0x7e, 0x70, 0xdf, - 0x89, 0xdc, 0x85, 0xda, 0xaa, 0xc8, 0x10, 0x98, 0x93, 0x84, 0xa6, 0x9a, 0x16, 0x30, 0x6a, 0xe0, - 0x4e, 0xdc, 0x14, 0x89, 0x75, 0xd6, 0x22, 0x79, 0xe5, 0xa9, 0xf7, 0x98, 0xbc, 0xd2, 0x48, 0x01, - 0x89, 0x8e, 0x23, 0x05, 0xe4, 0xdb, 0x2c, 0x1b, 0xc5, 0xa6, 0xb7, 0xb5, 0xe6, 0xb4, 0xd8, 0x0d, - 0xca, 0xdc, 0x1a, 0x96, 0x24, 0x79, 0x67, 0x0d, 0x0a, 0x85, 0x53, 0xa6, 0x9d, 0x49, 0x26, 0xcf, - 0x9c, 0x74, 0x92, 0xc9, 0xb3, 0xc7, 0x98, 0x64, 0xf2, 0x91, 0x13, 0x4d, 0x32, 0xf9, 0xe8, 0xcf, - 0x24, 0xc9, 0xe4, 0x5f, 0x80, 0x73, 0x87, 0x7f, 0x8e, 0x34, 0x8d, 0x79, 0x2d, 0x75, 0x6b, 0x64, - 0xd2, 0x98, 0x33, 0x55, 0x47, 0xa3, 0x2a, 0x9c, 0xe9, 0xee, 0x3b, 0x16, 0x3c, 0xda, 0x23, 0x11, - 0x54, 0xe1, 0x8b, 0x32, 0x2d, 0x98, 0x6c, 0x99, 0x45, 0x0b, 0x5f, 0x6d, 0x33, 0x12, 0x4f, 0xa9, - 0xa0, 0xcb, 0x0c, 0x02, 0x67, 0xd9, 0x2f, 0x7e, 0xe8, 0x47, 0x3f, 0x39, 0xf7, 0x81, 0x1f, 0xff, - 0xe4, 0xdc, 0x07, 0xfe, 0xe8, 0x27, 0xe7, 0x3e, 0xf0, 0x0b, 0xfb, 0xe7, 0xac, 0x1f, 0xed, 0x9f, - 0xb3, 0x7e, 0xbc, 0x7f, 0xce, 0xfa, 0x93, 0xfd, 0x73, 0xd6, 0xd7, 0x7f, 0x7a, 0xee, 0x03, 0x9f, - 0x2d, 0xed, 0x5c, 0xfa, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x58, 0x88, 0x8c, 0xe4, 0xbd, - 0x00, 0x00, + 0x95, 0x18, 0xee, 0x9e, 0xe1, 0xd7, 0x3c, 0x7e, 0x6e, 0xed, 0x87, 0x28, 0x5a, 0x5a, 0xae, 0x5a, + 0x96, 0xbc, 0x92, 0x56, 0xa4, 0x77, 0x25, 0x59, 0x6b, 0xcb, 0x3f, 0xd9, 0x24, 0x87, 0xdc, 0xa5, + 0xf7, 0x6b, 0x54, 0xc3, 0xdd, 0x95, 0x6d, 0xfd, 0x2c, 0x35, 0xa7, 0x8b, 0x64, 0x6b, 0x7b, 0xba, + 0x47, 0xdd, 0x3d, 0xdc, 0xa5, 0x1d, 0x03, 0x77, 0x8e, 0xe1, 0x4b, 0x10, 0x27, 0xf1, 0xe1, 0x62, + 0x20, 0x48, 0x02, 0xf8, 0x10, 0x20, 0x81, 0x73, 0xf9, 0x74, 0x8c, 0xb3, 0x7d, 0x88, 0x2f, 0x41, + 0x2e, 0xe7, 0x8b, 0x0f, 0x48, 0x2e, 0x06, 0x0e, 0xc9, 0x5d, 0xbe, 0x78, 0x27, 0x3a, 0x77, 0x7f, + 0xe6, 0x8f, 0xdc, 0x7f, 0x4c, 0x90, 0x04, 0xf5, 0xd9, 0x55, 0x3d, 0x33, 0xec, 0x1e, 0x6a, 0x49, + 0xcb, 0x46, 0xfe, 0x9b, 0x79, 0xef, 0xd5, 0xab, 0x8f, 0xae, 0x7a, 0xf5, 0xde, 0xab, 0x57, 0xaf, + 0xe0, 0xc2, 0xbd, 0xcb, 0xf1, 0x9c, 0x17, 0xce, 0xdf, 0x6b, 0xaf, 0x93, 0x28, 0x20, 0x09, 0x89, + 0xe7, 0x5b, 0xf7, 0x36, 0xe7, 0x9d, 0x96, 0x37, 0xbf, 0x7d, 0x71, 0x7e, 0x93, 0x04, 0x24, 0x72, + 0x12, 0xe2, 0xce, 0xb5, 0xa2, 0x30, 0x09, 0xd1, 0x63, 0x9c, 0x7a, 0x2e, 0xa5, 0x9e, 0x6b, 0xdd, + 0xdb, 0x9c, 0x73, 0x5a, 0xde, 0xdc, 0xf6, 0xc5, 0x99, 0xe7, 0x37, 0xbd, 0x64, 0xab, 0xbd, 0x3e, + 0xd7, 0x08, 0x9b, 0xf3, 0x9b, 0xe1, 0x66, 0x38, 0xcf, 0x0a, 0xad, 0xb7, 0x37, 0xd8, 0x3f, 0xf6, + 0x87, 0xfd, 0xe2, 0xcc, 0x66, 0x5e, 0x14, 0x55, 0x3b, 0x2d, 0xaf, 0xe9, 0x34, 0xb6, 0xbc, 0x80, + 0x44, 0x3b, 0xaa, 0xf2, 0x88, 0xc4, 0x61, 0x3b, 0x6a, 0x90, 0x6c, 0x13, 0x0e, 0x2c, 0x15, 0xcf, + 0x37, 0x49, 0xe2, 0x74, 0x69, 0xf8, 0xcc, 0x7c, 0xaf, 0x52, 0x51, 0x3b, 0x48, 0xbc, 0x66, 0x67, + 0x35, 0x1f, 0xcd, 0x2b, 0x10, 0x37, 0xb6, 0x48, 0xd3, 0xe9, 0x28, 0xf7, 0x42, 0xaf, 0x72, 0xed, + 0xc4, 0xf3, 0xe7, 0xbd, 0x20, 0x89, 0x93, 0xe8, 0xa0, 0x3e, 0xc5, 0x24, 0xda, 0x26, 0x51, 0xda, + 0x21, 0xf2, 0xc0, 0x69, 0xb6, 0x7c, 0xd2, 0xa5, 0x4f, 0xf6, 0x1f, 0x58, 0x70, 0x6e, 0xe1, 0x6e, + 0x7d, 0xd9, 0x77, 0xe2, 0xc4, 0x6b, 0x2c, 0xfa, 0x61, 0xe3, 0x5e, 0x3d, 0x09, 0x23, 0x72, 0x27, + 0xf4, 0xdb, 0x4d, 0x52, 0x67, 0xc3, 0x87, 0x2e, 0xc0, 0xc8, 0x36, 0xfb, 0xbf, 0x5a, 0x9d, 0xb6, + 0xce, 0x59, 0xe7, 0x2b, 0x8b, 0x53, 0x3f, 0xda, 0x9d, 0xfd, 0xc0, 0xde, 0xee, 0xec, 0xc8, 0x1d, + 0x01, 0xc7, 0x8a, 0x02, 0x3d, 0x0d, 0x43, 0x1b, 0xf1, 0xda, 0x4e, 0x8b, 0x4c, 0x97, 0x18, 0xed, + 0x84, 0xa0, 0x1d, 0x5a, 0xa9, 0x53, 0x28, 0x16, 0x58, 0x34, 0x0f, 0x95, 0x96, 0x13, 0x25, 0x5e, + 0xe2, 0x85, 0xc1, 0x74, 0xf9, 0x9c, 0x75, 0x7e, 0x70, 0xf1, 0x84, 0x20, 0xad, 0xd4, 0x24, 0x02, + 0xa7, 0x34, 0xb4, 0x19, 0x11, 0x71, 0xdc, 0x5b, 0x81, 0xbf, 0x33, 0x3d, 0x70, 0xce, 0x3a, 0x3f, + 0x92, 0x36, 0x03, 0x0b, 0x38, 0x56, 0x14, 0xf6, 0xf7, 0x4b, 0x30, 0xb2, 0xb0, 0xb1, 0xe1, 0x05, + 0x5e, 0xb2, 0x83, 0xde, 0x82, 0xb1, 0x20, 0x74, 0x89, 0xfc, 0xcf, 0x7a, 0x31, 0x7a, 0xe9, 0xd9, + 0xb9, 0x83, 0xa6, 0xe2, 0xdc, 0x4d, 0xad, 0xc4, 0xe2, 0xd4, 0xde, 0xee, 0xec, 0x98, 0x0e, 0xc1, + 0x06, 0x47, 0xf4, 0x06, 0x8c, 0xb6, 0x42, 0x57, 0x55, 0x50, 0x62, 0x15, 0x3c, 0x73, 0x70, 0x05, + 0xb5, 0xb4, 0xc0, 0xe2, 0xe4, 0xde, 0xee, 0xec, 0xa8, 0x06, 0xc0, 0x3a, 0x3b, 0xe4, 0xc3, 0x24, + 0xfd, 0x1b, 0x24, 0x9e, 0xaa, 0xa1, 0xcc, 0x6a, 0x78, 0x3e, 0xbf, 0x06, 0xad, 0xd0, 0xe2, 0xc9, + 0xbd, 0xdd, 0xd9, 0xc9, 0x0c, 0x10, 0x67, 0x59, 0xdb, 0x5f, 0x80, 0x89, 0x85, 0x24, 0x71, 0x1a, + 0x5b, 0xc4, 0xe5, 0xdf, 0x17, 0xbd, 0x08, 0x03, 0x81, 0xd3, 0x24, 0xe2, 0xeb, 0x9f, 0x13, 0xc3, + 0x3e, 0x70, 0xd3, 0x69, 0x92, 0xfd, 0xdd, 0xd9, 0xa9, 0xdb, 0x81, 0xf7, 0x4e, 0x5b, 0xcc, 0x19, + 0x0a, 0xc3, 0x8c, 0x1a, 0x5d, 0x02, 0x70, 0xc9, 0xb6, 0xd7, 0x20, 0x35, 0x27, 0xd9, 0x12, 0xb3, + 0x01, 0x89, 0xb2, 0x50, 0x55, 0x18, 0xac, 0x51, 0xd9, 0x5f, 0xb6, 0xa0, 0xb2, 0xb0, 0x1d, 0x7a, + 0x6e, 0x2d, 0x74, 0x63, 0xd4, 0x86, 0xc9, 0x56, 0x44, 0x36, 0x48, 0xa4, 0x40, 0xd3, 0xd6, 0xb9, + 0xf2, 0xf9, 0xd1, 0x4b, 0x97, 0x72, 0xfa, 0x6d, 0x16, 0x5a, 0x0e, 0x92, 0x68, 0x67, 0xf1, 0x11, + 0x51, 0xf5, 0x64, 0x06, 0x8b, 0xb3, 0x75, 0xd8, 0xbf, 0x5c, 0x82, 0xd3, 0x0b, 0x5f, 0x68, 0x47, + 0xa4, 0xea, 0xc5, 0xf7, 0xb2, 0x4b, 0xc1, 0xf5, 0xe2, 0x7b, 0x37, 0xd3, 0xc1, 0x50, 0x73, 0xb0, + 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0xe7, 0x61, 0x98, 0xfe, 0xbe, 0x8d, 0x57, 0x45, 0xef, 0x4f, 0x0a, + 0xe2, 0xd1, 0xaa, 0x93, 0x38, 0x55, 0x8e, 0xc2, 0x92, 0x06, 0xdd, 0x80, 0xd1, 0x06, 0x5b, 0xef, + 0x9b, 0x37, 0x42, 0x97, 0xb0, 0x2f, 0x5c, 0x59, 0x7c, 0x8e, 0x92, 0x2f, 0xa5, 0xe0, 0xfd, 0xdd, + 0xd9, 0x69, 0xde, 0x36, 0xc1, 0x42, 0xc3, 0x61, 0xbd, 0x3c, 0xb2, 0xd5, 0x42, 0x1c, 0x60, 0x9c, + 0xa0, 0xcb, 0x22, 0x3c, 0xaf, 0xad, 0xa9, 0x41, 0xb6, 0xa6, 0xc6, 0x7a, 0xac, 0xa7, 0x5f, 0xb3, + 0xc4, 0x98, 0xac, 0x78, 0xbe, 0x29, 0x1e, 0x2e, 0x01, 0xc4, 0xa4, 0x11, 0x91, 0x44, 0x1b, 0x15, + 0xf5, 0x99, 0xeb, 0x0a, 0x83, 0x35, 0x2a, 0xba, 0xf8, 0xe3, 0x2d, 0x27, 0x62, 0xb3, 0x45, 0x8c, + 0x8d, 0x5a, 0xfc, 0x75, 0x89, 0xc0, 0x29, 0x8d, 0xb1, 0xf8, 0xcb, 0xb9, 0x8b, 0xff, 0xb7, 0x2c, + 0x18, 0x5e, 0xf4, 0x02, 0xd7, 0x0b, 0x36, 0xd1, 0x5b, 0x30, 0x42, 0x25, 0xba, 0xeb, 0x24, 0x8e, + 0x58, 0xf7, 0x1f, 0x91, 0x93, 0x47, 0x17, 0xb0, 0x72, 0xfa, 0xc4, 0x73, 0x94, 0x9a, 0x4e, 0xa2, + 0x5b, 0xeb, 0x6f, 0x93, 0x46, 0x72, 0x83, 0x24, 0x4e, 0xda, 0x9d, 0x14, 0x86, 0x15, 0x57, 0x74, + 0x1b, 0x86, 0x12, 0x27, 0xda, 0x24, 0x89, 0x58, 0xf6, 0x39, 0x8b, 0x92, 0xf3, 0xc0, 0x74, 0xca, + 0x91, 0xa0, 0x41, 0x52, 0x01, 0xb9, 0xc6, 0x98, 0x60, 0xc1, 0xcc, 0x6e, 0xc0, 0xd8, 0x92, 0xd3, + 0x72, 0xd6, 0x3d, 0xdf, 0x4b, 0x3c, 0x12, 0xa3, 0x0f, 0x43, 0xd9, 0x71, 0x5d, 0xb6, 0x00, 0x2a, + 0x8b, 0xa7, 0xf7, 0x76, 0x67, 0xcb, 0x0b, 0xae, 0xbb, 0xbf, 0x3b, 0x0b, 0x8a, 0x6a, 0x07, 0x53, + 0x0a, 0xf4, 0x2c, 0x0c, 0xb8, 0x51, 0xd8, 0x9a, 0x2e, 0x31, 0xca, 0x33, 0x74, 0xa5, 0x56, 0xa3, + 0xb0, 0x95, 0x21, 0x65, 0x34, 0xf6, 0x0f, 0x4b, 0x80, 0x96, 0x48, 0x6b, 0x6b, 0xa5, 0x6e, 0x7c, + 0xd3, 0xf3, 0x30, 0xd2, 0x0c, 0x03, 0x2f, 0x09, 0xa3, 0x58, 0x54, 0xc8, 0xe6, 0xc5, 0x0d, 0x01, + 0xc3, 0x0a, 0x8b, 0xce, 0xc1, 0x40, 0x2b, 0x5d, 0xde, 0x63, 0x52, 0x34, 0xb0, 0x85, 0xcd, 0x30, + 0x94, 0xa2, 0x1d, 0x93, 0x48, 0xcc, 0x67, 0x45, 0x71, 0x3b, 0x26, 0x11, 0x66, 0x98, 0x74, 0x06, + 0xd1, 0xb9, 0x25, 0x66, 0x6b, 0x66, 0x06, 0x51, 0x0c, 0xd6, 0xa8, 0xd0, 0x9b, 0x50, 0xe1, 0xff, + 0x30, 0xd9, 0x60, 0x53, 0x37, 0x57, 0x28, 0x5c, 0x0f, 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, 0x0c, 0x5b, 0x67, 0x7f, 0x8b, 0xe1, 0x3f, 0xd3, 0xa6, 0x85, 0xcd, 0x56, + 0x18, 0x90, 0x20, 0x59, 0x0a, 0x03, 0x97, 0x6f, 0xa7, 0x1f, 0x87, 0x81, 0x84, 0x56, 0xc5, 0x9b, + 0xf5, 0xb4, 0xfc, 0x2c, 0xb4, 0x82, 0xfd, 0xdd, 0xd9, 0x33, 0x9d, 0x25, 0x58, 0x13, 0x58, 0x19, + 0xf4, 0x31, 0x18, 0x8a, 0x13, 0x27, 0x69, 0xc7, 0xa2, 0xa1, 0x4f, 0xc8, 0x86, 0xd6, 0x19, 0x74, + 0x7f, 0x77, 0x76, 0x52, 0x15, 0xe3, 0x20, 0x2c, 0x0a, 0xa0, 0x67, 0x60, 0xb8, 0x49, 0xe2, 0xd8, + 0xd9, 0x94, 0x02, 0x6e, 0x52, 0x94, 0x1d, 0xbe, 0xc1, 0xc1, 0x58, 0xe2, 0xd1, 0x93, 0x30, 0x48, + 0xa2, 0x28, 0x8c, 0xc4, 0x8c, 0x18, 0x17, 0x84, 0x83, 0xcb, 0x14, 0x88, 0x39, 0xce, 0xfe, 0x8f, + 0x16, 0x4c, 0xaa, 0xb6, 0xf2, 0xba, 0x8e, 0x61, 0xc9, 0xbb, 0x00, 0x0d, 0xd9, 0xc1, 0x98, 0x2d, + 0x34, 0xad, 0x8e, 0xee, 0xd3, 0xaf, 0x73, 0x40, 0xd3, 0x3a, 0x14, 0x28, 0xc6, 0x1a, 0x5f, 0xfb, + 0x5f, 0x5b, 0x70, 0x32, 0xd3, 0xb7, 0xeb, 0x5e, 0x9c, 0xa0, 0x37, 0x3a, 0xfa, 0x37, 0x57, 0xac, + 0x7f, 0xb4, 0x34, 0xeb, 0x9d, 0x9a, 0x2f, 0x12, 0xa2, 0xf5, 0x0d, 0xc3, 0xa0, 0x97, 0x90, 0xa6, + 0xec, 0xd6, 0xf3, 0x05, 0xbb, 0xc5, 0xdb, 0x97, 0x7e, 0xa5, 0x55, 0xca, 0x03, 0x73, 0x56, 0xf6, + 0xff, 0xb4, 0xa0, 0xb2, 0x14, 0x06, 0x1b, 0xde, 0xe6, 0x0d, 0xa7, 0x75, 0x0c, 0xdf, 0xa7, 0x0e, + 0x03, 0x8c, 0x3b, 0xef, 0xc2, 0xc5, 0xbc, 0x2e, 0x88, 0x86, 0xcd, 0xd1, 0x3d, 0x95, 0x2b, 0x0b, + 0x4a, 0x4c, 0x51, 0x10, 0x66, 0xcc, 0x66, 0x5e, 0x86, 0x8a, 0x22, 0x40, 0x53, 0x50, 0xbe, 0x47, + 0xb8, 0x26, 0x59, 0xc1, 0xf4, 0x27, 0x3a, 0x05, 0x83, 0xdb, 0x8e, 0xdf, 0x16, 0x8b, 0x17, 0xf3, + 0x3f, 0x1f, 0x2f, 0x5d, 0xb6, 0xec, 0x1f, 0xb2, 0x15, 0x28, 0x2a, 0x59, 0x0e, 0xb6, 0x85, 0x70, + 0xf8, 0x8a, 0x05, 0xa7, 0xfc, 0x2e, 0x42, 0x49, 0x8c, 0xc9, 0x61, 0xc4, 0xd9, 0x63, 0xa2, 0xd9, + 0xa7, 0xba, 0x61, 0x71, 0xd7, 0xda, 0xa8, 0xac, 0x0f, 0x5b, 0x74, 0xc2, 0x39, 0x3e, 0x6b, 0xba, + 0xd0, 0x01, 0x6e, 0x09, 0x18, 0x56, 0x58, 0xfb, 0x4f, 0x2d, 0x38, 0xa5, 0xfa, 0x71, 0x8d, 0xec, + 0xd4, 0x89, 0x4f, 0x1a, 0x49, 0x18, 0xbd, 0x5f, 0x7a, 0xf2, 0x38, 0xff, 0x26, 0x5c, 0x26, 0x8d, + 0x0a, 0x06, 0xe5, 0x6b, 0x64, 0x87, 0x7f, 0x20, 0xbd, 0xa3, 0xe5, 0x03, 0x3b, 0xfa, 0xcf, 0x2c, + 0x18, 0x57, 0x1d, 0x3d, 0x86, 0x25, 0x77, 0xdd, 0x5c, 0x72, 0x1f, 0x2e, 0x38, 0x5f, 0x7b, 0x2c, + 0xb6, 0xbf, 0x56, 0xa2, 0x62, 0x43, 0xd0, 0xd4, 0xa2, 0x90, 0x0e, 0x12, 0x95, 0xf8, 0xef, 0x93, + 0xaf, 0xd4, 0x5f, 0x67, 0xaf, 0x91, 0x9d, 0xb5, 0x90, 0x6a, 0x13, 0xdd, 0x3b, 0x6b, 0x7c, 0xd4, + 0x81, 0x03, 0x3f, 0xea, 0xef, 0x96, 0xe0, 0xb4, 0x1a, 0x16, 0x63, 0x97, 0xfe, 0xb9, 0x1c, 0x98, + 0x8b, 0x30, 0xea, 0x92, 0x0d, 0xa7, 0xed, 0x27, 0xca, 0x9a, 0x18, 0xe4, 0x66, 0x66, 0x35, 0x05, + 0x63, 0x9d, 0xa6, 0x8f, 0xb1, 0xfc, 0xe6, 0x28, 0x93, 0xe7, 0x89, 0x43, 0x67, 0x3d, 0xd5, 0xf0, + 0x34, 0xf3, 0x70, 0x4c, 0x37, 0x0f, 0x85, 0x29, 0xf8, 0x24, 0x0c, 0x7a, 0x4d, 0xba, 0xe7, 0x97, + 0xcc, 0xad, 0x7c, 0x95, 0x02, 0x31, 0xc7, 0xa1, 0xa7, 0x60, 0xb8, 0x11, 0x36, 0x9b, 0x4e, 0xe0, + 0x4e, 0x97, 0x99, 0xce, 0x39, 0x4a, 0xd5, 0x82, 0x25, 0x0e, 0xc2, 0x12, 0x87, 0x1e, 0x83, 0x01, + 0x27, 0xda, 0x8c, 0xa7, 0x07, 0x18, 0xcd, 0x08, 0xad, 0x69, 0x21, 0xda, 0x8c, 0x31, 0x83, 0x52, + 0x5d, 0xf2, 0x7e, 0x18, 0xdd, 0xf3, 0x82, 0xcd, 0xaa, 0x17, 0x31, 0xc5, 0x50, 0xd3, 0x25, 0xef, + 0x2a, 0x0c, 0xd6, 0xa8, 0x50, 0x0d, 0x06, 0x5b, 0x61, 0x94, 0xc4, 0xd3, 0x43, 0x6c, 0xe0, 0x9f, + 0xcb, 0x5d, 0x7e, 0xbc, 0xdf, 0xb5, 0x30, 0x4a, 0xd2, 0xae, 0xd0, 0x7f, 0x31, 0xe6, 0x8c, 0xd0, + 0x12, 0x94, 0x49, 0xb0, 0x3d, 0x3d, 0xcc, 0xf8, 0x7d, 0xe8, 0x60, 0x7e, 0xcb, 0xc1, 0xf6, 0x1d, + 0x27, 0x4a, 0xe5, 0xd5, 0x72, 0xb0, 0x8d, 0x69, 0x69, 0xd4, 0x80, 0x8a, 0x74, 0x61, 0xc5, 0xd3, + 0x23, 0x45, 0xa6, 0x22, 0x16, 0xe4, 0x98, 0xbc, 0xd3, 0xf6, 0x22, 0xd2, 0x24, 0x41, 0x12, 0xa7, + 0x86, 0x95, 0xc4, 0xc6, 0x38, 0xe5, 0x8b, 0x1a, 0x30, 0xc6, 0xf5, 0xcf, 0x1b, 0x61, 0x3b, 0x48, + 0xe2, 0xe9, 0x0a, 0x6b, 0x72, 0x8e, 0xe7, 0xe2, 0x4e, 0x5a, 0x62, 0xf1, 0x94, 0x60, 0x3f, 0xa6, + 0x01, 0x63, 0x6c, 0x30, 0x45, 0x6f, 0xc0, 0xb8, 0xef, 0x6d, 0x93, 0x80, 0xc4, 0x71, 0x2d, 0x0a, + 0xd7, 0xc9, 0x34, 0xb0, 0xde, 0x3c, 0x99, 0x67, 0xc5, 0x87, 0xeb, 0x64, 0xf1, 0xc4, 0xde, 0xee, + 0xec, 0xf8, 0x75, 0xbd, 0x34, 0x36, 0x99, 0xa1, 0x37, 0x61, 0x82, 0x2a, 0xbb, 0x5e, 0xca, 0x7e, + 0xb4, 0x38, 0x7b, 0xb4, 0xb7, 0x3b, 0x3b, 0x81, 0x8d, 0xe2, 0x38, 0xc3, 0x0e, 0xad, 0x41, 0xc5, + 0xf7, 0x36, 0x48, 0x63, 0xa7, 0xe1, 0x93, 0xe9, 0x31, 0xc6, 0x3b, 0x67, 0x71, 0x5e, 0x97, 0xe4, + 0xdc, 0xc0, 0x50, 0x7f, 0x71, 0xca, 0x08, 0xdd, 0x81, 0x33, 0x09, 0x89, 0x9a, 0x5e, 0xe0, 0xd0, + 0x45, 0x25, 0xb4, 0x5f, 0xe6, 0x2a, 0x19, 0x67, 0xb3, 0xf6, 0xac, 0x18, 0xd8, 0x33, 0x6b, 0x5d, + 0xa9, 0x70, 0x8f, 0xd2, 0xe8, 0x16, 0x4c, 0xb2, 0xf5, 0x54, 0x6b, 0xfb, 0x7e, 0x2d, 0xf4, 0xbd, + 0xc6, 0xce, 0xf4, 0x04, 0x63, 0xf8, 0x94, 0x74, 0x80, 0xac, 0x9a, 0x68, 0x6a, 0x18, 0xa6, 0xff, + 0x70, 0xb6, 0x34, 0xf2, 0x61, 0x32, 0x26, 0x8d, 0x76, 0xe4, 0x25, 0x3b, 0x74, 0xee, 0x93, 0x07, + 0xc9, 0xf4, 0x64, 0x11, 0x43, 0xb7, 0x6e, 0x16, 0xe2, 0xde, 0xa7, 0x0c, 0x10, 0x67, 0x59, 0x53, + 0x51, 0x11, 0x27, 0xae, 0x17, 0x4c, 0x4f, 0x31, 0x09, 0xa4, 0xd6, 0x57, 0x9d, 0x02, 0x31, 0xc7, + 0x31, 0xff, 0x01, 0xfd, 0x71, 0x8b, 0x4a, 0xe9, 0x13, 0x8c, 0x30, 0xf5, 0x1f, 0x48, 0x04, 0x4e, + 0x69, 0xa8, 0x6a, 0x90, 0x24, 0x3b, 0xd3, 0x88, 0x91, 0xaa, 0xa5, 0xb6, 0xb6, 0xf6, 0x19, 0x4c, + 0xe1, 0xe8, 0x0e, 0x0c, 0x93, 0x60, 0x7b, 0x25, 0x0a, 0x9b, 0xd3, 0x27, 0x8b, 0xc8, 0x80, 0x65, + 0x4e, 0xcc, 0xf7, 0x8f, 0xd4, 0x84, 0x11, 0x60, 0x2c, 0x99, 0xa1, 0x07, 0x30, 0xdd, 0xe5, 0x2b, + 0xf1, 0x8f, 0x72, 0x8a, 0x7d, 0x94, 0x4f, 0x88, 0xb2, 0xd3, 0x6b, 0x3d, 0xe8, 0xf6, 0x0f, 0xc0, + 0xe1, 0x9e, 0xdc, 0xed, 0x75, 0x98, 0x50, 0x82, 0x8a, 0x7d, 0x6f, 0x34, 0x0b, 0x83, 0x54, 0x16, + 0x4b, 0x83, 0xbe, 0x42, 0x07, 0x95, 0x8a, 0xe8, 0x18, 0x73, 0x38, 0x1b, 0x54, 0xef, 0x0b, 0x64, + 0x71, 0x27, 0x21, 0xdc, 0xb0, 0x2b, 0x6b, 0x83, 0x2a, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0x37, 0x57, + 0x93, 0x52, 0x69, 0x58, 0x60, 0x27, 0xb8, 0x00, 0x23, 0x5b, 0x61, 0x9c, 0x50, 0x6a, 0x56, 0xc7, + 0x60, 0xaa, 0x18, 0x5d, 0x15, 0x70, 0xac, 0x28, 0xd0, 0x2b, 0x30, 0xde, 0xd0, 0x2b, 0x10, 0xdb, + 0xd8, 0x69, 0x51, 0xc4, 0xac, 0x1d, 0x9b, 0xb4, 0xe8, 0x32, 0x8c, 0x30, 0x2f, 0x77, 0x23, 0xf4, + 0x85, 0x09, 0x29, 0x77, 0xe5, 0x91, 0x9a, 0x80, 0xef, 0x6b, 0xbf, 0xb1, 0xa2, 0xa6, 0x86, 0x38, + 0x6d, 0xc2, 0x6a, 0x4d, 0x6c, 0x20, 0xca, 0x10, 0xbf, 0xca, 0xa0, 0x58, 0x60, 0xed, 0x7f, 0x52, + 0xd2, 0x46, 0x99, 0x1a, 0x40, 0x04, 0x7d, 0x16, 0x86, 0xef, 0x3b, 0x5e, 0xe2, 0x05, 0x9b, 0x42, + 0x7b, 0x78, 0xa1, 0xe0, 0x6e, 0xc2, 0x8a, 0xdf, 0xe5, 0x45, 0xf9, 0xce, 0x27, 0xfe, 0x60, 0xc9, + 0x90, 0xf2, 0x8e, 0xda, 0x41, 0x40, 0x79, 0x97, 0xfa, 0xe7, 0x8d, 0x79, 0x51, 0xce, 0x5b, 0xfc, + 0xc1, 0x92, 0x21, 0xda, 0x00, 0x90, 0x73, 0x89, 0xb8, 0xc2, 0xbb, 0xfc, 0xd1, 0x7e, 0xd8, 0xaf, + 0xa9, 0xd2, 0x8b, 0x13, 0x74, 0xaf, 0x4d, 0xff, 0x63, 0x8d, 0xb3, 0x9d, 0x30, 0x25, 0xac, 0xb3, + 0x59, 0xe8, 0x73, 0x74, 0x49, 0x3b, 0x51, 0x42, 0xdc, 0x85, 0x24, 0xeb, 0xa0, 0x3f, 0x58, 0xc5, + 0x5e, 0xf3, 0x9a, 0x44, 0x5f, 0xfe, 0x82, 0x09, 0x4e, 0xf9, 0xd9, 0xdf, 0x2b, 0xc3, 0x74, 0xaf, + 0xe6, 0xd2, 0x29, 0x49, 0x1e, 0x78, 0xc9, 0x12, 0x55, 0x93, 0x2c, 0x73, 0x4a, 0x2e, 0x0b, 0x38, + 0x56, 0x14, 0x74, 0x6e, 0xc4, 0xde, 0xa6, 0x34, 0x96, 0x06, 0xd3, 0xb9, 0x51, 0x67, 0x50, 0x2c, + 0xb0, 0x94, 0x2e, 0x22, 0x4e, 0x2c, 0x0e, 0x37, 0xb4, 0x39, 0x84, 0x19, 0x14, 0x0b, 0xac, 0xee, + 0x10, 0x19, 0xc8, 0x71, 0x88, 0x18, 0x43, 0x34, 0xf8, 0x70, 0x87, 0x08, 0x7d, 0x1e, 0x60, 0xc3, + 0x0b, 0xbc, 0x78, 0x8b, 0x71, 0x1f, 0xea, 0x9b, 0xbb, 0x52, 0xb2, 0x56, 0x14, 0x17, 0xac, 0x71, + 0x44, 0x2f, 0xc1, 0xa8, 0x5a, 0x9e, 0xab, 0xd5, 0xe9, 0x61, 0xd3, 0x21, 0x9e, 0xca, 0xaa, 0x2a, + 0xd6, 0xe9, 0xec, 0xb7, 0xb3, 0xf3, 0x45, 0xac, 0x0a, 0x6d, 0x7c, 0xad, 0xa2, 0xe3, 0x5b, 0x3a, + 0x78, 0x7c, 0xed, 0xff, 0x50, 0x86, 0x49, 0xa3, 0xb2, 0x76, 0x5c, 0x40, 0xa2, 0xbd, 0x46, 0x37, + 0x2c, 0x27, 0x21, 0x62, 0x4d, 0x5e, 0xe8, 0x67, 0xd1, 0xe8, 0xdb, 0x1b, 0x5d, 0x0b, 0x9c, 0x13, + 0xda, 0x82, 0x8a, 0xef, 0xc4, 0xcc, 0xa5, 0x42, 0xc4, 0x5a, 0xec, 0x8f, 0x6d, 0x6a, 0x7e, 0x38, + 0x71, 0xa2, 0xed, 0x1e, 0xbc, 0x96, 0x94, 0x39, 0xdd, 0x6d, 0xa9, 0xb2, 0x23, 0x4f, 0xd4, 0x54, + 0x73, 0xa8, 0x46, 0xb4, 0x83, 0x39, 0x0e, 0x5d, 0x86, 0xb1, 0x88, 0xb0, 0x99, 0xb2, 0x44, 0xf5, + 0x39, 0x36, 0xf5, 0x06, 0x53, 0xc5, 0x0f, 0x6b, 0x38, 0x6c, 0x50, 0xa6, 0x7a, 0xff, 0xd0, 0x01, + 0x7a, 0xff, 0x33, 0x30, 0xcc, 0x7e, 0xa8, 0x59, 0xa1, 0xbe, 0xd0, 0x2a, 0x07, 0x63, 0x89, 0xcf, + 0x4e, 0xa2, 0x91, 0x82, 0x93, 0xe8, 0x59, 0x98, 0xa8, 0x3a, 0xa4, 0x19, 0x06, 0xcb, 0x81, 0xdb, + 0x0a, 0xbd, 0x20, 0x41, 0xd3, 0x30, 0xc0, 0xf6, 0x13, 0xbe, 0xde, 0x07, 0x28, 0x07, 0x3c, 0x40, + 0x75, 0x77, 0xfb, 0xff, 0x58, 0x30, 0x5e, 0x25, 0x3e, 0x49, 0x08, 0xb7, 0x7b, 0x62, 0xb4, 0x02, + 0x68, 0x33, 0x72, 0x1a, 0xa4, 0x46, 0x22, 0x2f, 0x74, 0xeb, 0xa4, 0x11, 0x06, 0xec, 0x20, 0x8a, + 0x6e, 0x90, 0x67, 0xf6, 0x76, 0x67, 0xd1, 0x95, 0x0e, 0x2c, 0xee, 0x52, 0x02, 0xb9, 0x30, 0xde, + 0x8a, 0x88, 0xe1, 0x37, 0xb4, 0xf2, 0x55, 0x8d, 0x9a, 0x5e, 0x84, 0x6b, 0xc3, 0x06, 0x08, 0x9b, + 0x4c, 0xd1, 0xa7, 0x60, 0x2a, 0x8c, 0x5a, 0x5b, 0x4e, 0x50, 0x25, 0x2d, 0x12, 0xb8, 0xd4, 0x04, + 0x10, 0xde, 0x8e, 0x53, 0x7b, 0xbb, 0xb3, 0x53, 0xb7, 0x32, 0x38, 0xdc, 0x41, 0x6d, 0xbf, 0x03, + 0xa7, 0xab, 0xe1, 0xfd, 0xe0, 0xbe, 0x13, 0xb9, 0x0b, 0xb5, 0x55, 0xcd, 0x81, 0xf0, 0xba, 0x34, + 0x50, 0xf9, 0x21, 0x5c, 0xce, 0xee, 0xa3, 0xf1, 0xe0, 0xa6, 0xc1, 0x8a, 0xe7, 0x93, 0x1e, 0x2e, + 0x8b, 0xbf, 0x5f, 0x32, 0xea, 0x4c, 0xe9, 0xd5, 0xf9, 0x82, 0xd5, 0xf3, 0x7c, 0xe1, 0x73, 0x30, + 0xb2, 0xe1, 0x11, 0xdf, 0xc5, 0x64, 0x43, 0x8c, 0xe8, 0xc5, 0x22, 0x07, 0x30, 0x2b, 0xb4, 0x8c, + 0xf4, 0x60, 0x71, 0x43, 0x77, 0x45, 0xb0, 0xc1, 0x8a, 0x21, 0x6a, 0xc3, 0x94, 0xb4, 0x95, 0x24, + 0x56, 0x2c, 0xc8, 0x17, 0x8a, 0x99, 0x62, 0x66, 0x35, 0xec, 0x13, 0xe0, 0x0c, 0x43, 0xdc, 0x51, + 0x05, 0xb5, 0x71, 0x9b, 0x74, 0x3b, 0x1a, 0x60, 0xd3, 0x93, 0xd9, 0xb8, 0xcc, 0x5c, 0x67, 0x50, + 0xfb, 0xef, 0x5a, 0xf0, 0x48, 0xc7, 0x68, 0x09, 0x5f, 0xc6, 0x91, 0x7d, 0xa3, 0xac, 0x43, 0xa1, + 0x94, 0xef, 0x50, 0xb0, 0x6f, 0xc1, 0xa9, 0xe5, 0x66, 0x2b, 0xd9, 0xa9, 0x7a, 0xe6, 0xb1, 0xc8, + 0xcb, 0x30, 0xd4, 0x24, 0xae, 0xd7, 0x6e, 0x8a, 0xcf, 0x3a, 0x2b, 0x65, 0xf7, 0x0d, 0x06, 0xdd, + 0xdf, 0x9d, 0x1d, 0xaf, 0x27, 0x61, 0xe4, 0x6c, 0x12, 0x0e, 0xc0, 0x82, 0xdc, 0x7e, 0xd7, 0x82, + 0x49, 0xb9, 0x86, 0x17, 0x5c, 0x37, 0x22, 0x71, 0x8c, 0x66, 0xa0, 0xe4, 0xb5, 0x04, 0x23, 0x10, + 0x8c, 0x4a, 0xab, 0x35, 0x5c, 0xf2, 0x5a, 0xe8, 0xb3, 0x50, 0xe1, 0xa7, 0x69, 0xe9, 0xe4, 0xe8, + 0xf3, 0x74, 0x8e, 0xd9, 0x6f, 0x6b, 0x92, 0x07, 0x4e, 0xd9, 0x49, 0x4d, 0x96, 0xed, 0x0e, 0x65, + 0xf3, 0x6c, 0xe7, 0xaa, 0x80, 0x63, 0x45, 0x81, 0xce, 0xc3, 0x48, 0x10, 0xba, 0xfc, 0xc0, 0x93, + 0xef, 0xf3, 0x6c, 0xca, 0xdd, 0x14, 0x30, 0xac, 0xb0, 0xf6, 0xd7, 0x2c, 0x18, 0x93, 0x7d, 0x2c, + 0xa8, 0x54, 0xd3, 0x45, 0x92, 0x2a, 0xd4, 0xe9, 0x22, 0xa1, 0x4a, 0x31, 0xc3, 0x18, 0xba, 0x70, + 0xb9, 0x1f, 0x5d, 0xd8, 0xfe, 0x8d, 0x12, 0x4c, 0xc8, 0xe6, 0xd4, 0xdb, 0xeb, 0x31, 0xa1, 0xaa, + 0x42, 0xc5, 0xe1, 0x83, 0x4f, 0xe4, 0x3c, 0x7b, 0x3e, 0xcf, 0x5e, 0x32, 0xbe, 0x59, 0xaa, 0x8a, + 0x2c, 0x48, 0x3e, 0x38, 0x65, 0x89, 0xb6, 0xe1, 0x44, 0x10, 0x26, 0x6c, 0x0b, 0x52, 0xf8, 0x62, + 0xa7, 0x11, 0xd9, 0x7a, 0x1e, 0x15, 0xf5, 0x9c, 0xb8, 0x99, 0xe5, 0x87, 0x3b, 0xab, 0x40, 0xb7, + 0xa4, 0x1f, 0xa8, 0xcc, 0xea, 0x7a, 0xb6, 0x58, 0x5d, 0xbd, 0xdd, 0x40, 0xf6, 0xef, 0x58, 0x50, + 0x91, 0x64, 0xc7, 0x71, 0x2c, 0x75, 0x17, 0x86, 0x63, 0xf6, 0x89, 0xe4, 0x70, 0x5d, 0x28, 0xd6, + 0x05, 0xfe, 0x5d, 0xd3, 0x7d, 0x97, 0xff, 0x8f, 0xb1, 0xe4, 0xc6, 0x1c, 0xe2, 0xaa, 0x23, 0xef, + 0x3b, 0x87, 0xb8, 0x6a, 0x59, 0xef, 0xd3, 0xa7, 0x71, 0xc3, 0x62, 0xa7, 0xca, 0x63, 0x2b, 0x22, + 0x1b, 0xde, 0x83, 0xac, 0xf2, 0x58, 0x63, 0x50, 0x2c, 0xb0, 0x68, 0x03, 0xc6, 0x1a, 0xd2, 0x65, + 0x9c, 0x8a, 0x90, 0x8f, 0x14, 0xf4, 0xcf, 0xab, 0xa3, 0x1e, 0x1e, 0x3e, 0xb4, 0xa4, 0x71, 0xc2, + 0x06, 0x5f, 0x2a, 0xa7, 0xd2, 0xd3, 0xec, 0x72, 0x41, 0xe7, 0x4a, 0x44, 0x92, 0xb4, 0x86, 0x9e, + 0x07, 0xd9, 0xf6, 0xb7, 0x2c, 0x18, 0xe2, 0x3e, 0xc6, 0x62, 0x8e, 0x5a, 0xed, 0x10, 0x2b, 0x1d, + 0xcf, 0x3b, 0x14, 0x28, 0xce, 0xb4, 0xd0, 0x5d, 0xa8, 0xb0, 0x1f, 0xcc, 0x5f, 0x52, 0x2e, 0x12, + 0x4b, 0xc5, 0xeb, 0xd7, 0x9b, 0x7a, 0x47, 0x32, 0xc0, 0x29, 0x2f, 0xfb, 0x07, 0x65, 0x2a, 0xfa, + 0x52, 0x52, 0x63, 0x6f, 0xb7, 0x8e, 0x63, 0x6f, 0x2f, 0x1d, 0xfd, 0xde, 0xfe, 0x0e, 0x4c, 0x36, + 0xb4, 0x43, 0xb4, 0xf4, 0x8b, 0x5f, 0x2a, 0x38, 0xad, 0xb4, 0x93, 0x37, 0xee, 0x53, 0x5b, 0x32, + 0xd9, 0xe1, 0x2c, 0x7f, 0x44, 0x60, 0x8c, 0xcf, 0x07, 0x51, 0xdf, 0x00, 0xab, 0x6f, 0xbe, 0xc8, + 0x0c, 0xd3, 0x2b, 0x63, 0xb3, 0xb8, 0xae, 0x31, 0xc2, 0x06, 0x5b, 0xfb, 0x6f, 0x0c, 0xc2, 0xe0, + 0xf2, 0x36, 0x09, 0x92, 0x63, 0x10, 0x75, 0x4d, 0x98, 0xf0, 0x82, 0xed, 0xd0, 0xdf, 0x26, 0x2e, + 0xc7, 0x1f, 0x6e, 0x7b, 0x3f, 0x23, 0x2a, 0x99, 0x58, 0x35, 0x98, 0xe1, 0x0c, 0xf3, 0xa3, 0xb0, + 0xe6, 0x5f, 0x83, 0x21, 0x3e, 0x33, 0x84, 0x29, 0x9f, 0xe3, 0x73, 0x67, 0x03, 0x2b, 0x56, 0x50, + 0xea, 0x73, 0xe0, 0xee, 0x7e, 0xc1, 0x08, 0xbd, 0x0d, 0x13, 0x1b, 0x5e, 0x14, 0x27, 0xd4, 0x20, + 0x8f, 0x13, 0xa7, 0xd9, 0x3a, 0x84, 0x1d, 0xaf, 0x46, 0x64, 0xc5, 0xe0, 0x84, 0x33, 0x9c, 0xd1, + 0x26, 0x8c, 0x53, 0x33, 0x32, 0xad, 0x6a, 0xb8, 0xef, 0xaa, 0x94, 0x1b, 0xef, 0xba, 0xce, 0x08, + 0x9b, 0x7c, 0xa9, 0x48, 0x6a, 0x30, 0xb3, 0x73, 0x84, 0x69, 0x37, 0x4a, 0x24, 0x71, 0x7b, 0x93, + 0xe3, 0xa8, 0x64, 0x63, 0xd1, 0x2c, 0x15, 0x53, 0xb2, 0xa5, 0x31, 0x2b, 0xf6, 0x77, 0xe8, 0x5e, + 0x4c, 0xc7, 0xf0, 0x18, 0xb6, 0xaf, 0xab, 0xe6, 0xf6, 0xf5, 0x64, 0x81, 0x2f, 0xdb, 0x63, 0xeb, + 0x7a, 0x0b, 0x46, 0xb5, 0x0f, 0x8f, 0xe6, 0xa1, 0xd2, 0x90, 0x01, 0x17, 0x42, 0x8a, 0x2b, 0x55, + 0x4a, 0x45, 0x62, 0xe0, 0x94, 0x86, 0x8e, 0x0b, 0x55, 0x41, 0xb3, 0xe1, 0x59, 0x54, 0x41, 0xc5, + 0x0c, 0x63, 0xbf, 0x00, 0xb0, 0xfc, 0x80, 0x34, 0x16, 0xb8, 0x89, 0xa7, 0x9d, 0xc1, 0x59, 0xbd, + 0xcf, 0xe0, 0xec, 0x6f, 0x5b, 0x30, 0xb1, 0xb2, 0x64, 0xe8, 0xf4, 0x73, 0x00, 0x5c, 0x37, 0xbe, + 0x7b, 0xf7, 0xa6, 0xf4, 0x31, 0x73, 0x47, 0xa0, 0x82, 0x62, 0x8d, 0x02, 0x3d, 0x0a, 0x65, 0xbf, + 0x1d, 0x08, 0x95, 0x75, 0x78, 0x6f, 0x77, 0xb6, 0x7c, 0xbd, 0x1d, 0x60, 0x0a, 0xd3, 0xe2, 0xa0, + 0xca, 0x85, 0xe3, 0xa0, 0xf2, 0x23, 0x82, 0xbf, 0x51, 0x86, 0xa9, 0x15, 0x9f, 0x3c, 0x30, 0x5a, + 0xfd, 0x34, 0x0c, 0xb9, 0x91, 0xb7, 0x4d, 0xa2, 0xac, 0x22, 0x50, 0x65, 0x50, 0x2c, 0xb0, 0x85, + 0x43, 0xb3, 0xde, 0xec, 0xdc, 0xc8, 0x8f, 0x2e, 0x2c, 0x2d, 0xb7, 0xcf, 0x68, 0x03, 0x86, 0xf9, + 0x99, 0x6d, 0x3c, 0x3d, 0xc8, 0xa6, 0xe2, 0x2b, 0x07, 0x37, 0x26, 0x3b, 0x3e, 0x73, 0xc2, 0x07, + 0xc2, 0x83, 0x62, 0x94, 0x2c, 0x13, 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x1c, 0xc6, 0x74, 0xca, 0xbe, + 0xa2, 0x63, 0xfe, 0xbc, 0x05, 0x27, 0x57, 0xfc, 0xb0, 0x71, 0x2f, 0x13, 0x3b, 0xf7, 0x12, 0x8c, + 0xd2, 0xc5, 0x14, 0x1b, 0x81, 0xa5, 0x46, 0x04, 0xad, 0x40, 0x61, 0x9d, 0x4e, 0x2b, 0x76, 0xfb, + 0xf6, 0x6a, 0xb5, 0x5b, 0xe0, 0xad, 0x40, 0x61, 0x9d, 0xce, 0xfe, 0x3d, 0x0b, 0x1e, 0xbf, 0xb2, + 0xb4, 0x5c, 0x23, 0x51, 0xec, 0xc5, 0x09, 0x09, 0x92, 0x8e, 0xd8, 0x5f, 0xaa, 0x33, 0xba, 0x5a, + 0x53, 0x52, 0x9d, 0xb1, 0xca, 0x5a, 0x21, 0xb0, 0xef, 0x97, 0x00, 0xf8, 0x6f, 0x59, 0x70, 0xf2, + 0x8a, 0x97, 0x60, 0xd2, 0x0a, 0xb3, 0xe1, 0xba, 0x11, 0x69, 0x85, 0xb1, 0x97, 0x84, 0xd1, 0x4e, + 0x36, 0x5c, 0x17, 0x2b, 0x0c, 0xd6, 0xa8, 0x78, 0xcd, 0xdb, 0x5e, 0x4c, 0x5b, 0x5a, 0x32, 0x4d, + 0x5d, 0x2c, 0xe0, 0x58, 0x51, 0xd0, 0x8e, 0xb9, 0x5e, 0xc4, 0x54, 0x86, 0x1d, 0xb1, 0x82, 0x55, + 0xc7, 0xaa, 0x12, 0x81, 0x53, 0x1a, 0xfb, 0x6f, 0x59, 0x70, 0xfa, 0x8a, 0xdf, 0x8e, 0x13, 0x12, + 0x6d, 0xc4, 0x46, 0x63, 0x5f, 0x80, 0x0a, 0x91, 0xca, 0xbd, 0x68, 0xab, 0xda, 0x34, 0x94, 0xd6, + 0xcf, 0x63, 0x85, 0x15, 0x5d, 0x81, 0x90, 0xd4, 0xfe, 0x02, 0x28, 0x7f, 0xb3, 0x04, 0xe3, 0x57, + 0xd7, 0xd6, 0x6a, 0x57, 0x48, 0x22, 0xa4, 0x64, 0xbe, 0x53, 0x0a, 0x6b, 0x16, 0xf9, 0x41, 0xca, + 0x4f, 0x3b, 0xf1, 0xfc, 0x39, 0x7e, 0xa5, 0x63, 0x6e, 0x35, 0x48, 0x6e, 0x45, 0xf5, 0x24, 0xf2, + 0x82, 0xcd, 0xae, 0x36, 0xbc, 0x94, 0xe5, 0xe5, 0x5e, 0xb2, 0x1c, 0xbd, 0x00, 0x43, 0xec, 0x4e, + 0x89, 0x54, 0x3e, 0x3e, 0xa8, 0xf4, 0x04, 0x06, 0xdd, 0xdf, 0x9d, 0xad, 0xdc, 0xc6, 0xab, 0xfc, + 0x0f, 0x16, 0xa4, 0xe8, 0x4d, 0x18, 0xdd, 0x4a, 0x92, 0xd6, 0x55, 0xe2, 0xb8, 0x24, 0x92, 0x72, + 0xe2, 0xfc, 0xc1, 0x72, 0x82, 0x0e, 0x07, 0x2f, 0x90, 0x2e, 0xad, 0x14, 0x16, 0x63, 0x9d, 0xa3, + 0x5d, 0x07, 0x48, 0x71, 0x0f, 0xc9, 0x06, 0xb1, 0x7f, 0xb1, 0x04, 0xc3, 0x57, 0x9d, 0xc0, 0xf5, + 0x49, 0x84, 0x56, 0x60, 0x80, 0x3c, 0x20, 0x0d, 0xb1, 0x91, 0xe7, 0x34, 0x3d, 0xdd, 0xec, 0xb8, + 0x5f, 0x8d, 0xfe, 0xc7, 0xac, 0x3c, 0xc2, 0x30, 0x4c, 0xdb, 0x7d, 0x45, 0x45, 0x72, 0x3f, 0x97, + 0x3f, 0x0a, 0x6a, 0x52, 0xf0, 0x9d, 0x52, 0x80, 0xb0, 0x64, 0xc4, 0x3c, 0x50, 0x8d, 0x56, 0x9d, + 0x8a, 0xb7, 0xa4, 0x98, 0x65, 0xb7, 0xb6, 0x54, 0xe3, 0xe4, 0x82, 0x2f, 0xf7, 0x40, 0x49, 0x20, + 0x4e, 0xd9, 0xd9, 0x97, 0xe1, 0x14, 0x3b, 0x33, 0x75, 0x92, 0x2d, 0x63, 0xd5, 0xe4, 0x4e, 0x4f, + 0xfb, 0x47, 0x25, 0x38, 0xb1, 0x5a, 0x5f, 0xaa, 0x9b, 0xbe, 0xc3, 0xcb, 0x30, 0xc6, 0x37, 0x68, + 0x3a, 0xe9, 0x1c, 0x5f, 0x94, 0x57, 0x7e, 0xfe, 0x35, 0x0d, 0x87, 0x0d, 0x4a, 0xf4, 0x38, 0x94, + 0xbd, 0x77, 0x82, 0x6c, 0xe4, 0xdd, 0xea, 0x6b, 0x37, 0x31, 0x85, 0x53, 0x34, 0xdd, 0xeb, 0xb9, + 0x90, 0x53, 0x68, 0xb5, 0xdf, 0xbf, 0x0a, 0x13, 0x5e, 0xdc, 0x88, 0xbd, 0xd5, 0x80, 0x4a, 0x00, + 0xa7, 0x21, 0xa7, 0x6f, 0xaa, 0x9c, 0xd3, 0xa6, 0x2a, 0x2c, 0xce, 0x50, 0x6b, 0x12, 0x77, 0xb0, + 0xb0, 0xbe, 0x90, 0x1b, 0xd2, 0x4d, 0x55, 0xa1, 0x16, 0xeb, 0x5d, 0xcc, 0xe2, 0x78, 0x84, 0x2a, + 0xc4, 0x3b, 0x1c, 0x63, 0x89, 0xb3, 0xdf, 0x86, 0x8a, 0x0a, 0xc5, 0x92, 0x11, 0x88, 0x56, 0x8f, + 0x08, 0xc4, 0x7c, 0xc9, 0x24, 0x1d, 0xbf, 0xe5, 0xae, 0x8e, 0xdf, 0x7f, 0x68, 0x41, 0x1a, 0x4b, + 0x82, 0x30, 0x54, 0x5a, 0x21, 0x3b, 0xc8, 0x89, 0xe4, 0x89, 0xe9, 0x53, 0x39, 0x13, 0x96, 0x2f, + 0x18, 0x3e, 0xa5, 0x6a, 0xb2, 0x2c, 0x4e, 0xd9, 0xa0, 0xeb, 0x30, 0xdc, 0x8a, 0x48, 0x3d, 0x61, + 0xd7, 0x07, 0xfa, 0xe0, 0xc8, 0xc7, 0x86, 0x97, 0xc4, 0x92, 0x85, 0xfd, 0xcf, 0x2d, 0x80, 0xeb, + 0x5e, 0xd3, 0x4b, 0xb0, 0x13, 0x6c, 0x92, 0x63, 0xb0, 0x0a, 0x6f, 0xc2, 0x40, 0xdc, 0x22, 0x8d, + 0x62, 0x47, 0x71, 0x69, 0xcb, 0xea, 0x2d, 0xd2, 0x48, 0x3f, 0x07, 0xfd, 0x87, 0x19, 0x1f, 0xfb, + 0xfb, 0x00, 0x13, 0x29, 0x19, 0xd5, 0xcc, 0xd1, 0xf3, 0x46, 0xdc, 0xfc, 0xa3, 0x99, 0xb8, 0xf9, + 0x0a, 0xa3, 0xd6, 0x42, 0xe5, 0x13, 0x28, 0x37, 0x9d, 0x07, 0xc2, 0x10, 0x78, 0xa9, 0x68, 0x83, + 0x68, 0x4d, 0x73, 0x37, 0x9c, 0x07, 0x5c, 0xef, 0x7a, 0x4e, 0x4e, 0xa4, 0x1b, 0xce, 0x83, 0x7d, + 0x7e, 0xe0, 0xc6, 0x16, 0x2c, 0xb5, 0x3c, 0xbe, 0xfc, 0x47, 0xe9, 0x7f, 0x26, 0x43, 0x69, 0x75, + 0xac, 0x56, 0x2f, 0x10, 0x7e, 0xcc, 0x3e, 0x6b, 0xf5, 0x82, 0x6c, 0xad, 0x5e, 0x50, 0xa0, 0x56, + 0x8f, 0x05, 0x98, 0x0e, 0x0b, 0xf7, 0x3f, 0x8b, 0xce, 0x1b, 0xbd, 0xf4, 0xb1, 0xbe, 0xaa, 0x16, + 0xe7, 0x08, 0xbc, 0xfa, 0x79, 0xa9, 0x6c, 0x0a, 0x68, 0x6e, 0x13, 0x64, 0xd5, 0xe8, 0x57, 0x2d, + 0x98, 0x10, 0xbf, 0x31, 0x79, 0xa7, 0x4d, 0xe2, 0x44, 0x6c, 0x6a, 0x9f, 0x3a, 0x4c, 0x6b, 0x04, + 0x0b, 0xde, 0xa8, 0x8f, 0x4a, 0x89, 0x64, 0x22, 0x73, 0xdb, 0x96, 0x69, 0x0f, 0xfa, 0xbe, 0x05, + 0xa7, 0x9a, 0xce, 0x03, 0x5e, 0x23, 0x87, 0x61, 0x27, 0xf1, 0x42, 0x11, 0x81, 0xb8, 0xd2, 0xef, + 0x3c, 0xe9, 0x60, 0xc4, 0x9b, 0x2b, 0x83, 0x8b, 0x4e, 0x75, 0x23, 0xc9, 0x6d, 0x74, 0xd7, 0x16, + 0xce, 0x6c, 0xc0, 0x88, 0x9c, 0x98, 0x5d, 0xd4, 0xfc, 0xaa, 0xbe, 0x77, 0xe7, 0x18, 0xd5, 0x73, + 0xd2, 0x35, 0x36, 0xf7, 0x5a, 0xdb, 0x09, 0x12, 0x2f, 0xd9, 0xd1, 0xcc, 0x02, 0x56, 0x8f, 0x98, + 0x8a, 0x47, 0x5a, 0xcf, 0xdb, 0x30, 0xa6, 0xcf, 0xbb, 0x23, 0xad, 0xeb, 0x1d, 0x38, 0xd9, 0x65, + 0x56, 0x1d, 0x69, 0x95, 0xf7, 0xe1, 0xd1, 0x9e, 0xf3, 0xe3, 0x28, 0x2b, 0xb6, 0x7f, 0xd3, 0xd2, + 0x45, 0xe7, 0x31, 0x38, 0x5d, 0x6e, 0x98, 0x4e, 0x97, 0xf3, 0x45, 0xd7, 0x50, 0x0f, 0xcf, 0xcb, + 0x86, 0xde, 0x7c, 0xba, 0x25, 0xa0, 0x35, 0x18, 0xf2, 0x29, 0x44, 0x9e, 0x79, 0x5d, 0xe8, 0x67, + 0x95, 0xa6, 0x4a, 0x09, 0x83, 0xc7, 0x58, 0xf0, 0xb2, 0xbf, 0x6f, 0xc1, 0xc0, 0x4f, 0xf1, 0x56, + 0x4f, 0x07, 0x6b, 0x71, 0x39, 0x7d, 0x0e, 0x3b, 0xf7, 0x97, 0x1f, 0x24, 0x24, 0x88, 0x99, 0x0e, + 0xda, 0xeb, 0xd4, 0x7e, 0x94, 0x56, 0x25, 0x03, 0x25, 0x5e, 0x81, 0x71, 0xdf, 0x59, 0x27, 0xbe, + 0x74, 0x18, 0x67, 0x2d, 0xb6, 0xeb, 0x3a, 0x12, 0x9b, 0xb4, 0xb4, 0xf0, 0x86, 0xee, 0x4f, 0x17, + 0x4a, 0x92, 0x2a, 0x6c, 0x38, 0xdb, 0xb1, 0x49, 0x4b, 0x4d, 0x86, 0xfb, 0x4e, 0xd2, 0xd8, 0x12, + 0xd6, 0x9c, 0x6a, 0xee, 0x5d, 0x0a, 0xc4, 0x1c, 0x87, 0x16, 0x60, 0x52, 0xce, 0xd8, 0x3b, 0xd4, + 0xcc, 0x0f, 0x03, 0xa1, 0x67, 0xaa, 0x9b, 0xc1, 0xd8, 0x44, 0xe3, 0x2c, 0x3d, 0xfa, 0x38, 0x4c, + 0xd0, 0xc1, 0x09, 0xdb, 0x89, 0x0c, 0x03, 0x19, 0x64, 0x61, 0x20, 0x2c, 0x8a, 0x78, 0xcd, 0xc0, + 0xe0, 0x0c, 0xa5, 0xfd, 0x26, 0x9c, 0xbc, 0x1e, 0x3a, 0xee, 0xa2, 0xe3, 0x3b, 0x41, 0x83, 0x44, + 0xab, 0xc1, 0x66, 0xee, 0xf1, 0xb5, 0x7e, 0xc4, 0x5c, 0xca, 0x3b, 0x62, 0xb6, 0x23, 0x40, 0x7a, + 0x05, 0x22, 0x80, 0xe9, 0x0d, 0x18, 0xf6, 0x78, 0x55, 0x62, 0xda, 0x5e, 0xcc, 0xf3, 0x47, 0x75, + 0xb4, 0x51, 0x0b, 0xc8, 0xe1, 0x00, 0x2c, 0x59, 0x52, 0x13, 0xa4, 0x9b, 0x03, 0x2b, 0xdf, 0xca, + 0xb3, 0xff, 0xa2, 0x05, 0x93, 0x37, 0x33, 0xd7, 0x4e, 0x9f, 0x86, 0x21, 0x9e, 0xbc, 0x20, 0xeb, + 0x62, 0xa9, 0x33, 0x28, 0x16, 0xd8, 0x87, 0x6e, 0xe1, 0xff, 0x4a, 0x09, 0x2a, 0x2c, 0x14, 0xb6, + 0x45, 0xcd, 0x89, 0xa3, 0x57, 0x53, 0x6f, 0x18, 0x6a, 0x6a, 0x8e, 0x95, 0xa9, 0x1a, 0xd6, 0x4b, + 0x4b, 0x45, 0xb7, 0xd5, 0x75, 0xcc, 0x42, 0x06, 0x66, 0xca, 0x90, 0x5f, 0xd9, 0x9b, 0x30, 0x6f, + 0x6f, 0xca, 0xab, 0x9a, 0xec, 0xd0, 0x57, 0xd1, 0xbe, 0xef, 0x0e, 0x7d, 0x55, 0xcb, 0x7a, 0x08, + 0xa7, 0x9a, 0xd6, 0x78, 0x26, 0xbe, 0x3f, 0xc9, 0x02, 0x1c, 0x1d, 0xdf, 0xfb, 0x02, 0x51, 0xb7, + 0x9a, 0x67, 0x45, 0xc0, 0xa2, 0x80, 0xee, 0x33, 0x39, 0x23, 0xfe, 0xf1, 0x4b, 0xeb, 0x69, 0x11, + 0xfb, 0x2a, 0x4c, 0x66, 0x86, 0x0e, 0xbd, 0x04, 0x83, 0xad, 0x2d, 0x27, 0x26, 0x99, 0x38, 0x96, + 0xc1, 0x1a, 0x05, 0xee, 0xef, 0xce, 0x4e, 0xa8, 0x02, 0x0c, 0x82, 0x39, 0xb5, 0xfd, 0x95, 0x12, + 0x0c, 0xdc, 0x0c, 0xdd, 0xe3, 0x98, 0x6a, 0x57, 0x8d, 0xa9, 0xf6, 0x74, 0x7e, 0xca, 0x8b, 0x9e, + 0xb3, 0xac, 0x96, 0x99, 0x65, 0xe7, 0x0b, 0xf0, 0x3a, 0x78, 0x82, 0x35, 0x61, 0x94, 0xa5, 0xd4, + 0x10, 0x81, 0x3c, 0x2f, 0x18, 0x96, 0xd5, 0x6c, 0xc6, 0xb2, 0x9a, 0xd4, 0x48, 0x35, 0xfb, 0xea, + 0x19, 0x18, 0x16, 0x81, 0x23, 0xd9, 0xf0, 0x4e, 0x41, 0x8b, 0x25, 0xde, 0xfe, 0xa7, 0x65, 0x30, + 0x52, 0x78, 0xa0, 0xdf, 0xb1, 0x60, 0x2e, 0xe2, 0x57, 0x65, 0xdc, 0x6a, 0x3b, 0xf2, 0x82, 0xcd, + 0x7a, 0x63, 0x8b, 0xb8, 0x6d, 0xdf, 0x0b, 0x36, 0x57, 0x37, 0x83, 0x50, 0x81, 0x97, 0x1f, 0x90, + 0x46, 0x9b, 0xf9, 0x69, 0x0b, 0x67, 0x0e, 0x51, 0x87, 0xa6, 0x97, 0xf6, 0x76, 0x67, 0xe7, 0x70, + 0x5f, 0xb5, 0xe0, 0x3e, 0x5b, 0x85, 0xfe, 0xd0, 0x82, 0x79, 0x9e, 0xc4, 0xa2, 0x78, 0x4f, 0x0a, + 0x59, 0xa4, 0x35, 0xc9, 0x34, 0x65, 0xb7, 0x46, 0xa2, 0xe6, 0xe2, 0xcb, 0x62, 0x90, 0xe7, 0x6b, + 0xfd, 0xd5, 0x8a, 0xfb, 0x6d, 0xa6, 0xfd, 0x2f, 0xcb, 0x30, 0x4e, 0xc7, 0x33, 0xbd, 0xb8, 0xfe, + 0x92, 0x31, 0x4d, 0x9e, 0xc8, 0x4c, 0x93, 0x13, 0x06, 0xf1, 0xc3, 0xb9, 0xb3, 0x1e, 0xc3, 0x09, + 0xdf, 0x89, 0x93, 0xab, 0xc4, 0x89, 0x92, 0x75, 0xe2, 0xb0, 0xb3, 0xc9, 0x6c, 0xdc, 0x43, 0x81, + 0xe3, 0x4e, 0x15, 0x8c, 0x74, 0x3d, 0xcb, 0x0c, 0x77, 0xf2, 0x47, 0xdb, 0x80, 0xd8, 0x39, 0x68, + 0xe4, 0x04, 0x31, 0xef, 0x8b, 0x27, 0xfc, 0xba, 0xfd, 0xd5, 0x3a, 0x23, 0x6a, 0x45, 0xd7, 0x3b, + 0xb8, 0xe1, 0x2e, 0x35, 0x68, 0x27, 0xdd, 0x83, 0x45, 0x4f, 0xba, 0x87, 0x72, 0xe2, 0xaa, 0xbf, + 0x6a, 0xc1, 0x49, 0xfa, 0x59, 0xcc, 0x18, 0xdc, 0x18, 0x85, 0x30, 0x49, 0xa7, 0x9d, 0x4f, 0x12, + 0x09, 0x13, 0xeb, 0x2b, 0x47, 0xb3, 0x36, 0xf9, 0xa4, 0xea, 0xdb, 0x35, 0x93, 0x19, 0xce, 0x72, + 0xb7, 0xbf, 0x6d, 0x01, 0x8b, 0xb8, 0x3b, 0x86, 0xcd, 0xec, 0x8a, 0xb9, 0x99, 0xd9, 0xf9, 0x12, + 0xa3, 0xc7, 0x3e, 0xf6, 0x22, 0x4c, 0x51, 0x6c, 0x2d, 0x0a, 0x1f, 0xec, 0x48, 0x45, 0x3b, 0xdf, + 0xc1, 0xfb, 0xd5, 0x12, 0x5f, 0x36, 0xea, 0xce, 0x1f, 0xfa, 0x25, 0x0b, 0x46, 0x1a, 0x4e, 0xcb, + 0x69, 0xf0, 0x04, 0x48, 0x05, 0xbc, 0x33, 0x46, 0xf9, 0xb9, 0x25, 0x51, 0x96, 0x7b, 0x16, 0x3e, + 0x22, 0xbb, 0x2e, 0xc1, 0xb9, 0xde, 0x04, 0x55, 0xf9, 0xcc, 0x3d, 0x18, 0x37, 0x98, 0x1d, 0xa9, + 0x19, 0xfa, 0x4b, 0x16, 0x17, 0xfa, 0xca, 0x54, 0xb8, 0x0f, 0x27, 0x02, 0xed, 0x3f, 0x15, 0x67, + 0x52, 0x33, 0x9e, 0x2b, 0x2e, 0xd6, 0x99, 0x14, 0xd4, 0xa2, 0x0b, 0x33, 0x0c, 0x71, 0x67, 0x1d, + 0xf6, 0xdf, 0xb6, 0xe0, 0x11, 0x9d, 0x50, 0xbb, 0xa4, 0x99, 0xe7, 0x37, 0xae, 0xc2, 0x48, 0xd8, + 0x22, 0x91, 0x93, 0x9a, 0x45, 0xe7, 0xe5, 0xf8, 0xdf, 0x12, 0xf0, 0xfd, 0xdd, 0xd9, 0x53, 0x3a, + 0x77, 0x09, 0xc7, 0xaa, 0x24, 0xb2, 0x61, 0x88, 0x8d, 0x4b, 0x2c, 0xae, 0xd7, 0xb2, 0x84, 0x40, + 0xec, 0x50, 0x25, 0xc6, 0x02, 0x63, 0xff, 0x55, 0x8b, 0x4f, 0x37, 0xbd, 0xe9, 0xe8, 0x8b, 0x30, + 0xd5, 0xa4, 0x16, 0xd4, 0xf2, 0x83, 0x16, 0xdd, 0x48, 0xd9, 0x71, 0xb2, 0x55, 0x64, 0xfb, 0xe8, + 0xd1, 0xdd, 0xc5, 0x69, 0xd1, 0xfa, 0xa9, 0x1b, 0x19, 0xb6, 0xb8, 0xa3, 0x22, 0xfb, 0x3f, 0x89, + 0x35, 0xcb, 0x74, 0xb8, 0x67, 0x60, 0xb8, 0x15, 0xba, 0x4b, 0xab, 0x55, 0x2c, 0xc6, 0x4a, 0x09, + 0x9d, 0x1a, 0x07, 0x63, 0x89, 0x47, 0x97, 0x00, 0xc8, 0x83, 0x84, 0x44, 0x81, 0xe3, 0xab, 0x63, + 0x60, 0xa5, 0x2a, 0x2d, 0x2b, 0x0c, 0xd6, 0xa8, 0x68, 0x99, 0x56, 0x14, 0x6e, 0x7b, 0x2e, 0xbb, + 0x5d, 0x50, 0x36, 0xcb, 0xd4, 0x14, 0x06, 0x6b, 0x54, 0xd4, 0x6e, 0x6d, 0x07, 0x31, 0xdf, 0xc6, + 0x9c, 0x75, 0x91, 0xbf, 0x66, 0x24, 0xb5, 0x5b, 0x6f, 0xeb, 0x48, 0x6c, 0xd2, 0xda, 0xff, 0xbe, + 0x02, 0x90, 0x2a, 0x4a, 0xe8, 0x2b, 0x9d, 0x6b, 0xf4, 0xa3, 0x45, 0xb5, 0xac, 0x87, 0xb7, 0x40, + 0xd1, 0xd7, 0x2d, 0x18, 0x75, 0x7c, 0x3f, 0x6c, 0x38, 0x09, 0xeb, 0x51, 0xa9, 0xa8, 0xb4, 0x10, + 0x2d, 0x59, 0x48, 0xcb, 0xf2, 0xc6, 0xbc, 0x20, 0xcf, 0x08, 0x35, 0x4c, 0x6e, 0x7b, 0xf4, 0x26, + 0xa0, 0x8f, 0x48, 0x45, 0x9b, 0x7f, 0x94, 0x99, 0xac, 0xa2, 0x5d, 0x61, 0x32, 0x52, 0xd3, 0xb1, + 0xd1, 0x9b, 0x46, 0x8a, 0x96, 0x81, 0x22, 0xb7, 0x3a, 0x0d, 0xd5, 0x21, 0x2f, 0x3b, 0x0b, 0xfa, + 0xac, 0x1e, 0x05, 0x3d, 0x58, 0xe4, 0xda, 0xb4, 0xa6, 0xc1, 0xe6, 0x44, 0x40, 0x27, 0x30, 0xe9, + 0x9a, 0x9b, 0xa5, 0x88, 0xe4, 0xba, 0x98, 0x5f, 0x43, 0x66, 0x97, 0x4d, 0xb7, 0xc7, 0x0c, 0x02, + 0x67, 0xab, 0x40, 0x9f, 0xe5, 0x31, 0xea, 0xab, 0xc1, 0x46, 0x28, 0xa2, 0xb9, 0x2e, 0x14, 0xf8, + 0xe6, 0x3b, 0x71, 0x42, 0x9a, 0xb4, 0x4c, 0xba, 0x1f, 0xde, 0x14, 0x5c, 0xb0, 0xe2, 0x87, 0xd6, + 0x60, 0x88, 0x5d, 0xe2, 0x89, 0xa7, 0x47, 0x8a, 0x38, 0xcf, 0xcc, 0xbb, 0xab, 0xa9, 0x12, 0xc2, + 0xfe, 0xc6, 0x58, 0xf0, 0x42, 0x57, 0xe5, 0xed, 0xf5, 0x78, 0x35, 0xb8, 0x1d, 0x13, 0x76, 0x7b, + 0xbd, 0xb2, 0xf8, 0xa1, 0xf4, 0x3a, 0x3a, 0x87, 0x77, 0x4d, 0x52, 0x67, 0x94, 0xa4, 0xba, 0x88, + 0xf8, 0x2f, 0x73, 0xdf, 0x4d, 0x43, 0x91, 0x86, 0x9a, 0x99, 0xf2, 0xd2, 0xc1, 0xbe, 0x63, 0x32, + 0xc3, 0x59, 0xee, 0xc7, 0xba, 0x0b, 0xce, 0x04, 0x30, 0x95, 0x5d, 0x94, 0x47, 0xba, 0xeb, 0xfe, + 0x64, 0x00, 0x26, 0xcc, 0xc9, 0x81, 0xe6, 0xa1, 0x22, 0x98, 0xa8, 0x5c, 0x58, 0x6a, 0x0d, 0xdc, + 0x90, 0x08, 0x9c, 0xd2, 0xb0, 0xac, 0x60, 0xac, 0xb8, 0x16, 0xc7, 0x93, 0x66, 0x05, 0x53, 0x18, + 0xac, 0x51, 0x51, 0xe5, 0x75, 0x3d, 0x0c, 0x13, 0x25, 0xbc, 0xd5, 0xbc, 0x59, 0x64, 0x50, 0x2c, + 0xb0, 0x54, 0x68, 0xdf, 0xa3, 0x1f, 0xd3, 0x37, 0x1d, 0x81, 0x4a, 0x68, 0x5f, 0xd3, 0x91, 0xd8, + 0xa4, 0xa5, 0x9b, 0x50, 0x18, 0xb3, 0x89, 0x28, 0x54, 0xe4, 0x34, 0x2e, 0xaa, 0xce, 0x2f, 0xb6, + 0x49, 0x3c, 0xfa, 0x0c, 0x3c, 0xa2, 0xee, 0xa1, 0x61, 0xee, 0x58, 0x95, 0x35, 0x0e, 0x19, 0x56, + 0xee, 0x23, 0x4b, 0xdd, 0xc9, 0x70, 0xaf, 0xf2, 0xe8, 0x55, 0x98, 0x10, 0xea, 0xad, 0xe4, 0x38, + 0x6c, 0x1e, 0x9a, 0x5f, 0x33, 0xb0, 0x38, 0x43, 0x8d, 0xaa, 0x30, 0x45, 0x21, 0x4c, 0xaf, 0x94, + 0x1c, 0xf8, 0x7d, 0x3a, 0xb5, 0x3b, 0x5f, 0xcb, 0xe0, 0x71, 0x47, 0x09, 0xb4, 0x00, 0x93, 0x5c, + 0xbf, 0xa0, 0xb6, 0x1c, 0xfb, 0x0e, 0x22, 0x04, 0x53, 0x2d, 0x84, 0x5b, 0x26, 0x1a, 0x67, 0xe9, + 0xd1, 0x65, 0x18, 0x73, 0xa2, 0xc6, 0x96, 0x97, 0x90, 0x46, 0xd2, 0x8e, 0x78, 0x6e, 0x08, 0x2d, + 0xea, 0x60, 0x41, 0xc3, 0x61, 0x83, 0xd2, 0xfe, 0x02, 0x9c, 0xec, 0x12, 0xef, 0x4d, 0x27, 0x8e, + 0xd3, 0xf2, 0x64, 0x9f, 0x32, 0x11, 0x4e, 0x0b, 0xb5, 0x55, 0xd9, 0x1b, 0x8d, 0x8a, 0xce, 0x4e, + 0xe6, 0x51, 0xd6, 0x52, 0x55, 0xaa, 0xd9, 0xb9, 0x22, 0x11, 0x38, 0xa5, 0xb1, 0xff, 0xac, 0x02, + 0x9a, 0xc3, 0xa5, 0x40, 0x54, 0xcb, 0x65, 0x18, 0x93, 0xd9, 0x57, 0xb5, 0xac, 0x87, 0xaa, 0x9b, + 0x57, 0x34, 0x1c, 0x36, 0x28, 0x69, 0xdb, 0x02, 0xe9, 0x46, 0xca, 0xc6, 0x53, 0x29, 0xff, 0x12, + 0x4e, 0x69, 0xd0, 0x05, 0x18, 0x89, 0x89, 0xbf, 0x71, 0xdd, 0x0b, 0xee, 0x89, 0x89, 0xad, 0x24, + 0x73, 0x5d, 0xc0, 0xb1, 0xa2, 0x40, 0x8b, 0x50, 0x6e, 0x7b, 0xae, 0x98, 0xca, 0x52, 0x6d, 0x28, + 0xdf, 0x5e, 0xad, 0xee, 0xef, 0xce, 0x3e, 0xd1, 0x2b, 0x15, 0x2d, 0x35, 0xa9, 0xe3, 0x39, 0xba, + 0xfc, 0x68, 0xe1, 0x6e, 0xae, 0xf5, 0xa1, 0x3e, 0x5d, 0xeb, 0x97, 0x00, 0x44, 0xaf, 0xe5, 0x5c, + 0x2e, 0xa7, 0x5f, 0xed, 0x8a, 0xc2, 0x60, 0x8d, 0x8a, 0x1a, 0xe6, 0x8d, 0x88, 0x38, 0xd2, 0x76, + 0xe5, 0x71, 0xc8, 0x23, 0x87, 0x37, 0xcc, 0x97, 0xb2, 0xcc, 0x70, 0x27, 0x7f, 0x14, 0xc2, 0x09, + 0x97, 0x2e, 0x24, 0xa3, 0xd2, 0x4a, 0xff, 0xc1, 0xcf, 0xb4, 0xc2, 0x6a, 0x96, 0x11, 0xee, 0xe4, + 0x8d, 0x3e, 0x0f, 0x33, 0x12, 0xd8, 0x79, 0xd3, 0x94, 0x2d, 0x97, 0xf2, 0xe2, 0xd9, 0xbd, 0xdd, + 0xd9, 0x99, 0x6a, 0x4f, 0x2a, 0x7c, 0x00, 0x07, 0xf4, 0x06, 0x0c, 0xb1, 0xa3, 0x98, 0x78, 0x7a, + 0x94, 0xed, 0x78, 0x2f, 0x16, 0x09, 0xa1, 0xa7, 0xb3, 0x7e, 0x8e, 0x1d, 0xe8, 0x88, 0xe0, 0xd0, + 0xf4, 0x7c, 0x8b, 0x01, 0xb1, 0xe0, 0x89, 0x5a, 0x30, 0xea, 0x04, 0x41, 0x98, 0x38, 0x5c, 0x11, + 0x1b, 0x2b, 0xa2, 0x4b, 0x6a, 0x55, 0x2c, 0xa4, 0x65, 0x79, 0x3d, 0x2a, 0xde, 0x4c, 0xc3, 0x60, + 0xbd, 0x0a, 0x74, 0x1f, 0x26, 0xc3, 0xfb, 0x54, 0x60, 0xca, 0xd3, 0x88, 0x78, 0x7a, 0xdc, 0xec, + 0x58, 0x8e, 0x6f, 0xd5, 0x28, 0xac, 0x49, 0x32, 0x93, 0x29, 0xce, 0xd6, 0x82, 0xe6, 0x0c, 0x0f, + 0xf3, 0x44, 0x1a, 0x02, 0x9d, 0x7a, 0x98, 0x75, 0x87, 0x32, 0xbb, 0xcd, 0xcc, 0xc3, 0x1e, 0x99, + 0x44, 0x98, 0xcc, 0xdc, 0x66, 0x4e, 0x51, 0x58, 0xa7, 0x9b, 0xf9, 0x18, 0x8c, 0x6a, 0x03, 0xdf, + 0x4f, 0xac, 0xed, 0xcc, 0xab, 0x30, 0x95, 0x1d, 0xd0, 0xbe, 0x62, 0x75, 0xff, 0x47, 0x09, 0x26, + 0xbb, 0x1c, 0xf5, 0xdc, 0xf3, 0x58, 0xbc, 0xb8, 0x21, 0xfa, 0xae, 0x79, 0x81, 0x8b, 0x19, 0xc6, + 0x14, 0x60, 0xa5, 0x02, 0x02, 0x4c, 0x4a, 0xd3, 0x72, 0x4f, 0x69, 0x2a, 0x84, 0xd6, 0xc0, 0x7b, + 0x11, 0x5a, 0xe6, 0x3e, 0x31, 0x58, 0x68, 0x9f, 0x78, 0x08, 0x82, 0xce, 0xd8, 0x6a, 0x86, 0x0b, + 0x6c, 0x35, 0xdf, 0x2a, 0xc1, 0x54, 0x1a, 0x97, 0x2c, 0x52, 0x32, 0x1f, 0xfd, 0xc9, 0xc1, 0x9a, + 0x71, 0x72, 0x90, 0x97, 0x71, 0x39, 0xd3, 0xbe, 0x9e, 0xa7, 0x08, 0x6f, 0x64, 0x4e, 0x11, 0x5e, + 0xec, 0x93, 0xef, 0xc1, 0x27, 0x0a, 0xdf, 0x2b, 0xc1, 0xe9, 0x6c, 0x91, 0x25, 0xdf, 0xf1, 0x9a, + 0xc7, 0x30, 0x5e, 0x9f, 0x31, 0xc6, 0xeb, 0xe5, 0xfe, 0xfa, 0xc5, 0x1a, 0xd9, 0x73, 0xd0, 0x9c, + 0xcc, 0xa0, 0x7d, 0xec, 0x30, 0xcc, 0x0f, 0x1e, 0xb9, 0xdf, 0xb7, 0xe0, 0xd1, 0xae, 0xe5, 0x8e, + 0xc1, 0x57, 0xfa, 0xba, 0xe9, 0x2b, 0x7d, 0xe1, 0x10, 0xbd, 0xeb, 0xe1, 0x3c, 0xfd, 0x6f, 0xa5, + 0x1e, 0xbd, 0x62, 0xde, 0xa4, 0x5b, 0x30, 0xea, 0x34, 0x1a, 0x24, 0x8e, 0x6f, 0x84, 0xae, 0xca, + 0x8b, 0xf4, 0x3c, 0xdb, 0x5b, 0x52, 0xf0, 0xfe, 0xee, 0xec, 0x4c, 0x96, 0x45, 0x8a, 0xc6, 0x3a, + 0x07, 0x33, 0x63, 0x5b, 0xe9, 0x88, 0x32, 0xb6, 0x5d, 0x02, 0xd8, 0x56, 0x56, 0x6c, 0xd6, 0x49, + 0xa5, 0xd9, 0xb7, 0x1a, 0x15, 0xfa, 0xff, 0x99, 0x46, 0xc8, 0xe3, 0x2a, 0x06, 0xcc, 0x2b, 0x8e, + 0x39, 0xdf, 0x4f, 0x8f, 0xd1, 0xe0, 0x37, 0x29, 0x95, 0x43, 0x4f, 0xb1, 0xb4, 0xbf, 0x5b, 0x86, + 0x0f, 0x1e, 0x30, 0xe9, 0xd0, 0x82, 0x79, 0x4c, 0xfa, 0x5c, 0xd6, 0x7b, 0x33, 0xd3, 0xb5, 0xb0, + 0xe1, 0xce, 0xc9, 0x7c, 0xab, 0xd2, 0x7b, 0xfe, 0x56, 0xdf, 0xd0, 0x7d, 0x6d, 0x3c, 0x50, 0xf2, + 0xca, 0xa1, 0x97, 0xd5, 0xcf, 0xaa, 0x77, 0xfc, 0xcb, 0x16, 0x3c, 0xd1, 0xb5, 0x5b, 0x46, 0x58, + 0xc6, 0x3c, 0x54, 0x1a, 0x14, 0xa8, 0x5d, 0x7e, 0x49, 0x6f, 0x9d, 0x49, 0x04, 0x4e, 0x69, 0x8c, + 0xe8, 0x8b, 0x52, 0x6e, 0xf4, 0xc5, 0xef, 0x5a, 0x70, 0x2a, 0xdb, 0x88, 0x63, 0x90, 0x3a, 0x75, + 0x53, 0xea, 0xcc, 0xf5, 0xf7, 0xf1, 0x7b, 0x08, 0x9c, 0x5f, 0x1d, 0x87, 0x33, 0x1d, 0x7b, 0x16, + 0x1f, 0xc5, 0x5f, 0xb0, 0xe0, 0xc4, 0x26, 0xd3, 0xbd, 0xb5, 0x1b, 0x46, 0xa2, 0x5f, 0x39, 0xd7, + 0xb2, 0x0e, 0xbc, 0x98, 0xc4, 0x2d, 0x89, 0x0e, 0x12, 0xdc, 0x59, 0x19, 0xfa, 0x9a, 0x05, 0xa7, + 0x9c, 0xfb, 0x71, 0xc7, 0x73, 0x1f, 0x62, 0x22, 0xbd, 0x9a, 0xe3, 0xea, 0xca, 0x79, 0x28, 0x64, + 0x71, 0x7a, 0x6f, 0x77, 0xf6, 0x54, 0x37, 0x2a, 0xdc, 0xb5, 0x56, 0xfa, 0x7d, 0xb7, 0xc4, 0xfd, + 0x85, 0x62, 0x77, 0xe5, 0xba, 0xdd, 0x76, 0xe0, 0x42, 0x49, 0x62, 0xb0, 0xe2, 0x88, 0xde, 0x82, + 0xca, 0xa6, 0xbc, 0x54, 0x94, 0x15, 0x7a, 0x3d, 0x86, 0xb9, 0xdb, 0x1d, 0x24, 0x1e, 0x2c, 0xaf, + 0x50, 0x38, 0x65, 0x8a, 0xae, 0x42, 0x39, 0xd8, 0x88, 0xc5, 0xf5, 0xdd, 0xbc, 0xa0, 0x1b, 0x33, + 0xd4, 0x89, 0xdf, 0x78, 0xbc, 0xb9, 0x52, 0xc7, 0x94, 0x05, 0xe5, 0x14, 0xad, 0xbb, 0xc2, 0xc7, + 0x9b, 0xc3, 0x09, 0x2f, 0x56, 0x3b, 0x39, 0xe1, 0xc5, 0x2a, 0xa6, 0x2c, 0x50, 0x0d, 0x06, 0xd9, + 0xed, 0x08, 0xe1, 0xc0, 0xcd, 0xb9, 0xe3, 0xdd, 0x71, 0x07, 0x84, 0xa7, 0x05, 0x64, 0x60, 0xcc, + 0x19, 0xa1, 0x35, 0x18, 0x6a, 0xb0, 0xcc, 0xf6, 0xc2, 0xb2, 0xce, 0xcb, 0x7e, 0xd0, 0x91, 0x05, + 0x9f, 0x1f, 0x34, 0x71, 0x38, 0x16, 0xbc, 0x18, 0x57, 0xd2, 0xda, 0xda, 0x88, 0x85, 0xe9, 0x9c, + 0xc7, 0xb5, 0xe3, 0x8d, 0x02, 0xc1, 0x95, 0xc1, 0xb1, 0xe0, 0x85, 0xaa, 0x50, 0xda, 0x68, 0x88, + 0xec, 0xa2, 0x39, 0x8e, 0x5b, 0xf3, 0xfa, 0xea, 0xe2, 0xd0, 0xde, 0xee, 0x6c, 0x69, 0x65, 0x09, + 0x97, 0x36, 0x1a, 0xe8, 0x75, 0x18, 0xde, 0xe0, 0x17, 0x12, 0x45, 0x26, 0xd1, 0x8b, 0x79, 0xb7, + 0x26, 0x3b, 0x6e, 0x2f, 0xf2, 0x0b, 0x11, 0x02, 0x81, 0x25, 0x3b, 0x96, 0x64, 0x4d, 0x5d, 0xb1, + 0x14, 0xa9, 0x44, 0xe7, 0xfa, 0xbb, 0x92, 0x29, 0x2c, 0x4a, 0x05, 0xc5, 0x1a, 0x47, 0x3a, 0xe7, + 0x1d, 0xf9, 0x48, 0x07, 0x4b, 0x23, 0x9a, 0x3b, 0xe7, 0xbb, 0xbe, 0xe9, 0xc1, 0xe7, 0xbc, 0x42, + 0xe1, 0x94, 0x29, 0x6a, 0xc3, 0xf8, 0x76, 0xdc, 0xda, 0x22, 0x72, 0xe9, 0xb3, 0xdc, 0xa2, 0xa3, + 0x97, 0x3e, 0x91, 0x93, 0x30, 0x56, 0x14, 0xf1, 0xa2, 0xa4, 0xed, 0xf8, 0x1d, 0x12, 0x8c, 0x65, + 0xb5, 0xba, 0xa3, 0xb3, 0xc5, 0x66, 0x2d, 0xf4, 0x93, 0xbc, 0xd3, 0x0e, 0xd7, 0x77, 0x12, 0x22, + 0x72, 0x8f, 0xe6, 0x7c, 0x92, 0xd7, 0x38, 0x71, 0xe7, 0x27, 0x11, 0x08, 0x2c, 0xd9, 0xa9, 0x21, + 0x63, 0xd2, 0x78, 0xaa, 0xf0, 0x90, 0x75, 0xf4, 0x21, 0x1d, 0x32, 0x26, 0x7d, 0x53, 0xa6, 0x4c, + 0xea, 0xb6, 0xb6, 0xc2, 0x24, 0x0c, 0x32, 0xb2, 0xff, 0x44, 0x11, 0xa9, 0x5b, 0xeb, 0x52, 0xb2, + 0x53, 0xea, 0x76, 0xa3, 0xc2, 0x5d, 0x6b, 0xb5, 0xff, 0xcb, 0x60, 0xe7, 0x76, 0xcb, 0xd4, 0xe1, + 0xbf, 0xd2, 0x79, 0xfa, 0xf8, 0xa9, 0xfe, 0xad, 0xbe, 0x87, 0x78, 0x0e, 0xf9, 0x35, 0x0b, 0xce, + 0xb4, 0xba, 0x6e, 0xa6, 0x62, 0xc3, 0xea, 0xd7, 0x78, 0xe4, 0x03, 0xa6, 0x12, 0xeb, 0x76, 0xc7, + 0xe3, 0x1e, 0x75, 0x66, 0x55, 0xd0, 0xf2, 0x7b, 0x56, 0x41, 0xef, 0xc2, 0x08, 0xd3, 0x99, 0xd2, + 0x94, 0x1c, 0x7d, 0x66, 0xaf, 0x60, 0x5b, 0xdf, 0x92, 0x60, 0x81, 0x15, 0x33, 0x3a, 0x70, 0x8f, + 0x67, 0x3b, 0x81, 0x09, 0x43, 0x8b, 0xe4, 0xb3, 0xdc, 0xdb, 0xb1, 0x22, 0x46, 0xe2, 0xf1, 0xda, + 0x41, 0xc4, 0xfb, 0x79, 0x04, 0xf8, 0xe0, 0xca, 0x8e, 0x57, 0xa5, 0xfd, 0x7b, 0x56, 0x17, 0x0d, + 0x8c, 0x9b, 0x21, 0x9f, 0x30, 0xcd, 0x90, 0xa7, 0xb3, 0x66, 0x48, 0x87, 0xeb, 0xc0, 0xb0, 0x40, + 0x8a, 0x27, 0x92, 0x2c, 0x9a, 0x2d, 0xc4, 0xf6, 0xe1, 0x5c, 0xde, 0xf2, 0x66, 0xb1, 0x3e, 0xae, + 0x3a, 0x32, 0x4b, 0x63, 0x7d, 0xdc, 0xd5, 0x2a, 0x66, 0x98, 0xa2, 0x17, 0xce, 0xed, 0x5f, 0x2c, + 0x41, 0xb9, 0x16, 0xba, 0xc7, 0xe0, 0x0a, 0xb9, 0x62, 0xb8, 0x42, 0x9e, 0xca, 0x7d, 0xa4, 0xac, + 0xa7, 0xe3, 0xe3, 0x56, 0xc6, 0xf1, 0xf1, 0xe1, 0x7c, 0x56, 0x07, 0xbb, 0x39, 0xbe, 0x5f, 0x06, + 0xfd, 0x99, 0x35, 0xf4, 0x6f, 0x0f, 0x13, 0x02, 0x5a, 0x2e, 0xf6, 0xf2, 0x9a, 0xa8, 0x83, 0x85, + 0x0a, 0xc9, 0x8b, 0x63, 0x3f, 0xb3, 0x91, 0xa0, 0x77, 0x89, 0xb7, 0xb9, 0x95, 0x10, 0x37, 0xdb, + 0xb1, 0xe3, 0x8b, 0x04, 0xfd, 0x53, 0x0b, 0x26, 0x33, 0xb5, 0x23, 0xbf, 0xdb, 0x8d, 0x93, 0x43, + 0x3a, 0x37, 0x4e, 0xe4, 0x5e, 0x51, 0x99, 0x03, 0x50, 0x3e, 0x6a, 0xe9, 0x82, 0x60, 0xda, 0x98, + 0x72, 0x62, 0xc7, 0x58, 0xa3, 0x40, 0x2f, 0xc1, 0x68, 0x12, 0xb6, 0x42, 0x3f, 0xdc, 0xdc, 0xb9, + 0x46, 0x64, 0x2a, 0x04, 0xe5, 0xdf, 0x5f, 0x4b, 0x51, 0x58, 0xa7, 0xb3, 0x7f, 0x50, 0x86, 0xec, + 0x23, 0x7d, 0xff, 0x6f, 0x9e, 0xfe, 0xec, 0xcc, 0xd3, 0x3f, 0xb0, 0x60, 0x8a, 0xd6, 0xce, 0x02, + 0x3d, 0x64, 0xc4, 0xa6, 0xca, 0x6a, 0x6f, 0x1d, 0x90, 0xd5, 0xfe, 0x69, 0x2a, 0xed, 0xdc, 0xb0, + 0x9d, 0x08, 0xa7, 0x89, 0x26, 0xc4, 0x28, 0x14, 0x0b, 0xac, 0xa0, 0x23, 0x51, 0x24, 0xae, 0xb6, + 0xe8, 0x74, 0x24, 0x8a, 0xb0, 0xc0, 0xca, 0xa4, 0xf7, 0x03, 0x3d, 0x92, 0xde, 0xb3, 0x64, 0x42, + 0x22, 0xb8, 0x40, 0x28, 0x04, 0x5a, 0x32, 0x21, 0x19, 0x75, 0x90, 0xd2, 0xd8, 0xdf, 0x29, 0xc3, + 0x58, 0x2d, 0x74, 0xd3, 0x50, 0xec, 0x17, 0x8d, 0x50, 0xec, 0x73, 0x99, 0x50, 0xec, 0x29, 0x9d, + 0xf6, 0xe1, 0x44, 0x62, 0x8b, 0xa4, 0x53, 0xec, 0x59, 0x86, 0x43, 0x46, 0x61, 0x1b, 0x49, 0xa7, + 0x14, 0x23, 0x6c, 0xf2, 0xfd, 0x79, 0x8a, 0xbe, 0xfe, 0x5f, 0x16, 0x4c, 0xd4, 0x42, 0x97, 0x4e, + 0xd0, 0x9f, 0xa7, 0xd9, 0xa8, 0xa7, 0xaa, 0x1a, 0x3a, 0x20, 0x55, 0xd5, 0x3f, 0xb6, 0x60, 0xb8, + 0x16, 0xba, 0xc7, 0xe0, 0x50, 0x5c, 0x31, 0x1d, 0x8a, 0x4f, 0xe4, 0x4a, 0xde, 0x1e, 0x3e, 0xc4, + 0xef, 0x96, 0x61, 0x9c, 0xb6, 0x38, 0xdc, 0x94, 0xdf, 0xcb, 0x18, 0x1b, 0xab, 0xc0, 0xd8, 0x50, + 0x95, 0x30, 0xf4, 0xfd, 0xf0, 0x7e, 0xf6, 0xdb, 0xad, 0x30, 0x28, 0x16, 0x58, 0x74, 0x01, 0x46, + 0x5a, 0x11, 0xd9, 0xf6, 0xc2, 0x76, 0x9c, 0xbd, 0x26, 0x57, 0x13, 0x70, 0xac, 0x28, 0xd0, 0x8b, + 0x30, 0x16, 0x7b, 0x41, 0x83, 0xc8, 0xd0, 0x83, 0x01, 0x16, 0x7a, 0xc0, 0xb3, 0x02, 0x6a, 0x70, + 0x6c, 0x50, 0xa1, 0xbb, 0x50, 0x61, 0xff, 0xd9, 0x0a, 0xea, 0x3f, 0x6b, 0x3d, 0x4f, 0x85, 0x25, + 0x19, 0xe0, 0x94, 0x17, 0xba, 0x04, 0x90, 0xc8, 0x20, 0x89, 0x58, 0x24, 0xf4, 0x50, 0x7a, 0xa9, + 0x0a, 0x9f, 0x88, 0xb1, 0x46, 0x85, 0x9e, 0x83, 0x4a, 0xe2, 0x78, 0xfe, 0x75, 0x2f, 0x20, 0xb1, + 0x08, 0x32, 0x11, 0x19, 0x7e, 0x05, 0x10, 0xa7, 0x78, 0xba, 0xdf, 0xb3, 0x4b, 0xba, 0xfc, 0x45, + 0x8c, 0x11, 0x46, 0xcd, 0xf6, 0xfb, 0xeb, 0x0a, 0x8a, 0x35, 0x0a, 0xfb, 0x32, 0x9c, 0xae, 0x85, + 0x6e, 0x2d, 0x8c, 0x92, 0x95, 0x30, 0xba, 0xef, 0x44, 0xae, 0xfc, 0x7e, 0xb3, 0x32, 0xb1, 0x2c, + 0xdd, 0x93, 0x07, 0xb9, 0x8f, 0xcd, 0x48, 0x14, 0xfb, 0x02, 0xdb, 0xf1, 0xfb, 0x8c, 0xf1, 0xff, + 0x71, 0x09, 0x50, 0x8d, 0x85, 0x71, 0x18, 0x0f, 0xa8, 0x6c, 0xc1, 0x44, 0x4c, 0xae, 0x7b, 0x41, + 0xfb, 0x81, 0x60, 0x55, 0xec, 0x52, 0x45, 0x7d, 0x59, 0x2f, 0xc3, 0x6f, 0xb4, 0x9a, 0x30, 0x9c, + 0xe1, 0x4b, 0x07, 0x33, 0x6a, 0x07, 0x0b, 0xf1, 0xed, 0x98, 0x44, 0xe2, 0xc1, 0x10, 0x36, 0x98, + 0x58, 0x02, 0x71, 0x8a, 0xa7, 0x93, 0x87, 0xfd, 0xb9, 0x19, 0x06, 0x38, 0x0c, 0x13, 0x39, 0xdd, + 0x58, 0x02, 0x79, 0x0d, 0x8e, 0x0d, 0x2a, 0xb4, 0x02, 0x28, 0x6e, 0xb7, 0x5a, 0x3e, 0x3b, 0x19, + 0x73, 0xfc, 0x2b, 0x51, 0xd8, 0x6e, 0xf1, 0x68, 0x5e, 0x91, 0x7b, 0xbd, 0xde, 0x81, 0xc5, 0x5d, + 0x4a, 0x50, 0x61, 0xb1, 0x11, 0xb3, 0xdf, 0xe2, 0xc6, 0x2e, 0xf7, 0xcf, 0xd5, 0x19, 0x08, 0x4b, + 0x9c, 0xfd, 0x25, 0xb6, 0xc1, 0xb1, 0x97, 0x1c, 0x92, 0x76, 0x44, 0x50, 0x13, 0xc6, 0x5b, 0x6c, + 0x13, 0x4b, 0xa2, 0xd0, 0xf7, 0x89, 0xd4, 0x2f, 0x0f, 0x17, 0x48, 0xc2, 0x73, 0xb7, 0xeb, 0xec, + 0xb0, 0xc9, 0xdd, 0xfe, 0xb5, 0x71, 0x26, 0xab, 0xc4, 0xe1, 0xe4, 0xb0, 0x08, 0x19, 0x15, 0x9a, + 0xdc, 0x87, 0x8a, 0xbc, 0xc9, 0x94, 0xee, 0x03, 0x22, 0x00, 0x15, 0x4b, 0x2e, 0xe8, 0x73, 0x2c, + 0x20, 0x9a, 0x0b, 0x88, 0xe2, 0x2f, 0xcd, 0x71, 0x7a, 0x23, 0x18, 0x5a, 0xb0, 0xc0, 0x1a, 0x3b, + 0x74, 0x1d, 0xc6, 0x45, 0xe2, 0x7f, 0xe1, 0x60, 0x28, 0x1b, 0x26, 0xf6, 0x38, 0xd6, 0x91, 0xfb, + 0x59, 0x00, 0x36, 0x0b, 0xa3, 0x4d, 0x78, 0x5c, 0x7b, 0xd8, 0xa6, 0x4b, 0xd0, 0x13, 0x97, 0x3c, + 0x4f, 0xec, 0xed, 0xce, 0x3e, 0xbe, 0x76, 0x10, 0x21, 0x3e, 0x98, 0x0f, 0xba, 0x05, 0xa7, 0x9d, + 0x46, 0xe2, 0x6d, 0x93, 0x2a, 0x71, 0x5c, 0xdf, 0x0b, 0x88, 0x79, 0xad, 0xfb, 0xd1, 0xbd, 0xdd, + 0xd9, 0xd3, 0x0b, 0xdd, 0x08, 0x70, 0xf7, 0x72, 0xe8, 0x13, 0x50, 0x71, 0x83, 0x58, 0x8c, 0xc1, + 0x90, 0xf1, 0x8e, 0x53, 0xa5, 0x7a, 0xb3, 0xae, 0xfa, 0x9f, 0xfe, 0xc1, 0x69, 0x01, 0xf4, 0x0e, + 0x7f, 0xa7, 0x5c, 0x59, 0x33, 0xfc, 0xfd, 0xb0, 0x97, 0x0b, 0xd9, 0xcf, 0xc6, 0x65, 0x0b, 0xee, + 0x7b, 0x53, 0xc1, 0x85, 0xc6, 0x3d, 0x0c, 0xa3, 0x0a, 0xf4, 0x69, 0x40, 0x31, 0x89, 0xb6, 0xbd, + 0x06, 0x59, 0x68, 0xb0, 0x54, 0x9a, 0xec, 0x90, 0x6f, 0xc4, 0x88, 0xb2, 0x47, 0xf5, 0x0e, 0x0a, + 0xdc, 0xa5, 0x14, 0xba, 0x4a, 0x25, 0x8f, 0x0e, 0x15, 0xb1, 0xa0, 0x52, 0x31, 0x9c, 0xae, 0x92, + 0x56, 0x44, 0x1a, 0x4e, 0x42, 0x5c, 0x93, 0x23, 0xce, 0x94, 0xa3, 0xfb, 0x92, 0xca, 0x96, 0x0e, + 0x66, 0x04, 0x63, 0x67, 0xc6, 0x74, 0x6a, 0x67, 0x6d, 0x85, 0x71, 0x72, 0x93, 0x24, 0xf7, 0xc3, + 0xe8, 0x1e, 0xf3, 0xd9, 0x8f, 0x68, 0x79, 0xc9, 0x52, 0x14, 0xd6, 0xe9, 0xa8, 0x0e, 0xc5, 0x0e, + 0x8b, 0x56, 0xab, 0xcc, 0x13, 0x3f, 0x92, 0xae, 0x9d, 0xab, 0x1c, 0x8c, 0x25, 0x5e, 0x92, 0xae, + 0xd6, 0x96, 0x98, 0x57, 0x3d, 0x43, 0xba, 0x5a, 0x5b, 0xc2, 0x12, 0x8f, 0xc2, 0xce, 0xd7, 0xb2, + 0x26, 0x8a, 0x9c, 0x70, 0x74, 0x4a, 0xf2, 0x82, 0x0f, 0x66, 0x3d, 0x80, 0x29, 0xf5, 0x62, 0x17, + 0x4f, 0x19, 0x19, 0x4f, 0x4f, 0x16, 0x79, 0x25, 0xbd, 0x6b, 0xe6, 0x49, 0x15, 0xfc, 0xbb, 0x9a, + 0xe1, 0x89, 0x3b, 0x6a, 0x31, 0xd2, 0x13, 0x4c, 0xe5, 0x66, 0xc0, 0x9f, 0x87, 0x4a, 0xdc, 0x5e, + 0x77, 0xc3, 0xa6, 0xe3, 0x05, 0xcc, 0xf5, 0xad, 0xbf, 0xf9, 0x2d, 0x11, 0x38, 0xa5, 0x41, 0x35, + 0x18, 0x71, 0xe4, 0x73, 0xf7, 0xa8, 0xc8, 0xf5, 0x65, 0xf5, 0xce, 0x3d, 0xf3, 0x8b, 0xaa, 0x07, + 0xee, 0x15, 0x17, 0xf4, 0x0a, 0x8c, 0x8b, 0xdb, 0x37, 0x24, 0x62, 0xad, 0x3e, 0x69, 0x86, 0x7d, + 0xd7, 0x25, 0x92, 0x4d, 0x30, 0x93, 0x16, 0x6d, 0xc2, 0x04, 0xe5, 0x92, 0x0a, 0xc0, 0xe9, 0x53, + 0xfd, 0xc9, 0x50, 0x2d, 0xd7, 0xb0, 0xce, 0x06, 0x67, 0xd8, 0x22, 0x17, 0x1e, 0x73, 0xda, 0x49, + 0xd8, 0xa4, 0x2b, 0xc1, 0x5c, 0x27, 0x6b, 0xe1, 0x3d, 0x12, 0x4c, 0x9f, 0x66, 0x33, 0xf0, 0xdc, + 0xde, 0xee, 0xec, 0x63, 0x0b, 0x07, 0xd0, 0xe1, 0x03, 0xb9, 0xcc, 0x7c, 0x12, 0x4e, 0x74, 0x48, + 0x8c, 0xbe, 0x62, 0x01, 0xff, 0xdd, 0x20, 0x54, 0x94, 0xc3, 0x0d, 0xcd, 0x9b, 0xbe, 0xd5, 0x47, + 0xb3, 0xbe, 0xd5, 0x11, 0xaa, 0xdf, 0xe8, 0xee, 0xd4, 0xcf, 0x77, 0x79, 0x42, 0xf9, 0xd9, 0xdc, + 0x25, 0x52, 0xfc, 0x7a, 0x4e, 0x1f, 0x0f, 0x4d, 0xa7, 0x46, 0xd7, 0xc0, 0x81, 0x46, 0x57, 0xc1, + 0x67, 0xc1, 0xa8, 0x79, 0xd5, 0x0a, 0xdd, 0xd5, 0x5a, 0xf6, 0xd5, 0x9b, 0x1a, 0x05, 0x62, 0x8e, + 0x63, 0x6a, 0x31, 0xdd, 0xf2, 0x98, 0x5a, 0x3c, 0x7c, 0x48, 0xb5, 0x58, 0x32, 0xc0, 0x29, 0x2f, + 0xb4, 0x0d, 0x27, 0x1a, 0xe6, 0x23, 0x46, 0xea, 0xd2, 0xcd, 0xf3, 0x7d, 0x3c, 0x22, 0xd4, 0xd6, + 0x5e, 0x4f, 0x58, 0xca, 0xf2, 0xc3, 0x9d, 0x55, 0xa0, 0x57, 0x60, 0xe4, 0x9d, 0x30, 0x5e, 0xf2, + 0x9d, 0x38, 0x16, 0x72, 0x5f, 0x5e, 0x6e, 0x18, 0x79, 0xed, 0x56, 0x9d, 0xc1, 0xf7, 0x77, 0x67, + 0x47, 0x6b, 0xa1, 0x2b, 0xff, 0x62, 0x55, 0x00, 0x7d, 0xd9, 0x82, 0xd3, 0xc6, 0x32, 0x50, 0x2d, + 0x87, 0xc3, 0xb4, 0xfc, 0x71, 0x51, 0xf3, 0xe9, 0xd5, 0x6e, 0x3c, 0x71, 0xf7, 0xaa, 0xec, 0xdf, + 0xe6, 0x1e, 0x46, 0xe1, 0x73, 0x20, 0x71, 0xdb, 0x3f, 0x8e, 0x4c, 0xe6, 0xb7, 0x0c, 0x77, 0xc8, + 0x43, 0xf0, 0x71, 0xff, 0x1b, 0x8b, 0xf9, 0xb8, 0xd7, 0x48, 0xb3, 0xe5, 0x3b, 0xc9, 0x71, 0x84, + 0x8a, 0x7e, 0x0e, 0x46, 0x12, 0x51, 0x5b, 0xb1, 0x34, 0xec, 0x5a, 0xf3, 0x98, 0xef, 0x5f, 0xed, + 0x1b, 0x12, 0x8a, 0x15, 0x43, 0xfb, 0x5f, 0xf0, 0xaf, 0x22, 0x31, 0xc7, 0x60, 0xc8, 0xdf, 0x34, + 0x0d, 0xf9, 0x67, 0x0a, 0xf7, 0xa5, 0x87, 0x41, 0xff, 0x03, 0xb3, 0x07, 0x4c, 0xbd, 0xff, 0xd9, + 0x39, 0x84, 0xb1, 0x6f, 0x81, 0xf9, 0xe2, 0x14, 0x7a, 0x95, 0x07, 0x5f, 0x73, 0x49, 0x7f, 0xa1, + 0xef, 0xc0, 0x6b, 0xfb, 0xd7, 0x4b, 0x70, 0x8a, 0xbb, 0x61, 0x17, 0xb6, 0x43, 0xcf, 0xad, 0x85, + 0xae, 0x08, 0x45, 0x77, 0x61, 0xac, 0xa5, 0x99, 0x5f, 0xc5, 0xb2, 0x6d, 0xe8, 0x06, 0x5b, 0xaa, + 0xf2, 0xea, 0x50, 0x6c, 0x70, 0xa5, 0xb5, 0x90, 0x6d, 0xaf, 0xa1, 0xbc, 0x7a, 0xa5, 0xbe, 0x85, + 0xaf, 0xaa, 0x65, 0x59, 0xe3, 0x83, 0x0d, 0xae, 0x47, 0xf0, 0x62, 0x80, 0xfd, 0x77, 0x2c, 0x78, + 0xa4, 0x47, 0x46, 0x0e, 0x5a, 0xdd, 0x7d, 0xe6, 0xfa, 0x16, 0x4f, 0x9a, 0xa9, 0xea, 0xb8, 0x43, + 0x1c, 0x0b, 0x2c, 0x5a, 0x07, 0xe0, 0x0e, 0x6d, 0xf6, 0xc0, 0x75, 0xa9, 0x48, 0x04, 0x4a, 0xc7, + 0xbd, 0x77, 0xed, 0x4a, 0xb4, 0x7a, 0xd2, 0x5a, 0xe3, 0x6a, 0x7f, 0xbb, 0x0c, 0x83, 0xfc, 0xe5, + 0xdc, 0x1a, 0x0c, 0x6f, 0xf1, 0x0c, 0xa1, 0xfd, 0x25, 0x28, 0x4d, 0xd5, 0x6b, 0x0e, 0xc0, 0x92, + 0x0d, 0xba, 0x01, 0x27, 0xa9, 0xf0, 0xf6, 0x1c, 0xbf, 0x4a, 0x7c, 0x67, 0x47, 0xda, 0x6b, 0x3c, + 0x8d, 0xbc, 0xcc, 0x77, 0x7c, 0x72, 0xb5, 0x93, 0x04, 0x77, 0x2b, 0x87, 0x5e, 0xed, 0x48, 0xe8, + 0xc5, 0x33, 0xaf, 0x2a, 0x5d, 0xed, 0xe0, 0xa4, 0x5e, 0x54, 0xa3, 0x6c, 0x75, 0x58, 0xa6, 0xda, + 0x03, 0xa5, 0xa6, 0x35, 0x6a, 0xd2, 0xa2, 0x2a, 0x4c, 0xc5, 0x6d, 0x16, 0x0f, 0xb0, 0xb6, 0x15, + 0x91, 0x78, 0x2b, 0xf4, 0x5d, 0xf1, 0xb6, 0x9e, 0xd2, 0xc2, 0xeb, 0x19, 0x3c, 0xee, 0x28, 0x41, + 0xb9, 0x6c, 0x38, 0x9e, 0xdf, 0x8e, 0x48, 0xca, 0x65, 0xc8, 0xe4, 0xb2, 0x92, 0xc1, 0xe3, 0x8e, + 0x12, 0x74, 0x6e, 0x9d, 0x16, 0x4f, 0xbd, 0xc9, 0xcb, 0xac, 0xe2, 0x00, 0xfa, 0x33, 0x30, 0x2c, + 0x43, 0x9a, 0x0b, 0xa5, 0x49, 0x10, 0x47, 0xe7, 0xea, 0xd9, 0x38, 0xed, 0x59, 0x21, 0x11, 0xcc, + 0x2c, 0xf9, 0x1d, 0xe6, 0x49, 0xb1, 0x3f, 0xb6, 0xe0, 0x64, 0x97, 0xe0, 0x1e, 0x1e, 0x72, 0xba, + 0xe9, 0xc5, 0x89, 0x4a, 0x6a, 0xae, 0x85, 0x9c, 0x72, 0x38, 0x56, 0x14, 0x74, 0xb5, 0x70, 0xb7, + 0x48, 0xf6, 0xc8, 0x5c, 0x84, 0x2f, 0x08, 0x6c, 0x7f, 0x69, 0xc4, 0xd0, 0x39, 0x18, 0x68, 0xc7, + 0x24, 0x92, 0xef, 0x7b, 0x49, 0x51, 0xca, 0x3c, 0x61, 0x0c, 0x43, 0x35, 0xc3, 0x4d, 0xe5, 0x84, + 0xd2, 0x34, 0x43, 0xee, 0x86, 0xe2, 0x38, 0xfb, 0x1b, 0x65, 0x98, 0xcc, 0x04, 0xf9, 0xd1, 0x86, + 0x34, 0xc3, 0xc0, 0x4b, 0x42, 0x95, 0xba, 0x8a, 0x3f, 0x29, 0x44, 0x5a, 0x5b, 0x37, 0x04, 0x1c, + 0x2b, 0x0a, 0xf4, 0xb4, 0xf9, 0xdc, 0x7a, 0xda, 0xe6, 0xc5, 0xaa, 0xf1, 0xf2, 0x62, 0xd1, 0x87, + 0x16, 0x9e, 0x84, 0x81, 0x56, 0xa8, 0x5e, 0xd1, 0x55, 0xdf, 0x13, 0x2f, 0x56, 0x6b, 0x61, 0xe8, + 0x63, 0x86, 0x44, 0x4f, 0x89, 0xde, 0x67, 0x7c, 0xf7, 0xd8, 0x71, 0xc3, 0x58, 0x1b, 0x82, 0x67, + 0x60, 0xf8, 0x1e, 0xd9, 0x89, 0xbc, 0x60, 0x33, 0x7b, 0x72, 0x71, 0x8d, 0x83, 0xb1, 0xc4, 0x9b, + 0x8f, 0x29, 0x0c, 0x1f, 0xf1, 0x63, 0x0a, 0x23, 0xb9, 0x71, 0xca, 0xdf, 0xb5, 0x60, 0x92, 0xe5, + 0x73, 0x14, 0x57, 0xa9, 0xbd, 0x30, 0x38, 0x86, 0x6d, 0xfc, 0x49, 0x18, 0x8c, 0x68, 0xa5, 0xd9, + 0x6c, 0xe8, 0xac, 0x25, 0x98, 0xe3, 0xd0, 0x63, 0x30, 0xc0, 0x9a, 0x40, 0x3f, 0xe3, 0x18, 0x4f, + 0x1b, 0x5d, 0x75, 0x12, 0x07, 0x33, 0x28, 0xbb, 0x15, 0x83, 0x49, 0xcb, 0xf7, 0x78, 0xa3, 0x53, + 0x87, 0xe3, 0xfb, 0xed, 0x56, 0x4c, 0xd7, 0x46, 0x3e, 0xac, 0x5b, 0x31, 0xdd, 0x99, 0x1f, 0xac, + 0x4a, 0xff, 0xf7, 0x12, 0x9c, 0xed, 0x5a, 0x2e, 0x3d, 0x03, 0x5d, 0x31, 0xce, 0x40, 0x2f, 0x65, + 0xce, 0x40, 0xed, 0x83, 0x4b, 0x3f, 0x9c, 0x53, 0xd1, 0xee, 0x87, 0x95, 0xe5, 0x63, 0x3c, 0xac, + 0x1c, 0x28, 0xaa, 0xe2, 0x0c, 0xe6, 0xa8, 0x38, 0xbf, 0x6f, 0xc1, 0xa3, 0x5d, 0x87, 0xec, 0x7d, + 0x77, 0x0d, 0xa9, 0x6b, 0x2b, 0x7b, 0x18, 0x00, 0xbf, 0x52, 0xee, 0xd1, 0x2b, 0x66, 0x0a, 0x9c, + 0xa7, 0x52, 0x88, 0x21, 0x63, 0xa1, 0xbc, 0x8d, 0x71, 0x09, 0xc4, 0x61, 0x58, 0x61, 0x51, 0xac, + 0x5d, 0xe3, 0xe1, 0x8d, 0x5c, 0x3e, 0xe4, 0x82, 0x9a, 0x33, 0x3d, 0xc5, 0xfa, 0xfd, 0xf0, 0xcc, + 0xe5, 0x1e, 0x74, 0x57, 0x33, 0xee, 0xca, 0x87, 0x31, 0xee, 0xc6, 0xba, 0x1b, 0x76, 0x68, 0x01, + 0x26, 0x9b, 0x5e, 0xc0, 0xde, 0x60, 0x34, 0xb5, 0x27, 0x75, 0x97, 0xf2, 0x86, 0x89, 0xc6, 0x59, + 0xfa, 0x99, 0x57, 0x60, 0xfc, 0xf0, 0x0e, 0xac, 0x77, 0xcb, 0xf0, 0xc1, 0x03, 0x84, 0x02, 0xdf, + 0x1d, 0x8c, 0xef, 0xa2, 0xed, 0x0e, 0x1d, 0xdf, 0xa6, 0x06, 0xa7, 0x36, 0xda, 0xbe, 0xbf, 0xc3, + 0x22, 0x88, 0x88, 0x2b, 0x29, 0x84, 0x52, 0xa3, 0x1e, 0x64, 0x5e, 0xe9, 0x42, 0x83, 0xbb, 0x96, + 0x44, 0x9f, 0x06, 0x14, 0xae, 0xb3, 0x8c, 0xa7, 0x6e, 0x7a, 0xff, 0x9d, 0x7d, 0x82, 0x72, 0xba, + 0x54, 0x6f, 0x75, 0x50, 0xe0, 0x2e, 0xa5, 0xa8, 0x9e, 0xca, 0xde, 0x72, 0x56, 0xcd, 0xca, 0xe8, + 0xa9, 0x58, 0x47, 0x62, 0x93, 0x16, 0x5d, 0x81, 0x13, 0xce, 0xb6, 0xe3, 0xf1, 0x0c, 0x46, 0x92, + 0x01, 0x57, 0x54, 0x95, 0x8b, 0x68, 0x21, 0x4b, 0x80, 0x3b, 0xcb, 0xa0, 0x96, 0xe1, 0xf3, 0xe3, + 0xb9, 0xce, 0x3f, 0x71, 0x88, 0x19, 0x5c, 0xd8, 0x0b, 0x68, 0xff, 0x57, 0x8b, 0x6e, 0x7d, 0x5d, + 0x9e, 0xeb, 0xa3, 0x23, 0xa2, 0x7c, 0x58, 0xda, 0xc5, 0x26, 0x35, 0x22, 0x4b, 0x3a, 0x12, 0x9b, + 0xb4, 0x7c, 0x6a, 0xc4, 0x69, 0x28, 0xb2, 0xa1, 0x6d, 0x8a, 0x1b, 0x7d, 0x8a, 0x82, 0x6a, 0xd0, + 0xae, 0xb7, 0xed, 0xc5, 0x61, 0x24, 0x16, 0x50, 0x9f, 0xe1, 0xad, 0xa9, 0xbc, 0xac, 0x72, 0x36, + 0x58, 0xf2, 0xb3, 0xbf, 0x59, 0x82, 0x71, 0x59, 0xe3, 0x6b, 0xed, 0x30, 0x71, 0x8e, 0x61, 0x4b, + 0x7f, 0xcd, 0xd8, 0xd2, 0xe7, 0x8b, 0x5d, 0x70, 0x64, 0x8d, 0xeb, 0xb9, 0x95, 0x7f, 0x26, 0xb3, + 0x95, 0x5f, 0xec, 0x87, 0xe9, 0xc1, 0x5b, 0xf8, 0xbf, 0xb2, 0xe0, 0x84, 0x41, 0x7f, 0x0c, 0x3b, + 0x49, 0xcd, 0xdc, 0x49, 0x9e, 0xeb, 0xa3, 0x37, 0x3d, 0x76, 0x90, 0xef, 0x94, 0x32, 0xbd, 0x60, + 0x3b, 0xc7, 0x17, 0x61, 0x60, 0xcb, 0x89, 0xdc, 0x62, 0xe9, 0xfc, 0x3a, 0x8a, 0xcf, 0x5d, 0x75, + 0x22, 0x97, 0xcb, 0xff, 0x0b, 0xea, 0x31, 0x21, 0x27, 0x72, 0x73, 0x23, 0xf4, 0x59, 0xa5, 0xe8, + 0x32, 0x0c, 0xc5, 0x8d, 0xb0, 0xa5, 0x22, 0x21, 0xcf, 0xf1, 0x87, 0x86, 0x28, 0x64, 0x7f, 0x77, + 0x16, 0x99, 0xd5, 0x51, 0x30, 0x16, 0xf4, 0x33, 0x9b, 0x50, 0x51, 0x55, 0x1f, 0x69, 0x2c, 0xf8, + 0x9f, 0x94, 0xe1, 0x64, 0x97, 0xb9, 0x82, 0xbe, 0x64, 0x8c, 0xdb, 0x2b, 0x7d, 0x4f, 0xb6, 0xf7, + 0x38, 0x72, 0x5f, 0x62, 0x96, 0x92, 0x2b, 0x66, 0xc7, 0x21, 0xaa, 0xbf, 0x1d, 0x93, 0x6c, 0xf5, + 0x14, 0x94, 0x5f, 0x3d, 0xad, 0xf6, 0xd8, 0x86, 0x9f, 0x56, 0xa4, 0x5a, 0x7a, 0xa4, 0xdf, 0xf9, + 0x2f, 0x0c, 0xc0, 0xa9, 0x6e, 0x37, 0xa9, 0xd1, 0x57, 0xad, 0x4c, 0xce, 0xfe, 0x57, 0xfb, 0xbf, + 0x8e, 0xcd, 0x13, 0xf9, 0x8b, 0xec, 0x23, 0x73, 0x66, 0x16, 0xff, 0xdc, 0x11, 0x17, 0xb5, 0xb3, + 0xbb, 0x35, 0x11, 0x7f, 0x7f, 0x41, 0x4a, 0x85, 0x4f, 0x1d, 0xa2, 0x29, 0xe2, 0x09, 0x87, 0x38, + 0x73, 0xb7, 0x46, 0x82, 0xf3, 0xef, 0xd6, 0xc8, 0x36, 0xcc, 0x78, 0x30, 0xaa, 0xf5, 0xeb, 0x48, + 0xa7, 0xc1, 0x3d, 0xba, 0x45, 0x69, 0xed, 0x3e, 0xd2, 0xa9, 0xf0, 0x37, 0x2d, 0xc8, 0x84, 0x2d, + 0x29, 0xb7, 0x8c, 0xd5, 0xd3, 0x2d, 0x73, 0x0e, 0x06, 0xa2, 0xd0, 0x27, 0xd9, 0x7c, 0xf2, 0x38, + 0xf4, 0x09, 0x66, 0x18, 0xf5, 0xbe, 0x68, 0xb9, 0xd7, 0xfb, 0xa2, 0xd4, 0x4e, 0xf7, 0xc9, 0x36, + 0x91, 0x4e, 0x12, 0x25, 0xc6, 0xaf, 0x53, 0x20, 0xe6, 0x38, 0xfb, 0xf7, 0xca, 0x30, 0xc4, 0x3d, + 0x11, 0xc7, 0xb0, 0x4f, 0xd7, 0x84, 0x53, 0xa0, 0xd0, 0xfd, 0x66, 0xde, 0xaa, 0xb9, 0xaa, 0x93, + 0x38, 0x7c, 0x72, 0xa9, 0x3e, 0xa6, 0x8e, 0x04, 0x34, 0x67, 0x8c, 0xc2, 0x4c, 0xc6, 0xd6, 0x05, + 0xce, 0x43, 0x1b, 0x93, 0x2d, 0x80, 0x98, 0xbd, 0x67, 0x47, 0x79, 0x88, 0x1c, 0x8c, 0x2f, 0x16, + 0x6a, 0x47, 0x5d, 0x15, 0xe3, 0xad, 0x49, 0x13, 0xbf, 0x29, 0x04, 0xd6, 0x78, 0xcf, 0xbc, 0x0c, + 0x15, 0x45, 0x9c, 0x67, 0x04, 0x8c, 0xe9, 0x93, 0xf3, 0xff, 0x83, 0xc9, 0x4c, 0x5d, 0x7d, 0xd9, + 0x10, 0xbf, 0x65, 0xc1, 0x64, 0xe6, 0x29, 0x6e, 0xf4, 0x15, 0x0b, 0x4e, 0xf9, 0x5d, 0x1c, 0x51, + 0xe2, 0x33, 0x1f, 0xc6, 0x85, 0xa5, 0xcc, 0x87, 0x6e, 0x58, 0xdc, 0xb5, 0x36, 0x6a, 0x56, 0xf2, + 0xe7, 0x39, 0x1d, 0x5f, 0x44, 0x81, 0x8e, 0xf1, 0x84, 0xb1, 0x1c, 0x86, 0x15, 0xd6, 0xfe, 0x89, + 0x05, 0x27, 0x3a, 0x5e, 0x7b, 0x7e, 0xbf, 0x74, 0x43, 0xa4, 0xc6, 0x2d, 0xf5, 0x48, 0x8d, 0xab, + 0xf7, 0xb2, 0x7c, 0x60, 0x2f, 0x7f, 0xdd, 0x02, 0x31, 0x43, 0x8f, 0x41, 0x03, 0x5c, 0x35, 0x35, + 0xc0, 0x0f, 0x15, 0x99, 0xf4, 0x3d, 0x54, 0xbf, 0x5f, 0x2e, 0xc1, 0x14, 0x27, 0x48, 0x7d, 0xea, + 0xef, 0x97, 0x8f, 0xd3, 0xdf, 0x93, 0x0d, 0xea, 0x9d, 0xbc, 0xee, 0x3d, 0x35, 0xbe, 0xe5, 0xc0, + 0x81, 0xdf, 0xf2, 0xcf, 0x2c, 0x40, 0x7c, 0x4c, 0xb2, 0x6f, 0x9b, 0x72, 0xe7, 0xae, 0x66, 0xd0, + 0xa5, 0x92, 0x43, 0x61, 0xb0, 0x46, 0xf5, 0x90, 0xbb, 0x90, 0x39, 0xd1, 0x28, 0xe7, 0x9f, 0x68, + 0xf4, 0xd1, 0xeb, 0xdf, 0x2e, 0x43, 0x36, 0x1c, 0x0c, 0xbd, 0x05, 0x63, 0x0d, 0xa7, 0xe5, 0xac, + 0x7b, 0xbe, 0x97, 0x78, 0x24, 0x2e, 0x76, 0x64, 0xba, 0xa4, 0x95, 0x10, 0x07, 0x09, 0x1a, 0x04, + 0x1b, 0x1c, 0xd1, 0x1c, 0x40, 0x2b, 0xf2, 0xb6, 0x3d, 0x9f, 0x6c, 0x32, 0x9d, 0x95, 0xc5, 0x93, + 0xf3, 0xd3, 0x3f, 0x09, 0xc5, 0x1a, 0x45, 0x97, 0xf8, 0xe3, 0xf2, 0x71, 0xc4, 0x1f, 0x0f, 0xf4, + 0x19, 0x7f, 0x3c, 0x58, 0x28, 0xfe, 0x18, 0xc3, 0x19, 0xe9, 0xff, 0xa7, 0xff, 0x57, 0x3c, 0x9f, + 0xf0, 0x74, 0xa3, 0x22, 0xde, 0x7c, 0x66, 0x6f, 0x77, 0xf6, 0x0c, 0xee, 0x4a, 0x81, 0x7b, 0x94, + 0xb4, 0xdb, 0x70, 0xb2, 0x4e, 0x22, 0x8f, 0x65, 0x81, 0x73, 0xd3, 0xb5, 0xf4, 0x79, 0xa8, 0x44, + 0x99, 0x65, 0xdc, 0xe7, 0x75, 0x60, 0x2d, 0x6f, 0x90, 0x5c, 0xb6, 0x29, 0x4b, 0xfb, 0x2f, 0x97, + 0x60, 0x58, 0x04, 0x82, 0x1d, 0x83, 0xf2, 0x71, 0xcd, 0x70, 0x12, 0x3c, 0x93, 0x27, 0xff, 0x58, + 0xb3, 0x7a, 0xba, 0x07, 0xea, 0x19, 0xf7, 0xc0, 0x73, 0xc5, 0xd8, 0x1d, 0xec, 0x18, 0xf8, 0x07, + 0x65, 0x98, 0x30, 0x03, 0xe3, 0x8e, 0x61, 0x58, 0x5e, 0x87, 0xe1, 0x58, 0xc4, 0x68, 0x96, 0x8a, + 0x04, 0x36, 0x65, 0x3f, 0x71, 0x7a, 0x96, 0x2a, 0xa2, 0x32, 0x25, 0xbb, 0xae, 0x61, 0xa0, 0xe5, + 0x63, 0x09, 0x03, 0xcd, 0x8b, 0x57, 0x1c, 0x78, 0x18, 0xf1, 0x8a, 0xf6, 0x0f, 0x99, 0xc8, 0xd7, + 0xe1, 0xc7, 0xb0, 0x8d, 0xbf, 0x66, 0x6e, 0x0e, 0x17, 0x0a, 0xcd, 0x3b, 0xd1, 0xbc, 0x1e, 0xdb, + 0xf9, 0xf7, 0x2c, 0x18, 0x15, 0x84, 0xc7, 0xd0, 0x81, 0x4f, 0x9b, 0x1d, 0x78, 0xaa, 0x50, 0x07, + 0x7a, 0xb4, 0xfc, 0x9b, 0x25, 0xd5, 0xf2, 0x9a, 0x78, 0x8f, 0x3a, 0x37, 0xe7, 0xed, 0x48, 0x2b, + 0x0a, 0x93, 0xb0, 0x11, 0xfa, 0x42, 0x81, 0x7b, 0x2c, 0xbd, 0x5e, 0xc4, 0xe1, 0xfb, 0xda, 0x6f, + 0xac, 0xa8, 0xd9, 0xed, 0x97, 0x30, 0x4a, 0xc4, 0x06, 0xda, 0xed, 0x35, 0x6c, 0x17, 0x20, 0x7d, + 0x82, 0x58, 0xdc, 0xcc, 0xeb, 0xff, 0x9d, 0xed, 0xf4, 0xbe, 0x90, 0xe2, 0x85, 0x35, 0xbe, 0x32, + 0x10, 0x9d, 0xd5, 0x31, 0x68, 0x9e, 0x01, 0xdc, 0x14, 0x70, 0xac, 0x28, 0xec, 0x97, 0x99, 0x64, + 0x67, 0x03, 0xd4, 0xdf, 0x55, 0x9e, 0xbf, 0x34, 0xa4, 0x86, 0x96, 0x39, 0xf6, 0x6e, 0xea, 0x17, + 0x86, 0x8a, 0x8a, 0x4f, 0xda, 0x04, 0x3d, 0xd8, 0x34, 0xbd, 0x5f, 0x84, 0x48, 0xc7, 0xc1, 0xd1, + 0xcb, 0x85, 0x25, 0x72, 0x1f, 0x47, 0x45, 0x2c, 0x51, 0x18, 0xcb, 0x8e, 0xb4, 0x5a, 0xcb, 0x66, + 0x2a, 0x5e, 0x92, 0x08, 0x9c, 0xd2, 0xa0, 0x79, 0x61, 0x50, 0x9a, 0xcf, 0x95, 0x4b, 0x83, 0x52, + 0x0e, 0x89, 0x66, 0x51, 0x5e, 0x84, 0x51, 0xf5, 0x5e, 0x43, 0x8d, 0xa7, 0xdd, 0xaf, 0x70, 0xfd, + 0x6a, 0x39, 0x05, 0x63, 0x9d, 0x06, 0xad, 0xc2, 0x49, 0x57, 0xdd, 0x3b, 0xa8, 0xb5, 0xd7, 0x7d, + 0xaf, 0x41, 0x8b, 0xf2, 0x3b, 0x83, 0x8f, 0xec, 0xed, 0xce, 0x9e, 0xac, 0x76, 0xa2, 0x71, 0xb7, + 0x32, 0x68, 0x0d, 0x26, 0x63, 0xfe, 0x2e, 0x85, 0x0c, 0x2e, 0x17, 0x09, 0x3c, 0x9f, 0x95, 0x27, + 0x56, 0x75, 0x13, 0xbd, 0xcf, 0x40, 0x5c, 0x2a, 0xc8, 0x70, 0xf4, 0x2c, 0x0b, 0xf4, 0x2a, 0x4c, + 0xf8, 0xfa, 0xa3, 0x7b, 0x35, 0x71, 0xfd, 0x42, 0xc5, 0x20, 0x19, 0x4f, 0xf2, 0xd5, 0x70, 0x86, + 0x1a, 0xbd, 0x0e, 0xd3, 0x3a, 0x44, 0x64, 0x31, 0x71, 0x82, 0x4d, 0x12, 0x8b, 0x84, 0xf8, 0x8f, + 0xed, 0xed, 0xce, 0x4e, 0x5f, 0xef, 0x41, 0x83, 0x7b, 0x96, 0x46, 0x97, 0x61, 0x4c, 0x8e, 0xa4, + 0x76, 0x15, 0x23, 0x8d, 0x7e, 0xd3, 0x70, 0xd8, 0xa0, 0x7c, 0x6f, 0x07, 0x73, 0x5f, 0xa4, 0x85, + 0xb5, 0x2d, 0x1c, 0xbd, 0x0d, 0x63, 0x7a, 0x1b, 0xb3, 0x7b, 0x73, 0xfe, 0x43, 0x86, 0x42, 0x15, + 0x50, 0x2d, 0xd7, 0x71, 0xd8, 0xe0, 0x6d, 0xdf, 0x82, 0xa1, 0xfa, 0x4e, 0xdc, 0x48, 0xfc, 0x87, + 0xf5, 0x52, 0x3d, 0x81, 0xc9, 0xcc, 0x93, 0xee, 0x08, 0x0b, 0xe9, 0x66, 0x1d, 0x52, 0x6a, 0x75, + 0x91, 0x87, 0xf6, 0x1f, 0x59, 0x30, 0xb8, 0xe6, 0x78, 0xf9, 0x8f, 0xc9, 0x14, 0x69, 0x34, 0x7a, + 0x09, 0x86, 0xc8, 0xc6, 0x06, 0x69, 0x24, 0x62, 0x19, 0xcb, 0x80, 0xea, 0xa1, 0x65, 0x06, 0xa5, + 0x8b, 0x93, 0x55, 0xc6, 0xff, 0x62, 0x41, 0x8c, 0x3e, 0x07, 0x95, 0xc4, 0x6b, 0x92, 0x05, 0xd7, + 0x25, 0xee, 0x21, 0x6e, 0x4b, 0x2b, 0x61, 0xb1, 0x26, 0x99, 0xe0, 0x94, 0x9f, 0xfd, 0xf5, 0x12, + 0xc0, 0x5a, 0xe8, 0xcb, 0x23, 0xcd, 0x9c, 0x6e, 0x2e, 0x76, 0xbc, 0x99, 0xf3, 0x74, 0x97, 0x37, + 0x73, 0x50, 0xca, 0xb0, 0xcb, 0x8b, 0x39, 0x6a, 0xa8, 0xca, 0x85, 0x86, 0x6a, 0xa0, 0x9f, 0xa1, + 0x5a, 0x82, 0x13, 0x89, 0xaa, 0xdb, 0xbc, 0x76, 0xc6, 0x12, 0xfa, 0xad, 0x65, 0x91, 0xb8, 0x93, + 0xde, 0xfe, 0xba, 0x05, 0x22, 0x64, 0xad, 0xc0, 0x6c, 0x75, 0xe5, 0x63, 0x19, 0x46, 0x0e, 0xa5, + 0x67, 0x8b, 0x44, 0xf3, 0x89, 0xcc, 0x49, 0x6a, 0xfd, 0x18, 0xf9, 0x92, 0x0c, 0xae, 0xf6, 0x6f, + 0x58, 0x30, 0xca, 0xd1, 0x37, 0x98, 0x4e, 0x9d, 0xdf, 0xae, 0xbe, 0xb2, 0x45, 0xb2, 0x77, 0x24, + 0x28, 0x63, 0x95, 0x35, 0x50, 0x7f, 0x47, 0x42, 0x22, 0x70, 0x4a, 0x83, 0x9e, 0x81, 0xe1, 0xb8, + 0xbd, 0xce, 0xc8, 0x33, 0xf1, 0x6b, 0x75, 0x0e, 0xc6, 0x12, 0x6f, 0xff, 0xa3, 0x12, 0x4c, 0x65, + 0xc3, 0x17, 0x11, 0x86, 0x21, 0xae, 0x63, 0x67, 0xd5, 0xb3, 0x83, 0x7c, 0x39, 0x5a, 0xf8, 0x23, + 0xf0, 0x07, 0x4c, 0x59, 0xcc, 0x99, 0xe0, 0x84, 0x36, 0x60, 0xd4, 0x0d, 0xef, 0x07, 0xf7, 0x9d, + 0xc8, 0x5d, 0xa8, 0xad, 0x8a, 0x2f, 0x91, 0x13, 0x70, 0x52, 0x4d, 0x0b, 0xe8, 0xc1, 0x95, 0xcc, + 0xb7, 0x90, 0xa2, 0xb0, 0xce, 0x98, 0xda, 0x94, 0x8d, 0x30, 0xd8, 0xf0, 0x36, 0x6f, 0x38, 0xad, + 0x62, 0x47, 0xab, 0x4b, 0x92, 0x5c, 0xab, 0x63, 0x5c, 0xdc, 0x33, 0xe7, 0x08, 0x9c, 0xb2, 0xb4, + 0xff, 0x04, 0x81, 0x31, 0x17, 0x8c, 0x94, 0x8e, 0xd6, 0x43, 0x4f, 0xe9, 0xf8, 0x06, 0x8c, 0x90, + 0x66, 0x2b, 0xd9, 0xa9, 0x7a, 0x51, 0xb1, 0xf4, 0xba, 0xcb, 0x82, 0xba, 0x93, 0xbb, 0xc4, 0x60, + 0xc5, 0xb1, 0x47, 0x82, 0xce, 0xf2, 0xfb, 0x22, 0x41, 0xe7, 0xc0, 0x4f, 0x25, 0x41, 0xe7, 0xeb, + 0x30, 0xbc, 0xe9, 0x25, 0x98, 0xb4, 0x42, 0x71, 0x71, 0x3f, 0x67, 0xf2, 0x5c, 0xe1, 0xc4, 0x9d, + 0x59, 0xf7, 0x04, 0x02, 0x4b, 0x76, 0x68, 0x4d, 0x2d, 0xaa, 0xa1, 0x22, 0x7b, 0x79, 0xa7, 0xaf, + 0xaf, 0xeb, 0xb2, 0x12, 0x09, 0x39, 0x87, 0xdf, 0x7b, 0x42, 0x4e, 0x95, 0x46, 0x73, 0xe4, 0x61, + 0xa5, 0xd1, 0x34, 0xd2, 0x91, 0x56, 0x8e, 0x22, 0x1d, 0xe9, 0xd7, 0x2d, 0x38, 0xdd, 0xea, 0x96, + 0xcc, 0x57, 0x24, 0xc4, 0xfc, 0xe4, 0x21, 0xd2, 0x1b, 0x1b, 0x55, 0xb3, 0xeb, 0xd0, 0x5d, 0xc9, + 0x70, 0xf7, 0x8a, 0x65, 0x5e, 0xd3, 0xd1, 0xf7, 0x9e, 0xd7, 0xf4, 0xa8, 0x33, 0x67, 0xa6, 0x59, + 0x4e, 0xc7, 0x8f, 0x24, 0xcb, 0xe9, 0xc4, 0x43, 0xcc, 0x72, 0xaa, 0xe5, 0x27, 0x9d, 0x7c, 0xb8, + 0xf9, 0x49, 0xb7, 0xcc, 0x7d, 0x89, 0xa7, 0xc3, 0x7c, 0xa9, 0xf0, 0xbe, 0x64, 0xd4, 0x70, 0xf0, + 0xce, 0xc4, 0x33, 0xb5, 0x9e, 0x78, 0x8f, 0x99, 0x5a, 0x8d, 0x7c, 0xa7, 0xe8, 0x28, 0xf2, 0x9d, + 0xbe, 0xa5, 0xef, 0xa0, 0x27, 0x8b, 0xd4, 0xa0, 0x36, 0xca, 0xce, 0x1a, 0xba, 0xed, 0xa1, 0x9d, + 0x19, 0x55, 0x4f, 0x1d, 0x77, 0x46, 0xd5, 0xd3, 0x47, 0x98, 0x51, 0xf5, 0xcc, 0xb1, 0x66, 0x54, + 0x7d, 0xe4, 0xa7, 0x91, 0x51, 0x95, 0x76, 0xb8, 0x25, 0xaf, 0xce, 0x4c, 0x4f, 0x17, 0xe9, 0x70, + 0xd7, 0x9b, 0x36, 0xbc, 0xc3, 0x0a, 0x85, 0x53, 0xa6, 0xf6, 0x9f, 0x83, 0xb3, 0x07, 0x7f, 0xf0, + 0xf4, 0x55, 0x80, 0x5a, 0xea, 0x69, 0xca, 0xbc, 0x0a, 0xc0, 0x94, 0x29, 0x8d, 0xaa, 0x70, 0xe2, + 0xc8, 0xef, 0x58, 0xf0, 0x48, 0x8f, 0xbc, 0x6a, 0x85, 0xef, 0x9d, 0xb5, 0x60, 0xb2, 0x65, 0x16, + 0x2d, 0x7c, 0x53, 0xd4, 0xc8, 0xe3, 0xa6, 0x62, 0x83, 0x33, 0x08, 0x9c, 0x65, 0xbf, 0xf8, 0xa1, + 0x1f, 0xbd, 0x7b, 0xf6, 0x03, 0x3f, 0x7e, 0xf7, 0xec, 0x07, 0xfe, 0xf0, 0xdd, 0xb3, 0x1f, 0xf8, + 0x85, 0xbd, 0xb3, 0xd6, 0x8f, 0xf6, 0xce, 0x5a, 0x3f, 0xde, 0x3b, 0x6b, 0xfd, 0xf1, 0xde, 0x59, + 0xeb, 0xeb, 0x3f, 0x39, 0xfb, 0x81, 0xcf, 0x96, 0xb6, 0x2f, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x67, 0xe3, 0xa3, 0x34, 0xbd, 0xc2, 0x00, 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index 02f82b5555b..0bb9dbfa36c 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -309,6 +309,31 @@ message ConfigMapList { repeated ConfigMap items = 2; } +// Adapts a ConfigMap into a projected volume. +// +// The contents of the target ConfigMap's Data field will be presented in a +// projected volume as files using the keys in the Data field as the file names, +// unless the items element is populated with specific mappings of keys to paths. +// Note that this is identical to a configmap volume source without the default +// mode. +message ConfigMapProjection { + optional LocalObjectReference localObjectReference = 1; + + // If unspecified, each key-value pair in the Data field of the referenced + // ConfigMap will be projected into the volume as a file whose name is the + // key and content is the value. If specified, the listed keys will be + // projected into the specified paths, and unlisted keys will not be + // present. If a key is specified which is not present in the ConfigMap, + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. + // +optional + repeated KeyToPath items = 2; + + // Specify whether the ConfigMap or it's keys must be defined + // +optional + optional bool optional = 4; +} + // Adapts a ConfigMap into a volume. // // The contents of the target ConfigMap's Data field will be presented in a @@ -661,6 +686,15 @@ message DeleteOptions { optional bool orphanDependents = 3; } +// Represents downward API info for projecting into a projected volume. +// Note that this is identical to a downwardAPI volume source without the default +// mode. +message DownwardAPIProjection { + // Items is a list of DownwardAPIVolume file + // +optional + repeated DownwardAPIVolumeFile items = 1; +} + // DownwardAPIVolumeFile represents information to create the file containing the pod field message DownwardAPIVolumeFile { // Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' @@ -2807,6 +2841,20 @@ message Probe { optional int32 failureThreshold = 6; } +// Represents a projected volume source +message ProjectedVolumeSource { + // list of volume projections + repeated VolumeProjection sources = 1; + + // Mode bits to use on created files by default. Must be a value between + // 0 and 0777. + // Directories within the path are not affected by this setting. + // This might be in conflict with other options that affect the file + // mode, like fsGroup, and the result can be other mode bits set. + // +optional + optional int32 defaultMode = 2; +} + // Represents a Quobyte mount that lasts the lifetime of a pod. // Quobyte volumes do not support ownership management or SELinux relabeling. message QuobyteVolumeSource { @@ -3183,6 +3231,30 @@ message SecretList { repeated Secret items = 2; } +// Adapts a secret into a projected volume. +// +// The contents of the target Secret's Data field will be presented in a +// projected volume as files using the keys in the Data field as the file names. +// Note that this is identical to a secret volume source without the default +// mode. +message SecretProjection { + optional LocalObjectReference localObjectReference = 1; + + // If unspecified, each key-value pair in the Data field of the referenced + // Secret will be projected into the volume as a file whose name is the + // key and content is the value. If specified, the listed keys will be + // projected into the specified paths, and unlisted keys will not be + // present. If a key is specified which is not present in the Secret, + // the volume setup will error unless it is marked optional. Paths must be + // relative and may not contain the '..' path or start with '..'. + // +optional + repeated KeyToPath items = 2; + + // Specify whether the Secret or its key must be defined + // +optional + optional bool optional = 4; +} + // Adapts a Secret into a volume. // // The contents of the target Secret's Data field will be presented in a volume @@ -3591,6 +3663,18 @@ message VolumeMount { optional string subPath = 4; } +// Projection that may be projected along with other supported volume types +message VolumeProjection { + // information about the secret data to project + optional SecretProjection secret = 1; + + // information about the downwardAPI data to project + optional DownwardAPIProjection downwardAPI = 2; + + // information about the configMap data to project + optional ConfigMapProjection configMap = 3; +} + // Represents the source of a volume to mount. // Only one of its members may be specified. message VolumeSource { @@ -3707,6 +3791,9 @@ message VolumeSource { // PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine optional PhotonPersistentDiskVolumeSource photonPersistentDisk = 23; + + // Items for all in one resources secrets, configmaps, and downward API + optional ProjectedVolumeSource projected = 24; } // Represents a vSphere volume resource. diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index ccb5115cf31..675f4b00c3b 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -1222,7 +1222,7 @@ func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [24]bool + var yyq2 [25]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil @@ -1248,9 +1248,10 @@ func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) { yyq2[21] = x.VolumeSource.Quobyte != nil && x.Quobyte != nil yyq2[22] = x.VolumeSource.AzureDisk != nil && x.AzureDisk != nil yyq2[23] = x.VolumeSource.PhotonPersistentDisk != nil && x.PhotonPersistentDisk != nil + yyq2[24] = x.VolumeSource.Projected != nil && x.Projected != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(24) + r.EncodeArrayStart(25) } else { yynn2 = 1 for _, b := range yyq2 { @@ -2131,6 +2132,43 @@ func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) { } } } + var yyn75 bool + if x.VolumeSource.Projected == nil { + yyn75 = true + goto LABEL75 + } + LABEL75: + if yyr2 || yy2arr2 { + if yyn75 { + r.EncodeNil() + } else { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[24] { + if x.Projected == nil { + r.EncodeNil() + } else { + x.Projected.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } + } else { + if yyq2[24] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("projected")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if yyn75 { + r.EncodeNil() + } else { + if x.Projected == nil { + r.EncodeNil() + } else { + x.Projected.CodecEncodeSelf(e) + } + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -2526,6 +2564,20 @@ func (x *Volume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } x.PhotonPersistentDisk.CodecDecodeSelf(d) } + case "projected": + if x.VolumeSource.Projected == nil { + x.VolumeSource.Projected = new(ProjectedVolumeSource) + } + if r.TryDecodeAsNil() { + if x.Projected != nil { + x.Projected = nil + } + } else { + if x.Projected == nil { + x.Projected = new(ProjectedVolumeSource) + } + x.Projected.CodecDecodeSelf(d) + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -2537,16 +2589,16 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj29 int - var yyb29 bool - var yyhl29 bool = l >= 0 - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + var yyj30 int + var yyb30 bool + var yyhl30 bool = l >= 0 + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2554,24 +2606,24 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if r.TryDecodeAsNil() { x.Name = "" } else { - yyv30 := &x.Name - yym31 := z.DecBinary() - _ = yym31 + yyv31 := &x.Name + yym32 := z.DecBinary() + _ = yym32 if false { } else { - *((*string)(yyv30)) = r.DecodeString() + *((*string)(yyv31)) = r.DecodeString() } } if x.VolumeSource.HostPath == nil { x.VolumeSource.HostPath = new(HostPathVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2589,13 +2641,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.EmptyDir == nil { x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2613,13 +2665,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.GCEPersistentDisk == nil { x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2637,13 +2689,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.AWSElasticBlockStore == nil { x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2661,13 +2713,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.GitRepo == nil { x.VolumeSource.GitRepo = new(GitRepoVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2685,13 +2737,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.Secret == nil { x.VolumeSource.Secret = new(SecretVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2709,13 +2761,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.NFS == nil { x.VolumeSource.NFS = new(NFSVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2733,13 +2785,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.ISCSI == nil { x.VolumeSource.ISCSI = new(ISCSIVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2757,13 +2809,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.Glusterfs == nil { x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2781,13 +2833,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.PersistentVolumeClaim == nil { x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2805,13 +2857,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.RBD == nil { x.VolumeSource.RBD = new(RBDVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2829,13 +2881,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.FlexVolume == nil { x.VolumeSource.FlexVolume = new(FlexVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2853,13 +2905,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.Cinder == nil { x.VolumeSource.Cinder = new(CinderVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2877,13 +2929,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.CephFS == nil { x.VolumeSource.CephFS = new(CephFSVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2901,13 +2953,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.Flocker == nil { x.VolumeSource.Flocker = new(FlockerVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2925,13 +2977,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.DownwardAPI == nil { x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2949,13 +3001,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.FC == nil { x.VolumeSource.FC = new(FCVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2973,13 +3025,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.AzureFile == nil { x.VolumeSource.AzureFile = new(AzureFileVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -2997,13 +3049,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.ConfigMap == nil { x.VolumeSource.ConfigMap = new(ConfigMapVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -3021,13 +3073,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.VsphereVolume == nil { x.VolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -3045,13 +3097,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.Quobyte == nil { x.VolumeSource.Quobyte = new(QuobyteVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -3069,13 +3121,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.AzureDisk == nil { x.VolumeSource.AzureDisk = new(AzureDiskVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -3093,13 +3145,13 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { if x.VolumeSource.PhotonPersistentDisk == nil { x.VolumeSource.PhotonPersistentDisk = new(PhotonPersistentDiskVolumeSource) } - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l } else { - yyb29 = r.CheckBreak() + yyb30 = r.CheckBreak() } - if yyb29 { + if yyb30 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -3114,18 +3166,42 @@ func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.PhotonPersistentDisk.CodecDecodeSelf(d) } - for { - yyj29++ - if yyhl29 { - yyb29 = yyj29 > l - } else { - yyb29 = r.CheckBreak() + if x.VolumeSource.Projected == nil { + x.VolumeSource.Projected = new(ProjectedVolumeSource) + } + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l + } else { + yyb30 = r.CheckBreak() + } + if yyb30 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Projected != nil { + x.Projected = nil } - if yyb29 { + } else { + if x.Projected == nil { + x.Projected = new(ProjectedVolumeSource) + } + x.Projected.CodecDecodeSelf(d) + } + for { + yyj30++ + if yyhl30 { + yyb30 = yyj30 > l + } else { + yyb30 = r.CheckBreak() + } + if yyb30 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj29-1, "") + z.DecStructFieldNotFound(yyj30-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -3144,7 +3220,7 @@ func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } else { yysep2 := !z.EncBinary() yy2arr2 := z.EncBasicHandle().StructToArray - var yyq2 [23]bool + var yyq2 [24]bool _, _, _ = yysep2, yyq2, yy2arr2 const yyr2 bool = false yyq2[0] = x.HostPath != nil @@ -3170,9 +3246,10 @@ func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { yyq2[20] = x.Quobyte != nil yyq2[21] = x.AzureDisk != nil yyq2[22] = x.PhotonPersistentDisk != nil + yyq2[23] = x.Projected != nil var yynn2 int if yyr2 || yy2arr2 { - r.EncodeArrayStart(23) + r.EncodeArrayStart(24) } else { yynn2 = 0 for _, b := range yyq2 { @@ -3712,6 +3789,29 @@ func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { } } } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[23] { + if x.Projected == nil { + r.EncodeNil() + } else { + x.Projected.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[23] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("projected")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Projected == nil { + r.EncodeNil() + } else { + x.Projected.CodecEncodeSelf(e) + } + } + } if yyr2 || yy2arr2 { z.EncSendContainerState(codecSelfer_containerArrayEnd1234) } else { @@ -4026,6 +4126,17 @@ func (x *VolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) { } x.PhotonPersistentDisk.CodecDecodeSelf(d) } + case "projected": + if r.TryDecodeAsNil() { + if x.Projected != nil { + x.Projected = nil + } + } else { + if x.Projected == nil { + x.Projected = new(ProjectedVolumeSource) + } + x.Projected.CodecDecodeSelf(d) + } default: z.DecStructFieldNotFound(-1, yys3) } // end switch yys3 @@ -4037,16 +4148,16 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { var h codecSelfer1234 z, r := codec1978.GenHelperDecoder(d) _, _, _ = h, z, r - var yyj27 int - var yyb27 bool - var yyhl27 bool = l >= 0 - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + var yyj28 int + var yyb28 bool + var yyhl28 bool = l >= 0 + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4061,13 +4172,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.HostPath.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4082,13 +4193,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.EmptyDir.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4103,13 +4214,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.GCEPersistentDisk.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4124,13 +4235,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.AWSElasticBlockStore.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4145,13 +4256,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.GitRepo.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4166,13 +4277,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.Secret.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4187,13 +4298,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.NFS.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4208,13 +4319,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.ISCSI.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4229,13 +4340,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.Glusterfs.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4250,13 +4361,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.PersistentVolumeClaim.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4271,13 +4382,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.RBD.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4292,13 +4403,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.FlexVolume.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4313,13 +4424,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.Cinder.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4334,13 +4445,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.CephFS.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4355,13 +4466,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.Flocker.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4376,13 +4487,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.DownwardAPI.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4397,13 +4508,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.FC.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4418,13 +4529,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.AzureFile.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4439,13 +4550,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.ConfigMap.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4460,13 +4571,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.VsphereVolume.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4481,13 +4592,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.Quobyte.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4502,13 +4613,13 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.AzureDisk.CodecDecodeSelf(d) } - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l } else { - yyb27 = r.CheckBreak() + yyb28 = r.CheckBreak() } - if yyb27 { + if yyb28 { z.DecSendContainerState(codecSelfer_containerArrayEnd1234) return } @@ -4523,18 +4634,39 @@ func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { } x.PhotonPersistentDisk.CodecDecodeSelf(d) } - for { - yyj27++ - if yyhl27 { - yyb27 = yyj27 > l - } else { - yyb27 = r.CheckBreak() + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l + } else { + yyb28 = r.CheckBreak() + } + if yyb28 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Projected != nil { + x.Projected = nil } - if yyb27 { + } else { + if x.Projected == nil { + x.Projected = new(ProjectedVolumeSource) + } + x.Projected.CodecDecodeSelf(d) + } + for { + yyj28++ + if yyhl28 { + yyb28 = yyj28 > l + } else { + yyb28 = r.CheckBreak() + } + if yyb28 { break } z.DecSendContainerState(codecSelfer_containerArrayElem1234) - z.DecStructFieldNotFound(yyj27-1, "") + z.DecStructFieldNotFound(yyj28-1, "") } z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } @@ -14532,6 +14664,333 @@ func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decode z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } +func (x *SecretProjection) 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 [3]bool + _, _, _ = yysep2, yyq2, yy2arr2 + const yyr2 bool = false + yyq2[0] = x.Name != "" + yyq2[1] = len(x.Items) != 0 + yyq2[2] = x.Optional != nil + var yynn2 int + if yyr2 || yy2arr2 { + r.EncodeArrayStart(3) + } else { + yynn2 = 0 + for _, b := range yyq2 { + if b { + yynn2++ + } + } + r.EncodeMapStart(yynn2) + yynn2 = 0 + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[0] { + yym4 := z.EncBinary() + _ = yym4 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[0] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("name")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym5 := z.EncBinary() + _ = yym5 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Items == nil { + r.EncodeNil() + } else { + yym7 := z.EncBinary() + _ = yym7 + if false { + } else { + h.encSliceKeyToPath(([]KeyToPath)(x.Items), e) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("items")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Items == nil { + r.EncodeNil() + } else { + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + h.encSliceKeyToPath(([]KeyToPath)(x.Items), e) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *SecretProjection) 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 *SecretProjection) 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() + } + } + case "items": + if r.TryDecodeAsNil() { + x.Items = nil + } else { + yyv6 := &x.Items + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + h.decSliceKeyToPath((*[]KeyToPath)(yyv6), d) + } + } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *SecretProjection) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Name = "" + } else { + yyv11 := &x.Name + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*string)(yyv11)) = r.DecodeString() + } + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Items = nil + } else { + yyv13 := &x.Items + yym14 := z.DecBinary() + _ = yym14 + if false { + } else { + h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + } + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + break + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + z.DecStructFieldNotFound(yyj10-1, "") + } + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) +} + func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) @@ -17340,6 +17799,882 @@ func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Dec z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } +func (x *ConfigMapProjection) 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 [3]bool + _, _, _ = yysep2, yyq2, yy2arr2 + const yyr2 bool = false + yyq2[0] = x.Name != "" + yyq2[1] = len(x.Items) != 0 + yyq2[2] = x.Optional != nil + var yynn2 int + if yyr2 || yy2arr2 { + r.EncodeArrayStart(3) + } else { + yynn2 = 0 + for _, b := range yyq2 { + if b { + yynn2++ + } + } + r.EncodeMapStart(yynn2) + yynn2 = 0 + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[0] { + yym4 := z.EncBinary() + _ = yym4 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } else { + r.EncodeString(codecSelferC_UTF81234, "") + } + } else { + if yyq2[0] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("name")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + yym5 := z.EncBinary() + _ = yym5 + if false { + } else { + r.EncodeString(codecSelferC_UTF81234, string(x.Name)) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.Items == nil { + r.EncodeNil() + } else { + yym7 := z.EncBinary() + _ = yym7 + if false { + } else { + h.encSliceKeyToPath(([]KeyToPath)(x.Items), e) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("items")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Items == nil { + r.EncodeNil() + } else { + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + h.encSliceKeyToPath(([]KeyToPath)(x.Items), e) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.Optional == nil { + r.EncodeNil() + } else { + yy10 := *x.Optional + yym11 := z.EncBinary() + _ = yym11 + if false { + } else { + r.EncodeBool(bool(yy10)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("optional")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Optional == nil { + r.EncodeNil() + } else { + yy12 := *x.Optional + yym13 := z.EncBinary() + _ = yym13 + if false { + } else { + r.EncodeBool(bool(yy12)) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *ConfigMapProjection) 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 *ConfigMapProjection) 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() + } + } + case "items": + if r.TryDecodeAsNil() { + x.Items = nil + } else { + yyv6 := &x.Items + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + h.decSliceKeyToPath((*[]KeyToPath)(yyv6), d) + } + } + case "optional": + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym9 := z.DecBinary() + _ = yym9 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *ConfigMapProjection) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + var yyj10 int + var yyb10 bool + var yyhl10 bool = l >= 0 + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Name = "" + } else { + yyv11 := &x.Name + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*string)(yyv11)) = r.DecodeString() + } + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Items = nil + } else { + yyv13 := &x.Items + yym14 := z.DecBinary() + _ = yym14 + if false { + } else { + h.decSliceKeyToPath((*[]KeyToPath)(yyv13), d) + } + } + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Optional != nil { + x.Optional = nil + } + } else { + if x.Optional == nil { + x.Optional = new(bool) + } + yym16 := z.DecBinary() + _ = yym16 + if false { + } else { + *((*bool)(x.Optional)) = r.DecodeBool() + } + } + for { + yyj10++ + if yyhl10 { + yyb10 = yyj10 > l + } else { + yyb10 = r.CheckBreak() + } + if yyb10 { + break + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + z.DecStructFieldNotFound(yyj10-1, "") + } + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) +} + +func (x *ProjectedVolumeSource) 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 [2]bool + _, _, _ = yysep2, yyq2, yy2arr2 + const yyr2 bool = false + yyq2[1] = x.DefaultMode != nil + var yynn2 int + if yyr2 || yy2arr2 { + r.EncodeArrayStart(2) + } else { + yynn2 = 1 + for _, b := range yyq2 { + if b { + yynn2++ + } + } + r.EncodeMapStart(yynn2) + yynn2 = 0 + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if x.Sources == nil { + r.EncodeNil() + } else { + yym4 := z.EncBinary() + _ = yym4 + if false { + } else { + h.encSliceVolumeProjection(([]VolumeProjection)(x.Sources), e) + } + } + } else { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("sources")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Sources == nil { + r.EncodeNil() + } else { + yym5 := z.EncBinary() + _ = yym5 + if false { + } else { + h.encSliceVolumeProjection(([]VolumeProjection)(x.Sources), e) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.DefaultMode == nil { + r.EncodeNil() + } else { + yy7 := *x.DefaultMode + yym8 := z.EncBinary() + _ = yym8 + if false { + } else { + r.EncodeInt(int64(yy7)) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("defaultMode")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.DefaultMode == nil { + r.EncodeNil() + } else { + yy9 := *x.DefaultMode + yym10 := z.EncBinary() + _ = yym10 + if false { + } else { + r.EncodeInt(int64(yy9)) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *ProjectedVolumeSource) 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 *ProjectedVolumeSource) 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 "sources": + if r.TryDecodeAsNil() { + x.Sources = nil + } else { + yyv4 := &x.Sources + yym5 := z.DecBinary() + _ = yym5 + if false { + } else { + h.decSliceVolumeProjection((*[]VolumeProjection)(yyv4), d) + } + } + case "defaultMode": + if r.TryDecodeAsNil() { + if x.DefaultMode != nil { + x.DefaultMode = nil + } + } else { + if x.DefaultMode == nil { + x.DefaultMode = new(int32) + } + yym7 := z.DecBinary() + _ = yym7 + if false { + } else { + *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) + } + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *ProjectedVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + var yyj8 int + var yyb8 bool + var yyhl8 bool = l >= 0 + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + x.Sources = nil + } else { + yyv9 := &x.Sources + yym10 := z.DecBinary() + _ = yym10 + if false { + } else { + h.decSliceVolumeProjection((*[]VolumeProjection)(yyv9), d) + } + } + 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.DefaultMode != nil { + x.DefaultMode = nil + } + } else { + if x.DefaultMode == nil { + x.DefaultMode = new(int32) + } + yym12 := z.DecBinary() + _ = yym12 + if false { + } else { + *((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32)) + } + } + for { + yyj8++ + if yyhl8 { + yyb8 = yyj8 > l + } else { + yyb8 = r.CheckBreak() + } + if yyb8 { + break + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + z.DecStructFieldNotFound(yyj8-1, "") + } + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) +} + +func (x *VolumeProjection) 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 [3]bool + _, _, _ = yysep2, yyq2, yy2arr2 + const yyr2 bool = false + yyq2[0] = x.Secret != nil + yyq2[1] = x.DownwardAPI != nil + yyq2[2] = x.ConfigMap != nil + var yynn2 int + if yyr2 || yy2arr2 { + r.EncodeArrayStart(3) + } 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] { + if x.Secret == nil { + r.EncodeNil() + } else { + x.Secret.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[0] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("secret")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Secret == nil { + r.EncodeNil() + } else { + x.Secret.CodecEncodeSelf(e) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[1] { + if x.DownwardAPI == nil { + r.EncodeNil() + } else { + x.DownwardAPI.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[1] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("downwardAPI")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.DownwardAPI == nil { + r.EncodeNil() + } else { + x.DownwardAPI.CodecEncodeSelf(e) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + if yyq2[2] { + if x.ConfigMap == nil { + r.EncodeNil() + } else { + x.ConfigMap.CodecEncodeSelf(e) + } + } else { + r.EncodeNil() + } + } else { + if yyq2[2] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("configMap")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.ConfigMap == nil { + r.EncodeNil() + } else { + x.ConfigMap.CodecEncodeSelf(e) + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *VolumeProjection) 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 *VolumeProjection) 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 "secret": + if r.TryDecodeAsNil() { + if x.Secret != nil { + x.Secret = nil + } + } else { + if x.Secret == nil { + x.Secret = new(SecretProjection) + } + x.Secret.CodecDecodeSelf(d) + } + case "downwardAPI": + if r.TryDecodeAsNil() { + if x.DownwardAPI != nil { + x.DownwardAPI = nil + } + } else { + if x.DownwardAPI == nil { + x.DownwardAPI = new(DownwardAPIProjection) + } + x.DownwardAPI.CodecDecodeSelf(d) + } + case "configMap": + if r.TryDecodeAsNil() { + if x.ConfigMap != nil { + x.ConfigMap = nil + } + } else { + if x.ConfigMap == nil { + x.ConfigMap = new(ConfigMapProjection) + } + x.ConfigMap.CodecDecodeSelf(d) + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *VolumeProjection) 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 + } else { + yyb7 = r.CheckBreak() + } + if yyb7 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.Secret != nil { + x.Secret = nil + } + } else { + if x.Secret == nil { + x.Secret = new(SecretProjection) + } + x.Secret.CodecDecodeSelf(d) + } + yyj7++ + if yyhl7 { + yyb7 = yyj7 > l + } else { + yyb7 = r.CheckBreak() + } + if yyb7 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.DownwardAPI != nil { + x.DownwardAPI = nil + } + } else { + if x.DownwardAPI == nil { + x.DownwardAPI = new(DownwardAPIProjection) + } + x.DownwardAPI.CodecDecodeSelf(d) + } + yyj7++ + if yyhl7 { + yyb7 = yyj7 > l + } else { + yyb7 = r.CheckBreak() + } + if yyb7 { + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) + return + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + if r.TryDecodeAsNil() { + if x.ConfigMap != nil { + x.ConfigMap = nil + } + } else { + if x.ConfigMap == nil { + x.ConfigMap = new(ConfigMapProjection) + } + x.ConfigMap.CodecDecodeSelf(d) + } + for { + yyj7++ + if yyhl7 { + yyb7 = yyj7 > l + } else { + yyb7 = r.CheckBreak() + } + if yyb7 { + break + } + z.DecSendContainerState(codecSelfer_containerArrayElem1234) + z.DecStructFieldNotFound(yyj7-1, "") + } + z.DecSendContainerState(codecSelfer_containerArrayEnd1234) +} + func (x *KeyToPath) CodecEncodeSelf(e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) @@ -62001,6 +63336,195 @@ func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Dec z.DecSendContainerState(codecSelfer_containerArrayEnd1234) } +func (x *DownwardAPIProjection) 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] = len(x.Items) != 0 + 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] { + if x.Items == nil { + r.EncodeNil() + } else { + yym4 := z.EncBinary() + _ = yym4 + if false { + } else { + h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e) + } + } + } else { + r.EncodeNil() + } + } else { + if yyq2[0] { + z.EncSendContainerState(codecSelfer_containerMapKey1234) + r.EncodeString(codecSelferC_UTF81234, string("items")) + z.EncSendContainerState(codecSelfer_containerMapValue1234) + if x.Items == nil { + r.EncodeNil() + } else { + yym5 := z.EncBinary() + _ = yym5 + if false { + } else { + h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e) + } + } + } + } + if yyr2 || yy2arr2 { + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) + } else { + z.EncSendContainerState(codecSelfer_containerMapEnd1234) + } + } + } +} + +func (x *DownwardAPIProjection) 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 *DownwardAPIProjection) 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 "items": + if r.TryDecodeAsNil() { + x.Items = nil + } else { + yyv4 := &x.Items + yym5 := z.DecBinary() + _ = yym5 + if false { + } else { + h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv4), d) + } + } + default: + z.DecStructFieldNotFound(-1, yys3) + } // end switch yys3 + } // end for yyj3 + z.DecSendContainerState(codecSelfer_containerMapEnd1234) +} + +func (x *DownwardAPIProjection) 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.Items = nil + } else { + yyv7 := &x.Items + yym8 := z.DecBinary() + _ = yym8 + if false { + } else { + h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv7), d) + } + } + 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 *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) @@ -63941,6 +65465,125 @@ func (x codecSelfer1234) decSliceKeyToPath(v *[]KeyToPath, d *codec1978.Decoder) } } +func (x codecSelfer1234) encSliceVolumeProjection(v []VolumeProjection, e *codec1978.Encoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperEncoder(e) + _, _, _ = h, z, r + r.EncodeArrayStart(len(v)) + for _, yyv1 := range v { + z.EncSendContainerState(codecSelfer_containerArrayElem1234) + yy2 := &yyv1 + yy2.CodecEncodeSelf(e) + } + z.EncSendContainerState(codecSelfer_containerArrayEnd1234) +} + +func (x codecSelfer1234) decSliceVolumeProjection(v *[]VolumeProjection, d *codec1978.Decoder) { + var h codecSelfer1234 + z, r := codec1978.GenHelperDecoder(d) + _, _, _ = h, z, r + + yyv1 := *v + yyh1, yyl1 := z.DecSliceHelperStart() + var yyc1 bool + _ = yyc1 + if yyl1 == 0 { + if yyv1 == nil { + yyv1 = []VolumeProjection{} + yyc1 = true + } else if len(yyv1) != 0 { + yyv1 = yyv1[:0] + yyc1 = true + } + } else if yyl1 > 0 { + var yyrr1, yyrl1 int + var yyrt1 bool + _, _ = yyrl1, yyrt1 + yyrr1 = yyl1 // len(yyv1) + if yyl1 > cap(yyv1) { + + yyrg1 := len(yyv1) > 0 + yyv21 := yyv1 + yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 24) + if yyrt1 { + if yyrl1 <= cap(yyv1) { + yyv1 = yyv1[:yyrl1] + } else { + yyv1 = make([]VolumeProjection, yyrl1) + } + } else { + yyv1 = make([]VolumeProjection, yyrl1) + } + yyc1 = true + yyrr1 = len(yyv1) + if yyrg1 { + copy(yyv1, yyv21) + } + } else if yyl1 != len(yyv1) { + yyv1 = yyv1[:yyl1] + yyc1 = true + } + yyj1 := 0 + for ; yyj1 < yyrr1; yyj1++ { + yyh1.ElemContainerState(yyj1) + if r.TryDecodeAsNil() { + yyv1[yyj1] = VolumeProjection{} + } else { + yyv2 := &yyv1[yyj1] + yyv2.CodecDecodeSelf(d) + } + + } + if yyrt1 { + for ; yyj1 < yyl1; yyj1++ { + yyv1 = append(yyv1, VolumeProjection{}) + yyh1.ElemContainerState(yyj1) + if r.TryDecodeAsNil() { + yyv1[yyj1] = VolumeProjection{} + } else { + yyv3 := &yyv1[yyj1] + yyv3.CodecDecodeSelf(d) + } + + } + } + + } else { + yyj1 := 0 + for ; !r.CheckBreak(); yyj1++ { + + if yyj1 >= len(yyv1) { + yyv1 = append(yyv1, VolumeProjection{}) // var yyz1 VolumeProjection + yyc1 = true + } + yyh1.ElemContainerState(yyj1) + if yyj1 < len(yyv1) { + if r.TryDecodeAsNil() { + yyv1[yyj1] = VolumeProjection{} + } else { + yyv4 := &yyv1[yyj1] + yyv4.CodecDecodeSelf(d) + } + + } else { + z.DecSwallow() + } + + } + if yyj1 < len(yyv1) { + yyv1 = yyv1[:yyj1] + yyc1 = true + } else if yyj1 == 0 && yyv1 == nil { + yyv1 = []VolumeProjection{} + yyc1 = true + } + } + yyh1.End() + if yyc1 { + *v = yyv1 + } +} + func (x codecSelfer1234) encSliceHTTPHeader(v []HTTPHeader, e *codec1978.Encoder) { var h codecSelfer1234 z, r := codec1978.GenHelperEncoder(e) @@ -65283,7 +66926,7 @@ func (x codecSelfer1234) decSliceVolume(v *[]Volume, d *codec1978.Decoder) { yyrg1 := len(yyv1) > 0 yyv21 := yyv1 - yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 200) + yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 208) 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 222091727af..e237915f904 100644 --- a/pkg/api/v1/types_swagger_doc_generated.go +++ b/pkg/api/v1/types_swagger_doc_generated.go @@ -209,6 +209,16 @@ func (ConfigMapList) SwaggerDoc() map[string]string { return map_ConfigMapList } +var map_ConfigMapProjection = map[string]string{ + "": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "optional": "Specify whether the ConfigMap or it's keys must be defined", +} + +func (ConfigMapProjection) SwaggerDoc() map[string]string { + return map_ConfigMapProjection +} + var map_ConfigMapVolumeSource = map[string]string{ "": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.", "items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", @@ -352,6 +362,15 @@ func (DeleteOptions) SwaggerDoc() map[string]string { return map_DeleteOptions } +var map_DownwardAPIProjection = map[string]string{ + "": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + "items": "Items is a list of DownwardAPIVolume file", +} + +func (DownwardAPIProjection) SwaggerDoc() map[string]string { + return map_DownwardAPIProjection +} + var map_DownwardAPIVolumeFile = map[string]string{ "": "DownwardAPIVolumeFile represents information to create the file containing the pod field", "path": "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'", @@ -1420,6 +1439,16 @@ func (Probe) SwaggerDoc() map[string]string { return map_Probe } +var map_ProjectedVolumeSource = map[string]string{ + "": "Represents a projected volume source", + "sources": "list of volume projections", + "defaultMode": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", +} + +func (ProjectedVolumeSource) SwaggerDoc() map[string]string { + return map_ProjectedVolumeSource +} + var map_QuobyteVolumeSource = map[string]string{ "": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.", "registry": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes", @@ -1635,6 +1664,16 @@ func (SecretList) SwaggerDoc() map[string]string { return map_SecretList } +var map_SecretProjection = map[string]string{ + "": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + "items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + "optional": "Specify whether the Secret or its key must be defined", +} + +func (SecretProjection) SwaggerDoc() map[string]string { + return map_SecretProjection +} + var map_SecretVolumeSource = map[string]string{ "": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.", "secretName": "Name of the secret in the pod's namespace to use. More info: http://kubernetes.io/docs/user-guide/volumes#secrets", @@ -1817,6 +1856,17 @@ func (VolumeMount) SwaggerDoc() map[string]string { return map_VolumeMount } +var map_VolumeProjection = map[string]string{ + "": "Projection that may be projected along with other supported volume types", + "secret": "information about the secret data to project", + "downwardAPI": "information about the downwardAPI data to project", + "configMap": "information about the configMap data to project", +} + +func (VolumeProjection) SwaggerDoc() map[string]string { + return map_VolumeProjection +} + var map_VolumeSource = map[string]string{ "": "Represents the source of a volume to mount. Only one of its members may be specified.", "hostPath": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: http://kubernetes.io/docs/user-guide/volumes#hostpath", @@ -1842,6 +1892,7 @@ var map_VolumeSource = map[string]string{ "quobyte": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime", "azureDisk": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.", "photonPersistentDisk": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine", + "projected": "Items for all in one resources secrets, configmaps, and downward API", } func (VolumeSource) SwaggerDoc() map[string]string { diff --git a/pkg/api/v1/zz_generated.conversion.go b/pkg/api/v1/zz_generated.conversion.go index dc2c4da228b..409514b6877 100644 --- a/pkg/api/v1/zz_generated.conversion.go +++ b/pkg/api/v1/zz_generated.conversion.go @@ -71,6 +71,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_ConfigMapKeySelector_To_v1_ConfigMapKeySelector, Convert_v1_ConfigMapList_To_api_ConfigMapList, Convert_api_ConfigMapList_To_v1_ConfigMapList, + Convert_v1_ConfigMapProjection_To_api_ConfigMapProjection, + Convert_api_ConfigMapProjection_To_v1_ConfigMapProjection, Convert_v1_ConfigMapVolumeSource_To_api_ConfigMapVolumeSource, Convert_api_ConfigMapVolumeSource_To_v1_ConfigMapVolumeSource, Convert_v1_Container_To_api_Container, @@ -93,6 +95,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_DaemonEndpoint_To_v1_DaemonEndpoint, Convert_v1_DeleteOptions_To_api_DeleteOptions, Convert_api_DeleteOptions_To_v1_DeleteOptions, + Convert_v1_DownwardAPIProjection_To_api_DownwardAPIProjection, + Convert_api_DownwardAPIProjection_To_v1_DownwardAPIProjection, Convert_v1_DownwardAPIVolumeFile_To_api_DownwardAPIVolumeFile, Convert_api_DownwardAPIVolumeFile_To_v1_DownwardAPIVolumeFile, Convert_v1_DownwardAPIVolumeSource_To_api_DownwardAPIVolumeSource, @@ -279,6 +283,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_PreferredSchedulingTerm_To_v1_PreferredSchedulingTerm, Convert_v1_Probe_To_api_Probe, Convert_api_Probe_To_v1_Probe, + Convert_v1_ProjectedVolumeSource_To_api_ProjectedVolumeSource, + Convert_api_ProjectedVolumeSource_To_v1_ProjectedVolumeSource, Convert_v1_QuobyteVolumeSource_To_api_QuobyteVolumeSource, Convert_api_QuobyteVolumeSource_To_v1_QuobyteVolumeSource, Convert_v1_RBDVolumeSource_To_api_RBDVolumeSource, @@ -317,6 +323,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_SecretKeySelector_To_v1_SecretKeySelector, Convert_v1_SecretList_To_api_SecretList, Convert_api_SecretList_To_v1_SecretList, + Convert_v1_SecretProjection_To_api_SecretProjection, + Convert_api_SecretProjection_To_v1_SecretProjection, Convert_v1_SecretVolumeSource_To_api_SecretVolumeSource, Convert_api_SecretVolumeSource_To_v1_SecretVolumeSource, Convert_v1_SecurityContext_To_api_SecurityContext, @@ -351,6 +359,8 @@ func RegisterConversions(scheme *runtime.Scheme) error { Convert_api_Volume_To_v1_Volume, Convert_v1_VolumeMount_To_api_VolumeMount, Convert_api_VolumeMount_To_v1_VolumeMount, + Convert_v1_VolumeProjection_To_api_VolumeProjection, + Convert_api_VolumeProjection_To_v1_VolumeProjection, Convert_v1_VolumeSource_To_api_VolumeSource, Convert_api_VolumeSource_To_v1_VolumeSource, Convert_v1_VsphereVirtualDiskVolumeSource_To_api_VsphereVirtualDiskVolumeSource, @@ -740,6 +750,32 @@ func Convert_api_ConfigMapList_To_v1_ConfigMapList(in *api.ConfigMapList, out *C return autoConvert_api_ConfigMapList_To_v1_ConfigMapList(in, out, s) } +func autoConvert_v1_ConfigMapProjection_To_api_ConfigMapProjection(in *ConfigMapProjection, out *api.ConfigMapProjection, s conversion.Scope) error { + if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) + return nil +} + +func Convert_v1_ConfigMapProjection_To_api_ConfigMapProjection(in *ConfigMapProjection, out *api.ConfigMapProjection, s conversion.Scope) error { + return autoConvert_v1_ConfigMapProjection_To_api_ConfigMapProjection(in, out, s) +} + +func autoConvert_api_ConfigMapProjection_To_v1_ConfigMapProjection(in *api.ConfigMapProjection, out *ConfigMapProjection, s conversion.Scope) error { + if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) + return nil +} + +func Convert_api_ConfigMapProjection_To_v1_ConfigMapProjection(in *api.ConfigMapProjection, out *ConfigMapProjection, s conversion.Scope) error { + return autoConvert_api_ConfigMapProjection_To_v1_ConfigMapProjection(in, out, s) +} + func autoConvert_v1_ConfigMapVolumeSource_To_api_ConfigMapVolumeSource(in *ConfigMapVolumeSource, out *api.ConfigMapVolumeSource, s conversion.Scope) error { if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { return err @@ -1044,6 +1080,24 @@ func Convert_api_DeleteOptions_To_v1_DeleteOptions(in *api.DeleteOptions, out *D return autoConvert_api_DeleteOptions_To_v1_DeleteOptions(in, out, s) } +func autoConvert_v1_DownwardAPIProjection_To_api_DownwardAPIProjection(in *DownwardAPIProjection, out *api.DownwardAPIProjection, s conversion.Scope) error { + out.Items = *(*[]api.DownwardAPIVolumeFile)(unsafe.Pointer(&in.Items)) + return nil +} + +func Convert_v1_DownwardAPIProjection_To_api_DownwardAPIProjection(in *DownwardAPIProjection, out *api.DownwardAPIProjection, s conversion.Scope) error { + return autoConvert_v1_DownwardAPIProjection_To_api_DownwardAPIProjection(in, out, s) +} + +func autoConvert_api_DownwardAPIProjection_To_v1_DownwardAPIProjection(in *api.DownwardAPIProjection, out *DownwardAPIProjection, s conversion.Scope) error { + out.Items = *(*[]DownwardAPIVolumeFile)(unsafe.Pointer(&in.Items)) + return nil +} + +func Convert_api_DownwardAPIProjection_To_v1_DownwardAPIProjection(in *api.DownwardAPIProjection, out *DownwardAPIProjection, s conversion.Scope) error { + return autoConvert_api_DownwardAPIProjection_To_v1_DownwardAPIProjection(in, out, s) +} + func autoConvert_v1_DownwardAPIVolumeFile_To_api_DownwardAPIVolumeFile(in *DownwardAPIVolumeFile, out *api.DownwardAPIVolumeFile, s conversion.Scope) error { out.Path = in.Path out.FieldRef = (*api.ObjectFieldSelector)(unsafe.Pointer(in.FieldRef)) @@ -3381,6 +3435,26 @@ func Convert_api_Probe_To_v1_Probe(in *api.Probe, out *Probe, s conversion.Scope return autoConvert_api_Probe_To_v1_Probe(in, out, s) } +func autoConvert_v1_ProjectedVolumeSource_To_api_ProjectedVolumeSource(in *ProjectedVolumeSource, out *api.ProjectedVolumeSource, s conversion.Scope) error { + out.Sources = *(*[]api.VolumeProjection)(unsafe.Pointer(&in.Sources)) + out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + return nil +} + +func Convert_v1_ProjectedVolumeSource_To_api_ProjectedVolumeSource(in *ProjectedVolumeSource, out *api.ProjectedVolumeSource, s conversion.Scope) error { + return autoConvert_v1_ProjectedVolumeSource_To_api_ProjectedVolumeSource(in, out, s) +} + +func autoConvert_api_ProjectedVolumeSource_To_v1_ProjectedVolumeSource(in *api.ProjectedVolumeSource, out *ProjectedVolumeSource, s conversion.Scope) error { + out.Sources = *(*[]VolumeProjection)(unsafe.Pointer(&in.Sources)) + out.DefaultMode = (*int32)(unsafe.Pointer(in.DefaultMode)) + return nil +} + +func Convert_api_ProjectedVolumeSource_To_v1_ProjectedVolumeSource(in *api.ProjectedVolumeSource, out *ProjectedVolumeSource, s conversion.Scope) error { + return autoConvert_api_ProjectedVolumeSource_To_v1_ProjectedVolumeSource(in, out, s) +} + func autoConvert_v1_QuobyteVolumeSource_To_api_QuobyteVolumeSource(in *QuobyteVolumeSource, out *api.QuobyteVolumeSource, s conversion.Scope) error { out.Registry = in.Registry out.Volume = in.Volume @@ -3886,6 +3960,32 @@ func Convert_api_SecretList_To_v1_SecretList(in *api.SecretList, out *SecretList return autoConvert_api_SecretList_To_v1_SecretList(in, out, s) } +func autoConvert_v1_SecretProjection_To_api_SecretProjection(in *SecretProjection, out *api.SecretProjection, s conversion.Scope) error { + if err := Convert_v1_LocalObjectReference_To_api_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) + return nil +} + +func Convert_v1_SecretProjection_To_api_SecretProjection(in *SecretProjection, out *api.SecretProjection, s conversion.Scope) error { + return autoConvert_v1_SecretProjection_To_api_SecretProjection(in, out, s) +} + +func autoConvert_api_SecretProjection_To_v1_SecretProjection(in *api.SecretProjection, out *SecretProjection, s conversion.Scope) error { + if err := Convert_api_LocalObjectReference_To_v1_LocalObjectReference(&in.LocalObjectReference, &out.LocalObjectReference, s); err != nil { + return err + } + out.Items = *(*[]KeyToPath)(unsafe.Pointer(&in.Items)) + out.Optional = (*bool)(unsafe.Pointer(in.Optional)) + return nil +} + +func Convert_api_SecretProjection_To_v1_SecretProjection(in *api.SecretProjection, out *SecretProjection, s conversion.Scope) error { + return autoConvert_api_SecretProjection_To_v1_SecretProjection(in, out, s) +} + func autoConvert_v1_SecretVolumeSource_To_api_SecretVolumeSource(in *SecretVolumeSource, out *api.SecretVolumeSource, s conversion.Scope) error { out.SecretName = in.SecretName out.Items = *(*[]api.KeyToPath)(unsafe.Pointer(&in.Items)) @@ -4303,6 +4403,28 @@ func Convert_api_VolumeMount_To_v1_VolumeMount(in *api.VolumeMount, out *VolumeM return autoConvert_api_VolumeMount_To_v1_VolumeMount(in, out, s) } +func autoConvert_v1_VolumeProjection_To_api_VolumeProjection(in *VolumeProjection, out *api.VolumeProjection, s conversion.Scope) error { + out.Secret = (*api.SecretProjection)(unsafe.Pointer(in.Secret)) + out.DownwardAPI = (*api.DownwardAPIProjection)(unsafe.Pointer(in.DownwardAPI)) + out.ConfigMap = (*api.ConfigMapProjection)(unsafe.Pointer(in.ConfigMap)) + return nil +} + +func Convert_v1_VolumeProjection_To_api_VolumeProjection(in *VolumeProjection, out *api.VolumeProjection, s conversion.Scope) error { + return autoConvert_v1_VolumeProjection_To_api_VolumeProjection(in, out, s) +} + +func autoConvert_api_VolumeProjection_To_v1_VolumeProjection(in *api.VolumeProjection, out *VolumeProjection, s conversion.Scope) error { + out.Secret = (*SecretProjection)(unsafe.Pointer(in.Secret)) + out.DownwardAPI = (*DownwardAPIProjection)(unsafe.Pointer(in.DownwardAPI)) + out.ConfigMap = (*ConfigMapProjection)(unsafe.Pointer(in.ConfigMap)) + return nil +} + +func Convert_api_VolumeProjection_To_v1_VolumeProjection(in *api.VolumeProjection, out *VolumeProjection, s conversion.Scope) error { + return autoConvert_api_VolumeProjection_To_v1_VolumeProjection(in, out, s) +} + func autoConvert_v1_VolumeSource_To_api_VolumeSource(in *VolumeSource, out *api.VolumeSource, s conversion.Scope) error { out.HostPath = (*api.HostPathVolumeSource)(unsafe.Pointer(in.HostPath)) out.EmptyDir = (*api.EmptyDirVolumeSource)(unsafe.Pointer(in.EmptyDir)) @@ -4327,6 +4449,7 @@ func autoConvert_v1_VolumeSource_To_api_VolumeSource(in *VolumeSource, out *api. out.Quobyte = (*api.QuobyteVolumeSource)(unsafe.Pointer(in.Quobyte)) out.AzureDisk = (*api.AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk)) out.PhotonPersistentDisk = (*api.PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk)) + out.Projected = (*api.ProjectedVolumeSource)(unsafe.Pointer(in.Projected)) return nil } @@ -4358,6 +4481,7 @@ func autoConvert_api_VolumeSource_To_v1_VolumeSource(in *api.VolumeSource, out * out.VsphereVolume = (*VsphereVirtualDiskVolumeSource)(unsafe.Pointer(in.VsphereVolume)) out.AzureDisk = (*AzureDiskVolumeSource)(unsafe.Pointer(in.AzureDisk)) out.PhotonPersistentDisk = (*PhotonPersistentDiskVolumeSource)(unsafe.Pointer(in.PhotonPersistentDisk)) + out.Projected = (*ProjectedVolumeSource)(unsafe.Pointer(in.Projected)) return nil } diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/pkg/api/v1/zz_generated.deepcopy.go index dbf76beb571..4d0a1996cf6 100644 --- a/pkg/api/v1/zz_generated.deepcopy.go +++ b/pkg/api/v1/zz_generated.deepcopy.go @@ -53,6 +53,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ConfigMapEnvSource, InType: reflect.TypeOf(&ConfigMapEnvSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ConfigMapKeySelector, InType: reflect.TypeOf(&ConfigMapKeySelector{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ConfigMapList, InType: reflect.TypeOf(&ConfigMapList{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ConfigMapProjection, InType: reflect.TypeOf(&ConfigMapProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ConfigMapVolumeSource, InType: reflect.TypeOf(&ConfigMapVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Container, InType: reflect.TypeOf(&Container{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ContainerImage, InType: reflect.TypeOf(&ContainerImage{})}, @@ -64,6 +65,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ContainerStatus, InType: reflect.TypeOf(&ContainerStatus{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_DaemonEndpoint, InType: reflect.TypeOf(&DaemonEndpoint{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_DeleteOptions, InType: reflect.TypeOf(&DeleteOptions{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_DownwardAPIProjection, InType: reflect.TypeOf(&DownwardAPIProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_DownwardAPIVolumeFile, InType: reflect.TypeOf(&DownwardAPIVolumeFile{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_DownwardAPIVolumeSource, InType: reflect.TypeOf(&DownwardAPIVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_EmptyDirVolumeSource, InType: reflect.TypeOf(&EmptyDirVolumeSource{})}, @@ -157,6 +159,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PreferAvoidPodsEntry, InType: reflect.TypeOf(&PreferAvoidPodsEntry{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_PreferredSchedulingTerm, InType: reflect.TypeOf(&PreferredSchedulingTerm{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Probe, InType: reflect.TypeOf(&Probe{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ProjectedVolumeSource, InType: reflect.TypeOf(&ProjectedVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_QuobyteVolumeSource, InType: reflect.TypeOf(&QuobyteVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_RBDVolumeSource, InType: reflect.TypeOf(&RBDVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_RangeAllocation, InType: reflect.TypeOf(&RangeAllocation{})}, @@ -176,6 +179,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { 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_SecretProjection, InType: reflect.TypeOf(&SecretProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecretVolumeSource, InType: reflect.TypeOf(&SecretVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SecurityContext, InType: reflect.TypeOf(&SecurityContext{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SerializedReference, InType: reflect.TypeOf(&SerializedReference{})}, @@ -193,6 +197,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Toleration, InType: reflect.TypeOf(&Toleration{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_Volume, InType: reflect.TypeOf(&Volume{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_VolumeMount, InType: reflect.TypeOf(&VolumeMount{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_VolumeProjection, InType: reflect.TypeOf(&VolumeProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_VolumeSource, InType: reflect.TypeOf(&VolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_VsphereVirtualDiskVolumeSource, InType: reflect.TypeOf(&VsphereVirtualDiskVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_WeightedPodAffinityTerm, InType: reflect.TypeOf(&WeightedPodAffinityTerm{})}, @@ -472,6 +477,29 @@ func DeepCopy_v1_ConfigMapList(in interface{}, out interface{}, c *conversion.Cl } } +func DeepCopy_v1_ConfigMapProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ConfigMapProjection) + out := out.(*ConfigMapProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyToPath, len(*in)) + for i := range *in { + if err := DeepCopy_v1_KeyToPath(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } + return nil + } +} + func DeepCopy_v1_ConfigMapVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*ConfigMapVolumeSource) @@ -709,6 +737,24 @@ func DeepCopy_v1_DeleteOptions(in interface{}, out interface{}, c *conversion.Cl } } +func DeepCopy_v1_DownwardAPIProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*DownwardAPIProjection) + out := out.(*DownwardAPIProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DownwardAPIVolumeFile, len(*in)) + for i := range *in { + if err := DeepCopy_v1_DownwardAPIVolumeFile(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + return nil + } +} + func DeepCopy_v1_DownwardAPIVolumeFile(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*DownwardAPIVolumeFile) @@ -2492,6 +2538,29 @@ func DeepCopy_v1_Probe(in interface{}, out interface{}, c *conversion.Cloner) er } } +func DeepCopy_v1_ProjectedVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ProjectedVolumeSource) + out := out.(*ProjectedVolumeSource) + *out = *in + if in.Sources != nil { + in, out := &in.Sources, &out.Sources + *out = make([]VolumeProjection, len(*in)) + for i := range *in { + if err := DeepCopy_v1_VolumeProjection(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.DefaultMode != nil { + in, out := &in.DefaultMode, &out.DefaultMode + *out = new(int32) + **out = **in + } + return nil + } +} + func DeepCopy_v1_QuobyteVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*QuobyteVolumeSource) @@ -2835,6 +2904,29 @@ func DeepCopy_v1_SecretList(in interface{}, out interface{}, c *conversion.Clone } } +func DeepCopy_v1_SecretProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*SecretProjection) + out := out.(*SecretProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyToPath, len(*in)) + for i := range *in { + if err := DeepCopy_v1_KeyToPath(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } + return nil + } +} + func DeepCopy_v1_SecretVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*SecretVolumeSource) @@ -3127,6 +3219,36 @@ func DeepCopy_v1_VolumeMount(in interface{}, out interface{}, c *conversion.Clon } } +func DeepCopy_v1_VolumeProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*VolumeProjection) + out := out.(*VolumeProjection) + *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(SecretProjection) + if err := DeepCopy_v1_SecretProjection(*in, *out, c); err != nil { + return err + } + } + if in.DownwardAPI != nil { + in, out := &in.DownwardAPI, &out.DownwardAPI + *out = new(DownwardAPIProjection) + if err := DeepCopy_v1_DownwardAPIProjection(*in, *out, c); err != nil { + return err + } + } + if in.ConfigMap != nil { + in, out := &in.ConfigMap, &out.ConfigMap + *out = new(ConfigMapProjection) + if err := DeepCopy_v1_ConfigMapProjection(*in, *out, c); err != nil { + return err + } + } + return nil + } +} + func DeepCopy_v1_VolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*VolumeSource) @@ -3265,6 +3387,13 @@ func DeepCopy_v1_VolumeSource(in interface{}, out interface{}, c *conversion.Clo *out = new(PhotonPersistentDiskVolumeSource) **out = **in } + if in.Projected != nil { + in, out := &in.Projected, &out.Projected + *out = new(ProjectedVolumeSource) + if err := DeepCopy_v1_ProjectedVolumeSource(*in, *out, c); err != nil { + return err + } + } return nil } } diff --git a/pkg/api/v1/zz_generated.defaults.go b/pkg/api/v1/zz_generated.defaults.go index 97960127aa7..981734f1902 100644 --- a/pkg/api/v1/zz_generated.defaults.go +++ b/pkg/api/v1/zz_generated.defaults.go @@ -190,6 +190,20 @@ func SetObjectDefaults_Pod(in *Pod) { if a.VolumeSource.AzureDisk != nil { SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.InitContainers { a := &in.Spec.InitContainers[i] @@ -321,6 +335,20 @@ func SetObjectDefaults_PodTemplate(in *PodTemplate) { if a.VolumeSource.AzureDisk != nil { SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Template.Spec.InitContainers { a := &in.Template.Spec.InitContainers[i] @@ -446,6 +474,20 @@ func SetObjectDefaults_ReplicationController(in *ReplicationController) { if a.VolumeSource.AzureDisk != nil { SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] diff --git a/pkg/api/zz_generated.deepcopy.go b/pkg/api/zz_generated.deepcopy.go index aca03380219..f677111be51 100644 --- a/pkg/api/zz_generated.deepcopy.go +++ b/pkg/api/zz_generated.deepcopy.go @@ -55,6 +55,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConfigMapEnvSource, InType: reflect.TypeOf(&ConfigMapEnvSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConfigMapKeySelector, InType: reflect.TypeOf(&ConfigMapKeySelector{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConfigMapList, InType: reflect.TypeOf(&ConfigMapList{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConfigMapProjection, InType: reflect.TypeOf(&ConfigMapProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConfigMapVolumeSource, InType: reflect.TypeOf(&ConfigMapVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Container, InType: reflect.TypeOf(&Container{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ContainerImage, InType: reflect.TypeOf(&ContainerImage{})}, @@ -67,6 +68,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ConversionError, InType: reflect.TypeOf(&ConversionError{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_DaemonEndpoint, InType: reflect.TypeOf(&DaemonEndpoint{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_DeleteOptions, InType: reflect.TypeOf(&DeleteOptions{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_DownwardAPIProjection, InType: reflect.TypeOf(&DownwardAPIProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_DownwardAPIVolumeFile, InType: reflect.TypeOf(&DownwardAPIVolumeFile{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_DownwardAPIVolumeSource, InType: reflect.TypeOf(&DownwardAPIVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_EmptyDirVolumeSource, InType: reflect.TypeOf(&EmptyDirVolumeSource{})}, @@ -160,6 +162,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PreferAvoidPodsEntry, InType: reflect.TypeOf(&PreferAvoidPodsEntry{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_PreferredSchedulingTerm, InType: reflect.TypeOf(&PreferredSchedulingTerm{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Probe, InType: reflect.TypeOf(&Probe{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_ProjectedVolumeSource, InType: reflect.TypeOf(&ProjectedVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_QuobyteVolumeSource, InType: reflect.TypeOf(&QuobyteVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_RBDVolumeSource, InType: reflect.TypeOf(&RBDVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_RangeAllocation, InType: reflect.TypeOf(&RangeAllocation{})}, @@ -179,6 +182,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { 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_SecretProjection, InType: reflect.TypeOf(&SecretProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecretVolumeSource, InType: reflect.TypeOf(&SecretVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SecurityContext, InType: reflect.TypeOf(&SecurityContext{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_SerializedReference, InType: reflect.TypeOf(&SerializedReference{})}, @@ -196,6 +200,7 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Toleration, InType: reflect.TypeOf(&Toleration{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_Volume, InType: reflect.TypeOf(&Volume{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_VolumeMount, InType: reflect.TypeOf(&VolumeMount{})}, + conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_VolumeProjection, InType: reflect.TypeOf(&VolumeProjection{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_VolumeSource, InType: reflect.TypeOf(&VolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_VsphereVirtualDiskVolumeSource, InType: reflect.TypeOf(&VsphereVirtualDiskVolumeSource{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_api_WeightedPodAffinityTerm, InType: reflect.TypeOf(&WeightedPodAffinityTerm{})}, @@ -475,6 +480,29 @@ func DeepCopy_api_ConfigMapList(in interface{}, out interface{}, c *conversion.C } } +func DeepCopy_api_ConfigMapProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ConfigMapProjection) + out := out.(*ConfigMapProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyToPath, len(*in)) + for i := range *in { + if err := DeepCopy_api_KeyToPath(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } + return nil + } +} + func DeepCopy_api_ConfigMapVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*ConfigMapVolumeSource) @@ -737,6 +765,24 @@ func DeepCopy_api_DeleteOptions(in interface{}, out interface{}, c *conversion.C } } +func DeepCopy_api_DownwardAPIProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*DownwardAPIProjection) + out := out.(*DownwardAPIProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DownwardAPIVolumeFile, len(*in)) + for i := range *in { + if err := DeepCopy_api_DownwardAPIVolumeFile(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + return nil + } +} + func DeepCopy_api_DownwardAPIVolumeFile(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*DownwardAPIVolumeFile) @@ -2536,6 +2582,29 @@ func DeepCopy_api_Probe(in interface{}, out interface{}, c *conversion.Cloner) e } } +func DeepCopy_api_ProjectedVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*ProjectedVolumeSource) + out := out.(*ProjectedVolumeSource) + *out = *in + if in.Sources != nil { + in, out := &in.Sources, &out.Sources + *out = make([]VolumeProjection, len(*in)) + for i := range *in { + if err := DeepCopy_api_VolumeProjection(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.DefaultMode != nil { + in, out := &in.DefaultMode, &out.DefaultMode + *out = new(int32) + **out = **in + } + return nil + } +} + func DeepCopy_api_QuobyteVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*QuobyteVolumeSource) @@ -2867,6 +2936,29 @@ func DeepCopy_api_SecretList(in interface{}, out interface{}, c *conversion.Clon } } +func DeepCopy_api_SecretProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*SecretProjection) + out := out.(*SecretProjection) + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KeyToPath, len(*in)) + for i := range *in { + if err := DeepCopy_api_KeyToPath(&(*in)[i], &(*out)[i], c); err != nil { + return err + } + } + } + if in.Optional != nil { + in, out := &in.Optional, &out.Optional + *out = new(bool) + **out = **in + } + return nil + } +} + func DeepCopy_api_SecretVolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*SecretVolumeSource) @@ -3154,6 +3246,36 @@ func DeepCopy_api_VolumeMount(in interface{}, out interface{}, c *conversion.Clo } } +func DeepCopy_api_VolumeProjection(in interface{}, out interface{}, c *conversion.Cloner) error { + { + in := in.(*VolumeProjection) + out := out.(*VolumeProjection) + *out = *in + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(SecretProjection) + if err := DeepCopy_api_SecretProjection(*in, *out, c); err != nil { + return err + } + } + if in.DownwardAPI != nil { + in, out := &in.DownwardAPI, &out.DownwardAPI + *out = new(DownwardAPIProjection) + if err := DeepCopy_api_DownwardAPIProjection(*in, *out, c); err != nil { + return err + } + } + if in.ConfigMap != nil { + in, out := &in.ConfigMap, &out.ConfigMap + *out = new(ConfigMapProjection) + if err := DeepCopy_api_ConfigMapProjection(*in, *out, c); err != nil { + return err + } + } + return nil + } +} + func DeepCopy_api_VolumeSource(in interface{}, out interface{}, c *conversion.Cloner) error { { in := in.(*VolumeSource) @@ -3292,6 +3414,13 @@ func DeepCopy_api_VolumeSource(in interface{}, out interface{}, c *conversion.Cl *out = new(PhotonPersistentDiskVolumeSource) **out = **in } + if in.Projected != nil { + in, out := &in.Projected, &out.Projected + *out = new(ProjectedVolumeSource) + if err := DeepCopy_api_ProjectedVolumeSource(*in, *out, c); err != nil { + return err + } + } return nil } } diff --git a/pkg/apis/apps/v1beta1/zz_generated.defaults.go b/pkg/apis/apps/v1beta1/zz_generated.defaults.go index b086294795e..83faeb0ab2b 100644 --- a/pkg/apis/apps/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/apps/v1beta1/zz_generated.defaults.go @@ -64,6 +64,20 @@ func SetObjectDefaults_StatefulSet(in *StatefulSet) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] diff --git a/pkg/apis/batch/v1/zz_generated.defaults.go b/pkg/apis/batch/v1/zz_generated.defaults.go index b35b8638c3a..21f1d0aa2df 100644 --- a/pkg/apis/batch/v1/zz_generated.defaults.go +++ b/pkg/apis/batch/v1/zz_generated.defaults.go @@ -64,6 +64,20 @@ func SetObjectDefaults_Job(in *Job) { if a.VolumeSource.AzureDisk != nil { api_v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + api_v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + api_v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] diff --git a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go index 82f9546af0a..2a84512fb8e 100644 --- a/pkg/apis/batch/v2alpha1/zz_generated.defaults.go +++ b/pkg/apis/batch/v2alpha1/zz_generated.defaults.go @@ -67,6 +67,20 @@ func SetObjectDefaults_CronJob(in *CronJob) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.JobTemplate.Spec.Template.Spec.InitContainers { a := &in.Spec.JobTemplate.Spec.Template.Spec.InitContainers[i] @@ -191,6 +205,20 @@ func SetObjectDefaults_Job(in *Job) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] @@ -314,6 +342,20 @@ func SetObjectDefaults_JobTemplate(in *JobTemplate) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Template.Spec.Template.Spec.InitContainers { a := &in.Template.Spec.Template.Spec.InitContainers[i] diff --git a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go index d1d52f697a0..7eefc9d30b4 100644 --- a/pkg/apis/extensions/v1beta1/zz_generated.defaults.go +++ b/pkg/apis/extensions/v1beta1/zz_generated.defaults.go @@ -70,6 +70,20 @@ func SetObjectDefaults_DaemonSet(in *DaemonSet) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] @@ -194,6 +208,20 @@ func SetObjectDefaults_Deployment(in *Deployment) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] @@ -329,6 +357,20 @@ func SetObjectDefaults_ReplicaSet(in *ReplicaSet) { if a.VolumeSource.AzureDisk != nil { v1.SetDefaults_AzureDiskVolumeSource(a.VolumeSource.AzureDisk) } + if a.VolumeSource.Projected != nil { + v1.SetDefaults_ProjectedVolumeSource(a.VolumeSource.Projected) + for j := range a.VolumeSource.Projected.Sources { + b := &a.VolumeSource.Projected.Sources[j] + if b.DownwardAPI != nil { + for k := range b.DownwardAPI.Items { + c := &b.DownwardAPI.Items[k] + if c.FieldRef != nil { + v1.SetDefaults_ObjectFieldSelector(c.FieldRef) + } + } + } + } + } } for i := range in.Spec.Template.Spec.InitContainers { a := &in.Spec.Template.Spec.InitContainers[i] diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 107aa1b039d..bab308674cb 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -1039,6 +1039,44 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Dependencies: []string{ "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/kubernetes/pkg/api/v1.ConfigMap"}, }, + "k8s.io/kubernetes/pkg/api/v1.ConfigMapProjection": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.", + 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: "", + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/kubernetes/pkg/api/v1.KeyToPath"), + }, + }, + }, + }, + }, + "optional": { + SchemaProps: spec.SchemaProps{ + Description: "Specify whether the ConfigMap or it's keys must be defined", + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/kubernetes/pkg/api/v1.KeyToPath"}, + }, "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -1637,6 +1675,30 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Dependencies: []string{ "k8s.io/apimachinery/pkg/apis/meta/v1.Preconditions"}, }, + "k8s.io/kubernetes/pkg/api/v1.DownwardAPIProjection": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.", + Properties: map[string]spec.Schema{ + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items is a list of DownwardAPIVolume file", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeFile"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeFile"}, + }, "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeFile": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -6905,6 +6967,38 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Dependencies: []string{ "k8s.io/kubernetes/pkg/api/v1.ExecAction", "k8s.io/kubernetes/pkg/api/v1.HTTPGetAction", "k8s.io/kubernetes/pkg/api/v1.TCPSocketAction"}, }, + "k8s.io/kubernetes/pkg/api/v1.ProjectedVolumeSource": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Represents a projected volume source", + Properties: map[string]spec.Schema{ + "sources": { + SchemaProps: spec.SchemaProps{ + Description: "list of volume projections", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/kubernetes/pkg/api/v1.VolumeProjection"), + }, + }, + }, + }, + }, + "defaultMode": { + SchemaProps: spec.SchemaProps{ + Description: "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"sources"}, + }, + }, + Dependencies: []string{ + "k8s.io/kubernetes/pkg/api/v1.VolumeProjection"}, + }, "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -7980,6 +8074,44 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Dependencies: []string{ "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/kubernetes/pkg/api/v1.Secret"}, }, + "k8s.io/kubernetes/pkg/api/v1.SecretProjection": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.", + 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: "", + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/kubernetes/pkg/api/v1.KeyToPath"), + }, + }, + }, + }, + }, + "optional": { + SchemaProps: spec.SchemaProps{ + Description: "Specify whether the Secret or its key must be defined", + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/kubernetes/pkg/api/v1.KeyToPath"}, + }, "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -9453,12 +9585,18 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Ref: ref("k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource"), }, }, + "projected": { + SchemaProps: spec.SchemaProps{ + Description: "Items for all in one resources secrets, configmaps, and downward API", + Ref: ref("k8s.io/kubernetes/pkg/api/v1.ProjectedVolumeSource"), + }, + }, }, Required: []string{"name"}, }, }, Dependencies: []string{ - "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource", "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource", "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource", "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource", "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource", "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource"}, + "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource", "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource", "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ProjectedVolumeSource", "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource", "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource", "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource", "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource"}, }, "k8s.io/kubernetes/pkg/api/v1.VolumeMount": { Schema: spec.Schema{ @@ -9499,6 +9637,35 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope }, Dependencies: []string{}, }, + "k8s.io/kubernetes/pkg/api/v1.VolumeProjection": { + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Projection that may be projected along with other supported volume types", + Properties: map[string]spec.Schema{ + "secret": { + SchemaProps: spec.SchemaProps{ + Description: "information about the secret data to project", + Ref: ref("k8s.io/kubernetes/pkg/api/v1.SecretProjection"), + }, + }, + "downwardAPI": { + SchemaProps: spec.SchemaProps{ + Description: "information about the downwardAPI data to project", + Ref: ref("k8s.io/kubernetes/pkg/api/v1.DownwardAPIProjection"), + }, + }, + "configMap": { + SchemaProps: spec.SchemaProps{ + Description: "information about the configMap data to project", + Ref: ref("k8s.io/kubernetes/pkg/api/v1.ConfigMapProjection"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/kubernetes/pkg/api/v1.ConfigMapProjection", "k8s.io/kubernetes/pkg/api/v1.DownwardAPIProjection", "k8s.io/kubernetes/pkg/api/v1.SecretProjection"}, + }, "k8s.io/kubernetes/pkg/api/v1.VolumeSource": { Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -9642,11 +9809,17 @@ func GetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.Ope Ref: ref("k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource"), }, }, + "projected": { + SchemaProps: spec.SchemaProps{ + Description: "Items for all in one resources secrets, configmaps, and downward API", + Ref: ref("k8s.io/kubernetes/pkg/api/v1.ProjectedVolumeSource"), + }, + }, }, }, }, Dependencies: []string{ - "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource", "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource", "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource", "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource", "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource", "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource"}, + "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource", "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource", "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource", "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource", "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource", "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource", "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource", "k8s.io/kubernetes/pkg/api/v1.ProjectedVolumeSource", "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource", "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource", "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource", "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource"}, }, "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource": { Schema: spec.Schema{ diff --git a/pkg/volume/BUILD b/pkg/volume/BUILD index 9b114c49f19..11fd1df09be 100644 --- a/pkg/volume/BUILD +++ b/pkg/volume/BUILD @@ -107,6 +107,7 @@ filegroup( "//pkg/volume/iscsi:all-srcs", "//pkg/volume/nfs:all-srcs", "//pkg/volume/photon_pd:all-srcs", + "//pkg/volume/projected:all-srcs", "//pkg/volume/quobyte:all-srcs", "//pkg/volume/rbd:all-srcs", "//pkg/volume/secret:all-srcs", diff --git a/pkg/volume/projected/BUILD b/pkg/volume/projected/BUILD new file mode 100644 index 00000000000..ae485d71031 --- /dev/null +++ b/pkg/volume/projected/BUILD @@ -0,0 +1,60 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", + "go_test", +) + +go_test( + name = "go_default_test", + srcs = ["projected_test.go"], + library = ":go_default_library", + tags = ["automanaged"], + deps = [ + "//pkg/api/v1:go_default_library", + "//pkg/client/clientset_generated/clientset:go_default_library", + "//pkg/client/clientset_generated/clientset/fake:go_default_library", + "//pkg/volume:go_default_library", + "//pkg/volume/empty_dir:go_default_library", + "//pkg/volume/testing:go_default_library", + "//pkg/volume/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + ], +) + +go_library( + name = "go_default_library", + srcs = ["projected.go"], + tags = ["automanaged"], + deps = [ + "//pkg/api/v1:go_default_library", + "//pkg/util/strings:go_default_library", + "//pkg/volume:go_default_library", + "//pkg/volume/configmap:go_default_library", + "//pkg/volume/downwardapi:go_default_library", + "//pkg/volume/secret:go_default_library", + "//pkg/volume/util:go_default_library", + "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/types", + "//vendor:k8s.io/apimachinery/pkg/util/errors", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], +) diff --git a/test/e2e/common/BUILD b/test/e2e/common/BUILD index 113b4c92d3b..6157baf7199 100644 --- a/test/e2e/common/BUILD +++ b/test/e2e/common/BUILD @@ -24,6 +24,7 @@ go_library( "networking.go", "pods.go", "privileged.go", + "projected.go", "secrets.go", "sysctl.go", "util.go",