From e4c82b3d7ba8ec21a1f04656504c999e09eca809 Mon Sep 17 00:00:00 2001 From: xing-yang Date: Sat, 4 Aug 2018 13:44:58 -0700 Subject: [PATCH 01/11] Add TypedLocalObjectReference and DataSource This PR adds TypedLocalObjectReference in the core API and adds DataSource in PersistentVolumeClaimSpec. --- pkg/apis/core/types.go | 13 +++++++++++++ staging/src/k8s.io/api/core/v1/types.go | 16 ++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 0dddca02f3f..e42a14beb21 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -413,6 +413,9 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode + // If specified, volume will be prepopulated with data from the DataSource. + // +optional + DataSource *TypedLocalObjectReference } type PersistentVolumeClaimConditionType string @@ -3960,6 +3963,16 @@ type LocalObjectReference struct { Name string } +// TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. +type TypedLocalObjectReference struct { + // Name of the referent. + // +optional + Name string + // Kind of the referent. + // +optional + Kind string +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object type SerializedReference struct { diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 543d980e4f6..481796135db 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -458,6 +458,9 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` + // If specified, volume will be prepopulated with data from the DataSource. + // +optional + DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"` } // PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type @@ -4478,6 +4481,19 @@ type LocalObjectReference struct { Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` } +// TypedLocalObjectReference contains enough information to let you locate the +// typed referenced object inside the same namespace. +type TypedLocalObjectReference struct { + // Name of the referent. + // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + // +optional + Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + // Kind of the referent. + // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds + // +optional + Kind string `json:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // SerializedReference is a reference to serialized object. From 2a442db800b72595e25ad54c4c7d55c1112f17ed Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Mon, 20 Aug 2018 18:30:34 -0700 Subject: [PATCH 02/11] Add feature gate for VolumeSnapshotDataSource --- pkg/features/kube_features.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 19da3fc7c95..5909964bc15 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -363,6 +363,12 @@ const ( // // Enables SCTP as new protocol for Service ports, NetworkPolicy, and ContainerPort in Pod/Containers definition SCTPSupport utilfeature.Feature = "SCTPSupport" + + // owner: @xing-yang + // alpha: v1.12 + // + // Enable volume snapshot data source support. + VolumeSnapshotDataSource utilfeature.Feature = "VolumeSnapshotDataSource" ) func init() { @@ -424,6 +430,7 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS RuntimeClass: {Default: false, PreRelease: utilfeature.Alpha}, NodeLease: {Default: false, PreRelease: utilfeature.Alpha}, SCTPSupport: {Default: false, PreRelease: utilfeature.Alpha}, + VolumeSnapshotDataSource: {Default: false, PreRelease: utilfeature.Alpha}, // inherited features from generic apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: From 34f62ae45ee5af6884691e86f223737cf010fad0 Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Tue, 21 Aug 2018 16:01:20 -0700 Subject: [PATCH 03/11] Add APIGroup to TypedLocalObjectReference --- pkg/apis/core/types.go | 10 +++++----- staging/src/k8s.io/api/core/v1/types.go | 14 ++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index e42a14beb21..698e182ae61 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -3965,12 +3965,12 @@ type LocalObjectReference struct { // TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. type TypedLocalObjectReference struct { - // Name of the referent. - // +optional - Name string - // Kind of the referent. - // +optional + // APIGroup is the group for the resource being referenced + APIGroup string + // Kind is the type of resource being referenced Kind string + // Name is the name of resource being referenced + Name string } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 481796135db..7c97f0a6dd8 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -4484,14 +4484,12 @@ type LocalObjectReference struct { // TypedLocalObjectReference contains enough information to let you locate the // typed referenced object inside the same namespace. type TypedLocalObjectReference struct { - // Name of the referent. - // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - // +optional - Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` - // Kind of the referent. - // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds - // +optional - Kind string `json:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` + // APIGroup is the group for the resource being referenced + APIGroup string `json:"apiGroup" protobuf:"bytes,1,opt,name=apiGroup"` + // Kind is the type of resource being referenced + Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"` + // Name is the name of resource being referenced + Name string `json:"name" protobuf:"bytes,3,opt,name=name"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object From e4034e2babc58db2a2fa7f4acbbc66e906d6ac8d Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Thu, 23 Aug 2018 20:17:22 -0700 Subject: [PATCH 04/11] Add validation for feature gate --- pkg/apis/core/validation/validation.go | 16 ++++++ pkg/apis/core/validation/validation_test.go | 61 +++++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index cf5584dd9db..eb22aee1899 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -1824,6 +1824,22 @@ func ValidatePersistentVolumeClaimSpec(spec *core.PersistentVolumeClaimSpec, fld } else if spec.VolumeMode != nil && !supportedVolumeModes.Has(string(*spec.VolumeMode)) { allErrs = append(allErrs, field.NotSupported(fldPath.Child("volumeMode"), *spec.VolumeMode, supportedVolumeModes.List())) } + + if spec.DataSource != nil && !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSnapshotDataSource) { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("dataSource"), "VolumeSnapshotDataSource is disabled by feature-gate")) + spec.DataSource = nil + } else if spec.DataSource != nil { + if len(spec.DataSource.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("dataSource").Key(string("Name")), "VolumeSnapshotDataSource Name cannot be empty")) + } + if spec.DataSource.Kind != "VolumeSnapshot" { + allErrs = append(allErrs, field.Invalid(fldPath.Child("dataSource"), spec.DataSource.Kind, "expected DataSource Kind is VolumeSnapshot")) + } + if spec.DataSource.APIGroup != "snapshot.storage.k8s.io" { + allErrs = append(allErrs, field.Invalid(fldPath.Child("dataSource"), spec.DataSource.APIGroup, "expected DataSource APIGroup is snapshot.storage.k8s.io")) + } + } + return allErrs } diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index 44567293493..7a5a8b08a91 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -713,6 +713,67 @@ func testVolumeClaimStorageClassInSpec(name, namespace, scName string, spec core } } +func testVolumeSnapshotDataSourceInSpec(name string, kind string, apiGroup string) *core.PersistentVolumeClaimSpec { + scName := "csi-plugin" + dataSourceInSpec := core.PersistentVolumeClaimSpec{ + AccessModes: []core.PersistentVolumeAccessMode{ + core.ReadOnlyMany, + }, + Resources: core.ResourceRequirements{ + Requests: core.ResourceList{ + core.ResourceName(core.ResourceStorage): resource.MustParse("10G"), + }, + }, + StorageClassName: &scName, + DataSource: &core.TypedLocalObjectReference{ + APIGroup: apiGroup, + Kind: kind, + Name: name, + }, + } + + return &dataSourceInSpec +} + +func TestAlphaVolumeSnapshotDataSource(t *testing.T) { + successTestCases := []core.PersistentVolumeClaimSpec{ + *testVolumeSnapshotDataSourceInSpec("test_snapshot", "VolumeSnapshot", "snapshot.storage.k8s.io"), + } + failedTestCases := []core.PersistentVolumeClaimSpec{ + *testVolumeSnapshotDataSourceInSpec("", "VolumeSnapshot", "snapshot.storage.k8s.io"), + *testVolumeSnapshotDataSourceInSpec("test_snapshot", "PersistentVolumeClaim", "snapshot.storage.k8s.io"), + *testVolumeSnapshotDataSourceInSpec("test_snapshot", "VolumeSnapshot", "storage.k8s.io"), + } + + // Enable alpha feature VolumeSnapshotDataSource + err := utilfeature.DefaultFeatureGate.Set("VolumeSnapshotDataSource=true") + if err != nil { + t.Errorf("Failed to enable feature gate for VolumeSnapshotDataSource: %v", err) + return + } + for _, tc := range successTestCases { + if errs := ValidatePersistentVolumeClaimSpec(&tc, field.NewPath("spec")); len(errs) != 0 { + t.Errorf("expected success: %v", errs) + } + } + for _, tc := range failedTestCases { + if errs := ValidatePersistentVolumeClaimSpec(&tc, field.NewPath("spec")); len(errs) == 0 { + t.Errorf("expected failure: %v", errs) + } + } + // Disable alpha feature VolumeSnapshotDataSource + err = utilfeature.DefaultFeatureGate.Set("VolumeSnapshotDataSource=false") + if err != nil { + t.Errorf("Failed to disable feature gate for VolumeSnapshotDataSource: %v", err) + return + } + for _, tc := range successTestCases { + if errs := ValidatePersistentVolumeClaimSpec(&tc, field.NewPath("spec")); len(errs) == 0 { + t.Errorf("expected failure: %v", errs) + } + } +} + func testVolumeClaimStorageClassInAnnotationAndSpec(name, namespace, scNameInAnn, scName string, spec core.PersistentVolumeClaimSpec) *core.PersistentVolumeClaim { spec.StorageClassName = &scName return &core.PersistentVolumeClaim{ From 2a9cff2b0367aed5fdc7014d7225d71c503715cc Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Thu, 23 Aug 2018 20:51:32 -0700 Subject: [PATCH 05/11] Add generated files --- api/openapi-spec/swagger.json | 26 + api/swagger-spec/apps_v1.json | 30 + api/swagger-spec/apps_v1beta1.json | 30 + api/swagger-spec/apps_v1beta2.json | 30 + api/swagger-spec/v1.json | 30 + docs/api-reference/apps/v1/definitions.html | 55 + .../apps/v1beta1/definitions.html | 55 + .../apps/v1beta2/definitions.html | 55 + docs/api-reference/v1/definitions.html | 123 +- pkg/apis/core/v1/zz_generated.conversion.go | 36 + pkg/apis/core/zz_generated.deepcopy.go | 21 + .../src/k8s.io/api/core/v1/generated.pb.go | 2625 +++++++++-------- .../src/k8s.io/api/core/v1/generated.proto | 17 + .../core/v1/types_swagger_doc_generated.go | 12 + .../api/core/v1/zz_generated.deepcopy.go | 21 + 15 files changed, 1945 insertions(+), 1221 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 177dda77735..61dd3e69369 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -82489,6 +82489,10 @@ "type": "string" } }, + "dataSource": { + "description": "If specified, volume will be prepopulated with data from the DataSource.", + "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference" + }, "resources": { "description": "Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources", "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements" @@ -84651,6 +84655,28 @@ } } }, + "io.k8s.api.core.v1.TypedLocalObjectReference": { + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "required": [ + "apiGroup", + "kind", + "name" + ], + "properties": { + "apiGroup": { + "description": "APIGroup is the group for the resource being referenced", + "type": "string" + }, + "kind": { + "description": "Kind is the type of resource being referenced", + "type": "string" + }, + "name": { + "description": "Name is the name of resource being referenced", + "type": "string" + } + } + }, "io.k8s.api.core.v1.Volume": { "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", "required": [ diff --git a/api/swagger-spec/apps_v1.json b/api/swagger-spec/apps_v1.json index 802dbf0e9e2..24b755e9461 100644 --- a/api/swagger-spec/apps_v1.json +++ b/api/swagger-spec/apps_v1.json @@ -9483,6 +9483,9 @@ "v1.PersistentVolumeClaimSpec": { "id": "v1.PersistentVolumeClaimSpec", "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "required": [ + "dataSource" + ], "properties": { "accessModes": { "type": "array", @@ -9510,6 +9513,10 @@ "volumeMode": { "$ref": "v1.PersistentVolumeMode", "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future." + }, + "dataSource": { + "$ref": "v1.TypedLocalObjectReference", + "description": "If specified, volume will be prepopulated with data from the DataSource." } } }, @@ -9521,6 +9528,29 @@ "id": "v1.PersistentVolumeMode", "properties": {} }, + "v1.TypedLocalObjectReference": { + "id": "v1.TypedLocalObjectReference", + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "required": [ + "apiGroup", + "kind", + "name" + ], + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced" + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + } + } + }, "v1.PersistentVolumeClaimStatus": { "id": "v1.PersistentVolumeClaimStatus", "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index 8ab8e0fb47b..e244271ec71 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -6765,6 +6765,9 @@ "v1.PersistentVolumeClaimSpec": { "id": "v1.PersistentVolumeClaimSpec", "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "required": [ + "dataSource" + ], "properties": { "accessModes": { "type": "array", @@ -6792,6 +6795,10 @@ "volumeMode": { "$ref": "v1.PersistentVolumeMode", "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future." + }, + "dataSource": { + "$ref": "v1.TypedLocalObjectReference", + "description": "If specified, volume will be prepopulated with data from the DataSource." } } }, @@ -6803,6 +6810,29 @@ "id": "v1.PersistentVolumeMode", "properties": {} }, + "v1.TypedLocalObjectReference": { + "id": "v1.TypedLocalObjectReference", + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "required": [ + "apiGroup", + "kind", + "name" + ], + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced" + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + } + } + }, "v1.PersistentVolumeClaimStatus": { "id": "v1.PersistentVolumeClaimStatus", "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", diff --git a/api/swagger-spec/apps_v1beta2.json b/api/swagger-spec/apps_v1beta2.json index 4ab9729312e..88eedb7a87f 100644 --- a/api/swagger-spec/apps_v1beta2.json +++ b/api/swagger-spec/apps_v1beta2.json @@ -9487,6 +9487,9 @@ "v1.PersistentVolumeClaimSpec": { "id": "v1.PersistentVolumeClaimSpec", "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "required": [ + "dataSource" + ], "properties": { "accessModes": { "type": "array", @@ -9514,6 +9517,10 @@ "volumeMode": { "$ref": "v1.PersistentVolumeMode", "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future." + }, + "dataSource": { + "$ref": "v1.TypedLocalObjectReference", + "description": "If specified, volume will be prepopulated with data from the DataSource." } } }, @@ -9525,6 +9532,29 @@ "id": "v1.PersistentVolumeMode", "properties": {} }, + "v1.TypedLocalObjectReference": { + "id": "v1.TypedLocalObjectReference", + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "required": [ + "apiGroup", + "kind", + "name" + ], + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced" + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + } + } + }, "v1.PersistentVolumeClaimStatus": { "id": "v1.PersistentVolumeClaimStatus", "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index d3bf5da50a1..fc7ff35e277 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -19278,6 +19278,9 @@ "v1.PersistentVolumeClaimSpec": { "id": "v1.PersistentVolumeClaimSpec", "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "required": [ + "dataSource" + ], "properties": { "accessModes": { "type": "array", @@ -19305,6 +19308,10 @@ "volumeMode": { "$ref": "v1.PersistentVolumeMode", "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future." + }, + "dataSource": { + "$ref": "v1.TypedLocalObjectReference", + "description": "If specified, volume will be prepopulated with data from the DataSource." } } }, @@ -19372,6 +19379,29 @@ "id": "v1.PersistentVolumeMode", "properties": {} }, + "v1.TypedLocalObjectReference": { + "id": "v1.TypedLocalObjectReference", + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "required": [ + "apiGroup", + "kind", + "name" + ], + "properties": { + "apiGroup": { + "type": "string", + "description": "APIGroup is the group for the resource being referenced" + }, + "kind": { + "type": "string", + "description": "Kind is the type of resource being referenced" + }, + "name": { + "type": "string", + "description": "Name is the name of resource being referenced" + } + } + }, "v1.PersistentVolumeClaimStatus": { "id": "v1.PersistentVolumeClaimStatus", "description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.", diff --git a/docs/api-reference/apps/v1/definitions.html b/docs/api-reference/apps/v1/definitions.html index be4d20f8512..68f95e2d517 100755 --- a/docs/api-reference/apps/v1/definitions.html +++ b/docs/api-reference/apps/v1/definitions.html @@ -549,6 +549,54 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } + +
+

v1.TypedLocalObjectReference

+
+

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

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

apiGroup

APIGroup is the group for the resource being referenced

true

string

kind

Kind is the type of resource being referenced

true

string

name

Name is the name of resource being referenced

true

string

+

v1.StatefulSetSpec

@@ -969,6 +1017,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

v1.PersistentVolumeMode

+ +

dataSource

+

If specified, volume will be prepopulated with data from the DataSource.

+

true

+

v1.TypedLocalObjectReference

+ + diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index e05a98e520a..c1a9dc896f0 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -660,6 +660,54 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.TypedLocalObjectReference

+
+

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

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

apiGroup

APIGroup is the group for the resource being referenced

true

string

kind

Kind is the type of resource being referenced

true

string

name

Name is the name of resource being referenced

true

string

+

v1.Preconditions

@@ -997,6 +1045,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

v1.PersistentVolumeMode

+ +

dataSource

+

If specified, volume will be prepopulated with data from the DataSource.

+

true

+

v1.TypedLocalObjectReference

+ + diff --git a/docs/api-reference/apps/v1beta2/definitions.html b/docs/api-reference/apps/v1beta2/definitions.html index 0e2dbd54723..73383a8f21f 100755 --- a/docs/api-reference/apps/v1beta2/definitions.html +++ b/docs/api-reference/apps/v1beta2/definitions.html @@ -552,6 +552,54 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; } +
+
+

v1.TypedLocalObjectReference

+
+

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

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

apiGroup

APIGroup is the group for the resource being referenced

true

string

kind

Kind is the type of resource being referenced

true

string

name

Name is the name of resource being referenced

true

string

+

v1.Preconditions

@@ -944,6 +992,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

v1.PersistentVolumeMode

+ +

dataSource

+

If specified, volume will be prepopulated with data from the DataSource.

+

true

+

v1.TypedLocalObjectReference

+ + diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index c47c47d5218..acd4fbd57fb 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -694,6 +694,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

v1.PersistentVolumeMode

+ +

dataSource

+

If specified, volume will be prepopulated with data from the DataSource.

+

true

+

v1.TypedLocalObjectReference

+ + @@ -5645,40 +5652,6 @@ Examples:
-
-
-

v1.NodeSelector

-
-

A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

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

nodeSelectorTerms

Required. A list of node selector terms. The terms are ORed.

true

v1.NodeSelectorTerm array

-

v1.PersistentVolumeList

@@ -5734,6 +5707,40 @@ Examples:
+
+
+

v1.NodeSelector

+
+

A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

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

nodeSelectorTerms

Required. A list of node selector terms. The terms are ORed.

true

v1.NodeSelectorTerm array

+

v1.Sysctl

@@ -6672,6 +6679,54 @@ Examples:
+
+
+

v1.TypedLocalObjectReference

+
+

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

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

apiGroup

APIGroup is the group for the resource being referenced

true

string

kind

Kind is the type of resource being referenced

true

string

name

Name is the name of resource being referenced

true

string

+

v1.SELinuxOptions

diff --git a/pkg/apis/core/v1/zz_generated.conversion.go b/pkg/apis/core/v1/zz_generated.conversion.go index c706930b97d..c646e34f2bc 100644 --- a/pkg/apis/core/v1/zz_generated.conversion.go +++ b/pkg/apis/core/v1/zz_generated.conversion.go @@ -1900,6 +1900,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*v1.TypedLocalObjectReference)(nil), (*core.TypedLocalObjectReference)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1_TypedLocalObjectReference_To_core_TypedLocalObjectReference(a.(*v1.TypedLocalObjectReference), b.(*core.TypedLocalObjectReference), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*core.TypedLocalObjectReference)(nil), (*v1.TypedLocalObjectReference)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_core_TypedLocalObjectReference_To_v1_TypedLocalObjectReference(a.(*core.TypedLocalObjectReference), b.(*v1.TypedLocalObjectReference), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*v1.Volume)(nil), (*core.Volume)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1_Volume_To_core_Volume(a.(*v1.Volume), b.(*core.Volume), scope) }); err != nil { @@ -4799,6 +4809,7 @@ func autoConvert_v1_PersistentVolumeClaimSpec_To_core_PersistentVolumeClaimSpec( out.VolumeName = in.VolumeName out.StorageClassName = (*string)(unsafe.Pointer(in.StorageClassName)) out.VolumeMode = (*core.PersistentVolumeMode)(unsafe.Pointer(in.VolumeMode)) + out.DataSource = (*core.TypedLocalObjectReference)(unsafe.Pointer(in.DataSource)) return nil } @@ -4816,6 +4827,7 @@ func autoConvert_core_PersistentVolumeClaimSpec_To_v1_PersistentVolumeClaimSpec( out.VolumeName = in.VolumeName out.StorageClassName = (*string)(unsafe.Pointer(in.StorageClassName)) out.VolumeMode = (*v1.PersistentVolumeMode)(unsafe.Pointer(in.VolumeMode)) + out.DataSource = (*v1.TypedLocalObjectReference)(unsafe.Pointer(in.DataSource)) return nil } @@ -7238,6 +7250,30 @@ func Convert_core_TopologySelectorTerm_To_v1_TopologySelectorTerm(in *core.Topol return autoConvert_core_TopologySelectorTerm_To_v1_TopologySelectorTerm(in, out, s) } +func autoConvert_v1_TypedLocalObjectReference_To_core_TypedLocalObjectReference(in *v1.TypedLocalObjectReference, out *core.TypedLocalObjectReference, s conversion.Scope) error { + out.APIGroup = in.APIGroup + out.Kind = in.Kind + out.Name = in.Name + return nil +} + +// Convert_v1_TypedLocalObjectReference_To_core_TypedLocalObjectReference is an autogenerated conversion function. +func Convert_v1_TypedLocalObjectReference_To_core_TypedLocalObjectReference(in *v1.TypedLocalObjectReference, out *core.TypedLocalObjectReference, s conversion.Scope) error { + return autoConvert_v1_TypedLocalObjectReference_To_core_TypedLocalObjectReference(in, out, s) +} + +func autoConvert_core_TypedLocalObjectReference_To_v1_TypedLocalObjectReference(in *core.TypedLocalObjectReference, out *v1.TypedLocalObjectReference, s conversion.Scope) error { + out.APIGroup = in.APIGroup + out.Kind = in.Kind + out.Name = in.Name + return nil +} + +// Convert_core_TypedLocalObjectReference_To_v1_TypedLocalObjectReference is an autogenerated conversion function. +func Convert_core_TypedLocalObjectReference_To_v1_TypedLocalObjectReference(in *core.TypedLocalObjectReference, out *v1.TypedLocalObjectReference, s conversion.Scope) error { + return autoConvert_core_TypedLocalObjectReference_To_v1_TypedLocalObjectReference(in, out, s) +} + func autoConvert_v1_Volume_To_core_Volume(in *v1.Volume, out *core.Volume, s conversion.Scope) error { out.Name = in.Name if err := Convert_v1_VolumeSource_To_core_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil { diff --git a/pkg/apis/core/zz_generated.deepcopy.go b/pkg/apis/core/zz_generated.deepcopy.go index 80399450daa..1ec0d178857 100644 --- a/pkg/apis/core/zz_generated.deepcopy.go +++ b/pkg/apis/core/zz_generated.deepcopy.go @@ -2681,6 +2681,11 @@ func (in *PersistentVolumeClaimSpec) DeepCopyInto(out *PersistentVolumeClaimSpec *out = new(PersistentVolumeMode) **out = **in } + if in.DataSource != nil { + in, out := &in.DataSource, &out.DataSource + *out = new(TypedLocalObjectReference) + **out = **in + } return } @@ -5057,6 +5062,22 @@ func (in *TopologySelectorTerm) DeepCopy() *TopologySelectorTerm { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypedLocalObjectReference) DeepCopyInto(out *TypedLocalObjectReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedLocalObjectReference. +func (in *TypedLocalObjectReference) DeepCopy() *TypedLocalObjectReference { + if in == nil { + return nil + } + out := new(TypedLocalObjectReference) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Volume) DeepCopyInto(out *Volume) { *out = *in diff --git a/staging/src/k8s.io/api/core/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go index 6b98b60dbda..5e00fffb3d8 100644 --- a/staging/src/k8s.io/api/core/v1/generated.pb.go +++ b/staging/src/k8s.io/api/core/v1/generated.pb.go @@ -211,6 +211,7 @@ limitations under the License. Toleration TopologySelectorLabelRequirement TopologySelectorTerm + TypedLocalObjectReference Volume VolumeDevice VolumeMount @@ -1056,40 +1057,46 @@ func (m *TopologySelectorTerm) Reset() { *m = TopologySelecto func (*TopologySelectorTerm) ProtoMessage() {} func (*TopologySelectorTerm) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{185} } +func (m *TypedLocalObjectReference) Reset() { *m = TypedLocalObjectReference{} } +func (*TypedLocalObjectReference) ProtoMessage() {} +func (*TypedLocalObjectReference) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{186} +} + func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{186} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{187} } func (m *VolumeDevice) Reset() { *m = VolumeDevice{} } func (*VolumeDevice) ProtoMessage() {} -func (*VolumeDevice) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{187} } +func (*VolumeDevice) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{188} } func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} -func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{188} } +func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{189} } func (m *VolumeNodeAffinity) Reset() { *m = VolumeNodeAffinity{} } func (*VolumeNodeAffinity) ProtoMessage() {} -func (*VolumeNodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{189} } +func (*VolumeNodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{190} } func (m *VolumeProjection) Reset() { *m = VolumeProjection{} } func (*VolumeProjection) ProtoMessage() {} -func (*VolumeProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{190} } +func (*VolumeProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{191} } func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} -func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{191} } +func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{192} } func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{192} + return fileDescriptorGenerated, []int{193} } func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{193} + return fileDescriptorGenerated, []int{194} } func init() { @@ -1279,6 +1286,7 @@ func init() { proto.RegisterType((*Toleration)(nil), "k8s.io.api.core.v1.Toleration") proto.RegisterType((*TopologySelectorLabelRequirement)(nil), "k8s.io.api.core.v1.TopologySelectorLabelRequirement") proto.RegisterType((*TopologySelectorTerm)(nil), "k8s.io.api.core.v1.TopologySelectorTerm") + proto.RegisterType((*TypedLocalObjectReference)(nil), "k8s.io.api.core.v1.TypedLocalObjectReference") proto.RegisterType((*Volume)(nil), "k8s.io.api.core.v1.Volume") proto.RegisterType((*VolumeDevice)(nil), "k8s.io.api.core.v1.VolumeDevice") proto.RegisterType((*VolumeMount)(nil), "k8s.io.api.core.v1.VolumeMount") @@ -6088,6 +6096,16 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(len(*m.VolumeMode))) i += copy(dAtA[i:], *m.VolumeMode) } + if m.DataSource != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DataSource.Size())) + n110, err := m.DataSource.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n110 + } return i, nil } @@ -6149,11 +6167,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n110, err := (&v).MarshalTo(dAtA[i:]) + n111, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n111 } } if len(m.Conditions) > 0 { @@ -6219,11 +6237,11 @@ func (m *PersistentVolumeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n111, err := m.ListMeta.MarshalTo(dAtA[i:]) + n112, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n112 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6258,163 +6276,163 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n112, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n112 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n113, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + n113, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n113 } - if m.HostPath != nil { - dAtA[i] = 0x1a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n114, err := m.HostPath.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n114, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n114 } - if m.Glusterfs != nil { - dAtA[i] = 0x22 + if m.HostPath != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n115, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) + n115, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n115 } - if m.NFS != nil { - dAtA[i] = 0x2a + if m.Glusterfs != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n116, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n116, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n116 } - if m.RBD != nil { - dAtA[i] = 0x32 + if m.NFS != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n117, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n117, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n117 } - if m.ISCSI != nil { - dAtA[i] = 0x3a + if m.RBD != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n118, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n118, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n118 } - if m.Cinder != nil { - dAtA[i] = 0x42 + if m.ISCSI != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n119, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n119, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n119 } - if m.CephFS != nil { - dAtA[i] = 0x4a + if m.Cinder != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n120, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n120, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n120 } - if m.FC != nil { - dAtA[i] = 0x52 + if m.CephFS != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n121, err := m.FC.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n121, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n121 } - if m.Flocker != nil { - dAtA[i] = 0x5a + if m.FC != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n122, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) + n122, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n122 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.Flocker != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n123, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n123, err := m.Flocker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n123 } - if m.AzureFile != nil { - dAtA[i] = 0x6a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n124, err := m.AzureFile.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n124, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n124 } - if m.VsphereVolume != nil { - dAtA[i] = 0x72 + if m.AzureFile != nil { + dAtA[i] = 0x6a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n125, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) + n125, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n125 } - if m.Quobyte != nil { - dAtA[i] = 0x7a + if m.VsphereVolume != nil { + dAtA[i] = 0x72 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n126, err := m.Quobyte.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) + n126, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n126 } + if m.Quobyte != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) + n127, err := m.Quobyte.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n127 + } if m.AzureDisk != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n127, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n128, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n128 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0x8a @@ -6422,11 +6440,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n128, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n129, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n129 } if m.PortworxVolume != nil { dAtA[i] = 0x92 @@ -6434,11 +6452,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n129, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n130, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n130 } if m.ScaleIO != nil { dAtA[i] = 0x9a @@ -6446,11 +6464,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n130, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n131, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n131 } if m.Local != nil { dAtA[i] = 0xa2 @@ -6458,11 +6476,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Local.Size())) - n131, err := m.Local.MarshalTo(dAtA[i:]) + n132, err := m.Local.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n132 } if m.StorageOS != nil { dAtA[i] = 0xaa @@ -6470,11 +6488,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n132, err := m.StorageOS.MarshalTo(dAtA[i:]) + n133, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n133 } if m.CSI != nil { dAtA[i] = 0xb2 @@ -6482,11 +6500,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CSI.Size())) - n133, err := m.CSI.MarshalTo(dAtA[i:]) + n134, err := m.CSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n134 } return i, nil } @@ -6530,21 +6548,21 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n134, err := (&v).MarshalTo(dAtA[i:]) + n135, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n135 } } dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeSource.Size())) - n135, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) + n136, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n136 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { dAtA[i] = 0x1a @@ -6564,11 +6582,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClaimRef.Size())) - n136, err := m.ClaimRef.MarshalTo(dAtA[i:]) + n137, err := m.ClaimRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n137 } dAtA[i] = 0x2a i++ @@ -6603,11 +6621,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodeAffinity.Size())) - n137, err := m.NodeAffinity.MarshalTo(dAtA[i:]) + n138, err := m.NodeAffinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n138 } return i, nil } @@ -6686,27 +6704,27 @@ func (m *Pod) 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 } @@ -6771,11 +6789,11 @@ func (m *PodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LabelSelector.Size())) - n141, err := m.LabelSelector.MarshalTo(dAtA[i:]) + n142, err := m.LabelSelector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n142 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -6921,19 +6939,19 @@ func (m *PodCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n142, err := m.LastProbeTime.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n142 - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n143, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n143, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n143 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n144, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n144 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7120,11 +7138,11 @@ func (m *PodList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n144, err := m.ListMeta.MarshalTo(dAtA[i:]) + n145, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n145 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7184,11 +7202,11 @@ func (m *PodLogOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) - n145, err := m.SinceTime.MarshalTo(dAtA[i:]) + n146, err := m.SinceTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n146 } dAtA[i] = 0x30 i++ @@ -7299,11 +7317,11 @@ func (m *PodSecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n146, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n147, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n147 } if m.RunAsUser != nil { dAtA[i] = 0x10 @@ -7371,11 +7389,11 @@ func (m *PodSignature) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodController.Size())) - n147, err := m.PodController.MarshalTo(dAtA[i:]) + n148, err := m.PodController.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n148 } return i, nil } @@ -7499,11 +7517,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n148, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n149, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n149 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -7535,11 +7553,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Affinity.Size())) - n149, err := m.Affinity.MarshalTo(dAtA[i:]) + n150, err := m.Affinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n150 } dAtA[i] = 0x9a i++ @@ -7620,11 +7638,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DNSConfig.Size())) - n150, err := m.DNSConfig.MarshalTo(dAtA[i:]) + n151, err := m.DNSConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n151 } if m.ShareProcessNamespace != nil { dAtA[i] = 0xd8 @@ -7714,11 +7732,11 @@ func (m *PodStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) - n151, err := m.StartTime.MarshalTo(dAtA[i:]) + n152, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n152 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -7773,19 +7791,19 @@ func (m *PodStatusResult) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n152, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n152 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n153, err := m.Status.MarshalTo(dAtA[i:]) + n153, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n153 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n154, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n154 return i, nil } @@ -7807,19 +7825,19 @@ func (m *PodTemplate) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n154, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n154 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n155, err := m.Template.MarshalTo(dAtA[i:]) + n155, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n155 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n156, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n156 return i, nil } @@ -7841,11 +7859,11 @@ func (m *PodTemplateList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n156, err := m.ListMeta.MarshalTo(dAtA[i:]) + n157, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n157 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7879,19 +7897,19 @@ func (m *PodTemplateSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n157, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n157 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n158, err := m.Spec.MarshalTo(dAtA[i:]) + n158, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n158 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n159, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n159 return i, nil } @@ -7971,19 +7989,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodSignature.Size())) - n159, err := m.PodSignature.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n159 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) - n160, err := m.EvictionTime.MarshalTo(dAtA[i:]) + n160, err := m.PodSignature.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n160 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) + n161, err := m.EvictionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n161 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -8016,11 +8034,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preference.Size())) - n161, err := m.Preference.MarshalTo(dAtA[i:]) + n162, err := m.Preference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n162 return i, nil } @@ -8042,11 +8060,11 @@ func (m *Probe) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Handler.Size())) - n162, err := m.Handler.MarshalTo(dAtA[i:]) + n163, err := m.Handler.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n163 dAtA[i] = 0x10 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InitialDelaySeconds)) @@ -8196,11 +8214,11 @@ func (m *RBDPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n163, err := m.SecretRef.MarshalTo(dAtA[i:]) + n164, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n164 } dAtA[i] = 0x40 i++ @@ -8267,11 +8285,11 @@ func (m *RBDVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n164, err := m.SecretRef.MarshalTo(dAtA[i:]) + n165, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n165 } dAtA[i] = 0x40 i++ @@ -8302,11 +8320,11 @@ func (m *RangeAllocation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n165, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n166, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n166 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Range))) @@ -8338,27 +8356,27 @@ func (m *ReplicationController) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n166, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n166 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n167, err := m.Spec.MarshalTo(dAtA[i:]) + n167, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n167 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n168, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n168, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n168 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n169, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n169 return i, nil } @@ -8388,11 +8406,11 @@ func (m *ReplicationControllerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n169, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n170, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n170 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -8422,11 +8440,11 @@ func (m *ReplicationControllerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n170, err := m.ListMeta.MarshalTo(dAtA[i:]) + n171, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n171 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8488,11 +8506,11 @@ func (m *ReplicationControllerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n171, err := m.Template.MarshalTo(dAtA[i:]) + n172, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n172 } dAtA[i] = 0x20 i++ @@ -8571,11 +8589,11 @@ func (m *ResourceFieldSelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Divisor.Size())) - n172, err := m.Divisor.MarshalTo(dAtA[i:]) + n173, err := m.Divisor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n173 return i, nil } @@ -8597,27 +8615,27 @@ func (m *ResourceQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n173, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n173 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n174, err := m.Spec.MarshalTo(dAtA[i:]) + n174, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n174 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n175, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n175, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n175 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n176, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n176 return i, nil } @@ -8639,11 +8657,11 @@ func (m *ResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n176, err := m.ListMeta.MarshalTo(dAtA[i:]) + n177, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n177 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8698,11 +8716,11 @@ func (m *ResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n177, err := (&v).MarshalTo(dAtA[i:]) + n178, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n178 } } if len(m.Scopes) > 0 { @@ -8724,11 +8742,11 @@ func (m *ResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScopeSelector.Size())) - n178, err := m.ScopeSelector.MarshalTo(dAtA[i:]) + n179, err := m.ScopeSelector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n179 } return i, nil } @@ -8772,11 +8790,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n179, err := (&v).MarshalTo(dAtA[i:]) + n180, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n180 } } if len(m.Used) > 0 { @@ -8803,11 +8821,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n180, err := (&v).MarshalTo(dAtA[i:]) + n181, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n181 } } return i, nil @@ -8852,11 +8870,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n181, err := (&v).MarshalTo(dAtA[i:]) + n182, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n182 } } if len(m.Requests) > 0 { @@ -8883,11 +8901,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n182, err := (&v).MarshalTo(dAtA[i:]) + n183, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n183 } } return i, nil @@ -8954,11 +8972,11 @@ func (m *ScaleIOPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n183, err := m.SecretRef.MarshalTo(dAtA[i:]) + n184, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n184 } dAtA[i] = 0x20 i++ @@ -9026,11 +9044,11 @@ func (m *ScaleIOVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n184, err := m.SecretRef.MarshalTo(dAtA[i:]) + n185, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n185 } dAtA[i] = 0x20 i++ @@ -9160,11 +9178,11 @@ func (m *Secret) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n185, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n186, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n186 if len(m.Data) > 0 { keysForData := make([]string, 0, len(m.Data)) for k := range m.Data { @@ -9240,11 +9258,11 @@ func (m *SecretEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n186, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n187, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n187 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -9276,11 +9294,11 @@ func (m *SecretKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n187, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n188, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n188 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -9316,11 +9334,11 @@ func (m *SecretList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n188, err := m.ListMeta.MarshalTo(dAtA[i:]) + n189, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n189 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9354,11 +9372,11 @@ func (m *SecretProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n189, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n190, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n190 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9478,11 +9496,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Capabilities.Size())) - n190, err := m.Capabilities.MarshalTo(dAtA[i:]) + n191, err := m.Capabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n191 } if m.Privileged != nil { dAtA[i] = 0x10 @@ -9498,11 +9516,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n191, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n192, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n192 } if m.RunAsUser != nil { dAtA[i] = 0x20 @@ -9565,11 +9583,11 @@ func (m *SerializedReference) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Reference.Size())) - n192, err := m.Reference.MarshalTo(dAtA[i:]) + n193, err := m.Reference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n193 return i, nil } @@ -9591,27 +9609,27 @@ func (m *Service) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n193, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n193 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n194, err := m.Spec.MarshalTo(dAtA[i:]) + n194, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n194 - dAtA[i] = 0x1a + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n195, err := m.Status.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n195, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n195 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n196, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n196 return i, nil } @@ -9633,11 +9651,11 @@ func (m *ServiceAccount) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n196, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n197, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n197 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { dAtA[i] = 0x12 @@ -9693,11 +9711,11 @@ func (m *ServiceAccountList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n197, err := m.ListMeta.MarshalTo(dAtA[i:]) + n198, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n198 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9762,11 +9780,11 @@ func (m *ServiceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n198, err := m.ListMeta.MarshalTo(dAtA[i:]) + n199, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n199 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9811,11 +9829,11 @@ func (m *ServicePort) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetPort.Size())) - n199, err := m.TargetPort.MarshalTo(dAtA[i:]) + n200, err := m.TargetPort.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n200 dAtA[i] = 0x28 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodePort)) @@ -9962,11 +9980,11 @@ func (m *ServiceSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SessionAffinityConfig.Size())) - n200, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) + n201, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n201 } return i, nil } @@ -9989,11 +10007,11 @@ func (m *ServiceStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LoadBalancer.Size())) - n201, err := m.LoadBalancer.MarshalTo(dAtA[i:]) + n202, err := m.LoadBalancer.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n202 return i, nil } @@ -10016,11 +10034,11 @@ func (m *SessionAffinityConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClientIP.Size())) - n202, err := m.ClientIP.MarshalTo(dAtA[i:]) + n203, err := m.ClientIP.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n203 } return i, nil } @@ -10064,11 +10082,11 @@ func (m *StorageOSPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n203, err := m.SecretRef.MarshalTo(dAtA[i:]) + n204, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n204 } return i, nil } @@ -10112,11 +10130,11 @@ func (m *StorageOSVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n204, err := m.SecretRef.MarshalTo(dAtA[i:]) + n205, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n205 } return i, nil } @@ -10165,11 +10183,11 @@ func (m *TCPSocketAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n205, err := m.Port.MarshalTo(dAtA[i:]) + n206, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n206 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -10208,11 +10226,11 @@ func (m *Taint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TimeAdded.Size())) - n206, err := m.TimeAdded.MarshalTo(dAtA[i:]) + n207, err := m.TimeAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n206 + i += n207 } return i, nil } @@ -10323,6 +10341,36 @@ func (m *TopologySelectorTerm) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *TypedLocalObjectReference) 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 *TypedLocalObjectReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.APIGroup))) + i += copy(dAtA[i:], m.APIGroup) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind))) + i += copy(dAtA[i:], m.Kind) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + return i, nil +} + func (m *Volume) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -10345,11 +10393,11 @@ func (m *Volume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VolumeSource.Size())) - n207, err := m.VolumeSource.MarshalTo(dAtA[i:]) + n208, err := m.VolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n207 + i += n208 return i, nil } @@ -10442,11 +10490,11 @@ func (m *VolumeNodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Required.Size())) - n208, err := m.Required.MarshalTo(dAtA[i:]) + n209, err := m.Required.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n208 + i += n209 } return i, nil } @@ -10470,42 +10518,42 @@ func (m *VolumeProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n209, err := m.Secret.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n209 - } - if m.DownwardAPI != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n210, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n210, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n210 } - if m.ConfigMap != nil { - dAtA[i] = 0x1a + if m.DownwardAPI != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n211, err := m.ConfigMap.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) + n211, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n211 } - if m.ServiceAccountToken != nil { - dAtA[i] = 0x22 + if m.ConfigMap != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ServiceAccountToken.Size())) - n212, err := m.ServiceAccountToken.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) + n212, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n212 } + if m.ServiceAccountToken != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ServiceAccountToken.Size())) + n213, err := m.ServiceAccountToken.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n213 + } return i, nil } @@ -10528,163 +10576,163 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n213, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n213 - } - if m.EmptyDir != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) - n214, err := m.EmptyDir.MarshalTo(dAtA[i:]) + n214, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n214 } - if m.GCEPersistentDisk != nil { - dAtA[i] = 0x1a + if m.EmptyDir != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n215, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) + n215, err := m.EmptyDir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n215 } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x22 + if m.GCEPersistentDisk != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n216, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) + n216, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n216 } - if m.GitRepo != nil { - dAtA[i] = 0x2a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) - n217, err := m.GitRepo.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n217, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n217 } - if m.Secret != nil { - dAtA[i] = 0x32 + if m.GitRepo != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n218, err := m.Secret.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) + n218, err := m.GitRepo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n218 } - if m.NFS != nil { - dAtA[i] = 0x3a + if m.Secret != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n219, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n219, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n219 } - if m.ISCSI != nil { - dAtA[i] = 0x42 + if m.NFS != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n220, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n220, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n220 } - if m.Glusterfs != nil { - dAtA[i] = 0x4a + if m.ISCSI != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n221, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n221, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n221 } - if m.PersistentVolumeClaim != nil { - dAtA[i] = 0x52 + if m.Glusterfs != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) - n222, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n222, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n222 } - if m.RBD != nil { - dAtA[i] = 0x5a + if m.PersistentVolumeClaim != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n223, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) + n223, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n223 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.RBD != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n224, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n224, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n224 } - if m.Cinder != nil { - dAtA[i] = 0x6a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n225, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n225, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n225 } - if m.CephFS != nil { - dAtA[i] = 0x72 + if m.Cinder != nil { + dAtA[i] = 0x6a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n226, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n226, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n226 } - if m.Flocker != nil { - dAtA[i] = 0x7a + if m.CephFS != nil { + dAtA[i] = 0x72 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n227, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n227, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n227 } + if m.Flocker != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n228, err := m.Flocker.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n228 + } if m.DownwardAPI != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n228, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n229, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n229 } if m.FC != nil { dAtA[i] = 0x8a @@ -10692,11 +10740,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n229, err := m.FC.MarshalTo(dAtA[i:]) + n230, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n230 } if m.AzureFile != nil { dAtA[i] = 0x92 @@ -10704,11 +10752,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n230, err := m.AzureFile.MarshalTo(dAtA[i:]) + n231, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n231 } if m.ConfigMap != nil { dAtA[i] = 0x9a @@ -10716,11 +10764,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n231, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n232, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n232 } if m.VsphereVolume != nil { dAtA[i] = 0xa2 @@ -10728,11 +10776,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n232, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + n233, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n233 } if m.Quobyte != nil { dAtA[i] = 0xaa @@ -10740,11 +10788,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n233, err := m.Quobyte.MarshalTo(dAtA[i:]) + n234, err := m.Quobyte.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n234 } if m.AzureDisk != nil { dAtA[i] = 0xb2 @@ -10752,11 +10800,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n234, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n235, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n234 + i += n235 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0xba @@ -10764,11 +10812,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n235, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n236, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n235 + i += n236 } if m.PortworxVolume != nil { dAtA[i] = 0xc2 @@ -10776,11 +10824,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n236, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n237, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n236 + i += n237 } if m.ScaleIO != nil { dAtA[i] = 0xca @@ -10788,11 +10836,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n237, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n238, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n237 + i += n238 } if m.Projected != nil { dAtA[i] = 0xd2 @@ -10800,11 +10848,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Projected.Size())) - n238, err := m.Projected.MarshalTo(dAtA[i:]) + n239, err := m.Projected.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n238 + i += n239 } if m.StorageOS != nil { dAtA[i] = 0xda @@ -10812,11 +10860,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n239, err := m.StorageOS.MarshalTo(dAtA[i:]) + n240, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n239 + i += n240 } return i, nil } @@ -10876,11 +10924,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodAffinityTerm.Size())) - n240, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) + n241, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n240 + i += n241 return i, nil } @@ -12666,6 +12714,10 @@ func (m *PersistentVolumeClaimSpec) Size() (n int) { l = len(*m.VolumeMode) n += 1 + l + sovGenerated(uint64(l)) } + if m.DataSource != nil { + l = m.DataSource.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -14209,6 +14261,18 @@ func (m *TopologySelectorTerm) Size() (n int) { return n } +func (m *TypedLocalObjectReference) Size() (n int) { + var l int + _ = l + l = len(m.APIGroup) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *Volume) Size() (n int) { var l int _ = l @@ -15863,6 +15927,7 @@ func (this *PersistentVolumeClaimSpec) String() string { `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, `StorageClassName:` + valueToStringGenerated(this.StorageClassName) + `,`, `VolumeMode:` + valueToStringGenerated(this.VolumeMode) + `,`, + `DataSource:` + strings.Replace(fmt.Sprintf("%v", this.DataSource), "TypedLocalObjectReference", "TypedLocalObjectReference", 1) + `,`, `}`, }, "") return s @@ -17065,6 +17130,18 @@ func (this *TopologySelectorTerm) String() string { }, "") return s } +func (this *TypedLocalObjectReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TypedLocalObjectReference{`, + `APIGroup:` + fmt.Sprintf("%v", this.APIGroup) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `}`, + }, "") + return s +} func (this *Volume) String() string { if this == nil { return "nil" @@ -34225,6 +34302,39 @@ func (m *PersistentVolumeClaimSpec) Unmarshal(dAtA []byte) error { s := PersistentVolumeMode(dAtA[iNdEx:postIndex]) m.VolumeMode = &s iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataSource", 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.DataSource == nil { + m.DataSource = &TypedLocalObjectReference{} + } + if err := m.DataSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -49027,6 +49137,143 @@ func (m *TopologySelectorTerm) Unmarshal(dAtA []byte) error { } return nil } +func (m *TypedLocalObjectReference) 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: TypedLocalObjectReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TypedLocalObjectReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIGroup", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIGroup = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + 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 *Volume) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -51012,798 +51259,802 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12687 bytes of a gzipped FileDescriptorProto + // 12746 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x6c, 0x24, 0x57, 0x76, 0x18, 0xbc, 0xd5, 0xdd, 0x7c, 0xf4, 0xe1, 0xfb, 0xce, 0x43, 0x1c, 0x4a, 0x33, 0x3d, 0x2a, 0xed, 0x8e, 0x46, 0x2b, 0x89, 0xb3, 0x1a, 0x49, 0x2b, 0x79, 0xb5, 0x2b, 0x9b, 0x64, 0x93, 0x33, - 0xd4, 0x0c, 0x39, 0xad, 0xdb, 0x9c, 0xd1, 0xae, 0xac, 0x5d, 0x6f, 0xb1, 0xfb, 0xb2, 0x59, 0x62, - 0xb1, 0xaa, 0x55, 0x55, 0xcd, 0x19, 0xea, 0xb3, 0x81, 0x2f, 0xeb, 0xd8, 0x89, 0x63, 0x23, 0x58, - 0xc4, 0x46, 0x1e, 0xb6, 0xe1, 0x00, 0x8e, 0x03, 0xdb, 0x71, 0x12, 0xc4, 0xb1, 0x63, 0x3b, 0xbb, - 0x76, 0xe2, 0x38, 0xf9, 0xe1, 0x00, 0xc1, 0xc6, 0x09, 0x10, 0xac, 0x01, 0x23, 0x8c, 0x4d, 0x3b, - 0x09, 0xfc, 0x23, 0x0f, 0xc4, 0xf9, 0x63, 0xc6, 0x88, 0x83, 0xfb, 0xac, 0x7b, 0xab, 0xab, 0xba, - 0x9b, 0x23, 0x0e, 0x25, 0x1b, 0xfb, 0xaf, 0xfb, 0x9e, 0x73, 0xcf, 0xbd, 0x75, 0x9f, 0xe7, 0x9c, - 0x7b, 0x1e, 0xf0, 0xda, 0xce, 0xab, 0xd1, 0xbc, 0x1b, 0x5c, 0xdb, 0xe9, 0x6c, 0x92, 0xd0, 0x27, - 0x31, 0x89, 0xae, 0xed, 0x11, 0xbf, 0x19, 0x84, 0xd7, 0x04, 0xc0, 0x69, 0xbb, 0xd7, 0x1a, 0x41, - 0x48, 0xae, 0xed, 0xbd, 0x70, 0xad, 0x45, 0x7c, 0x12, 0x3a, 0x31, 0x69, 0xce, 0xb7, 0xc3, 0x20, - 0x0e, 0x10, 0xe2, 0x38, 0xf3, 0x4e, 0xdb, 0x9d, 0xa7, 0x38, 0xf3, 0x7b, 0x2f, 0xcc, 0x3d, 0xdf, - 0x72, 0xe3, 0xed, 0xce, 0xe6, 0x7c, 0x23, 0xd8, 0xbd, 0xd6, 0x0a, 0x5a, 0xc1, 0x35, 0x86, 0xba, - 0xd9, 0xd9, 0x62, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x7b, 0x29, 0x69, 0x66, 0xd7, 0x69, - 0x6c, 0xbb, 0x3e, 0x09, 0xf7, 0xaf, 0xb5, 0x77, 0x5a, 0xac, 0xdd, 0x90, 0x44, 0x41, 0x27, 0x6c, - 0x90, 0x74, 0xc3, 0x3d, 0x6b, 0x45, 0xd7, 0x76, 0x49, 0xec, 0x64, 0x74, 0x77, 0xee, 0x5a, 0x5e, - 0xad, 0xb0, 0xe3, 0xc7, 0xee, 0x6e, 0x77, 0x33, 0x9f, 0xee, 0x57, 0x21, 0x6a, 0x6c, 0x93, 0x5d, - 0xa7, 0xab, 0xde, 0x8b, 0x79, 0xf5, 0x3a, 0xb1, 0xeb, 0x5d, 0x73, 0xfd, 0x38, 0x8a, 0xc3, 0x74, - 0x25, 0xfb, 0x9b, 0x16, 0x5c, 0x5e, 0x78, 0xab, 0xbe, 0xec, 0x39, 0x51, 0xec, 0x36, 0x16, 0xbd, - 0xa0, 0xb1, 0x53, 0x8f, 0x83, 0x90, 0xdc, 0x0b, 0xbc, 0xce, 0x2e, 0xa9, 0xb3, 0x81, 0x40, 0xcf, - 0xc1, 0xe8, 0x1e, 0xfb, 0xbf, 0x5a, 0x9d, 0xb5, 0x2e, 0x5b, 0x57, 0xcb, 0x8b, 0xd3, 0xbf, 0x79, - 0x50, 0xf9, 0xd8, 0xe1, 0x41, 0x65, 0xf4, 0x9e, 0x28, 0xc7, 0x0a, 0x03, 0x5d, 0x81, 0xe1, 0xad, - 0x68, 0x63, 0xbf, 0x4d, 0x66, 0x0b, 0x0c, 0x77, 0x52, 0xe0, 0x0e, 0xaf, 0xd4, 0x69, 0x29, 0x16, - 0x50, 0x74, 0x0d, 0xca, 0x6d, 0x27, 0x8c, 0xdd, 0xd8, 0x0d, 0xfc, 0xd9, 0xe2, 0x65, 0xeb, 0xea, - 0xd0, 0xe2, 0x8c, 0x40, 0x2d, 0xd7, 0x24, 0x00, 0x27, 0x38, 0xb4, 0x1b, 0x21, 0x71, 0x9a, 0x77, - 0x7c, 0x6f, 0x7f, 0xb6, 0x74, 0xd9, 0xba, 0x3a, 0x9a, 0x74, 0x03, 0x8b, 0x72, 0xac, 0x30, 0xec, - 0x1f, 0x2d, 0xc0, 0xe8, 0xc2, 0xd6, 0x96, 0xeb, 0xbb, 0xf1, 0x3e, 0xba, 0x07, 0xe3, 0x7e, 0xd0, - 0x24, 0xf2, 0x3f, 0xfb, 0x8a, 0xb1, 0xeb, 0x97, 0xe7, 0xbb, 0x97, 0xd2, 0xfc, 0xba, 0x86, 0xb7, - 0x38, 0x7d, 0x78, 0x50, 0x19, 0xd7, 0x4b, 0xb0, 0x41, 0x07, 0x61, 0x18, 0x6b, 0x07, 0x4d, 0x45, - 0xb6, 0xc0, 0xc8, 0x56, 0xb2, 0xc8, 0xd6, 0x12, 0xb4, 0xc5, 0xa9, 0xc3, 0x83, 0xca, 0x98, 0x56, - 0x80, 0x75, 0x22, 0x68, 0x13, 0xa6, 0xe8, 0x5f, 0x3f, 0x76, 0x15, 0xdd, 0x22, 0xa3, 0xfb, 0x54, - 0x1e, 0x5d, 0x0d, 0x75, 0xf1, 0xcc, 0xe1, 0x41, 0x65, 0x2a, 0x55, 0x88, 0xd3, 0x04, 0xed, 0xf7, - 0x61, 0x72, 0x21, 0x8e, 0x9d, 0xc6, 0x36, 0x69, 0xf2, 0x19, 0x44, 0x2f, 0x41, 0xc9, 0x77, 0x76, - 0x89, 0x98, 0xdf, 0xcb, 0x62, 0x60, 0x4b, 0xeb, 0xce, 0x2e, 0x39, 0x3a, 0xa8, 0x4c, 0xdf, 0xf5, - 0xdd, 0xf7, 0x3a, 0x62, 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x75, 0x80, 0x26, 0xd9, 0x73, 0x1b, - 0xa4, 0xe6, 0xc4, 0xdb, 0x62, 0xbe, 0x91, 0xa8, 0x0b, 0x55, 0x05, 0xc1, 0x1a, 0x96, 0xfd, 0x00, - 0xca, 0x0b, 0x7b, 0x81, 0xdb, 0xac, 0x05, 0xcd, 0x08, 0xed, 0xc0, 0x54, 0x3b, 0x24, 0x5b, 0x24, - 0x54, 0x45, 0xb3, 0xd6, 0xe5, 0xe2, 0xd5, 0xb1, 0xeb, 0x57, 0x33, 0x3f, 0xd6, 0x44, 0x5d, 0xf6, - 0xe3, 0x70, 0x7f, 0xf1, 0x31, 0xd1, 0xde, 0x54, 0x0a, 0x8a, 0xd3, 0x94, 0xed, 0x7f, 0x55, 0x80, - 0x73, 0x0b, 0xef, 0x77, 0x42, 0x52, 0x75, 0xa3, 0x9d, 0xf4, 0x0a, 0x6f, 0xba, 0xd1, 0xce, 0x7a, - 0x32, 0x02, 0x6a, 0x69, 0x55, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x79, 0x18, 0xa1, 0xbf, 0xef, 0xe2, - 0x55, 0xf1, 0xc9, 0x67, 0x04, 0xf2, 0x58, 0xd5, 0x89, 0x9d, 0x2a, 0x07, 0x61, 0x89, 0x83, 0xd6, - 0x60, 0xac, 0xc1, 0x36, 0x64, 0x6b, 0x2d, 0x68, 0x12, 0x36, 0x99, 0xe5, 0xc5, 0x67, 0x29, 0xfa, - 0x52, 0x52, 0x7c, 0x74, 0x50, 0x99, 0xe5, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, 0x5b, - 0xed, 0xaf, 0x12, 0xa3, 0x04, 0x19, 0x7b, 0xeb, 0xaa, 0xb6, 0x55, 0x86, 0xd8, 0x56, 0x19, 0xcf, - 0xde, 0x26, 0xe8, 0x05, 0x28, 0xed, 0xb8, 0x7e, 0x73, 0x76, 0x98, 0xd1, 0xba, 0x48, 0xe7, 0xfc, - 0x96, 0xeb, 0x37, 0x8f, 0x0e, 0x2a, 0x33, 0x46, 0x77, 0x68, 0x21, 0x66, 0xa8, 0xf6, 0x1f, 0x59, - 0x50, 0x61, 0xb0, 0x15, 0xd7, 0x23, 0x35, 0x12, 0x46, 0x6e, 0x14, 0x13, 0x3f, 0x36, 0x06, 0xf4, - 0x3a, 0x40, 0x44, 0x1a, 0x21, 0x89, 0xb5, 0x21, 0x55, 0x0b, 0xa3, 0xae, 0x20, 0x58, 0xc3, 0xa2, - 0x07, 0x42, 0xb4, 0xed, 0x84, 0x6c, 0x7d, 0x89, 0x81, 0x55, 0x07, 0x42, 0x5d, 0x02, 0x70, 0x82, - 0x63, 0x1c, 0x08, 0xc5, 0x7e, 0x07, 0x02, 0xfa, 0x1c, 0x4c, 0x25, 0x8d, 0x45, 0x6d, 0xa7, 0x21, - 0x07, 0x90, 0x6d, 0x99, 0xba, 0x09, 0xc2, 0x69, 0x5c, 0xfb, 0xef, 0x59, 0x62, 0xf1, 0xd0, 0xaf, - 0xfe, 0x88, 0x7f, 0xab, 0xfd, 0x2b, 0x16, 0x8c, 0x2c, 0xba, 0x7e, 0xd3, 0xf5, 0x5b, 0xe8, 0xcb, - 0x30, 0x4a, 0xef, 0xa6, 0xa6, 0x13, 0x3b, 0xe2, 0xdc, 0xfb, 0x94, 0xb6, 0xb7, 0xd4, 0x55, 0x31, - 0xdf, 0xde, 0x69, 0xd1, 0x82, 0x68, 0x9e, 0x62, 0xd3, 0xdd, 0x76, 0x67, 0xf3, 0x5d, 0xd2, 0x88, - 0xd7, 0x48, 0xec, 0x24, 0x9f, 0x93, 0x94, 0x61, 0x45, 0x15, 0xdd, 0x82, 0xe1, 0xd8, 0x09, 0x5b, - 0x24, 0x16, 0x07, 0x60, 0xe6, 0x41, 0xc5, 0x6b, 0x62, 0xba, 0x23, 0x89, 0xdf, 0x20, 0xc9, 0xb5, - 0xb0, 0xc1, 0xaa, 0x62, 0x41, 0xc2, 0xfe, 0x2b, 0xc3, 0x70, 0x61, 0xa9, 0xbe, 0x9a, 0xb3, 0xae, - 0xae, 0xc0, 0x70, 0x33, 0x74, 0xf7, 0x48, 0x28, 0xc6, 0x59, 0x51, 0xa9, 0xb2, 0x52, 0x2c, 0xa0, - 0xe8, 0x55, 0x18, 0xe7, 0x17, 0xd2, 0x4d, 0xc7, 0x6f, 0x7a, 0x72, 0x88, 0xcf, 0x0a, 0xec, 0xf1, - 0x7b, 0x1a, 0x0c, 0x1b, 0x98, 0xc7, 0x5c, 0x54, 0x57, 0x52, 0x9b, 0x31, 0xef, 0xb2, 0xfb, 0x01, - 0x0b, 0xa6, 0x79, 0x33, 0x0b, 0x71, 0x1c, 0xba, 0x9b, 0x9d, 0x98, 0x44, 0xb3, 0x43, 0xec, 0xa4, - 0x5b, 0xca, 0x1a, 0xad, 0xdc, 0x11, 0x98, 0xbf, 0x97, 0xa2, 0xc2, 0x0f, 0xc1, 0x59, 0xd1, 0xee, - 0x74, 0x1a, 0x8c, 0xbb, 0x9a, 0x45, 0xdf, 0x6b, 0xc1, 0x5c, 0x23, 0xf0, 0xe3, 0x30, 0xf0, 0x3c, - 0x12, 0xd6, 0x3a, 0x9b, 0x9e, 0x1b, 0x6d, 0xf3, 0x75, 0x8a, 0xc9, 0x16, 0x3b, 0x09, 0x72, 0xe6, - 0x50, 0x21, 0x89, 0x39, 0xbc, 0x74, 0x78, 0x50, 0x99, 0x5b, 0xca, 0x25, 0x85, 0x7b, 0x34, 0x83, - 0x76, 0x00, 0xd1, 0xab, 0xb4, 0x1e, 0x3b, 0x2d, 0x92, 0x34, 0x3e, 0x32, 0x78, 0xe3, 0xe7, 0x0f, - 0x0f, 0x2a, 0x68, 0xbd, 0x8b, 0x04, 0xce, 0x20, 0x8b, 0xde, 0x83, 0xb3, 0xb4, 0xb4, 0xeb, 0x5b, - 0x47, 0x07, 0x6f, 0x6e, 0xf6, 0xf0, 0xa0, 0x72, 0x76, 0x3d, 0x83, 0x08, 0xce, 0x24, 0x3d, 0xb7, - 0x04, 0xe7, 0x32, 0xa7, 0x0a, 0x4d, 0x43, 0x71, 0x87, 0x70, 0x16, 0xa4, 0x8c, 0xe9, 0x4f, 0x74, - 0x16, 0x86, 0xf6, 0x1c, 0xaf, 0x23, 0x56, 0x29, 0xe6, 0x7f, 0x3e, 0x53, 0x78, 0xd5, 0xb2, 0x1b, - 0x30, 0xbe, 0xe4, 0xb4, 0x9d, 0x4d, 0xd7, 0x73, 0x63, 0x97, 0x44, 0xe8, 0x69, 0x28, 0x3a, 0xcd, - 0x26, 0xbb, 0x22, 0xcb, 0x8b, 0xe7, 0x0e, 0x0f, 0x2a, 0xc5, 0x85, 0x26, 0x3d, 0xab, 0x41, 0x61, - 0xed, 0x63, 0x8a, 0x81, 0x3e, 0x09, 0xa5, 0x66, 0x18, 0xb4, 0x67, 0x0b, 0x0c, 0x93, 0x0e, 0x55, - 0xa9, 0x1a, 0x06, 0xed, 0x14, 0x2a, 0xc3, 0xb1, 0x7f, 0xbd, 0x00, 0x4f, 0x2c, 0x91, 0xf6, 0xf6, - 0x4a, 0x3d, 0x67, 0xd3, 0x5d, 0x85, 0xd1, 0xdd, 0xc0, 0x77, 0xe3, 0x20, 0x8c, 0x44, 0xd3, 0xec, - 0x36, 0x59, 0x13, 0x65, 0x58, 0x41, 0xd1, 0x65, 0x28, 0xb5, 0x13, 0x4e, 0x60, 0x5c, 0x72, 0x11, - 0x8c, 0x07, 0x60, 0x10, 0x8a, 0xd1, 0x89, 0x48, 0x28, 0x6e, 0x41, 0x85, 0x71, 0x37, 0x22, 0x21, - 0x66, 0x90, 0xe4, 0x38, 0xa5, 0x07, 0xad, 0xd8, 0x56, 0xa9, 0xe3, 0x94, 0x42, 0xb0, 0x86, 0x85, - 0x6a, 0x50, 0x8e, 0xd4, 0xa4, 0x0e, 0x0d, 0x3e, 0xa9, 0x13, 0xec, 0xbc, 0x55, 0x33, 0x99, 0x10, - 0x31, 0x8e, 0x81, 0xe1, 0xbe, 0xe7, 0xed, 0xd7, 0x0b, 0x80, 0xf8, 0x10, 0xfe, 0x19, 0x1b, 0xb8, - 0xbb, 0xdd, 0x03, 0x97, 0xc9, 0x79, 0xdd, 0x0e, 0x1a, 0x8e, 0x97, 0x3e, 0xc2, 0x4f, 0x6a, 0xf4, - 0xfe, 0xb7, 0x05, 0x4f, 0x2c, 0xb9, 0x7e, 0x93, 0x84, 0x39, 0x0b, 0xf0, 0xd1, 0x08, 0x20, 0xc7, - 0x3b, 0xe9, 0x8d, 0x25, 0x56, 0x3a, 0x81, 0x25, 0x66, 0xff, 0x0f, 0x0b, 0x10, 0xff, 0xec, 0x8f, - 0xdc, 0xc7, 0xde, 0xed, 0xfe, 0xd8, 0x13, 0x58, 0x16, 0xf6, 0x6d, 0x98, 0x5c, 0xf2, 0x5c, 0xe2, - 0xc7, 0xab, 0xb5, 0xa5, 0xc0, 0xdf, 0x72, 0x5b, 0xe8, 0x33, 0x30, 0x49, 0x65, 0xda, 0xa0, 0x13, - 0xd7, 0x49, 0x23, 0xf0, 0x19, 0xfb, 0x4f, 0x25, 0x41, 0x74, 0x78, 0x50, 0x99, 0xdc, 0x30, 0x20, - 0x38, 0x85, 0x69, 0xff, 0x0e, 0x1d, 0xbf, 0x60, 0xb7, 0x1d, 0xf8, 0xc4, 0x8f, 0x97, 0x02, 0xbf, - 0xc9, 0xc5, 0xc4, 0xcf, 0x40, 0x29, 0xa6, 0xe3, 0xc1, 0xc7, 0xee, 0x8a, 0xdc, 0x28, 0x74, 0x14, - 0x8e, 0x0e, 0x2a, 0xe7, 0xbb, 0x6b, 0xb0, 0x71, 0x62, 0x75, 0xd0, 0xb7, 0xc1, 0x70, 0x14, 0x3b, - 0x71, 0x27, 0x12, 0xa3, 0xf9, 0xa4, 0x1c, 0xcd, 0x3a, 0x2b, 0x3d, 0x3a, 0xa8, 0x4c, 0xa9, 0x6a, - 0xbc, 0x08, 0x8b, 0x0a, 0xe8, 0x19, 0x18, 0xd9, 0x25, 0x51, 0xe4, 0xb4, 0x24, 0x87, 0x3f, 0x25, - 0xea, 0x8e, 0xac, 0xf1, 0x62, 0x2c, 0xe1, 0xe8, 0x29, 0x18, 0x22, 0x61, 0x18, 0x84, 0x62, 0x8f, - 0x4e, 0x08, 0xc4, 0xa1, 0x65, 0x5a, 0x88, 0x39, 0xcc, 0xfe, 0xb7, 0x16, 0x4c, 0xa9, 0xbe, 0xf2, - 0xb6, 0x4e, 0x81, 0x95, 0x7b, 0x1b, 0xa0, 0x21, 0x3f, 0x30, 0x62, 0xb7, 0xc7, 0xd8, 0xf5, 0x2b, - 0x99, 0x0c, 0x4a, 0xd7, 0x30, 0x26, 0x94, 0x55, 0x51, 0x84, 0x35, 0x6a, 0xf6, 0xaf, 0x59, 0x70, - 0x26, 0xf5, 0x45, 0xb7, 0xdd, 0x28, 0x46, 0xef, 0x74, 0x7d, 0xd5, 0xfc, 0x60, 0x5f, 0x45, 0x6b, - 0xb3, 0x6f, 0x52, 0x4b, 0x59, 0x96, 0x68, 0x5f, 0x74, 0x13, 0x86, 0xdc, 0x98, 0xec, 0xca, 0x8f, - 0x79, 0xaa, 0xe7, 0xc7, 0xf0, 0x5e, 0x25, 0x33, 0xb2, 0x4a, 0x6b, 0x62, 0x4e, 0xc0, 0xfe, 0xe1, - 0x22, 0x94, 0xf9, 0xb2, 0x5d, 0x73, 0xda, 0xa7, 0x30, 0x17, 0xab, 0x50, 0x62, 0xd4, 0x79, 0xc7, - 0x9f, 0xce, 0xee, 0xb8, 0xe8, 0xce, 0x3c, 0x95, 0xd3, 0x38, 0x2b, 0xa8, 0xae, 0x06, 0x5a, 0x84, - 0x19, 0x09, 0xe4, 0x00, 0x6c, 0xba, 0xbe, 0x13, 0xee, 0xd3, 0xb2, 0xd9, 0x22, 0x23, 0xf8, 0x7c, - 0x6f, 0x82, 0x8b, 0x0a, 0x9f, 0x93, 0x55, 0x7d, 0x4d, 0x00, 0x58, 0x23, 0x3a, 0xf7, 0x0a, 0x94, - 0x15, 0xf2, 0x71, 0x78, 0x9c, 0xb9, 0xcf, 0xc1, 0x54, 0xaa, 0xad, 0x7e, 0xd5, 0xc7, 0x75, 0x16, - 0xe9, 0x6b, 0xec, 0x14, 0x10, 0xbd, 0x5e, 0xf6, 0xf7, 0xc4, 0x29, 0xfa, 0x3e, 0x9c, 0xf5, 0x32, - 0x0e, 0x27, 0x31, 0x55, 0x83, 0x1f, 0x66, 0x4f, 0x88, 0xcf, 0x3e, 0x9b, 0x05, 0xc5, 0x99, 0x6d, - 0xd0, 0x6b, 0x3f, 0x68, 0xd3, 0x35, 0xef, 0x78, 0xac, 0xbf, 0x42, 0xfa, 0xbe, 0x23, 0xca, 0xb0, - 0x82, 0xd2, 0x23, 0xec, 0xac, 0xea, 0xfc, 0x2d, 0xb2, 0x5f, 0x27, 0x1e, 0x69, 0xc4, 0x41, 0xf8, - 0xa1, 0x76, 0xff, 0x22, 0x1f, 0x7d, 0x7e, 0x02, 0x8e, 0x09, 0x02, 0xc5, 0x5b, 0x64, 0x9f, 0x4f, - 0x85, 0xfe, 0x75, 0xc5, 0x9e, 0x5f, 0xf7, 0xf3, 0x16, 0x4c, 0xa8, 0xaf, 0x3b, 0x85, 0xad, 0xbe, - 0x68, 0x6e, 0xf5, 0x8b, 0x3d, 0x17, 0x78, 0xce, 0x26, 0xff, 0x7a, 0x01, 0x2e, 0x28, 0x1c, 0xca, - 0xee, 0xf3, 0x3f, 0x62, 0x55, 0x5d, 0x83, 0xb2, 0xaf, 0xb4, 0x07, 0x96, 0x29, 0xb6, 0x27, 0xba, - 0x83, 0x04, 0x87, 0x72, 0x6d, 0x7e, 0x22, 0xe2, 0x8f, 0xeb, 0x6a, 0x35, 0xa1, 0x42, 0x5b, 0x84, - 0x62, 0xc7, 0x6d, 0x8a, 0x3b, 0xe3, 0x53, 0x72, 0xb4, 0xef, 0xae, 0x56, 0x8f, 0x0e, 0x2a, 0x4f, - 0xe6, 0xa9, 0x74, 0xe9, 0x65, 0x15, 0xcd, 0xdf, 0x5d, 0xad, 0x62, 0x5a, 0x19, 0x2d, 0xc0, 0x94, - 0xd4, 0x5a, 0xdf, 0xa3, 0x1c, 0x54, 0xe0, 0x8b, 0xab, 0x45, 0xe9, 0xc6, 0xb0, 0x09, 0xc6, 0x69, - 0x7c, 0x54, 0x85, 0xe9, 0x9d, 0xce, 0x26, 0xf1, 0x48, 0xcc, 0x3f, 0xf8, 0x16, 0xe1, 0x9a, 0xa3, - 0x72, 0x22, 0x5a, 0xde, 0x4a, 0xc1, 0x71, 0x57, 0x0d, 0xfb, 0x4f, 0xd9, 0x11, 0x2f, 0x46, 0xaf, - 0x16, 0x06, 0x74, 0x61, 0x51, 0xea, 0x1f, 0xe6, 0x72, 0x1e, 0x64, 0x55, 0xdc, 0x22, 0xfb, 0x1b, - 0x01, 0x65, 0xb6, 0xb3, 0x57, 0x85, 0xb1, 0xe6, 0x4b, 0x3d, 0xd7, 0xfc, 0x2f, 0x16, 0xe0, 0x9c, - 0x1a, 0x01, 0x83, 0xaf, 0xfb, 0xb3, 0x3e, 0x06, 0x2f, 0xc0, 0x58, 0x93, 0x6c, 0x39, 0x1d, 0x2f, - 0x56, 0x6a, 0xcc, 0x21, 0xae, 0xca, 0xae, 0x26, 0xc5, 0x58, 0xc7, 0x39, 0xc6, 0xb0, 0xfd, 0xd4, - 0x18, 0xbb, 0x5b, 0x63, 0x87, 0xae, 0x71, 0xb5, 0x6b, 0xac, 0xdc, 0x5d, 0xf3, 0x14, 0x0c, 0xb9, - 0xbb, 0x94, 0xd7, 0x2a, 0x98, 0x2c, 0xd4, 0x2a, 0x2d, 0xc4, 0x1c, 0x86, 0x3e, 0x01, 0x23, 0x8d, - 0x60, 0x77, 0xd7, 0xf1, 0x9b, 0xec, 0xca, 0x2b, 0x2f, 0x8e, 0x51, 0x76, 0x6c, 0x89, 0x17, 0x61, - 0x09, 0x43, 0x4f, 0x40, 0xc9, 0x09, 0x5b, 0xd1, 0x6c, 0x89, 0xe1, 0x8c, 0xd2, 0x96, 0x16, 0xc2, - 0x56, 0x84, 0x59, 0x29, 0x95, 0xaa, 0xee, 0x07, 0xe1, 0x8e, 0xeb, 0xb7, 0xaa, 0x6e, 0x28, 0xb6, - 0x84, 0xba, 0x0b, 0xdf, 0x52, 0x10, 0xac, 0x61, 0xa1, 0x15, 0x18, 0x6a, 0x07, 0x61, 0x1c, 0xcd, - 0x0e, 0xb3, 0xe1, 0x7e, 0x32, 0xe7, 0x20, 0xe2, 0x5f, 0x5b, 0x0b, 0xc2, 0x38, 0xf9, 0x00, 0xfa, - 0x2f, 0xc2, 0xbc, 0x3a, 0xfa, 0x36, 0x28, 0x12, 0x7f, 0x6f, 0x76, 0x84, 0x51, 0x99, 0xcb, 0xa2, - 0xb2, 0xec, 0xef, 0xdd, 0x73, 0xc2, 0xe4, 0x94, 0x5e, 0xf6, 0xf7, 0x30, 0xad, 0x83, 0xbe, 0x00, - 0x65, 0xb9, 0xc5, 0x23, 0xa1, 0xe6, 0xc8, 0x5c, 0x62, 0xf2, 0x60, 0xc0, 0xe4, 0xbd, 0x8e, 0x1b, - 0x92, 0x5d, 0xe2, 0xc7, 0x51, 0x72, 0xa6, 0x49, 0x68, 0x84, 0x13, 0x6a, 0xe8, 0x0b, 0x52, 0xb7, - 0xb6, 0x16, 0x74, 0xfc, 0x38, 0x9a, 0x2d, 0xb3, 0xee, 0x65, 0xbe, 0x7a, 0xdc, 0x4b, 0xf0, 0xd2, - 0xca, 0x37, 0x5e, 0x19, 0x1b, 0xa4, 0x10, 0x86, 0x09, 0xcf, 0xdd, 0x23, 0x3e, 0x89, 0xa2, 0x5a, - 0x18, 0x6c, 0x92, 0x59, 0x60, 0x3d, 0xbf, 0x90, 0xfd, 0x18, 0x10, 0x6c, 0x92, 0xc5, 0x99, 0xc3, - 0x83, 0xca, 0xc4, 0x6d, 0xbd, 0x0e, 0x36, 0x49, 0xa0, 0xbb, 0x30, 0x49, 0xe5, 0x1a, 0x37, 0x21, - 0x3a, 0xd6, 0x8f, 0x28, 0x93, 0x3e, 0xb0, 0x51, 0x09, 0xa7, 0x88, 0xa0, 0x37, 0xa0, 0xec, 0xb9, - 0x5b, 0xa4, 0xb1, 0xdf, 0xf0, 0xc8, 0xec, 0x38, 0xa3, 0x98, 0xb9, 0xad, 0x6e, 0x4b, 0x24, 0x2e, - 0x17, 0xa9, 0xbf, 0x38, 0xa9, 0x8e, 0xee, 0xc1, 0xf9, 0x98, 0x84, 0xbb, 0xae, 0xef, 0xd0, 0xed, - 0x20, 0xe4, 0x05, 0xf6, 0xa4, 0x32, 0xc1, 0xd6, 0xdb, 0x25, 0x31, 0x74, 0xe7, 0x37, 0x32, 0xb1, - 0x70, 0x4e, 0x6d, 0x74, 0x07, 0xa6, 0xd8, 0x4e, 0xa8, 0x75, 0x3c, 0xaf, 0x16, 0x78, 0x6e, 0x63, - 0x7f, 0x76, 0x92, 0x11, 0xfc, 0x84, 0xbc, 0x17, 0x56, 0x4d, 0xf0, 0xd1, 0x41, 0x05, 0x92, 0x7f, - 0x38, 0x5d, 0x1b, 0x6d, 0x32, 0x1d, 0x7a, 0x27, 0x74, 0xe3, 0x7d, 0xba, 0x7e, 0xc9, 0x83, 0x78, - 0x76, 0xaa, 0xa7, 0x28, 0xac, 0xa3, 0x2a, 0x45, 0xbb, 0x5e, 0x88, 0xd3, 0x04, 0xe9, 0xd6, 0x8e, - 0xe2, 0xa6, 0xeb, 0xcf, 0x4e, 0xb3, 0x13, 0x43, 0xed, 0x8c, 0x3a, 0x2d, 0xc4, 0x1c, 0xc6, 0xf4, - 0xe7, 0xf4, 0xc7, 0x1d, 0x7a, 0x82, 0xce, 0x30, 0xc4, 0x44, 0x7f, 0x2e, 0x01, 0x38, 0xc1, 0xa1, - 0x4c, 0x4d, 0x1c, 0xef, 0xcf, 0x22, 0x86, 0xaa, 0xb6, 0xcb, 0xc6, 0xc6, 0x17, 0x30, 0x2d, 0x47, - 0xb7, 0x61, 0x84, 0xf8, 0x7b, 0x2b, 0x61, 0xb0, 0x3b, 0x7b, 0x26, 0x7f, 0xcf, 0x2e, 0x73, 0x14, - 0x7e, 0xa0, 0x27, 0x02, 0x9e, 0x28, 0xc6, 0x92, 0x04, 0x7a, 0x00, 0xb3, 0x19, 0x33, 0xc2, 0x27, - 0xe0, 0x2c, 0x9b, 0x80, 0xcf, 0x8a, 0xba, 0xb3, 0x1b, 0x39, 0x78, 0x47, 0x3d, 0x60, 0x38, 0x97, - 0x3a, 0xfa, 0x22, 0x4c, 0xf0, 0x0d, 0xc5, 0x1f, 0xdf, 0xa2, 0xd9, 0x73, 0xec, 0x6b, 0x2e, 0xe7, - 0x6f, 0x4e, 0x8e, 0xb8, 0x78, 0x4e, 0x74, 0x68, 0x42, 0x2f, 0x8d, 0xb0, 0x49, 0xcd, 0xde, 0x84, - 0x49, 0x75, 0x6e, 0xb1, 0xa5, 0x83, 0x2a, 0x30, 0xc4, 0xb8, 0x1d, 0xa1, 0xdf, 0x2a, 0xd3, 0x99, - 0x62, 0x9c, 0x10, 0xe6, 0xe5, 0x6c, 0xa6, 0xdc, 0xf7, 0xc9, 0xe2, 0x7e, 0x4c, 0xb8, 0x54, 0x5d, - 0xd4, 0x66, 0x4a, 0x02, 0x70, 0x82, 0x63, 0xff, 0x5f, 0xce, 0x35, 0x26, 0x87, 0xe3, 0x00, 0xd7, - 0xc1, 0x73, 0x30, 0xba, 0x1d, 0x44, 0x31, 0xc5, 0x66, 0x6d, 0x0c, 0x25, 0x7c, 0xe2, 0x4d, 0x51, - 0x8e, 0x15, 0x06, 0x7a, 0x0d, 0x26, 0x1a, 0x7a, 0x03, 0xe2, 0x2e, 0x53, 0x43, 0x60, 0xb4, 0x8e, - 0x4d, 0x5c, 0xf4, 0x2a, 0x8c, 0xb2, 0xa7, 0xf3, 0x46, 0xe0, 0x09, 0x26, 0x4b, 0x5e, 0xc8, 0xa3, - 0x35, 0x51, 0x7e, 0xa4, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x81, 0x61, 0xda, 0x85, 0xd5, 0x9a, 0xb8, - 0x45, 0x94, 0xaa, 0xe6, 0x26, 0x2b, 0xc5, 0x02, 0x6a, 0xff, 0xb5, 0x82, 0x36, 0xca, 0x54, 0x22, - 0x25, 0xa8, 0x06, 0x23, 0xf7, 0x1d, 0x37, 0x76, 0xfd, 0x96, 0x60, 0x17, 0x9e, 0xe9, 0x79, 0xa5, - 0xb0, 0x4a, 0x6f, 0xf1, 0x0a, 0xfc, 0xd2, 0x13, 0x7f, 0xb0, 0x24, 0x43, 0x29, 0x86, 0x1d, 0xdf, - 0xa7, 0x14, 0x0b, 0x83, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, 0x60, 0x49, 0x06, 0xbd, 0x03, - 0x20, 0x97, 0x25, 0x69, 0x8a, 0x27, 0xeb, 0xe7, 0xfa, 0x13, 0xdd, 0x50, 0x75, 0x16, 0x27, 0xe9, - 0x95, 0x9a, 0xfc, 0xc7, 0x1a, 0x3d, 0x3b, 0x66, 0x6c, 0x55, 0x77, 0x67, 0xd0, 0x77, 0xd2, 0x93, - 0xc0, 0x09, 0x63, 0xd2, 0x5c, 0x88, 0xc5, 0xe0, 0x7c, 0x72, 0x30, 0x99, 0x62, 0xc3, 0xdd, 0x25, - 0xfa, 0xa9, 0x21, 0x88, 0xe0, 0x84, 0x9e, 0xfd, 0xcb, 0x45, 0x98, 0xcd, 0xeb, 0x2e, 0x5d, 0x74, - 0xe4, 0x81, 0x1b, 0x2f, 0x51, 0x6e, 0xc8, 0x32, 0x17, 0xdd, 0xb2, 0x28, 0xc7, 0x0a, 0x83, 0xce, - 0x7e, 0xe4, 0xb6, 0xa4, 0x48, 0x38, 0x94, 0xcc, 0x7e, 0x9d, 0x95, 0x62, 0x01, 0xa5, 0x78, 0x21, - 0x71, 0x22, 0x61, 0x13, 0xa1, 0xad, 0x12, 0xcc, 0x4a, 0xb1, 0x80, 0xea, 0xfa, 0xa6, 0x52, 0x1f, - 0x7d, 0x93, 0x31, 0x44, 0x43, 0x27, 0x3b, 0x44, 0xe8, 0x4b, 0x00, 0x5b, 0xae, 0xef, 0x46, 0xdb, - 0x8c, 0xfa, 0xf0, 0xb1, 0xa9, 0x2b, 0x5e, 0x6a, 0x45, 0x51, 0xc1, 0x1a, 0x45, 0xf4, 0x32, 0x8c, - 0xa9, 0x0d, 0xb8, 0x5a, 0x65, 0x0f, 0x44, 0xda, 0x83, 0x7b, 0x72, 0x1a, 0x55, 0xb1, 0x8e, 0x67, - 0xbf, 0x9b, 0x5e, 0x2f, 0x62, 0x07, 0x68, 0xe3, 0x6b, 0x0d, 0x3a, 0xbe, 0x85, 0xde, 0xe3, 0x6b, - 0xff, 0x46, 0x11, 0xa6, 0x8c, 0xc6, 0x3a, 0xd1, 0x00, 0x67, 0xd6, 0x0d, 0x7a, 0xcf, 0x39, 0x31, - 0x11, 0xfb, 0xcf, 0xee, 0xbf, 0x55, 0xf4, 0xbb, 0x90, 0xee, 0x00, 0x5e, 0x1f, 0x7d, 0x09, 0xca, - 0x9e, 0x13, 0x31, 0xdd, 0x15, 0x11, 0xfb, 0x6e, 0x10, 0x62, 0x89, 0x1c, 0xe1, 0x44, 0xb1, 0x76, - 0xd5, 0x70, 0xda, 0x09, 0x49, 0x7a, 0x21, 0x53, 0xde, 0x47, 0x1a, 0xdd, 0xa8, 0x4e, 0x50, 0x06, - 0x69, 0x1f, 0x73, 0x18, 0x7a, 0x15, 0xc6, 0x43, 0xc2, 0x56, 0xc5, 0x12, 0x65, 0xe5, 0xd8, 0x32, - 0x1b, 0x4a, 0x78, 0x3e, 0xac, 0xc1, 0xb0, 0x81, 0x99, 0xb0, 0xf2, 0xc3, 0x3d, 0x58, 0xf9, 0x67, - 0x60, 0x84, 0xfd, 0x50, 0x2b, 0x40, 0xcd, 0xc6, 0x2a, 0x2f, 0xc6, 0x12, 0x9e, 0x5e, 0x30, 0xa3, - 0x03, 0x2e, 0x98, 0x4f, 0xc2, 0x64, 0xd5, 0x21, 0xbb, 0x81, 0xbf, 0xec, 0x37, 0xdb, 0x81, 0xeb, - 0xc7, 0x68, 0x16, 0x4a, 0xec, 0x76, 0xe0, 0x7b, 0xbb, 0x44, 0x29, 0xe0, 0x12, 0x65, 0xcc, 0xed, - 0x16, 0x9c, 0xab, 0x06, 0xf7, 0xfd, 0xfb, 0x4e, 0xd8, 0x5c, 0xa8, 0xad, 0x6a, 0x72, 0xee, 0xba, - 0x94, 0xb3, 0xb8, 0x11, 0x4b, 0xe6, 0x99, 0xaa, 0xd5, 0xe4, 0x77, 0xed, 0x8a, 0xeb, 0x91, 0x1c, - 0x6d, 0xc4, 0xdf, 0x28, 0x18, 0x2d, 0x25, 0xf8, 0xea, 0xc1, 0xc8, 0xca, 0x7d, 0x30, 0x7a, 0x13, - 0x46, 0xb7, 0x5c, 0xe2, 0x35, 0x31, 0xd9, 0x12, 0x4b, 0xec, 0xe9, 0xfc, 0x77, 0xf9, 0x15, 0x8a, - 0x29, 0xb5, 0x4f, 0x5c, 0x4a, 0x5b, 0x11, 0x95, 0xb1, 0x22, 0x83, 0x76, 0x60, 0x5a, 0x8a, 0x01, - 0x12, 0x2a, 0x16, 0xdc, 0x33, 0xbd, 0x64, 0x0b, 0x93, 0xf8, 0xd9, 0xc3, 0x83, 0xca, 0x34, 0x4e, - 0x91, 0xc1, 0x5d, 0x84, 0xa9, 0x58, 0xb6, 0x4b, 0x8f, 0xd6, 0x12, 0x1b, 0x7e, 0x26, 0x96, 0x31, - 0x09, 0x93, 0x95, 0xda, 0x3f, 0x6e, 0xc1, 0x63, 0x5d, 0x23, 0x23, 0x24, 0xed, 0x13, 0x9e, 0x85, - 0xb4, 0xe4, 0x5b, 0xe8, 0x2f, 0xf9, 0xda, 0x7f, 0xdf, 0x82, 0xb3, 0xcb, 0xbb, 0xed, 0x78, 0xbf, - 0xea, 0x9a, 0xaf, 0x3b, 0xaf, 0xc0, 0xf0, 0x2e, 0x69, 0xba, 0x9d, 0x5d, 0x31, 0x73, 0x15, 0x79, - 0xfc, 0xac, 0xb1, 0xd2, 0xa3, 0x83, 0xca, 0x44, 0x3d, 0x0e, 0x42, 0xa7, 0x45, 0x78, 0x01, 0x16, - 0xe8, 0xec, 0x10, 0x77, 0xdf, 0x27, 0xb7, 0xdd, 0x5d, 0x57, 0xda, 0x59, 0xf4, 0xd4, 0x9d, 0xcd, - 0xcb, 0x01, 0x9d, 0x7f, 0xb3, 0xe3, 0xf8, 0xb1, 0x1b, 0xef, 0x8b, 0x87, 0x19, 0x49, 0x04, 0x27, - 0xf4, 0xec, 0x6f, 0x5a, 0x30, 0x25, 0xd7, 0xfd, 0x42, 0xb3, 0x19, 0x92, 0x28, 0x42, 0x73, 0x50, - 0x70, 0xdb, 0xa2, 0x97, 0x20, 0x7a, 0x59, 0x58, 0xad, 0xe1, 0x82, 0xdb, 0x46, 0x35, 0x28, 0x73, - 0x73, 0x8d, 0x64, 0x71, 0x0d, 0x64, 0xf4, 0xc1, 0x7a, 0xb0, 0x21, 0x6b, 0xe2, 0x84, 0x88, 0xe4, - 0xe0, 0xd8, 0x99, 0x59, 0x34, 0x5f, 0xbd, 0x6e, 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x55, 0x18, 0xf5, - 0x83, 0x26, 0xb7, 0x9e, 0xe1, 0xb7, 0x1f, 0x5b, 0xb2, 0xeb, 0xa2, 0x0c, 0x2b, 0xa8, 0xfd, 0x43, - 0x16, 0x8c, 0xcb, 0x2f, 0x1b, 0x90, 0x99, 0xa4, 0x5b, 0x2b, 0x61, 0x24, 0x93, 0xad, 0x45, 0x99, - 0x41, 0x06, 0x31, 0x78, 0xc0, 0xe2, 0x71, 0x78, 0x40, 0xfb, 0xc7, 0x0a, 0x30, 0x29, 0xbb, 0x53, - 0xef, 0x6c, 0x46, 0x24, 0x46, 0x1b, 0x50, 0x76, 0xf8, 0x90, 0x13, 0xb9, 0x62, 0x9f, 0xca, 0x16, - 0x3e, 0x8c, 0xf9, 0x49, 0xae, 0xe5, 0x05, 0x59, 0x1b, 0x27, 0x84, 0x90, 0x07, 0x33, 0x7e, 0x10, - 0xb3, 0x23, 0x5a, 0xc1, 0x7b, 0x3d, 0x81, 0xa4, 0xa9, 0x5f, 0x10, 0xd4, 0x67, 0xd6, 0xd3, 0x54, - 0x70, 0x37, 0x61, 0xb4, 0x2c, 0x15, 0x1e, 0xc5, 0x7c, 0x71, 0x43, 0x9f, 0x85, 0x6c, 0x7d, 0x87, - 0xfd, 0xab, 0x16, 0x94, 0x25, 0xda, 0x69, 0xbc, 0x76, 0xad, 0xc1, 0x48, 0xc4, 0x26, 0x41, 0x0e, - 0x8d, 0xdd, 0xab, 0xe3, 0x7c, 0xbe, 0x92, 0x9b, 0x87, 0xff, 0x8f, 0xb0, 0xa4, 0xc1, 0xf4, 0xdd, - 0xaa, 0xfb, 0x1f, 0x11, 0x7d, 0xb7, 0xea, 0x4f, 0xce, 0x0d, 0xf3, 0x5f, 0x59, 0x9f, 0x35, 0xb1, - 0x96, 0x32, 0x48, 0xed, 0x90, 0x6c, 0xb9, 0x0f, 0xd2, 0x0c, 0x52, 0x8d, 0x95, 0x62, 0x01, 0x45, - 0xef, 0xc0, 0x78, 0x43, 0x2a, 0x3a, 0x93, 0x63, 0xe0, 0x4a, 0x4f, 0xa5, 0xbb, 0x7a, 0x9f, 0xe1, - 0x96, 0xb5, 0x4b, 0x5a, 0x7d, 0x6c, 0x50, 0x33, 0x9f, 0xdb, 0x8b, 0xfd, 0x9e, 0xdb, 0x13, 0xba, - 0xf9, 0x8f, 0xcf, 0x3f, 0x61, 0xc1, 0x30, 0x57, 0x97, 0x0d, 0xa6, 0x5f, 0xd4, 0x9e, 0xab, 0x92, - 0xb1, 0xbb, 0x47, 0x0b, 0xc5, 0xf3, 0x13, 0x5a, 0x83, 0x32, 0xfb, 0xc1, 0xd4, 0x06, 0xc5, 0x7c, - 0x93, 0x62, 0xde, 0xaa, 0xde, 0xc1, 0x7b, 0xb2, 0x1a, 0x4e, 0x28, 0xd8, 0x3f, 0x52, 0xa4, 0x47, - 0x55, 0x82, 0x6a, 0xdc, 0xe0, 0xd6, 0xa3, 0xbb, 0xc1, 0x0b, 0x8f, 0xea, 0x06, 0x6f, 0xc1, 0x54, - 0x43, 0x7b, 0xdc, 0x4a, 0x66, 0xf2, 0x6a, 0xcf, 0x45, 0xa2, 0xbd, 0x83, 0x71, 0x95, 0xd1, 0x92, - 0x49, 0x04, 0xa7, 0xa9, 0xa2, 0xef, 0x84, 0x71, 0x3e, 0xcf, 0xa2, 0x15, 0x6e, 0xb1, 0xf0, 0x89, - 0xfc, 0xf5, 0xa2, 0x37, 0xc1, 0x56, 0x62, 0x5d, 0xab, 0x8e, 0x0d, 0x62, 0xf6, 0x2f, 0x8f, 0xc2, - 0xd0, 0xf2, 0x1e, 0xf1, 0xe3, 0x53, 0x38, 0x90, 0x1a, 0x30, 0xe9, 0xfa, 0x7b, 0x81, 0xb7, 0x47, - 0x9a, 0x1c, 0x7e, 0x9c, 0xcb, 0xf5, 0xbc, 0x20, 0x3d, 0xb9, 0x6a, 0x90, 0xc0, 0x29, 0x92, 0x8f, - 0x42, 0xc2, 0xbc, 0x01, 0xc3, 0x7c, 0xee, 0x85, 0x78, 0x99, 0xa9, 0x0c, 0x66, 0x83, 0x28, 0x76, - 0x41, 0x22, 0xfd, 0x72, 0xed, 0xb3, 0xa8, 0x8e, 0xde, 0x85, 0xc9, 0x2d, 0x37, 0x8c, 0x62, 0x2a, - 0x1a, 0x46, 0xb1, 0xb3, 0xdb, 0x7e, 0x08, 0x89, 0x52, 0x8d, 0xc3, 0x8a, 0x41, 0x09, 0xa7, 0x28, - 0xa3, 0x16, 0x4c, 0x50, 0x21, 0x27, 0x69, 0x6a, 0xe4, 0xd8, 0x4d, 0x29, 0x95, 0xd1, 0x6d, 0x9d, - 0x10, 0x36, 0xe9, 0xd2, 0xc3, 0xa4, 0xc1, 0x84, 0xa2, 0x51, 0xc6, 0x51, 0xa8, 0xc3, 0x84, 0x4b, - 0x43, 0x1c, 0x46, 0xcf, 0x24, 0x66, 0xb6, 0x52, 0x36, 0xcf, 0x24, 0xcd, 0x38, 0xe5, 0xcb, 0x50, - 0x26, 0x74, 0x08, 0x29, 0x61, 0xa1, 0x18, 0xbf, 0x36, 0x58, 0x5f, 0xd7, 0xdc, 0x46, 0x18, 0x98, - 0xb2, 0xfc, 0xb2, 0xa4, 0x84, 0x13, 0xa2, 0x68, 0x09, 0x86, 0x23, 0x12, 0xba, 0x24, 0x12, 0x2a, - 0xf2, 0x1e, 0xd3, 0xc8, 0xd0, 0xb8, 0xed, 0x39, 0xff, 0x8d, 0x45, 0x55, 0xba, 0xbc, 0x1c, 0x26, - 0x0d, 0x31, 0xad, 0xb8, 0xb6, 0xbc, 0x16, 0x58, 0x29, 0x16, 0x50, 0xf4, 0x06, 0x8c, 0x84, 0xc4, - 0x63, 0xca, 0xa2, 0x89, 0xc1, 0x17, 0x39, 0xd7, 0x3d, 0xf1, 0x7a, 0x58, 0x12, 0x40, 0xb7, 0x00, - 0x85, 0x84, 0xf2, 0x10, 0xae, 0xdf, 0x52, 0xc6, 0x1c, 0x42, 0xd7, 0xfd, 0xb8, 0x68, 0xff, 0x0c, - 0x4e, 0x30, 0xa4, 0x55, 0x2a, 0xce, 0xa8, 0x86, 0x6e, 0xc0, 0x8c, 0x2a, 0x5d, 0xf5, 0xa3, 0xd8, - 0xf1, 0x1b, 0x84, 0xa9, 0xb9, 0xcb, 0x09, 0x57, 0x84, 0xd3, 0x08, 0xb8, 0xbb, 0x8e, 0xfd, 0xb3, - 0x94, 0x9d, 0xa1, 0xa3, 0x75, 0x0a, 0xbc, 0xc0, 0xeb, 0x26, 0x2f, 0x70, 0x21, 0x77, 0xe6, 0x72, - 0xf8, 0x80, 0x43, 0x0b, 0xc6, 0xb4, 0x99, 0x4d, 0xd6, 0xac, 0xd5, 0x63, 0xcd, 0x76, 0x60, 0x9a, - 0xae, 0xf4, 0x3b, 0x9b, 0x11, 0x09, 0xf7, 0x48, 0x93, 0x2d, 0xcc, 0xc2, 0xc3, 0x2d, 0x4c, 0xf5, - 0xca, 0x7c, 0x3b, 0x45, 0x10, 0x77, 0x35, 0x81, 0x5e, 0x91, 0x9a, 0x93, 0xa2, 0x61, 0xa4, 0xc5, - 0xb5, 0x22, 0x47, 0x07, 0x95, 0x69, 0xed, 0x43, 0x74, 0x4d, 0x89, 0xfd, 0x65, 0xf9, 0x8d, 0xea, - 0x35, 0xbf, 0xa1, 0x16, 0x4b, 0xea, 0x35, 0x5f, 0x2d, 0x07, 0x9c, 0xe0, 0xd0, 0x3d, 0x4a, 0x45, - 0x90, 0xf4, 0x6b, 0x3e, 0x15, 0x50, 0x30, 0x83, 0xd8, 0x2f, 0x02, 0x2c, 0x3f, 0x20, 0x0d, 0xbe, - 0xd4, 0xf5, 0x07, 0x48, 0x2b, 0xff, 0x01, 0xd2, 0xfe, 0xf7, 0x16, 0x4c, 0xae, 0x2c, 0x19, 0x62, - 0xe2, 0x3c, 0x00, 0x97, 0x8d, 0xde, 0x7a, 0x6b, 0x5d, 0xea, 0xd6, 0xb9, 0x7a, 0x54, 0x95, 0x62, - 0x0d, 0x03, 0x5d, 0x80, 0xa2, 0xd7, 0xf1, 0x85, 0xc8, 0x32, 0x72, 0x78, 0x50, 0x29, 0xde, 0xee, - 0xf8, 0x98, 0x96, 0x69, 0x16, 0x82, 0xc5, 0x81, 0x2d, 0x04, 0xfb, 0xba, 0x57, 0xa1, 0x0a, 0x0c, - 0xdd, 0xbf, 0xef, 0x36, 0xb9, 0x11, 0xbb, 0xd0, 0xfb, 0xbf, 0xf5, 0xd6, 0x6a, 0x35, 0xc2, 0xbc, - 0xdc, 0xfe, 0x6a, 0x11, 0xe6, 0x56, 0x3c, 0xf2, 0xe0, 0x03, 0x1a, 0xf2, 0x0f, 0x6a, 0xdf, 0x78, - 0x3c, 0x7e, 0xf1, 0xb8, 0x36, 0xac, 0xfd, 0xc7, 0x63, 0x0b, 0x46, 0xf8, 0x63, 0xb6, 0x34, 0xeb, - 0x7f, 0x2d, 0xab, 0xf5, 0xfc, 0x01, 0x99, 0xe7, 0x8f, 0xe2, 0xc2, 0x9c, 0x5f, 0xdd, 0xb4, 0xa2, - 0x14, 0x4b, 0xe2, 0x73, 0x9f, 0x81, 0x71, 0x1d, 0xf3, 0x58, 0xd6, 0xe4, 0x7f, 0xa1, 0x08, 0xd3, - 0xb4, 0x07, 0x8f, 0x74, 0x22, 0xee, 0x76, 0x4f, 0xc4, 0x49, 0x5b, 0x14, 0xf7, 0x9f, 0x8d, 0x77, - 0xd2, 0xb3, 0xf1, 0x42, 0xde, 0x6c, 0x9c, 0xf6, 0x1c, 0x7c, 0xaf, 0x05, 0x67, 0x56, 0xbc, 0xa0, - 0xb1, 0x93, 0xb2, 0xfa, 0x7d, 0x19, 0xc6, 0xe8, 0x39, 0x1e, 0x19, 0x5e, 0x44, 0x86, 0x5f, 0x99, - 0x00, 0x61, 0x1d, 0x4f, 0xab, 0x76, 0xf7, 0xee, 0x6a, 0x35, 0xcb, 0x1d, 0x4d, 0x80, 0xb0, 0x8e, - 0x67, 0x7f, 0xc3, 0x82, 0x8b, 0x37, 0x96, 0x96, 0x93, 0xa5, 0xd8, 0xe5, 0x11, 0x47, 0xa5, 0xc0, - 0xa6, 0xd6, 0x95, 0x44, 0x0a, 0xac, 0xb2, 0x5e, 0x08, 0xe8, 0x47, 0xc5, 0xdb, 0xf3, 0x67, 0x2c, - 0x38, 0x73, 0xc3, 0x8d, 0xe9, 0xb5, 0x9c, 0xf6, 0xcd, 0xa2, 0xf7, 0x72, 0xe4, 0xc6, 0x41, 0xb8, - 0x9f, 0xf6, 0xcd, 0xc2, 0x0a, 0x82, 0x35, 0x2c, 0xde, 0xf2, 0x9e, 0xcb, 0xcc, 0xa8, 0x0a, 0xa6, - 0x2a, 0x0a, 0x8b, 0x72, 0xac, 0x30, 0xe8, 0x87, 0x35, 0xdd, 0x90, 0x89, 0x12, 0xfb, 0xe2, 0x84, - 0x55, 0x1f, 0x56, 0x95, 0x00, 0x9c, 0xe0, 0xd8, 0x3f, 0x6e, 0xc1, 0xb9, 0x1b, 0x5e, 0x27, 0x8a, - 0x49, 0xb8, 0x15, 0x19, 0x9d, 0x7d, 0x11, 0xca, 0x44, 0x8a, 0xeb, 0xa2, 0xaf, 0x8a, 0xc1, 0x54, - 0x72, 0x3c, 0x77, 0x0c, 0x53, 0x78, 0x03, 0x78, 0x0e, 0x1c, 0xcf, 0x75, 0xec, 0x17, 0x0a, 0x30, - 0x71, 0x73, 0x63, 0xa3, 0x76, 0x83, 0xc4, 0xe2, 0x16, 0xeb, 0xaf, 0x6a, 0xc6, 0x9a, 0xc6, 0xac, - 0x97, 0x50, 0xd4, 0x89, 0x5d, 0x6f, 0x9e, 0x7b, 0x22, 0xcf, 0xaf, 0xfa, 0xf1, 0x9d, 0xb0, 0x1e, - 0x87, 0xae, 0xdf, 0xca, 0xd4, 0xb1, 0xc9, 0xbb, 0xb6, 0x98, 0x77, 0xd7, 0xa2, 0x17, 0x61, 0x98, - 0xb9, 0x42, 0x4b, 0xf1, 0xe4, 0x71, 0x25, 0x53, 0xb0, 0xd2, 0xa3, 0x83, 0x4a, 0xf9, 0x2e, 0x5e, - 0xe5, 0x7f, 0xb0, 0x40, 0x45, 0x77, 0x61, 0x6c, 0x3b, 0x8e, 0xdb, 0x37, 0x89, 0xd3, 0x24, 0xa1, - 0x3c, 0x1d, 0x2e, 0x65, 0x9d, 0x0e, 0x74, 0x10, 0x38, 0x5a, 0xb2, 0xa1, 0x92, 0xb2, 0x08, 0xeb, - 0x74, 0xec, 0x3a, 0x40, 0x02, 0x3b, 0x21, 0xfd, 0x82, 0xfd, 0xfb, 0x16, 0x8c, 0x70, 0xaf, 0xb4, - 0x10, 0x7d, 0x16, 0x4a, 0xe4, 0x01, 0x69, 0x08, 0xce, 0x31, 0xb3, 0xc3, 0x09, 0xe3, 0xc1, 0xb5, - 0xe5, 0xf4, 0x3f, 0x66, 0xb5, 0xd0, 0x4d, 0x18, 0xa1, 0xbd, 0xbd, 0xa1, 0x5c, 0xf4, 0x9e, 0xcc, - 0xfb, 0x62, 0x35, 0xed, 0x9c, 0x57, 0x11, 0x45, 0x58, 0x56, 0x67, 0x9a, 0xdf, 0x46, 0xbb, 0x4e, - 0x0f, 0xb0, 0xb8, 0xd7, 0x3d, 0xbb, 0xb1, 0x54, 0xe3, 0x48, 0x82, 0x1a, 0xd7, 0xfc, 0xca, 0x42, - 0x9c, 0x10, 0xb1, 0x37, 0xa0, 0x4c, 0x27, 0x75, 0xc1, 0x73, 0x9d, 0xde, 0x4a, 0xe7, 0x67, 0xa1, - 0x2c, 0x15, 0xc0, 0x91, 0x70, 0x6c, 0x62, 0x54, 0xa5, 0x7e, 0x38, 0xc2, 0x09, 0xdc, 0xde, 0x82, - 0xb3, 0xec, 0xe5, 0xdf, 0x89, 0xb7, 0x8d, 0x3d, 0xd6, 0x7f, 0x31, 0x3f, 0x27, 0x04, 0x31, 0x3e, - 0x33, 0xb3, 0x9a, 0xef, 0xc0, 0xb8, 0xa4, 0x98, 0x08, 0x65, 0xf6, 0x1f, 0x96, 0xe0, 0xf1, 0xd5, - 0x7a, 0xbe, 0xc3, 0xe2, 0xab, 0x30, 0xce, 0xd9, 0x34, 0xba, 0xb4, 0x1d, 0x4f, 0xb4, 0xab, 0xde, - 0xc5, 0x36, 0x34, 0x18, 0x36, 0x30, 0xd1, 0x45, 0x28, 0xba, 0xef, 0xf9, 0x69, 0x33, 0xdc, 0xd5, - 0x37, 0xd7, 0x31, 0x2d, 0xa7, 0x60, 0xca, 0xf1, 0xf1, 0xa3, 0x54, 0x81, 0x15, 0xd7, 0xf7, 0x3a, - 0x4c, 0xba, 0x51, 0x23, 0x72, 0x57, 0x7d, 0x7a, 0xce, 0x24, 0xce, 0xae, 0x89, 0x92, 0x80, 0x76, - 0x5a, 0x41, 0x71, 0x0a, 0x5b, 0x3b, 0xd7, 0x87, 0x06, 0xe6, 0x1a, 0xfb, 0x7a, 0xfa, 0x50, 0x86, - 0xb8, 0xcd, 0xbe, 0x2e, 0x62, 0x46, 0x6d, 0x82, 0x21, 0xe6, 0x1f, 0x1c, 0x61, 0x09, 0xa3, 0x12, - 0x58, 0x63, 0xdb, 0x69, 0x2f, 0x74, 0xe2, 0xed, 0xaa, 0x1b, 0x35, 0x82, 0x3d, 0x12, 0xee, 0x33, - 0xe1, 0x79, 0x34, 0x91, 0xc0, 0x14, 0x60, 0xe9, 0xe6, 0x42, 0x8d, 0x62, 0xe2, 0xee, 0x3a, 0x26, - 0x57, 0x08, 0x27, 0xc1, 0x15, 0x2e, 0xc0, 0x94, 0x6c, 0xa6, 0x4e, 0x22, 0x76, 0x47, 0x8c, 0xb1, - 0x8e, 0x29, 0x53, 0x5b, 0x51, 0xac, 0xba, 0x95, 0xc6, 0x47, 0xaf, 0xc0, 0x84, 0xeb, 0xbb, 0xb1, - 0xeb, 0xc4, 0x41, 0xc8, 0x6e, 0x58, 0x2e, 0x27, 0x33, 0x4b, 0xb6, 0x55, 0x1d, 0x80, 0x4d, 0x3c, - 0xfb, 0x0f, 0x4a, 0x30, 0xc3, 0xa6, 0xed, 0x5b, 0x2b, 0xec, 0x23, 0xb3, 0xc2, 0xee, 0x76, 0xaf, - 0xb0, 0x93, 0x60, 0x77, 0x3f, 0xcc, 0x65, 0xf6, 0x2e, 0x94, 0x95, 0x2d, 0xb0, 0x74, 0x06, 0xb0, - 0x72, 0x9c, 0x01, 0xfa, 0x73, 0x1f, 0xf2, 0x19, 0xb7, 0x98, 0xf9, 0x8c, 0xfb, 0xb7, 0x2c, 0x48, - 0x4c, 0x22, 0xd1, 0x4d, 0x28, 0xb7, 0x03, 0x66, 0x76, 0x10, 0x4a, 0x5b, 0x9e, 0xc7, 0x33, 0x2f, - 0x2a, 0x7e, 0x29, 0xf2, 0xf1, 0xab, 0xc9, 0x1a, 0x38, 0xa9, 0x8c, 0x16, 0x61, 0xa4, 0x1d, 0x92, - 0x7a, 0xcc, 0x5c, 0x60, 0xfb, 0xd2, 0xe1, 0x6b, 0x84, 0xe3, 0x63, 0x59, 0xd1, 0xfe, 0x45, 0x0b, - 0x80, 0xbf, 0x94, 0x3a, 0x7e, 0x8b, 0x9c, 0x82, 0xf6, 0xb7, 0x0a, 0xa5, 0xa8, 0x4d, 0x1a, 0xbd, - 0x0c, 0x42, 0x92, 0xfe, 0xd4, 0xdb, 0xa4, 0x91, 0x0c, 0x38, 0xfd, 0x87, 0x59, 0x6d, 0xfb, 0xfb, - 0x00, 0x26, 0x13, 0xb4, 0xd5, 0x98, 0xec, 0xa2, 0xe7, 0x0d, 0x97, 0xb8, 0x0b, 0x29, 0x97, 0xb8, - 0x32, 0xc3, 0xd6, 0x14, 0x8d, 0xef, 0x42, 0x71, 0xd7, 0x79, 0x20, 0x34, 0x49, 0xcf, 0xf6, 0xee, - 0x06, 0xa5, 0x3f, 0xbf, 0xe6, 0x3c, 0xe0, 0x32, 0xd3, 0xb3, 0x72, 0x81, 0xac, 0x39, 0x0f, 0x8e, - 0xb8, 0xd9, 0x07, 0x3b, 0xa4, 0x6e, 0xbb, 0x51, 0xfc, 0x95, 0xff, 0x94, 0xfc, 0x67, 0xcb, 0x8e, - 0x36, 0xc2, 0xda, 0x72, 0x7d, 0xf1, 0x6e, 0x38, 0x50, 0x5b, 0xae, 0x9f, 0x6e, 0xcb, 0xf5, 0x07, - 0x68, 0xcb, 0xf5, 0xd1, 0xfb, 0x30, 0x22, 0xde, 0xe8, 0x99, 0xad, 0xb7, 0xa9, 0xa5, 0xca, 0x6b, - 0x4f, 0x3c, 0xf1, 0xf3, 0x36, 0xaf, 0x49, 0x99, 0x50, 0x94, 0xf6, 0x6d, 0x57, 0x36, 0x88, 0xfe, - 0xba, 0x05, 0x93, 0xe2, 0x37, 0x26, 0xef, 0x75, 0x48, 0x14, 0x0b, 0xde, 0xf3, 0xd3, 0x83, 0xf7, - 0x41, 0x54, 0xe4, 0x5d, 0xf9, 0xb4, 0x3c, 0x66, 0x4d, 0x60, 0xdf, 0x1e, 0xa5, 0x7a, 0x81, 0xfe, - 0xa1, 0x05, 0x67, 0x77, 0x9d, 0x07, 0xbc, 0x45, 0x5e, 0x86, 0x9d, 0xd8, 0x0d, 0x84, 0xed, 0xfa, - 0x67, 0x07, 0x9b, 0xfe, 0xae, 0xea, 0xbc, 0x93, 0xd2, 0xcc, 0xf5, 0x6c, 0x16, 0x4a, 0xdf, 0xae, - 0x66, 0xf6, 0x6b, 0x6e, 0x0b, 0x46, 0xe5, 0x7a, 0xcb, 0x90, 0xbc, 0xab, 0x3a, 0x63, 0x7d, 0x6c, - 0x13, 0x09, 0xdd, 0x2f, 0x8d, 0xb6, 0x23, 0xd6, 0xda, 0x23, 0x6d, 0xe7, 0x5d, 0x18, 0xd7, 0xd7, - 0xd8, 0x23, 0x6d, 0xeb, 0x3d, 0x38, 0x93, 0xb1, 0x96, 0x1e, 0x69, 0x93, 0xf7, 0xe1, 0x42, 0xee, - 0xfa, 0x78, 0x94, 0x0d, 0xdb, 0xbf, 0x60, 0xe9, 0xe7, 0xe0, 0x29, 0xa8, 0xe0, 0x97, 0x4c, 0x15, - 0xfc, 0xa5, 0xde, 0x3b, 0x27, 0x47, 0x0f, 0xff, 0x8e, 0xde, 0x69, 0x7a, 0xaa, 0xa3, 0x37, 0x60, - 0xd8, 0xa3, 0x25, 0xd2, 0x38, 0xc4, 0xee, 0xbf, 0x23, 0x13, 0x5e, 0x8a, 0x95, 0x47, 0x58, 0x50, - 0xb0, 0x7f, 0xc5, 0x82, 0xd2, 0x29, 0x8c, 0x04, 0x36, 0x47, 0xe2, 0xf9, 0x5c, 0xd2, 0x22, 0xa4, - 0xd9, 0x3c, 0x76, 0xee, 0x2f, 0x3f, 0x88, 0x89, 0x1f, 0x31, 0x51, 0x31, 0x73, 0x60, 0xbe, 0x0b, - 0xce, 0xdc, 0x0e, 0x9c, 0xe6, 0xa2, 0xe3, 0x39, 0x7e, 0x83, 0x84, 0xab, 0x7e, 0xab, 0xaf, 0x95, - 0x92, 0x6e, 0x53, 0x54, 0xe8, 0x67, 0x53, 0x64, 0x6f, 0x03, 0xd2, 0x1b, 0x10, 0x76, 0x9c, 0x18, - 0x46, 0x5c, 0xde, 0x94, 0x18, 0xfe, 0xa7, 0xb3, 0xb9, 0xbb, 0xae, 0x9e, 0x69, 0x16, 0x8a, 0xbc, - 0x00, 0x4b, 0x42, 0xf6, 0xab, 0x90, 0xe9, 0xbb, 0xd5, 0x5f, 0x6d, 0x60, 0xbf, 0x0c, 0x33, 0xac, - 0xe6, 0xf1, 0x44, 0x5a, 0xfb, 0x07, 0x2c, 0x98, 0x5a, 0x4f, 0xc5, 0xa6, 0xb8, 0xc2, 0xde, 0xfa, - 0x32, 0xf4, 0xbe, 0x75, 0x56, 0x8a, 0x05, 0xf4, 0xc4, 0xf5, 0x4b, 0x7f, 0x6a, 0x41, 0xe2, 0x2a, - 0x79, 0x0a, 0x4c, 0xd5, 0x92, 0xc1, 0x54, 0x65, 0xea, 0x3d, 0x54, 0x77, 0xf2, 0x78, 0x2a, 0x74, - 0x4b, 0xc5, 0x05, 0xe8, 0xa1, 0xf2, 0x48, 0xc8, 0x70, 0x2f, 0xf2, 0x49, 0x33, 0x78, 0x80, 0x8c, - 0x14, 0xc0, 0xcc, 0x84, 0x14, 0xee, 0x47, 0xc4, 0x4c, 0x48, 0xf5, 0x27, 0x67, 0xf7, 0xd5, 0xb4, - 0x2e, 0xb3, 0x53, 0xe9, 0xdb, 0x99, 0xd9, 0xb7, 0xe3, 0xb9, 0xef, 0x13, 0x15, 0xdc, 0xa4, 0x22, - 0xcc, 0xb8, 0x45, 0xe9, 0xd1, 0x41, 0x65, 0x42, 0xfd, 0xe3, 0x11, 0xb0, 0x92, 0x2a, 0xf6, 0x4d, - 0x98, 0x4a, 0x0d, 0x18, 0x7a, 0x19, 0x86, 0xda, 0xdb, 0x4e, 0x44, 0x52, 0xa6, 0x91, 0x43, 0x35, - 0x5a, 0x78, 0x74, 0x50, 0x99, 0x54, 0x15, 0x58, 0x09, 0xe6, 0xd8, 0xf6, 0xff, 0xb4, 0xa0, 0xb4, - 0x1e, 0x34, 0x4f, 0x63, 0x31, 0xbd, 0x6e, 0x2c, 0xa6, 0x27, 0xf2, 0xe2, 0x07, 0xe6, 0xae, 0xa3, - 0x95, 0xd4, 0x3a, 0xba, 0x94, 0x4b, 0xa1, 0xf7, 0x12, 0xda, 0x85, 0x31, 0x16, 0x95, 0x50, 0x98, - 0x6a, 0xbe, 0x68, 0xf0, 0xf7, 0x95, 0x14, 0x7f, 0x3f, 0xa5, 0xa1, 0x6a, 0x5c, 0xfe, 0x33, 0x30, - 0x22, 0xcc, 0x05, 0xd3, 0x06, 0xee, 0x02, 0x17, 0x4b, 0xb8, 0xfd, 0x13, 0x45, 0x30, 0xa2, 0x20, - 0xa2, 0x5f, 0xb5, 0x60, 0x3e, 0xe4, 0x1e, 0x83, 0xcd, 0x6a, 0x27, 0x74, 0xfd, 0x56, 0xbd, 0xb1, - 0x4d, 0x9a, 0x1d, 0xcf, 0xf5, 0x5b, 0xab, 0x2d, 0x3f, 0x50, 0xc5, 0xcb, 0x0f, 0x48, 0xa3, 0xc3, - 0x74, 0xfe, 0x7d, 0x42, 0x2e, 0x2a, 0x73, 0x9c, 0xeb, 0x87, 0x07, 0x95, 0x79, 0x7c, 0x2c, 0xda, - 0xf8, 0x98, 0x7d, 0x41, 0xdf, 0xb0, 0xe0, 0x1a, 0x0f, 0x0e, 0x38, 0x78, 0xff, 0x7b, 0x48, 0x43, - 0x35, 0x49, 0x2a, 0x21, 0xb2, 0x41, 0xc2, 0xdd, 0xc5, 0x57, 0xc4, 0x80, 0x5e, 0xab, 0x1d, 0xaf, - 0x2d, 0x7c, 0xdc, 0xce, 0xd9, 0xff, 0xa2, 0x08, 0x13, 0xc2, 0x59, 0x5d, 0x44, 0x41, 0x79, 0xd9, - 0x58, 0x12, 0x4f, 0xa6, 0x96, 0xc4, 0x8c, 0x81, 0x7c, 0x32, 0x01, 0x50, 0x22, 0x98, 0xf1, 0x9c, - 0x28, 0xbe, 0x49, 0x9c, 0x30, 0xde, 0x24, 0x0e, 0x37, 0x53, 0x29, 0x1e, 0xdb, 0xa4, 0x46, 0xa9, - 0x5f, 0x6e, 0xa7, 0x89, 0xe1, 0x6e, 0xfa, 0x68, 0x0f, 0x10, 0xb3, 0xb5, 0x09, 0x1d, 0x3f, 0xe2, - 0xdf, 0xe2, 0x8a, 0xf7, 0x80, 0xe3, 0xb5, 0x3a, 0x27, 0x5a, 0x45, 0xb7, 0xbb, 0xa8, 0xe1, 0x8c, - 0x16, 0x34, 0x1b, 0xaa, 0xa1, 0x41, 0x6d, 0xa8, 0x86, 0xfb, 0x78, 0x91, 0xf8, 0x30, 0xdd, 0x15, - 0x6f, 0xe0, 0x6d, 0x28, 0x2b, 0x5b, 0x37, 0x71, 0xe8, 0xf4, 0x0e, 0xdb, 0x91, 0xa6, 0xc0, 0x55, - 0x24, 0x89, 0x9d, 0x65, 0x42, 0xce, 0xfe, 0x47, 0x05, 0xa3, 0x41, 0x3e, 0x89, 0xeb, 0x30, 0xea, - 0x44, 0x91, 0xdb, 0xf2, 0x49, 0x53, 0xec, 0xd8, 0x8f, 0xe7, 0xed, 0x58, 0xa3, 0x19, 0x66, 0x6f, - 0xb8, 0x20, 0x6a, 0x62, 0x45, 0x03, 0xdd, 0xe4, 0xc6, 0x40, 0x7b, 0x92, 0x9f, 0x1f, 0x8c, 0x1a, - 0x48, 0x73, 0xa1, 0x3d, 0x82, 0x45, 0x7d, 0xf4, 0x45, 0x6e, 0xad, 0x75, 0xcb, 0x0f, 0xee, 0xfb, - 0x37, 0x82, 0x40, 0x7a, 0x98, 0x0d, 0x46, 0x70, 0x46, 0xda, 0x68, 0xa9, 0xea, 0xd8, 0xa4, 0x36, - 0x58, 0x4c, 0x9e, 0xef, 0x86, 0x33, 0x94, 0xb4, 0xe9, 0x27, 0x12, 0x21, 0x02, 0x53, 0x22, 0x12, - 0x82, 0x2c, 0x13, 0x63, 0x97, 0xc9, 0xaa, 0x9b, 0xb5, 0x13, 0x85, 0xde, 0x2d, 0x93, 0x04, 0x4e, - 0xd3, 0xb4, 0x7f, 0xda, 0x02, 0x66, 0xe1, 0x7e, 0x0a, 0x2c, 0xc3, 0xe7, 0x4c, 0x96, 0x61, 0x36, - 0x6f, 0x90, 0x73, 0xb8, 0x85, 0x97, 0xf8, 0xca, 0xaa, 0x85, 0xc1, 0x83, 0x7d, 0xf1, 0x52, 0x3e, - 0x00, 0x97, 0xfa, 0x7f, 0x2c, 0x7e, 0x88, 0x29, 0xa7, 0x73, 0xf4, 0x3d, 0x30, 0xda, 0x70, 0xda, - 0x4e, 0x83, 0x87, 0xec, 0xcd, 0xd5, 0xd8, 0x18, 0x95, 0xe6, 0x97, 0x44, 0x0d, 0xae, 0x81, 0x90, - 0x11, 0x35, 0x46, 0x65, 0x71, 0x5f, 0xad, 0x83, 0x6a, 0x72, 0x6e, 0x07, 0x26, 0x0c, 0x62, 0x8f, - 0x54, 0x5c, 0xfd, 0x1e, 0x7e, 0xc5, 0xaa, 0x08, 0x30, 0xbb, 0x30, 0xe3, 0x6b, 0xff, 0xe9, 0x85, - 0x22, 0x45, 0x90, 0x8f, 0xf7, 0xbb, 0x44, 0xd9, 0xed, 0xa3, 0x59, 0xf0, 0xa7, 0xc8, 0xe0, 0x6e, - 0xca, 0xf6, 0x4f, 0x5a, 0xf0, 0x98, 0x8e, 0xa8, 0xc5, 0x03, 0xe8, 0xa7, 0x03, 0xae, 0xc2, 0x68, - 0xd0, 0x26, 0xa1, 0x13, 0x07, 0xa1, 0xb8, 0x35, 0xae, 0xca, 0x41, 0xbf, 0x23, 0xca, 0x8f, 0x44, - 0xec, 0x44, 0x49, 0x5d, 0x96, 0x63, 0x55, 0x13, 0xd9, 0x30, 0xcc, 0x06, 0x23, 0x12, 0xb1, 0x1a, - 0xd8, 0x19, 0xc0, 0x9e, 0x43, 0x23, 0x2c, 0x20, 0xf6, 0x1f, 0x5a, 0x7c, 0x61, 0xe9, 0x5d, 0x47, - 0xef, 0xc1, 0xf4, 0xae, 0x13, 0x37, 0xb6, 0x97, 0x1f, 0xb4, 0x43, 0xae, 0xfa, 0x96, 0xe3, 0xf4, - 0x6c, 0xbf, 0x71, 0xd2, 0x3e, 0x32, 0x31, 0x40, 0x5b, 0x4b, 0x11, 0xc3, 0x5d, 0xe4, 0xd1, 0x26, - 0x8c, 0xb1, 0x32, 0x66, 0xe9, 0x1c, 0xf5, 0x62, 0x0d, 0xf2, 0x5a, 0x53, 0x2f, 0xca, 0x6b, 0x09, - 0x1d, 0xac, 0x13, 0xb5, 0xbf, 0x52, 0xe4, 0xbb, 0x9d, 0x71, 0xdb, 0xcf, 0xc0, 0x48, 0x3b, 0x68, - 0x2e, 0xad, 0x56, 0xb1, 0x98, 0x05, 0x75, 0x8d, 0xd4, 0x78, 0x31, 0x96, 0x70, 0xf4, 0x1a, 0x00, - 0x79, 0x10, 0x93, 0xd0, 0x77, 0x3c, 0x65, 0x10, 0xa2, 0x4c, 0x20, 0xab, 0xc1, 0x7a, 0x10, 0xdf, - 0x8d, 0xc8, 0x77, 0x2d, 0x2b, 0x14, 0xac, 0xa1, 0xa3, 0xeb, 0x00, 0xed, 0x30, 0xd8, 0x73, 0x9b, - 0xcc, 0x75, 0xae, 0x68, 0x9a, 0x4b, 0xd4, 0x14, 0x04, 0x6b, 0x58, 0xe8, 0x35, 0x98, 0xe8, 0xf8, - 0x11, 0xe7, 0x50, 0x9c, 0x4d, 0x11, 0x79, 0x70, 0x34, 0xb1, 0x5c, 0xb8, 0xab, 0x03, 0xb1, 0x89, - 0x8b, 0x16, 0x60, 0x38, 0x76, 0x98, 0xbd, 0xc3, 0x50, 0xbe, 0xdd, 0xe2, 0x06, 0xc5, 0xd0, 0x03, - 0xc6, 0xd2, 0x0a, 0x58, 0x54, 0x44, 0x6f, 0x4b, 0x3f, 0x04, 0x7e, 0xd6, 0x0b, 0x83, 0xe1, 0xc1, - 0xee, 0x05, 0xcd, 0x0b, 0x41, 0x18, 0x22, 0x1b, 0xb4, 0xec, 0x6f, 0x94, 0x01, 0x12, 0x76, 0x1c, - 0xbd, 0xdf, 0x75, 0x1e, 0x3d, 0xd7, 0x9b, 0x81, 0x3f, 0xb9, 0xc3, 0x08, 0x7d, 0xbf, 0x05, 0x63, - 0x8e, 0xe7, 0x05, 0x0d, 0x27, 0x66, 0xa3, 0x5c, 0xe8, 0x7d, 0x1e, 0x8a, 0xf6, 0x17, 0x92, 0x1a, - 0xbc, 0x0b, 0x2f, 0xca, 0x85, 0xa7, 0x41, 0xfa, 0xf6, 0x42, 0x6f, 0x18, 0x7d, 0x4a, 0x4a, 0x69, - 0x7c, 0x79, 0xcc, 0xa5, 0xa5, 0xb4, 0x32, 0x3b, 0xfa, 0x35, 0x01, 0x0d, 0xdd, 0x35, 0x82, 0xca, - 0x95, 0xf2, 0xe3, 0x2b, 0x18, 0x5c, 0x69, 0xbf, 0x78, 0x72, 0xa8, 0xa6, 0x3b, 0x4e, 0x0d, 0xe5, - 0x07, 0x21, 0xd1, 0xc4, 0x9f, 0x3e, 0x4e, 0x53, 0xef, 0xc2, 0x54, 0xd3, 0xbc, 0xdb, 0xc5, 0x6a, - 0x7a, 0x3a, 0x8f, 0x6e, 0x8a, 0x15, 0x48, 0x6e, 0xf3, 0x14, 0x00, 0xa7, 0x09, 0xa3, 0x1a, 0x77, - 0x61, 0x5b, 0xf5, 0xb7, 0x02, 0x61, 0x78, 0x6e, 0xe7, 0xce, 0xe5, 0x7e, 0x14, 0x93, 0x5d, 0x8a, - 0x99, 0x5c, 0xda, 0xeb, 0xa2, 0x2e, 0x56, 0x54, 0xd0, 0x1b, 0x30, 0xcc, 0x7c, 0x60, 0xa3, 0xd9, - 0xd1, 0x7c, 0x45, 0xa1, 0x19, 0xbe, 0x21, 0xd9, 0x54, 0xec, 0x6f, 0x84, 0x05, 0x05, 0x74, 0x53, - 0xc6, 0x78, 0x89, 0x56, 0xfd, 0xbb, 0x11, 0x61, 0x31, 0x5e, 0xca, 0x8b, 0x1f, 0x4f, 0xc2, 0xb7, - 0xf0, 0xf2, 0xcc, 0xd0, 0xf0, 0x46, 0x4d, 0xca, 0x1c, 0x89, 0xff, 0x32, 0xe2, 0xfc, 0x2c, 0xe4, - 0x77, 0xcf, 0x8c, 0x4a, 0x9f, 0x0c, 0xe7, 0x3d, 0x93, 0x04, 0x4e, 0xd3, 0xa4, 0x8c, 0x26, 0xdf, - 0xb9, 0xc2, 0x74, 0xbd, 0xdf, 0xfe, 0xe7, 0xf2, 0x35, 0xbb, 0x64, 0x78, 0x09, 0x16, 0xf5, 0x4f, - 0xf5, 0xd6, 0x9f, 0xf3, 0x61, 0x3a, 0xbd, 0x45, 0x1f, 0x29, 0x97, 0xf1, 0xfb, 0x25, 0x98, 0x34, - 0x97, 0x14, 0xba, 0x06, 0x65, 0x41, 0x44, 0x05, 0x1c, 0x55, 0xbb, 0x64, 0x4d, 0x02, 0x70, 0x82, - 0xc3, 0xe2, 0xcc, 0xb2, 0xea, 0x9a, 0xc9, 0x61, 0x12, 0x67, 0x56, 0x41, 0xb0, 0x86, 0x45, 0xe5, - 0xa5, 0xcd, 0x20, 0x88, 0xd5, 0xa5, 0xa2, 0xd6, 0xdd, 0x22, 0x2b, 0xc5, 0x02, 0x4a, 0x2f, 0x93, - 0x1d, 0x12, 0xfa, 0xc4, 0x33, 0xe3, 0x98, 0xa9, 0xcb, 0xe4, 0x96, 0x0e, 0xc4, 0x26, 0x2e, 0xbd, - 0x25, 0x83, 0x88, 0x2d, 0x64, 0x21, 0x95, 0x25, 0x26, 0x9c, 0x75, 0xee, 0x4d, 0x2e, 0xe1, 0xe8, - 0x0b, 0xf0, 0x98, 0x72, 0xfe, 0xc6, 0x5c, 0x09, 0x2d, 0x5b, 0x1c, 0x36, 0x94, 0x28, 0x8f, 0x2d, - 0x65, 0xa3, 0xe1, 0xbc, 0xfa, 0xe8, 0x75, 0x98, 0x14, 0x9c, 0xbb, 0xa4, 0x38, 0x62, 0xda, 0x45, - 0xdc, 0x32, 0xa0, 0x38, 0x85, 0x2d, 0x23, 0xb1, 0x31, 0xe6, 0x59, 0x52, 0x18, 0xed, 0x8e, 0xc4, - 0xa6, 0xc3, 0x71, 0x57, 0x0d, 0xb4, 0x00, 0x53, 0x9c, 0xb5, 0x72, 0xfd, 0x16, 0x9f, 0x13, 0xe1, - 0x59, 0xa2, 0xb6, 0xd4, 0x1d, 0x13, 0x8c, 0xd3, 0xf8, 0xe8, 0x55, 0x18, 0x77, 0xc2, 0xc6, 0xb6, - 0x1b, 0x93, 0x46, 0xdc, 0x09, 0xb9, 0xcb, 0x89, 0x66, 0x58, 0xb2, 0xa0, 0xc1, 0xb0, 0x81, 0x69, - 0xbf, 0x0f, 0x67, 0x32, 0x9c, 0xd2, 0xe8, 0xc2, 0x71, 0xda, 0xae, 0xfc, 0xa6, 0x94, 0x31, 0xe6, - 0x42, 0x6d, 0x55, 0x7e, 0x8d, 0x86, 0x45, 0x57, 0x27, 0x73, 0x5e, 0xd3, 0x12, 0x4c, 0xa8, 0xd5, - 0xb9, 0x22, 0x01, 0x38, 0xc1, 0xb1, 0xff, 0x57, 0x01, 0xa6, 0x32, 0x14, 0xeb, 0x2c, 0xc9, 0x41, - 0x4a, 0xf6, 0x48, 0x72, 0x1a, 0x98, 0x81, 0xfd, 0x0a, 0xc7, 0x08, 0xec, 0x57, 0xec, 0x17, 0xd8, - 0xaf, 0xf4, 0x41, 0x02, 0xfb, 0x99, 0x23, 0x36, 0x34, 0xd0, 0x88, 0x65, 0x04, 0x03, 0x1c, 0x3e, - 0x66, 0x30, 0x40, 0x63, 0xd0, 0x47, 0x06, 0x18, 0xf4, 0x1f, 0x29, 0xc0, 0x74, 0xda, 0x00, 0xee, - 0x14, 0xd4, 0xb1, 0x6f, 0x18, 0xea, 0xd8, 0xec, 0x94, 0x21, 0x69, 0xb3, 0xbc, 0x3c, 0xd5, 0x2c, - 0x4e, 0xa9, 0x66, 0x3f, 0x39, 0x10, 0xb5, 0xde, 0x6a, 0xda, 0xbf, 0x53, 0x80, 0x73, 0xe9, 0x2a, - 0x4b, 0x9e, 0xe3, 0xee, 0x9e, 0xc2, 0xd8, 0xdc, 0x31, 0xc6, 0xe6, 0xf9, 0x41, 0xbe, 0x86, 0x75, - 0x2d, 0x77, 0x80, 0xde, 0x4a, 0x0d, 0xd0, 0xb5, 0xc1, 0x49, 0xf6, 0x1e, 0xa5, 0x6f, 0x16, 0xe1, - 0x52, 0x66, 0xbd, 0x44, 0x9b, 0xb9, 0x62, 0x68, 0x33, 0xaf, 0xa7, 0xb4, 0x99, 0x76, 0xef, 0xda, - 0x27, 0xa3, 0xde, 0x14, 0xde, 0x82, 0x2c, 0xf8, 0xdb, 0x43, 0xaa, 0x36, 0x0d, 0x6f, 0x41, 0x45, - 0x08, 0x9b, 0x74, 0xff, 0x3c, 0xa9, 0x34, 0xff, 0xb5, 0x05, 0x17, 0x32, 0xe7, 0xe6, 0x14, 0x54, - 0x58, 0xeb, 0xa6, 0x0a, 0xeb, 0x99, 0x81, 0x57, 0x6b, 0x8e, 0x4e, 0xeb, 0x0f, 0x8a, 0x39, 0xdf, - 0xc2, 0x04, 0xf4, 0x3b, 0x30, 0xe6, 0x34, 0x1a, 0x24, 0x8a, 0xd6, 0x82, 0xa6, 0x0a, 0x86, 0xf6, - 0x3c, 0x93, 0xb3, 0x92, 0xe2, 0xa3, 0x83, 0xca, 0x5c, 0x9a, 0x44, 0x02, 0xc6, 0x3a, 0x05, 0x33, - 0x7e, 0x63, 0xe1, 0x44, 0xe3, 0x37, 0x5e, 0x07, 0xd8, 0x53, 0xdc, 0x7a, 0x5a, 0xc8, 0xd7, 0xf8, - 0x78, 0x0d, 0x0b, 0x7d, 0x11, 0x46, 0x23, 0x71, 0x8d, 0x8b, 0xa5, 0xf8, 0xe2, 0x80, 0x73, 0xe5, - 0x6c, 0x12, 0xcf, 0x74, 0x4b, 0x57, 0xfa, 0x10, 0x45, 0x12, 0x7d, 0x07, 0x4c, 0x47, 0x3c, 0xea, - 0xc9, 0x92, 0xe7, 0x44, 0xcc, 0xc7, 0x41, 0xac, 0x42, 0xe6, 0x6b, 0x5e, 0x4f, 0xc1, 0x70, 0x17, - 0x36, 0x5a, 0x91, 0x1f, 0xc5, 0x42, 0xb4, 0xf0, 0x85, 0x79, 0x25, 0xf9, 0x20, 0x91, 0x62, 0xe9, - 0x6c, 0x7a, 0xf8, 0xd9, 0xc0, 0x6b, 0x35, 0xed, 0x1f, 0x29, 0xc1, 0xe3, 0x3d, 0x0e, 0x31, 0xb4, - 0x60, 0xbe, 0x51, 0x3e, 0x9b, 0x96, 0x7e, 0xe7, 0x32, 0x2b, 0x1b, 0xe2, 0x70, 0x6a, 0xad, 0x14, - 0x3e, 0xf0, 0x5a, 0xf9, 0x41, 0x4b, 0xd3, 0x4b, 0x70, 0x4b, 0xba, 0xcf, 0x1d, 0xf3, 0x70, 0x3e, - 0x41, 0x45, 0xc5, 0x56, 0x86, 0xb4, 0x7f, 0x7d, 0xe0, 0xee, 0x0c, 0x2c, 0xfe, 0x9f, 0xae, 0x76, - 0xf6, 0x2b, 0x16, 0x3c, 0x99, 0xd9, 0x5f, 0xc3, 0xa6, 0xe2, 0x1a, 0x94, 0x1b, 0xb4, 0x50, 0xf3, - 0x9b, 0x4a, 0x1c, 0x4a, 0x25, 0x00, 0x27, 0x38, 0x86, 0xe9, 0x44, 0xa1, 0xaf, 0xe9, 0xc4, 0x3f, - 0xb7, 0xa0, 0x6b, 0x01, 0x9f, 0xc2, 0x49, 0xba, 0x6a, 0x9e, 0xa4, 0x1f, 0x1f, 0x64, 0x2e, 0x73, - 0x0e, 0xd1, 0xff, 0x3c, 0x05, 0xe7, 0x73, 0x1c, 0x25, 0xf6, 0x60, 0xa6, 0xd5, 0x20, 0xa6, 0x47, - 0x9a, 0xf8, 0x98, 0x4c, 0xe7, 0xbd, 0x9e, 0xee, 0x6b, 0x2c, 0x37, 0xce, 0x4c, 0x17, 0x0a, 0xee, - 0x6e, 0x02, 0x7d, 0xc5, 0x82, 0xb3, 0xce, 0xfd, 0xa8, 0x2b, 0x03, 0xa2, 0x58, 0x33, 0x2f, 0x65, - 0x6a, 0x29, 0xfa, 0x64, 0x4c, 0xe4, 0xc9, 0x82, 0xb2, 0xb0, 0x70, 0x66, 0x5b, 0x08, 0x8b, 0xf8, - 0x95, 0x94, 0xdf, 0xee, 0xe1, 0x33, 0x99, 0xe5, 0xd1, 0xc2, 0xcf, 0x54, 0x09, 0xc1, 0x8a, 0x0e, - 0xba, 0x07, 0xe5, 0x96, 0x74, 0x33, 0x13, 0x67, 0x76, 0xe6, 0x25, 0x98, 0xe9, 0x8b, 0xc6, 0xdf, - 0x0d, 0x15, 0x08, 0x27, 0xa4, 0xd0, 0xeb, 0x50, 0xf4, 0xb7, 0xa2, 0x5e, 0x59, 0x76, 0x52, 0xa6, - 0x46, 0xdc, 0x1f, 0x79, 0x7d, 0xa5, 0x8e, 0x69, 0x45, 0x74, 0x13, 0x8a, 0xe1, 0x66, 0x53, 0x28, - 0xd6, 0x32, 0xf9, 0x52, 0xbc, 0x58, 0xcd, 0x5e, 0x24, 0x9c, 0x12, 0x5e, 0xac, 0x62, 0x4a, 0x02, - 0xd5, 0x60, 0x88, 0xf9, 0x14, 0x08, 0xfd, 0x59, 0x26, 0x43, 0xda, 0xc3, 0x37, 0x87, 0x3b, 0x2d, - 0x33, 0x04, 0xcc, 0x09, 0xa1, 0x0d, 0x18, 0x6e, 0xb0, 0x8c, 0x2c, 0x22, 0x64, 0xf2, 0xa7, 0x32, - 0x55, 0x68, 0x3d, 0x52, 0xd5, 0x08, 0x8d, 0x12, 0xc3, 0xc0, 0x82, 0x16, 0xa3, 0x4a, 0xda, 0xdb, - 0x5b, 0x11, 0x13, 0xc1, 0xf3, 0xa8, 0xf6, 0xc8, 0xc0, 0x24, 0xa8, 0x32, 0x0c, 0x2c, 0x68, 0xa1, - 0xcf, 0x40, 0x61, 0xab, 0x21, 0x5c, 0x0e, 0x32, 0x75, 0x69, 0xa6, 0x4b, 0xf9, 0xe2, 0xf0, 0xe1, - 0x41, 0xa5, 0xb0, 0xb2, 0x84, 0x0b, 0x5b, 0x0d, 0xb4, 0x0e, 0x23, 0x5b, 0xdc, 0x09, 0x55, 0xa8, - 0xcb, 0x9e, 0xce, 0xf6, 0x8f, 0xed, 0xf2, 0x53, 0xe5, 0xa6, 0xf2, 0x02, 0x80, 0x25, 0x11, 0x16, - 0x04, 0x52, 0x39, 0xd3, 0x8a, 0x68, 0xc8, 0xf3, 0xc7, 0x73, 0x80, 0xe6, 0xee, 0xed, 0x89, 0x4b, - 0x2e, 0xd6, 0x28, 0xa2, 0x2f, 0x43, 0xd9, 0x91, 0xb9, 0xf7, 0x44, 0xb4, 0x88, 0x17, 0x33, 0x37, - 0x66, 0xef, 0xb4, 0x84, 0x7c, 0x55, 0x2b, 0x24, 0x9c, 0x10, 0x45, 0x3b, 0x30, 0xb1, 0x17, 0xb5, - 0xb7, 0x89, 0xdc, 0xc8, 0x2c, 0x78, 0x44, 0xce, 0xc5, 0x75, 0x4f, 0x20, 0xba, 0x61, 0xdc, 0x71, - 0xbc, 0xae, 0xb3, 0x87, 0x3d, 0x36, 0xdf, 0xd3, 0x89, 0x61, 0x93, 0x36, 0x1d, 0xfe, 0xf7, 0x3a, - 0xc1, 0xe6, 0x7e, 0x4c, 0x44, 0xf8, 0xe4, 0xcc, 0xe1, 0x7f, 0x93, 0xa3, 0x74, 0x0f, 0xbf, 0x00, - 0x60, 0x49, 0x84, 0x6e, 0x75, 0x47, 0xe6, 0xb5, 0x64, 0x61, 0x93, 0x73, 0xb6, 0x7a, 0x66, 0xf2, - 0x4b, 0x6d, 0x50, 0xd8, 0x19, 0x99, 0x90, 0x62, 0x67, 0x63, 0x7b, 0x3b, 0x88, 0x03, 0x3f, 0x75, - 0x2e, 0xcf, 0xe4, 0x9f, 0x8d, 0xb5, 0x0c, 0xfc, 0xee, 0xb3, 0x31, 0x0b, 0x0b, 0x67, 0xb6, 0x85, - 0x9a, 0x30, 0xd9, 0x0e, 0xc2, 0xf8, 0x7e, 0x10, 0xca, 0xf5, 0x85, 0x7a, 0x88, 0xfb, 0x06, 0xa6, - 0x68, 0x91, 0x85, 0xf3, 0x36, 0x21, 0x38, 0x45, 0x13, 0x7d, 0x1e, 0x46, 0xa2, 0x86, 0xe3, 0x91, - 0xd5, 0x3b, 0xb3, 0x67, 0xf2, 0x2f, 0x9d, 0x3a, 0x47, 0xc9, 0x59, 0x5d, 0x6c, 0x72, 0x04, 0x0a, - 0x96, 0xe4, 0xd0, 0x0a, 0x0c, 0xb1, 0x98, 0xfc, 0x2c, 0xf2, 0x73, 0x4e, 0x54, 0xa2, 0x2e, 0xa3, - 0x4e, 0x7e, 0x36, 0xb1, 0x62, 0xcc, 0xab, 0xd3, 0x3d, 0x20, 0xb8, 0xde, 0x20, 0x9a, 0x3d, 0x97, - 0xbf, 0x07, 0x04, 0xb3, 0x7c, 0xa7, 0xde, 0x6b, 0x0f, 0x28, 0x24, 0x9c, 0x10, 0xa5, 0x27, 0x33, - 0x3d, 0x4d, 0xcf, 0xf7, 0xb0, 0x33, 0xc9, 0x3d, 0x4b, 0xd9, 0xc9, 0x4c, 0x4f, 0x52, 0x4a, 0xc2, - 0xfe, 0xdd, 0x91, 0x6e, 0x4e, 0x85, 0xc9, 0x49, 0x7f, 0xd1, 0xea, 0x7a, 0x42, 0xfb, 0xf4, 0xa0, - 0x6a, 0x9b, 0x13, 0xe4, 0x51, 0xbf, 0x62, 0xc1, 0xf9, 0x76, 0xe6, 0x87, 0x88, 0x6b, 0x7f, 0x30, - 0xed, 0x0f, 0xff, 0x74, 0x15, 0x9d, 0x3d, 0x1b, 0x8e, 0x73, 0x5a, 0x4a, 0xcb, 0x01, 0xc5, 0x0f, - 0x2c, 0x07, 0xac, 0xc1, 0x28, 0x63, 0x2d, 0xfb, 0x64, 0x28, 0x4b, 0x7b, 0xa1, 0x31, 0x06, 0x62, - 0x49, 0x54, 0xc4, 0x8a, 0x04, 0xfa, 0x21, 0x0b, 0x2e, 0xa6, 0xbb, 0x8e, 0x09, 0x03, 0x8b, 0x58, - 0xe6, 0x5c, 0x44, 0x5b, 0x11, 0xdf, 0x7f, 0xb1, 0xd6, 0x0b, 0xf9, 0xa8, 0x1f, 0x02, 0xee, 0xdd, - 0x18, 0xaa, 0x66, 0xc8, 0x88, 0xc3, 0xa6, 0x5e, 0x7c, 0x00, 0x39, 0xf1, 0x25, 0x18, 0xdf, 0x0d, - 0x3a, 0x7e, 0x2c, 0xcc, 0x52, 0x84, 0x93, 0x20, 0x7b, 0x07, 0x5e, 0xd3, 0xca, 0xb1, 0x81, 0x95, - 0x92, 0x2e, 0x47, 0x1f, 0x56, 0xba, 0x44, 0xef, 0xa4, 0xf2, 0x50, 0x97, 0xf3, 0x63, 0xe6, 0x09, - 0x41, 0xfc, 0x18, 0xd9, 0xa8, 0x4f, 0x57, 0x22, 0xfa, 0x59, 0x2b, 0x83, 0x95, 0xe7, 0x32, 0xf2, - 0x67, 0x4d, 0x19, 0xf9, 0x4a, 0x5a, 0x46, 0xee, 0xd2, 0x89, 0x1a, 0xe2, 0xf1, 0xe0, 0x81, 0x97, - 0x07, 0x8d, 0x64, 0x66, 0x7b, 0x70, 0xb9, 0xdf, 0xb5, 0xc4, 0xec, 0x93, 0x9a, 0xea, 0x05, 0x2c, - 0xb1, 0x4f, 0x6a, 0xae, 0x56, 0x31, 0x83, 0x0c, 0x1a, 0xea, 0xc2, 0xfe, 0x6f, 0x16, 0x14, 0x6b, - 0x41, 0xf3, 0x14, 0x74, 0xbc, 0x9f, 0x33, 0x74, 0xbc, 0x8f, 0xe7, 0xe4, 0x07, 0xcf, 0xd5, 0xe8, - 0x2e, 0xa7, 0x34, 0xba, 0x17, 0xf3, 0x08, 0xf4, 0xd6, 0xdf, 0xfe, 0x54, 0x11, 0xf4, 0x6c, 0xe6, - 0xe8, 0x5f, 0x3e, 0x8c, 0x71, 0x70, 0xb1, 0x57, 0x82, 0x73, 0x41, 0x99, 0x99, 0x35, 0x49, 0xbf, - 0xb7, 0x3f, 0x63, 0x36, 0xc2, 0x6f, 0x11, 0xb7, 0xb5, 0x1d, 0x93, 0x66, 0xfa, 0x73, 0x4e, 0xcf, - 0x46, 0xf8, 0xbf, 0x58, 0x30, 0x95, 0x6a, 0x1d, 0x79, 0x30, 0xe1, 0xe9, 0x0a, 0x3a, 0xb1, 0x4e, - 0x1f, 0x4a, 0xb7, 0x27, 0x6c, 0x2c, 0xb5, 0x22, 0x6c, 0x12, 0x47, 0xf3, 0x00, 0xea, 0x01, 0x4d, - 0xea, 0xbd, 0x18, 0xd7, 0xaf, 0x5e, 0xd8, 0x22, 0xac, 0x61, 0xa0, 0x97, 0x61, 0x2c, 0x0e, 0xda, - 0x81, 0x17, 0xb4, 0xf6, 0x6f, 0x11, 0x19, 0x5c, 0x45, 0x59, 0x4e, 0x6d, 0x24, 0x20, 0xac, 0xe3, - 0xd9, 0x3f, 0x53, 0x84, 0x74, 0x06, 0xfc, 0x6f, 0xad, 0xc9, 0x8f, 0xe6, 0x9a, 0xfc, 0xa6, 0x05, - 0xd3, 0xb4, 0x75, 0x66, 0xc5, 0x21, 0x2f, 0x5b, 0x95, 0x00, 0xc6, 0xea, 0x91, 0x00, 0xe6, 0x0a, - 0x3d, 0xbb, 0x9a, 0x41, 0x27, 0x16, 0x7a, 0x33, 0xed, 0x70, 0xa2, 0xa5, 0x58, 0x40, 0x05, 0x1e, - 0x09, 0x43, 0xe1, 0x9a, 0xa4, 0xe3, 0x91, 0x30, 0xc4, 0x02, 0x2a, 0xf3, 0xc3, 0x94, 0x72, 0xf2, - 0xc3, 0xb0, 0x50, 0x71, 0xe2, 0xbd, 0x5f, 0xb0, 0x3d, 0x5a, 0xa8, 0x38, 0x69, 0x08, 0x90, 0xe0, - 0xd8, 0xbf, 0x50, 0x84, 0xf1, 0x5a, 0xd0, 0x4c, 0x9e, 0xb0, 0x5e, 0x32, 0x9e, 0xb0, 0x2e, 0xa7, - 0x9e, 0xb0, 0xa6, 0x75, 0xdc, 0x6f, 0x3d, 0x58, 0x7d, 0x58, 0x0f, 0x56, 0xff, 0xcc, 0x62, 0xb3, - 0x56, 0x5d, 0xaf, 0x8b, 0xfc, 0xb4, 0x2f, 0xc0, 0x18, 0x3b, 0x90, 0x98, 0x2f, 0x9c, 0x7c, 0xd7, - 0x61, 0xa1, 0xdf, 0xd7, 0x93, 0x62, 0xac, 0xe3, 0xa0, 0xab, 0x30, 0x1a, 0x11, 0x27, 0x6c, 0x6c, - 0xab, 0x33, 0x4e, 0xbc, 0x7a, 0xf0, 0x32, 0xac, 0xa0, 0xe8, 0xcd, 0x24, 0x4a, 0x59, 0x31, 0x3f, - 0xd3, 0xaa, 0xde, 0x1f, 0xbe, 0x45, 0xf2, 0x43, 0x93, 0xd9, 0x6f, 0x01, 0xea, 0xc6, 0x1f, 0x20, - 0x1e, 0x51, 0xc5, 0x8c, 0x47, 0x54, 0xee, 0x8a, 0x45, 0xf4, 0x27, 0x16, 0x4c, 0xd6, 0x82, 0x26, - 0xdd, 0xba, 0x7f, 0x9e, 0xf6, 0xa9, 0x1e, 0xa2, 0x71, 0xb8, 0x47, 0x88, 0xc6, 0xbf, 0x6b, 0xc1, - 0x48, 0x2d, 0x68, 0x9e, 0x82, 0xb6, 0xfd, 0xb3, 0xa6, 0xb6, 0xfd, 0xb1, 0x9c, 0x25, 0x91, 0xa3, - 0x60, 0xff, 0xa5, 0x22, 0x4c, 0xd0, 0x7e, 0x06, 0x2d, 0x39, 0x4b, 0xc6, 0x88, 0x58, 0x03, 0x8c, - 0x08, 0x65, 0x73, 0x03, 0xcf, 0x0b, 0xee, 0xa7, 0x67, 0x6c, 0x85, 0x95, 0x62, 0x01, 0x45, 0xcf, - 0xc1, 0x68, 0x3b, 0x24, 0x7b, 0x6e, 0x20, 0xf8, 0x47, 0xed, 0xed, 0xa2, 0x26, 0xca, 0xb1, 0xc2, - 0xa0, 0x72, 0x57, 0xe4, 0xfa, 0x0d, 0x22, 0xd3, 0x3c, 0x97, 0x58, 0x26, 0x28, 0x1e, 0x7b, 0x59, - 0x2b, 0xc7, 0x06, 0x16, 0x7a, 0x0b, 0xca, 0xec, 0x3f, 0x3b, 0x51, 0x8e, 0x9f, 0xb9, 0x46, 0x24, - 0x3c, 0x10, 0x04, 0x70, 0x42, 0x0b, 0x5d, 0x07, 0x88, 0x65, 0x7c, 0xde, 0x48, 0x84, 0x95, 0x51, - 0xbc, 0xb6, 0x8a, 0xdc, 0x1b, 0x61, 0x0d, 0x0b, 0x3d, 0x0b, 0xe5, 0xd8, 0x71, 0xbd, 0xdb, 0xae, - 0x4f, 0x22, 0xa6, 0x72, 0x2e, 0xca, 0x7c, 0x06, 0xa2, 0x10, 0x27, 0x70, 0xca, 0xeb, 0x30, 0x9f, - 0x6b, 0x9e, 0xf7, 0x6a, 0x94, 0x61, 0x33, 0x5e, 0xe7, 0xb6, 0x2a, 0xc5, 0x1a, 0x86, 0xfd, 0x2a, - 0x9c, 0xab, 0x05, 0xcd, 0x5a, 0x10, 0xc6, 0x2b, 0x41, 0x78, 0xdf, 0x09, 0x9b, 0x72, 0xfe, 0x2a, - 0x32, 0xb4, 0x3e, 0x3d, 0x7b, 0x86, 0xf8, 0xce, 0x34, 0x82, 0xe6, 0xbf, 0xc8, 0xb8, 0x9d, 0x63, - 0xfa, 0x5a, 0x34, 0xd8, 0xbd, 0xab, 0x52, 0xdc, 0xdd, 0x70, 0x62, 0x82, 0xee, 0xb0, 0xb4, 0x58, - 0xc9, 0x15, 0x24, 0xaa, 0x3f, 0xa3, 0xa5, 0xc5, 0x4a, 0x80, 0x99, 0x77, 0x96, 0x59, 0xdf, 0xfe, - 0xb5, 0x22, 0x3b, 0x8d, 0x52, 0x19, 0xdf, 0xd0, 0x97, 0x60, 0x32, 0x22, 0xb7, 0x5d, 0xbf, 0xf3, - 0x40, 0x0a, 0xe1, 0x3d, 0xbc, 0x65, 0xea, 0xcb, 0x3a, 0x26, 0x57, 0xe5, 0x99, 0x65, 0x38, 0x45, - 0x8d, 0xce, 0x53, 0xd8, 0xf1, 0x17, 0xa2, 0xbb, 0x11, 0x09, 0x45, 0xc6, 0x31, 0x36, 0x4f, 0x58, - 0x16, 0xe2, 0x04, 0x4e, 0xd7, 0x25, 0xfb, 0xb3, 0x1e, 0xf8, 0x38, 0x08, 0x62, 0xb9, 0x92, 0x59, - 0xce, 0x1a, 0xad, 0x1c, 0x1b, 0x58, 0x68, 0x05, 0x50, 0xd4, 0x69, 0xb7, 0x3d, 0xf6, 0xde, 0xee, - 0x78, 0x37, 0xc2, 0xa0, 0xd3, 0xe6, 0x6f, 0x9d, 0xc5, 0xc5, 0xf3, 0xf4, 0x0a, 0xab, 0x77, 0x41, - 0x71, 0x46, 0x0d, 0x7a, 0xfa, 0x6c, 0x45, 0xec, 0x37, 0x5b, 0xdd, 0x45, 0xa1, 0x5e, 0xaf, 0xb3, - 0x22, 0x2c, 0x61, 0x74, 0x31, 0xb1, 0xe6, 0x39, 0xe6, 0x70, 0xb2, 0x98, 0xb0, 0x2a, 0xc5, 0x1a, - 0x06, 0x5a, 0x86, 0x91, 0x68, 0x3f, 0x6a, 0xc4, 0x22, 0x08, 0x52, 0x4e, 0xee, 0xc8, 0x3a, 0x43, - 0xd1, 0xf2, 0x19, 0xf0, 0x2a, 0x58, 0xd6, 0xb5, 0xbf, 0x87, 0x5d, 0x86, 0x2c, 0x3f, 0x55, 0xdc, - 0x09, 0x09, 0xda, 0x85, 0x89, 0x36, 0x9b, 0x72, 0x11, 0x3d, 0x59, 0xcc, 0xdb, 0x4b, 0x03, 0x4a, - 0xb5, 0xf7, 0xe9, 0x41, 0xa3, 0xb4, 0x4e, 0x4c, 0x5c, 0xa8, 0xe9, 0xe4, 0xb0, 0x49, 0xdd, 0xfe, - 0x37, 0x33, 0xec, 0xcc, 0xad, 0x73, 0x51, 0x75, 0x44, 0x58, 0xfc, 0x0a, 0xbe, 0x7c, 0x2e, 0x5f, - 0x67, 0x92, 0x7c, 0x91, 0xb0, 0x1a, 0xc6, 0xb2, 0x2e, 0x7a, 0x93, 0xbd, 0x4d, 0xf3, 0x83, 0xae, - 0x5f, 0x9a, 0x60, 0x8e, 0x65, 0x3c, 0x43, 0x8b, 0x8a, 0x58, 0x23, 0x82, 0x6e, 0xc3, 0x84, 0x48, - 0x67, 0x24, 0x94, 0x62, 0x45, 0x43, 0xe9, 0x31, 0x81, 0x75, 0xe0, 0x51, 0xba, 0x00, 0x9b, 0x95, - 0x51, 0x0b, 0x2e, 0x6a, 0xb9, 0xfd, 0x6e, 0x84, 0x0e, 0x7b, 0xaf, 0x74, 0xd9, 0x26, 0xd2, 0xce, - 0xcd, 0x27, 0x0f, 0x0f, 0x2a, 0x17, 0x37, 0x7a, 0x21, 0xe2, 0xde, 0x74, 0xd0, 0x1d, 0x38, 0xc7, - 0x1d, 0xeb, 0xaa, 0xc4, 0x69, 0x7a, 0xae, 0xaf, 0x0e, 0x66, 0xbe, 0x0e, 0x2f, 0x1c, 0x1e, 0x54, - 0xce, 0x2d, 0x64, 0x21, 0xe0, 0xec, 0x7a, 0xe8, 0xb3, 0x50, 0x6e, 0xfa, 0x91, 0x18, 0x83, 0x61, - 0x23, 0x6d, 0x65, 0xb9, 0xba, 0x5e, 0x57, 0xdf, 0x9f, 0xfc, 0xc1, 0x49, 0x05, 0xd4, 0xe2, 0x8a, - 0x31, 0x25, 0x87, 0x8e, 0xe4, 0xa7, 0x28, 0x17, 0x4b, 0xc2, 0x70, 0xad, 0xe1, 0x1a, 0x61, 0x65, - 0x9a, 0x6a, 0x78, 0xdd, 0x18, 0x84, 0xd1, 0x1b, 0x80, 0x28, 0xa3, 0xe6, 0x36, 0xc8, 0x42, 0x83, - 0x05, 0xb1, 0x66, 0x7a, 0xc4, 0x51, 0xc3, 0x95, 0x01, 0xd5, 0xbb, 0x30, 0x70, 0x46, 0x2d, 0x74, - 0x93, 0x1e, 0x64, 0x7a, 0xa9, 0x30, 0xb1, 0x95, 0xcc, 0xfd, 0x6c, 0x95, 0xb4, 0x43, 0xd2, 0x70, - 0x62, 0xd2, 0x34, 0x29, 0xe2, 0x54, 0x3d, 0x7a, 0x97, 0xaa, 0x7c, 0x36, 0x60, 0x46, 0xaa, 0xe8, - 0xce, 0x69, 0x43, 0xe5, 0xe2, 0xed, 0x20, 0x8a, 0xd7, 0x49, 0x7c, 0x3f, 0x08, 0x77, 0x44, 0x60, - 0xb0, 0x24, 0x46, 0x65, 0x02, 0xc2, 0x3a, 0x1e, 0xe5, 0x83, 0xd9, 0xe3, 0xf0, 0x6a, 0x95, 0xbd, - 0xd0, 0x8d, 0x26, 0xfb, 0xe4, 0x26, 0x2f, 0xc6, 0x12, 0x2e, 0x51, 0x57, 0x6b, 0x4b, 0xec, 0xb5, - 0x2d, 0x85, 0xba, 0x5a, 0x5b, 0xc2, 0x12, 0x8e, 0x48, 0x77, 0x4a, 0xd0, 0xc9, 0x7c, 0xad, 0x66, - 0xf7, 0x75, 0x30, 0x60, 0x56, 0x50, 0x1f, 0xa6, 0x55, 0x32, 0x52, 0x1e, 0x31, 0x2d, 0x9a, 0x9d, - 0x62, 0x8b, 0x64, 0xf0, 0x70, 0x6b, 0x4a, 0x4f, 0xbc, 0x9a, 0xa2, 0x84, 0xbb, 0x68, 0x1b, 0xb1, - 0x43, 0xa6, 0xfb, 0xe6, 0x23, 0xba, 0x06, 0xe5, 0xa8, 0xb3, 0xd9, 0x0c, 0x76, 0x1d, 0xd7, 0x67, - 0x8f, 0x63, 0x1a, 0x93, 0x55, 0x97, 0x00, 0x9c, 0xe0, 0xa0, 0x15, 0x18, 0x75, 0xa4, 0x12, 0x18, - 0xe5, 0x07, 0x13, 0x50, 0xaa, 0x5f, 0xee, 0x5f, 0x2b, 0xd5, 0xbe, 0xaa, 0x2e, 0x7a, 0x0d, 0x26, - 0x84, 0x3b, 0x15, 0x0f, 0xb1, 0xc0, 0x1e, 0xaf, 0x34, 0x7b, 0xf9, 0xba, 0x0e, 0xc4, 0x26, 0x2e, - 0xfa, 0x22, 0x4c, 0x52, 0x2a, 0xc9, 0xc1, 0x36, 0x7b, 0x76, 0x90, 0x13, 0x51, 0xcb, 0x33, 0xa1, - 0x57, 0xc6, 0x29, 0x62, 0xa8, 0x09, 0x4f, 0x38, 0x9d, 0x38, 0x60, 0x8a, 0x74, 0x73, 0xfd, 0x6f, - 0x04, 0x3b, 0xc4, 0x67, 0x6f, 0x58, 0xa3, 0x8b, 0x97, 0x0f, 0x0f, 0x2a, 0x4f, 0x2c, 0xf4, 0xc0, - 0xc3, 0x3d, 0xa9, 0xa0, 0xbb, 0x30, 0x16, 0x07, 0x1e, 0xb3, 0x5c, 0xa7, 0xac, 0xc4, 0xf9, 0xfc, - 0xd8, 0x3b, 0x1b, 0x0a, 0x4d, 0x57, 0x22, 0xa9, 0xaa, 0x58, 0xa7, 0x83, 0x36, 0xf8, 0x1e, 0x63, - 0x51, 0x49, 0x49, 0x34, 0xfb, 0x58, 0xfe, 0xc0, 0xa8, 0xe0, 0xa5, 0xe6, 0x16, 0x14, 0x35, 0xb1, - 0x4e, 0x06, 0xdd, 0x80, 0x99, 0x76, 0xe8, 0x06, 0x6c, 0x61, 0xab, 0x47, 0x8c, 0x59, 0x33, 0xb5, - 0x40, 0x2d, 0x8d, 0x80, 0xbb, 0xeb, 0x50, 0x21, 0x53, 0x16, 0xce, 0x5e, 0xe0, 0x79, 0xaa, 0x38, - 0xe3, 0xcd, 0xcb, 0xb0, 0x82, 0xa2, 0x35, 0x76, 0x2e, 0x73, 0x71, 0x70, 0x76, 0x2e, 0x3f, 0x08, - 0x83, 0x2e, 0x36, 0x72, 0x7e, 0x49, 0xfd, 0xc5, 0x09, 0x05, 0x7a, 0x6f, 0x44, 0xdb, 0x4e, 0x48, - 0x6a, 0x61, 0xd0, 0x20, 0xbc, 0x33, 0xdc, 0x68, 0xfe, 0x71, 0x1e, 0x3c, 0x91, 0xde, 0x1b, 0xf5, - 0x2c, 0x04, 0x9c, 0x5d, 0x0f, 0x35, 0xb5, 0xf4, 0xcc, 0x94, 0x0d, 0x8d, 0x66, 0x9f, 0xe8, 0x61, - 0x66, 0x94, 0xe2, 0x59, 0x93, 0xb5, 0x68, 0x14, 0x47, 0x38, 0x45, 0x13, 0x7d, 0x07, 0x4c, 0x8b, - 0x58, 0x43, 0xc9, 0xb8, 0x5f, 0x4c, 0x0c, 0x0c, 0x71, 0x0a, 0x86, 0xbb, 0xb0, 0xe7, 0xbe, 0x1d, - 0x66, 0xba, 0x6e, 0x9c, 0x63, 0x45, 0xfe, 0xfe, 0xe3, 0x21, 0x28, 0x2b, 0x65, 0x3a, 0xba, 0x66, - 0xbe, 0x91, 0x5c, 0x48, 0xbf, 0x91, 0x8c, 0x52, 0x9e, 0x5e, 0x7f, 0x16, 0xd9, 0x30, 0xcc, 0xea, - 0x0a, 0xf9, 0x79, 0xb6, 0x74, 0xae, 0xbc, 0xaf, 0x0f, 0x9d, 0xa6, 0x1b, 0x29, 0x0e, 0xfc, 0xd8, - 0x52, 0xea, 0xa9, 0x6e, 0x19, 0x30, 0xcd, 0x2d, 0x7a, 0x8a, 0x0a, 0x36, 0xcd, 0xd5, 0x5a, 0x3a, - 0xef, 0x63, 0x8d, 0x16, 0x62, 0x0e, 0x63, 0x02, 0x20, 0x65, 0x8f, 0x98, 0x00, 0x38, 0xf2, 0x90, - 0x02, 0xa0, 0x24, 0x80, 0x13, 0x5a, 0xc8, 0x83, 0x99, 0x86, 0x99, 0xb2, 0x53, 0xf9, 0xcd, 0x3d, - 0xd5, 0x37, 0x79, 0x66, 0x47, 0xcb, 0x8f, 0xb6, 0x94, 0xa6, 0x82, 0xbb, 0x09, 0xa3, 0xd7, 0x60, - 0xf4, 0xbd, 0x20, 0x62, 0x8b, 0x49, 0xf0, 0x08, 0xd2, 0xbf, 0x68, 0xf4, 0xcd, 0x3b, 0x75, 0x56, - 0x7e, 0x74, 0x50, 0x19, 0xab, 0x05, 0x4d, 0xf9, 0x17, 0xab, 0x0a, 0xe8, 0x01, 0x9c, 0x33, 0x4e, - 0x56, 0xd5, 0x5d, 0x18, 0xbc, 0xbb, 0x17, 0x45, 0x73, 0xe7, 0x56, 0xb3, 0x28, 0xe1, 0xec, 0x06, - 0xe8, 0x71, 0xe5, 0x07, 0x22, 0xdd, 0xad, 0xe4, 0x43, 0x18, 0xbb, 0x51, 0xd6, 0xbd, 0xcb, 0x53, - 0x08, 0xb8, 0xbb, 0x8e, 0xfd, 0x35, 0xfe, 0xf6, 0x20, 0x34, 0x94, 0x24, 0xea, 0x78, 0xa7, 0x91, - 0x4d, 0x69, 0xd9, 0x50, 0x9e, 0x3e, 0xf4, 0xfb, 0xd6, 0x6f, 0x58, 0xec, 0x7d, 0x6b, 0x83, 0xec, - 0xb6, 0x3d, 0x2a, 0x27, 0x3f, 0xfa, 0x8e, 0xbf, 0x09, 0xa3, 0xb1, 0x68, 0xad, 0x57, 0x02, 0x28, - 0xad, 0x53, 0xec, 0x8d, 0x4f, 0x71, 0x28, 0xb2, 0x14, 0x2b, 0x32, 0xf6, 0x3f, 0xe1, 0x33, 0x20, - 0x21, 0xa7, 0xa0, 0xc8, 0xaa, 0x9a, 0x8a, 0xac, 0x4a, 0x9f, 0x2f, 0xc8, 0x51, 0x68, 0xfd, 0x63, - 0xb3, 0xdf, 0x4c, 0x18, 0xfc, 0xa8, 0x3f, 0xac, 0xda, 0x3f, 0x6a, 0xc1, 0xd9, 0x2c, 0x4b, 0x24, - 0xca, 0x55, 0x72, 0x51, 0x54, 0x3d, 0x34, 0xab, 0x11, 0xbc, 0x27, 0xca, 0xb1, 0xc2, 0x18, 0x38, - 0xb7, 0xc2, 0xf1, 0x02, 0xb0, 0xdd, 0x81, 0x89, 0x5a, 0x48, 0xb4, 0x3b, 0xe0, 0x75, 0xee, 0xa8, - 0xc6, 0xfb, 0xf3, 0xdc, 0xb1, 0x9d, 0xd4, 0xec, 0x9f, 0x2b, 0xc0, 0x59, 0xfe, 0x52, 0xb4, 0xb0, - 0x17, 0xb8, 0xcd, 0x5a, 0xd0, 0x14, 0x79, 0x31, 0xde, 0x86, 0xf1, 0xb6, 0xa6, 0x3f, 0xe8, 0x15, - 0x02, 0x4a, 0xd7, 0x33, 0x24, 0x72, 0x9c, 0x5e, 0x8a, 0x0d, 0x5a, 0xa8, 0x09, 0xe3, 0x64, 0xcf, - 0x6d, 0xa8, 0xe7, 0x86, 0xc2, 0xb1, 0xef, 0x06, 0xd5, 0xca, 0xb2, 0x46, 0x07, 0x1b, 0x54, 0x1f, - 0x41, 0xaa, 0x34, 0xfb, 0xc7, 0x2c, 0x78, 0x2c, 0x27, 0x60, 0x14, 0x6d, 0xee, 0x3e, 0x7b, 0x93, - 0x13, 0x59, 0x97, 0x54, 0x73, 0xfc, 0xa5, 0x0e, 0x0b, 0x28, 0xfa, 0x3c, 0x00, 0x7f, 0x69, 0xa3, - 0x62, 0x4d, 0xbf, 0xc8, 0x3a, 0x46, 0x50, 0x10, 0x2d, 0x98, 0x83, 0xac, 0x8f, 0x35, 0x5a, 0xf6, - 0x4f, 0x17, 0x61, 0x88, 0xbd, 0xec, 0xa0, 0x15, 0x18, 0xd9, 0xe6, 0xe1, 0x91, 0x07, 0x89, 0xc4, - 0x9c, 0xc8, 0x87, 0xbc, 0x00, 0xcb, 0xca, 0x68, 0x0d, 0xce, 0xf0, 0xf0, 0xd2, 0x5e, 0x95, 0x78, - 0xce, 0xbe, 0x54, 0x33, 0xf0, 0x4c, 0x45, 0x2a, 0x30, 0xc5, 0x6a, 0x37, 0x0a, 0xce, 0xaa, 0x87, - 0x5e, 0x87, 0x49, 0xca, 0x97, 0x05, 0x9d, 0x58, 0x52, 0xe2, 0x81, 0xa5, 0x15, 0x23, 0xb8, 0x61, - 0x40, 0x71, 0x0a, 0x9b, 0x0a, 0x4c, 0xed, 0x2e, 0x85, 0x8a, 0x96, 0xfb, 0xdf, 0x54, 0xa2, 0x98, - 0xb8, 0xcc, 0x04, 0xa9, 0xc3, 0x0c, 0xae, 0x36, 0xb6, 0x43, 0x12, 0x6d, 0x07, 0x5e, 0x53, 0x24, - 0xba, 0x4e, 0x4c, 0x90, 0x52, 0x70, 0xdc, 0x55, 0x83, 0x52, 0xd9, 0x72, 0x5c, 0xaf, 0x13, 0x92, - 0x84, 0xca, 0xb0, 0x49, 0x65, 0x25, 0x05, 0xc7, 0x5d, 0x35, 0xe8, 0x3a, 0x3a, 0x27, 0x32, 0x4f, - 0x4b, 0x77, 0x79, 0x65, 0x57, 0x36, 0x22, 0x1d, 0x87, 0x7a, 0xc4, 0x8b, 0x11, 0x96, 0x37, 0x2a, - 0x77, 0xb5, 0xa6, 0x07, 0x14, 0x2e, 0x43, 0x92, 0xca, 0xc3, 0xe4, 0x3f, 0xfe, 0x5d, 0x0b, 0xce, - 0x64, 0xd8, 0xaf, 0xf2, 0xa3, 0xaa, 0xe5, 0x46, 0xb1, 0xca, 0xc6, 0xa2, 0x1d, 0x55, 0xbc, 0x1c, - 0x2b, 0x0c, 0xba, 0x1f, 0xf8, 0x61, 0x98, 0x3e, 0x00, 0x85, 0x7d, 0x98, 0x80, 0x1e, 0xef, 0x00, - 0x44, 0x97, 0xa1, 0xd4, 0x89, 0x88, 0x8c, 0xf4, 0xa4, 0xce, 0x6f, 0xa6, 0x19, 0x66, 0x10, 0xca, - 0x9a, 0xb6, 0x94, 0x52, 0x56, 0x63, 0x4d, 0xb9, 0xa6, 0x95, 0xc3, 0xec, 0xaf, 0x16, 0xe1, 0x42, - 0xae, 0xa5, 0x3a, 0xed, 0xd2, 0x6e, 0xe0, 0xbb, 0x71, 0xa0, 0x5e, 0x0d, 0x79, 0xac, 0x11, 0xd2, - 0xde, 0x5e, 0x13, 0xe5, 0x58, 0x61, 0xa0, 0x2b, 0x32, 0x07, 0x7a, 0x3a, 0xdf, 0xcc, 0x62, 0xd5, - 0x48, 0x83, 0x3e, 0x68, 0x2e, 0xaf, 0xa7, 0xa0, 0xd4, 0x0e, 0x02, 0x2f, 0x7d, 0x18, 0xd1, 0xee, - 0x06, 0x81, 0x87, 0x19, 0x10, 0x7d, 0x42, 0x8c, 0x43, 0xea, 0x99, 0x0c, 0x3b, 0xcd, 0x20, 0xd2, - 0x06, 0xe3, 0x19, 0x18, 0xd9, 0x21, 0xfb, 0xa1, 0xeb, 0xb7, 0xd2, 0xcf, 0xa7, 0xb7, 0x78, 0x31, - 0x96, 0x70, 0x33, 0xdd, 0xc2, 0xc8, 0x49, 0x27, 0xe1, 0x1a, 0xed, 0x7b, 0xb5, 0xfd, 0x60, 0x11, - 0xa6, 0xf0, 0x62, 0xf5, 0x5b, 0x13, 0x71, 0xb7, 0x7b, 0x22, 0x4e, 0x3a, 0x09, 0x57, 0xff, 0xd9, - 0xf8, 0x25, 0x0b, 0xa6, 0x58, 0x48, 0x62, 0x11, 0xe1, 0xc2, 0x0d, 0xfc, 0x53, 0x60, 0xdd, 0x9e, - 0x82, 0xa1, 0x90, 0x36, 0x9a, 0xce, 0xac, 0xc3, 0x7a, 0x82, 0x39, 0x0c, 0x3d, 0x01, 0x25, 0xd6, - 0x05, 0x3a, 0x79, 0xe3, 0x3c, 0x29, 0x41, 0xd5, 0x89, 0x1d, 0xcc, 0x4a, 0x99, 0xdb, 0x36, 0x26, - 0x6d, 0xcf, 0xe5, 0x9d, 0x4e, 0x9e, 0x24, 0x3e, 0x1a, 0x6e, 0xdb, 0x99, 0x5d, 0xfb, 0x60, 0x6e, - 0xdb, 0xd9, 0x24, 0x7b, 0x8b, 0x45, 0xff, 0xbd, 0x00, 0x97, 0x32, 0xeb, 0x0d, 0xec, 0xb6, 0xdd, - 0xbb, 0xf6, 0xc9, 0x58, 0xc1, 0x64, 0x1b, 0xa7, 0x14, 0x4f, 0xd1, 0x38, 0xa5, 0x34, 0x28, 0xe7, - 0x38, 0x34, 0x80, 0x37, 0x75, 0xe6, 0x90, 0x7d, 0x44, 0xbc, 0xa9, 0x33, 0xfb, 0x96, 0x23, 0xd6, - 0xfd, 0x69, 0x21, 0xe7, 0x5b, 0x98, 0x80, 0x77, 0x95, 0x9e, 0x33, 0x0c, 0x18, 0x09, 0x4e, 0x78, - 0x9c, 0x9f, 0x31, 0xbc, 0x0c, 0x2b, 0x28, 0x72, 0x35, 0xbf, 0xe4, 0x42, 0x7e, 0xde, 0xc5, 0xdc, - 0xa6, 0xe6, 0xcd, 0x17, 0x24, 0x35, 0x04, 0x19, 0x3e, 0xca, 0x6b, 0x9a, 0x50, 0x5e, 0x1c, 0x5c, - 0x28, 0x1f, 0xcf, 0x16, 0xc8, 0xd1, 0x02, 0x4c, 0xed, 0xba, 0x3e, 0xcb, 0xa3, 0x6f, 0xb2, 0xa2, - 0x2a, 0x4c, 0xc7, 0x9a, 0x09, 0xc6, 0x69, 0xfc, 0xb9, 0xd7, 0x60, 0xe2, 0xe1, 0xd5, 0x91, 0xdf, - 0x2c, 0xc2, 0xe3, 0x3d, 0xb6, 0x3d, 0x3f, 0xeb, 0x8d, 0x39, 0xd0, 0xce, 0xfa, 0xae, 0x79, 0xa8, - 0xc1, 0xd9, 0xad, 0x8e, 0xe7, 0xed, 0x33, 0xfb, 0x4f, 0xd2, 0x94, 0x18, 0x82, 0x57, 0x7c, 0x42, - 0xa6, 0x81, 0x58, 0xc9, 0xc0, 0xc1, 0x99, 0x35, 0xd1, 0x1b, 0x80, 0x02, 0x91, 0xf4, 0xf5, 0x06, - 0xf1, 0x85, 0x5e, 0x9e, 0x0d, 0x7c, 0x31, 0xd9, 0x8c, 0x77, 0xba, 0x30, 0x70, 0x46, 0x2d, 0xca, - 0xf4, 0xd3, 0x5b, 0x69, 0x5f, 0x75, 0x2b, 0xc5, 0xf4, 0x63, 0x1d, 0x88, 0x4d, 0x5c, 0x74, 0x03, - 0x66, 0x9c, 0x3d, 0xc7, 0xe5, 0xe1, 0xeb, 0x24, 0x01, 0xce, 0xf5, 0x2b, 0x25, 0xd8, 0x42, 0x1a, - 0x01, 0x77, 0xd7, 0x49, 0x39, 0x46, 0x0f, 0xe7, 0x3b, 0x46, 0xf7, 0x3e, 0x17, 0xfb, 0xe9, 0x74, - 0xed, 0xff, 0x68, 0xd1, 0xeb, 0x2b, 0x23, 0x71, 0x3b, 0x1d, 0x07, 0xa5, 0x9b, 0xd4, 0x7c, 0x94, - 0xcf, 0x69, 0x16, 0x1e, 0x09, 0x10, 0x9b, 0xb8, 0x7c, 0x41, 0x44, 0x89, 0x93, 0x8c, 0xc1, 0xba, - 0x8b, 0x20, 0x04, 0x0a, 0x03, 0x7d, 0x01, 0x46, 0x9a, 0xee, 0x9e, 0x1b, 0x05, 0xa1, 0xd8, 0x2c, - 0xc7, 0x74, 0x35, 0x48, 0xce, 0xc1, 0x2a, 0x27, 0x83, 0x25, 0x3d, 0xfb, 0x07, 0x0b, 0x30, 0x21, - 0x5b, 0x7c, 0xb3, 0x13, 0xc4, 0xce, 0x29, 0x5c, 0xcb, 0x37, 0x8c, 0x6b, 0xf9, 0x13, 0xbd, 0x22, - 0x31, 0xb0, 0x2e, 0xe5, 0x5e, 0xc7, 0x77, 0x52, 0xd7, 0xf1, 0xd3, 0xfd, 0x49, 0xf5, 0xbe, 0x86, - 0xff, 0xa9, 0x05, 0x33, 0x06, 0xfe, 0x29, 0xdc, 0x06, 0x2b, 0xe6, 0x6d, 0xf0, 0x64, 0xdf, 0x6f, - 0xc8, 0xb9, 0x05, 0xbe, 0xaf, 0x98, 0xea, 0x3b, 0x3b, 0xfd, 0xdf, 0x83, 0xd2, 0xb6, 0x13, 0x36, - 0x7b, 0x45, 0x7c, 0xed, 0xaa, 0x34, 0x7f, 0xd3, 0x09, 0x9b, 0xfc, 0x0c, 0x7f, 0x4e, 0xa5, 0x8a, - 0x74, 0xc2, 0x66, 0x5f, 0x9f, 0x30, 0xd6, 0x14, 0x7a, 0x15, 0x86, 0xa3, 0x46, 0xd0, 0x56, 0x16, - 0x9b, 0x97, 0x79, 0x1a, 0x49, 0x5a, 0x72, 0x74, 0x50, 0x41, 0x66, 0x73, 0xb4, 0x18, 0x0b, 0x7c, - 0xf4, 0x36, 0x4c, 0xb0, 0x5f, 0xca, 0x72, 0xa1, 0x98, 0x9f, 0x67, 0xa0, 0xae, 0x23, 0x72, 0x03, - 0x18, 0xa3, 0x08, 0x9b, 0xa4, 0xe6, 0x5a, 0x50, 0x56, 0x9f, 0xf5, 0x48, 0x7d, 0x79, 0xfe, 0x5d, - 0x11, 0xce, 0x64, 0xac, 0x39, 0x14, 0x19, 0x33, 0xf1, 0xc2, 0x80, 0x4b, 0xf5, 0x03, 0xce, 0x45, - 0xc4, 0xa4, 0xa1, 0xa6, 0x58, 0x5b, 0x03, 0x37, 0x7a, 0x37, 0x22, 0xe9, 0x46, 0x69, 0x51, 0xff, - 0x46, 0x69, 0x63, 0xa7, 0x36, 0xd4, 0xb4, 0x21, 0xd5, 0xd3, 0x47, 0x3a, 0xa7, 0x7f, 0x54, 0x84, - 0xb3, 0x59, 0xc1, 0x61, 0xd0, 0x77, 0xa7, 0xf2, 0xc9, 0xbc, 0x34, 0x68, 0x58, 0x19, 0x9e, 0x64, - 0x46, 0x64, 0x47, 0x9e, 0x37, 0x33, 0xcc, 0xf4, 0x1d, 0x66, 0xd1, 0x26, 0x73, 0x00, 0x0d, 0x79, - 0x1e, 0x20, 0x79, 0x7c, 0x7c, 0x7a, 0xe0, 0x0e, 0x88, 0x04, 0x42, 0x51, 0xca, 0x01, 0x54, 0x16, - 0xf7, 0x77, 0x00, 0x95, 0x2d, 0xcf, 0xb9, 0x30, 0xa6, 0x7d, 0xcd, 0x23, 0x9d, 0xf1, 0x1d, 0x7a, - 0x5b, 0x69, 0xfd, 0x7e, 0xa4, 0xb3, 0xfe, 0x63, 0x16, 0xa4, 0xcc, 0x23, 0x95, 0xba, 0xcb, 0xca, - 0x55, 0x77, 0x5d, 0x86, 0x52, 0x18, 0x78, 0x24, 0x9d, 0xe2, 0x05, 0x07, 0x1e, 0xc1, 0x0c, 0x42, - 0x31, 0xe2, 0x44, 0xd9, 0x31, 0xae, 0x0b, 0x72, 0x42, 0x44, 0x7b, 0x0a, 0x86, 0x3c, 0xb2, 0x47, - 0xbc, 0x74, 0xfc, 0xf4, 0xdb, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0x4b, 0x25, 0xb8, 0xd8, 0xd3, 0x85, - 0x9a, 0x8a, 0x43, 0x2d, 0x27, 0x26, 0xf7, 0x9d, 0xfd, 0x74, 0xa0, 0xe3, 0x1b, 0xbc, 0x18, 0x4b, - 0x38, 0xb3, 0x18, 0xe7, 0x81, 0x0d, 0x53, 0xca, 0x41, 0x11, 0xcf, 0x50, 0x40, 0x1f, 0x41, 0x66, - 0xf8, 0xeb, 0x00, 0x51, 0xe4, 0x2d, 0xfb, 0x94, 0xbb, 0x6b, 0x0a, 0x53, 0xf4, 0x24, 0x00, 0x66, - 0xfd, 0xb6, 0x80, 0x60, 0x0d, 0x0b, 0x55, 0x61, 0xba, 0x1d, 0x06, 0x31, 0xd7, 0xb5, 0x56, 0xb9, - 0xa1, 0xd0, 0x90, 0xe9, 0xbd, 0x5a, 0x4b, 0xc1, 0x71, 0x57, 0x0d, 0xf4, 0x32, 0x8c, 0x09, 0x8f, - 0xd6, 0x5a, 0x10, 0x78, 0x42, 0x0d, 0xa4, 0xcc, 0x4e, 0xea, 0x09, 0x08, 0xeb, 0x78, 0x5a, 0x35, - 0xa6, 0xc0, 0x1d, 0xc9, 0xac, 0xc6, 0x95, 0xb8, 0x1a, 0x5e, 0x2a, 0x50, 0xd4, 0xe8, 0x40, 0x81, - 0xa2, 0x12, 0xc5, 0x58, 0x79, 0xe0, 0x37, 0x2b, 0xe8, 0xab, 0x4a, 0xfa, 0xf9, 0x12, 0x9c, 0x11, - 0x0b, 0xe7, 0x51, 0x2f, 0x97, 0x47, 0x94, 0xbf, 0xfe, 0x5b, 0x6b, 0xe6, 0xb4, 0xd7, 0xcc, 0x0f, - 0x59, 0x60, 0xb2, 0x57, 0xe8, 0xff, 0xcb, 0x8d, 0x14, 0xff, 0x72, 0x2e, 0xbb, 0xd6, 0x94, 0x17, - 0xc8, 0x07, 0x8c, 0x19, 0x6f, 0xff, 0x07, 0x0b, 0x9e, 0xec, 0x4b, 0x11, 0x2d, 0x43, 0x99, 0xf1, - 0x80, 0x9a, 0x74, 0xf6, 0xb4, 0x32, 0x24, 0x94, 0x80, 0x1c, 0x96, 0x34, 0xa9, 0x89, 0x96, 0xbb, - 0x42, 0xf2, 0x3f, 0x93, 0x11, 0x92, 0xff, 0x9c, 0x31, 0x3c, 0x0f, 0x19, 0x93, 0xff, 0x6b, 0x45, - 0x18, 0xe6, 0x2b, 0xfe, 0x14, 0xc4, 0xb0, 0x15, 0xa1, 0xb7, 0xed, 0x11, 0x89, 0x8a, 0xf7, 0x65, - 0xbe, 0xea, 0xc4, 0x0e, 0x67, 0x13, 0xd4, 0x6d, 0x95, 0x68, 0x78, 0xd1, 0xbc, 0x71, 0x9f, 0xcd, - 0xa5, 0x14, 0x93, 0xc0, 0x69, 0x68, 0xb7, 0xdb, 0x97, 0x00, 0x22, 0x96, 0xaa, 0x9e, 0xd2, 0x10, - 0x31, 0xcd, 0x3e, 0xd9, 0xa3, 0xf5, 0xba, 0x42, 0xe6, 0x7d, 0x48, 0x76, 0xba, 0x02, 0x60, 0x8d, - 0xe2, 0xdc, 0x2b, 0x50, 0x56, 0xc8, 0xfd, 0xb4, 0x38, 0xe3, 0x3a, 0x73, 0xf1, 0x39, 0x98, 0x4a, - 0xb5, 0x75, 0x2c, 0x25, 0xd0, 0x2f, 0x5b, 0x30, 0xc5, 0xbb, 0xbc, 0xec, 0xef, 0x89, 0x33, 0xf5, - 0x7d, 0x38, 0xeb, 0x65, 0x9c, 0x6d, 0x62, 0x46, 0x07, 0x3f, 0x0b, 0x95, 0xd2, 0x27, 0x0b, 0x8a, - 0x33, 0xdb, 0x40, 0x57, 0xe9, 0xba, 0xa5, 0x67, 0x97, 0xe3, 0x09, 0xef, 0xa3, 0x71, 0xbe, 0x66, - 0x79, 0x19, 0x56, 0x50, 0xfb, 0xb7, 0x2d, 0x98, 0xe1, 0x3d, 0xbf, 0x45, 0xf6, 0xd5, 0x0e, 0xff, - 0x30, 0xfb, 0x2e, 0xb2, 0x64, 0x14, 0x72, 0xb2, 0x64, 0xe8, 0x9f, 0x56, 0xec, 0xf9, 0x69, 0x3f, - 0x67, 0x81, 0x58, 0x81, 0xa7, 0x20, 0xca, 0x7f, 0xbb, 0x29, 0xca, 0xcf, 0xe5, 0x2f, 0xea, 0x1c, - 0x19, 0xfe, 0x4f, 0x2c, 0x98, 0xe6, 0x08, 0xc9, 0x5b, 0xf2, 0x87, 0x3a, 0x0f, 0x83, 0xa4, 0xbb, - 0x53, 0xf9, 0xad, 0xb3, 0x3f, 0xca, 0x98, 0xac, 0x52, 0xcf, 0xc9, 0x6a, 0xca, 0x0d, 0x74, 0x8c, - 0x34, 0x8e, 0xc7, 0x8e, 0x36, 0x6d, 0xff, 0xa1, 0x05, 0x88, 0x37, 0x63, 0xb0, 0x3f, 0x94, 0xa9, - 0x60, 0xa5, 0xda, 0x75, 0x91, 0x1c, 0x35, 0x0a, 0x82, 0x35, 0xac, 0x13, 0x19, 0x9e, 0x94, 0x41, - 0x40, 0xb1, 0xbf, 0x41, 0xc0, 0x31, 0x46, 0xf4, 0x6b, 0x25, 0x48, 0xbb, 0x03, 0xa0, 0x7b, 0x30, - 0xde, 0x70, 0xda, 0xce, 0xa6, 0xeb, 0xb9, 0xb1, 0x4b, 0xa2, 0x5e, 0x96, 0x44, 0x4b, 0x1a, 0x9e, - 0x78, 0xea, 0xd5, 0x4a, 0xb0, 0x41, 0x07, 0xcd, 0x03, 0xb4, 0x43, 0x77, 0xcf, 0xf5, 0x48, 0x8b, - 0x69, 0x1c, 0x98, 0xbf, 0x23, 0x37, 0x8f, 0x91, 0xa5, 0x58, 0xc3, 0xc8, 0x70, 0x5d, 0x2b, 0x3e, - 0x3a, 0xd7, 0xb5, 0xd2, 0x31, 0x5d, 0xd7, 0x86, 0x06, 0x72, 0x5d, 0xc3, 0x70, 0x5e, 0xb2, 0x48, - 0xf4, 0xff, 0x8a, 0xeb, 0x11, 0xc1, 0x17, 0x73, 0x2f, 0xc8, 0xb9, 0xc3, 0x83, 0xca, 0x79, 0x9c, - 0x89, 0x81, 0x73, 0x6a, 0xa2, 0xcf, 0xc3, 0xac, 0xe3, 0x79, 0xc1, 0x7d, 0x35, 0x6a, 0xcb, 0x51, - 0xc3, 0xf1, 0xb8, 0xc6, 0x7e, 0x84, 0x51, 0x7d, 0xe2, 0xf0, 0xa0, 0x32, 0xbb, 0x90, 0x83, 0x83, - 0x73, 0x6b, 0xa7, 0x3c, 0xdf, 0x46, 0xfb, 0x79, 0xbe, 0xd9, 0x3b, 0x70, 0xa6, 0x4e, 0x42, 0x97, - 0x25, 0x99, 0x6c, 0x26, 0x5b, 0x72, 0x03, 0xca, 0x61, 0xea, 0x10, 0x1a, 0x28, 0x34, 0x92, 0x16, - 0x48, 0x57, 0x1e, 0x3a, 0x09, 0x21, 0xfb, 0x8f, 0x2d, 0x18, 0x11, 0x2e, 0x09, 0xa7, 0xc0, 0xfb, - 0x2c, 0x18, 0x2a, 0xe8, 0x4a, 0xf6, 0x41, 0xcd, 0x3a, 0x93, 0xab, 0x7c, 0x5e, 0x4d, 0x29, 0x9f, - 0x9f, 0xec, 0x45, 0xa4, 0xb7, 0xda, 0xf9, 0x6f, 0x16, 0x61, 0xd2, 0x74, 0xc7, 0x38, 0x85, 0x21, - 0x58, 0x87, 0x91, 0x48, 0xf8, 0xfe, 0x14, 0xf2, 0x6d, 0x9f, 0xd3, 0x93, 0x98, 0x18, 0x36, 0x09, - 0x6f, 0x1f, 0x49, 0x24, 0xd3, 0xa9, 0xa8, 0xf8, 0x08, 0x9d, 0x8a, 0xfa, 0x79, 0xc4, 0x94, 0x4e, - 0xc2, 0x23, 0xc6, 0xfe, 0x3a, 0xbb, 0x2c, 0xf4, 0xf2, 0x53, 0xe0, 0x23, 0x6e, 0x98, 0xd7, 0x8a, - 0xdd, 0x63, 0x65, 0x89, 0x4e, 0xe5, 0xf0, 0x13, 0xbf, 0x68, 0xc1, 0xc5, 0x8c, 0xaf, 0xd2, 0x98, - 0x8b, 0xe7, 0x60, 0xd4, 0xe9, 0x34, 0x5d, 0xb5, 0x97, 0xb5, 0x87, 0xa8, 0x05, 0x51, 0x8e, 0x15, - 0x06, 0x5a, 0x82, 0x19, 0xf2, 0xa0, 0xed, 0xf2, 0x97, 0x40, 0xdd, 0xfa, 0xb0, 0xc8, 0x83, 0xc4, - 0x2e, 0xa7, 0x81, 0xb8, 0x1b, 0x5f, 0x39, 0x54, 0x17, 0x73, 0x1d, 0xaa, 0xff, 0x81, 0x05, 0x63, - 0xa2, 0xdb, 0xa7, 0x30, 0xda, 0xdf, 0x61, 0x8e, 0xf6, 0xe3, 0x3d, 0x46, 0x3b, 0x67, 0x98, 0xff, - 0x76, 0x41, 0xf5, 0xb7, 0x16, 0x84, 0xf1, 0x00, 0x4c, 0xcb, 0xab, 0x30, 0xda, 0x0e, 0x83, 0x38, - 0x68, 0x04, 0x9e, 0xe0, 0x59, 0x9e, 0x48, 0xfc, 0xfd, 0x79, 0xf9, 0x91, 0xf6, 0x1b, 0x2b, 0x6c, - 0x36, 0x7a, 0x41, 0x18, 0x0b, 0x3e, 0x21, 0x19, 0xbd, 0x20, 0x8c, 0x31, 0x83, 0xa0, 0x26, 0x40, - 0xec, 0x84, 0x2d, 0x12, 0xd3, 0x32, 0x11, 0x3a, 0x24, 0xff, 0xf0, 0xe8, 0xc4, 0xae, 0x37, 0xef, - 0xfa, 0x71, 0x14, 0x87, 0xf3, 0xab, 0x7e, 0x7c, 0x27, 0xe4, 0x22, 0x90, 0xe6, 0xc0, 0xaf, 0x68, - 0x61, 0x8d, 0xae, 0xf4, 0xb2, 0x64, 0x6d, 0x0c, 0x99, 0x4f, 0xda, 0xeb, 0xa2, 0x1c, 0x2b, 0x0c, - 0xfb, 0x15, 0x76, 0x95, 0xb0, 0x01, 0x3a, 0x9e, 0x6f, 0xfd, 0x37, 0x46, 0xd5, 0xd0, 0xb2, 0xf7, - 0xac, 0xaa, 0xee, 0xc1, 0xdf, 0xfb, 0xe4, 0xa6, 0x0d, 0xeb, 0x9e, 0x30, 0x89, 0x9b, 0x3f, 0xfa, - 0xce, 0x2e, 0x4b, 0x87, 0xe7, 0xfb, 0x5c, 0x01, 0xc7, 0xb0, 0x6d, 0x60, 0x81, 0xab, 0x59, 0x80, - 0xdf, 0xd5, 0x9a, 0x58, 0xe4, 0x5a, 0xe0, 0x6a, 0x01, 0xc0, 0x09, 0x0e, 0xba, 0x26, 0x04, 0xe8, - 0x92, 0x91, 0x5f, 0x4e, 0x0a, 0xd0, 0xf2, 0xf3, 0x35, 0x09, 0xfa, 0x05, 0x18, 0x53, 0x79, 0xe6, - 0x6a, 0x3c, 0x5d, 0x97, 0x08, 0xa4, 0xb2, 0x9c, 0x14, 0x63, 0x1d, 0x07, 0x6d, 0xc0, 0x54, 0xc4, - 0xb5, 0x27, 0x2a, 0x5e, 0x1e, 0xd7, 0x42, 0x7d, 0x52, 0x5a, 0x48, 0xd4, 0x4d, 0xf0, 0x11, 0x2b, - 0xe2, 0x47, 0x87, 0x74, 0x95, 0x4c, 0x93, 0x40, 0xaf, 0xc3, 0xa4, 0xa7, 0x67, 0x6b, 0xaf, 0x09, - 0x25, 0x95, 0x32, 0x20, 0x36, 0x72, 0xb9, 0xd7, 0x70, 0x0a, 0x9b, 0xf2, 0x3a, 0x7a, 0x89, 0x88, - 0xf1, 0xe8, 0xf8, 0x2d, 0x12, 0x89, 0x2c, 0x59, 0x8c, 0xd7, 0xb9, 0x9d, 0x83, 0x83, 0x73, 0x6b, - 0xa3, 0x57, 0x61, 0x5c, 0x7e, 0xbe, 0xe6, 0x08, 0x9c, 0x98, 0xa9, 0x6b, 0x30, 0x6c, 0x60, 0xa2, - 0xfb, 0x70, 0x4e, 0xfe, 0xdf, 0x08, 0x9d, 0xad, 0x2d, 0xb7, 0x21, 0xfc, 0xb0, 0xb9, 0xaf, 0xce, - 0x82, 0x74, 0xfe, 0x59, 0xce, 0x42, 0x3a, 0x3a, 0xa8, 0x5c, 0x16, 0xa3, 0x96, 0x09, 0x67, 0x93, - 0x98, 0x4d, 0x1f, 0xad, 0xc1, 0x99, 0x6d, 0xe2, 0x78, 0xf1, 0xf6, 0xd2, 0x36, 0x69, 0xec, 0xc8, - 0x4d, 0xc4, 0xdc, 0x8b, 0x35, 0xe3, 0xee, 0x9b, 0xdd, 0x28, 0x38, 0xab, 0x1e, 0x7a, 0x07, 0x66, - 0xdb, 0x9d, 0x4d, 0xcf, 0x8d, 0xb6, 0xd7, 0x83, 0x98, 0x19, 0x65, 0xa8, 0x34, 0x6d, 0xc2, 0x0f, - 0x59, 0xb9, 0x56, 0xd7, 0x72, 0xf0, 0x70, 0x2e, 0x05, 0xf4, 0x3e, 0x9c, 0x4b, 0x2d, 0x06, 0xe1, - 0x15, 0x39, 0x99, 0x1f, 0x31, 0xb7, 0x9e, 0x55, 0x41, 0x78, 0x39, 0x66, 0x81, 0x70, 0x76, 0x13, - 0x1f, 0xcc, 0x54, 0xe7, 0x3d, 0x5a, 0x59, 0x63, 0xca, 0xd0, 0x97, 0x61, 0x5c, 0x5f, 0x45, 0xe2, - 0x82, 0xb9, 0x92, 0xcd, 0xb3, 0x68, 0xab, 0x8d, 0xb3, 0x74, 0x6a, 0x45, 0xe9, 0x30, 0x6c, 0x50, - 0xb4, 0x09, 0x64, 0x7f, 0x1f, 0xba, 0x0d, 0xa3, 0x0d, 0xcf, 0x25, 0x7e, 0xbc, 0x5a, 0xeb, 0x15, - 0xb6, 0x63, 0x49, 0xe0, 0x88, 0x01, 0x13, 0x21, 0x46, 0x79, 0x19, 0x56, 0x14, 0xec, 0x5f, 0x2f, - 0x40, 0xa5, 0x4f, 0xbc, 0xda, 0x94, 0x46, 0xd9, 0x1a, 0x48, 0xa3, 0xbc, 0x20, 0x93, 0xce, 0xad, - 0xa7, 0xc4, 0xec, 0x54, 0x42, 0xb9, 0x44, 0xd8, 0x4e, 0xe3, 0x0f, 0x6c, 0xe1, 0xab, 0x2b, 0xa5, - 0x4b, 0x7d, 0x6d, 0xcf, 0x8d, 0xc7, 0xa8, 0xa1, 0xc1, 0x05, 0x91, 0xdc, 0x87, 0x05, 0xfb, 0xeb, - 0x05, 0x38, 0xa7, 0x86, 0xf0, 0xcf, 0xef, 0xc0, 0xdd, 0xed, 0x1e, 0xb8, 0x13, 0x78, 0x96, 0xb1, - 0xef, 0xc0, 0x30, 0x0f, 0x7b, 0x32, 0x00, 0x03, 0xf4, 0x94, 0x19, 0x23, 0x4b, 0x5d, 0xd3, 0x46, - 0x9c, 0xac, 0xbf, 0x64, 0xc1, 0xd4, 0xc6, 0x52, 0xad, 0x1e, 0x34, 0x76, 0x48, 0xbc, 0xc0, 0x19, - 0x56, 0x2c, 0xf8, 0x1f, 0xeb, 0x21, 0xf9, 0x9a, 0x2c, 0x8e, 0xe9, 0x32, 0x94, 0xb6, 0x83, 0x28, - 0x4e, 0xbf, 0xd9, 0xde, 0x0c, 0xa2, 0x18, 0x33, 0x88, 0xfd, 0x3b, 0x16, 0x0c, 0xb1, 0x54, 0xa9, - 0xfd, 0xf2, 0xf7, 0x0e, 0xf2, 0x5d, 0xe8, 0x65, 0x18, 0x26, 0x5b, 0x5b, 0xa4, 0x11, 0x8b, 0x59, - 0x95, 0x0e, 0xa5, 0xc3, 0xcb, 0xac, 0x94, 0x5e, 0xfa, 0xac, 0x31, 0xfe, 0x17, 0x0b, 0x64, 0xf4, - 0x16, 0x94, 0x63, 0x77, 0x97, 0x2c, 0x34, 0x9b, 0xe2, 0xd5, 0xeb, 0x21, 0xfc, 0x77, 0x37, 0x24, - 0x01, 0x9c, 0xd0, 0xb2, 0xbf, 0x5a, 0x00, 0x48, 0x9c, 0xf7, 0xfb, 0x7d, 0xe2, 0x62, 0xd7, 0x7b, - 0xc8, 0x95, 0x8c, 0xf7, 0x10, 0x94, 0x10, 0xcc, 0x78, 0x0c, 0x51, 0xc3, 0x54, 0x1c, 0x68, 0x98, - 0x4a, 0xc7, 0x19, 0xa6, 0x25, 0x98, 0x49, 0x82, 0x0f, 0x98, 0x91, 0x58, 0x98, 0x90, 0xb2, 0x91, - 0x06, 0xe2, 0x6e, 0x7c, 0x9b, 0xc0, 0x65, 0x19, 0x13, 0x53, 0xde, 0x35, 0xcc, 0xa8, 0xf2, 0x18, - 0xa9, 0x9c, 0x93, 0x07, 0x9f, 0x42, 0xee, 0x83, 0xcf, 0x4f, 0x5a, 0x70, 0x36, 0xdd, 0x0e, 0xf3, - 0x5e, 0xfb, 0x01, 0x0b, 0xce, 0xb1, 0x67, 0x2f, 0xd6, 0x6a, 0xf7, 0x23, 0xdb, 0x4b, 0xd9, 0x41, - 0x19, 0x7a, 0xf7, 0x38, 0xf1, 0x5c, 0x5e, 0xcb, 0x22, 0x8d, 0xb3, 0x5b, 0xb4, 0xbf, 0xdf, 0x02, - 0xe1, 0x24, 0x34, 0xc0, 0xc6, 0x7e, 0x5b, 0x26, 0x3b, 0x35, 0x42, 0x80, 0x5f, 0xce, 0xf7, 0x9a, - 0x12, 0x81, 0xbf, 0xd5, 0x45, 0x6a, 0x84, 0xfb, 0x36, 0x68, 0xd9, 0x4d, 0x10, 0xd0, 0x2a, 0x61, - 0x7a, 0xa2, 0xfe, 0xbd, 0xb9, 0x0e, 0xd0, 0x64, 0xb8, 0x5a, 0xca, 0x43, 0x75, 0x6c, 0x57, 0x15, - 0x04, 0x6b, 0x58, 0xf6, 0x0f, 0x17, 0x60, 0x4c, 0x86, 0x9c, 0xee, 0xf8, 0x83, 0x48, 0x73, 0xc7, - 0xca, 0x3c, 0xc3, 0x72, 0x84, 0x52, 0xc2, 0xb5, 0x44, 0x08, 0x4e, 0x72, 0x84, 0x4a, 0x00, 0x4e, - 0x70, 0xd0, 0x33, 0x30, 0x12, 0x75, 0x36, 0x19, 0x7a, 0xca, 0xf5, 0xa5, 0xce, 0x8b, 0xb1, 0x84, - 0xa3, 0xcf, 0xc3, 0x34, 0xaf, 0x17, 0x06, 0x6d, 0xa7, 0xc5, 0x95, 0x86, 0x43, 0xca, 0x17, 0x75, - 0x7a, 0x2d, 0x05, 0x3b, 0x3a, 0xa8, 0x9c, 0x4d, 0x97, 0x31, 0x75, 0x73, 0x17, 0x15, 0xfb, 0xcb, - 0x80, 0xba, 0xa3, 0x68, 0xa3, 0x37, 0xb8, 0x01, 0x92, 0x1b, 0x92, 0x66, 0x2f, 0x3d, 0xb2, 0xee, - 0x3a, 0x29, 0xcd, 0xcf, 0x79, 0x2d, 0xac, 0xea, 0xdb, 0x7f, 0xb5, 0x08, 0xd3, 0x69, 0x47, 0x3a, - 0x74, 0x13, 0x86, 0xf9, 0x05, 0x23, 0xc8, 0xf7, 0x78, 0xa6, 0xd4, 0xdc, 0xef, 0xd8, 0x56, 0x13, - 0x77, 0x94, 0xa8, 0x8f, 0xde, 0x81, 0xb1, 0x66, 0x70, 0xdf, 0xbf, 0xef, 0x84, 0xcd, 0x85, 0xda, - 0xaa, 0x58, 0x97, 0x99, 0x7c, 0x6a, 0x35, 0x41, 0xd3, 0x5d, 0xfa, 0x98, 0x4a, 0x3e, 0x01, 0x61, - 0x9d, 0x1c, 0xda, 0x60, 0x91, 0x01, 0xb7, 0xdc, 0xd6, 0x9a, 0xd3, 0xee, 0x65, 0x8d, 0xba, 0x24, - 0x91, 0x34, 0xca, 0x13, 0x22, 0x7c, 0x20, 0x07, 0xe0, 0x84, 0x10, 0xfa, 0x6e, 0x38, 0x13, 0xe5, - 0xa8, 0xb6, 0xf2, 0x92, 0x2a, 0xf4, 0xd2, 0xf6, 0x2c, 0x3e, 0x46, 0x25, 0x88, 0x2c, 0x25, 0x58, - 0x56, 0x33, 0xf6, 0x57, 0xce, 0x80, 0xb1, 0x1b, 0x8d, 0xcc, 0x3a, 0xd6, 0x09, 0x65, 0xd6, 0xc1, - 0x30, 0x4a, 0x76, 0xdb, 0xf1, 0x7e, 0xd5, 0x0d, 0x7b, 0xa5, 0x66, 0x5b, 0x16, 0x38, 0xdd, 0x34, - 0x25, 0x04, 0x2b, 0x3a, 0xd9, 0xe9, 0x8f, 0x8a, 0x1f, 0x62, 0xfa, 0xa3, 0xd2, 0x29, 0xa6, 0x3f, - 0x5a, 0x87, 0x91, 0x96, 0x1b, 0x63, 0xd2, 0x0e, 0x04, 0x6b, 0x97, 0xb9, 0x0e, 0x6f, 0x70, 0x94, - 0xee, 0x94, 0x1b, 0x02, 0x80, 0x25, 0x11, 0xf4, 0x86, 0xda, 0x81, 0xc3, 0xf9, 0x92, 0x51, 0xf7, - 0x7b, 0x5a, 0xe6, 0x1e, 0x14, 0xe9, 0x8e, 0x46, 0x1e, 0x36, 0xdd, 0xd1, 0x8a, 0x4c, 0x52, 0x34, - 0x9a, 0x6f, 0x3a, 0xce, 0x72, 0x10, 0xf5, 0x49, 0x4d, 0x64, 0xa4, 0x73, 0x2a, 0x9f, 0x5c, 0x3a, - 0xa7, 0xef, 0xb7, 0xe0, 0x5c, 0x3b, 0x2b, 0xb3, 0x99, 0x48, 0x2d, 0xf4, 0xf2, 0xc0, 0xa9, 0xdb, - 0x8c, 0x06, 0x99, 0x88, 0x9c, 0x89, 0x86, 0xb3, 0x9b, 0xa3, 0x03, 0x1d, 0x6e, 0x36, 0x45, 0x3e, - 0xa2, 0xa7, 0x72, 0xf2, 0x42, 0xf5, 0xc8, 0x06, 0xb5, 0x91, 0x91, 0x83, 0xe8, 0xe3, 0x79, 0x39, - 0x88, 0x06, 0xce, 0x3c, 0xf4, 0x86, 0xca, 0x08, 0x35, 0x91, 0xbf, 0x94, 0x78, 0xbe, 0xa7, 0xbe, - 0x79, 0xa0, 0xde, 0x50, 0x79, 0xa0, 0x7a, 0x44, 0x48, 0xe3, 0x59, 0x9e, 0xfa, 0x66, 0x7f, 0xd2, - 0x32, 0x38, 0x4d, 0x9d, 0x4c, 0x06, 0x27, 0xe3, 0xaa, 0xe1, 0x49, 0x84, 0x9e, 0xed, 0x73, 0xd5, - 0x18, 0x74, 0x7b, 0x5f, 0x36, 0x3c, 0x5b, 0xd5, 0xcc, 0x43, 0x65, 0xab, 0xba, 0xa7, 0x67, 0x7f, - 0x42, 0x7d, 0xd2, 0x1b, 0x51, 0xa4, 0x01, 0x73, 0x3e, 0xdd, 0xd3, 0x2f, 0xc0, 0x33, 0xf9, 0x74, - 0xd5, 0x3d, 0xd7, 0x4d, 0x37, 0xf3, 0x0a, 0xec, 0xca, 0x25, 0x75, 0xf6, 0x74, 0x72, 0x49, 0x9d, - 0x3b, 0xf1, 0x5c, 0x52, 0xe7, 0x4f, 0x21, 0x97, 0xd4, 0x63, 0x1f, 0x6a, 0x2e, 0xa9, 0xd9, 0x47, - 0x90, 0x4b, 0x6a, 0x3d, 0xc9, 0x25, 0x75, 0x21, 0x7f, 0x4a, 0x32, 0xec, 0x59, 0x73, 0x32, 0x48, - 0xdd, 0x83, 0x72, 0x5b, 0x46, 0x7a, 0x10, 0x21, 0xdc, 0xb2, 0xd3, 0xd9, 0x66, 0x85, 0x83, 0xe0, - 0x53, 0xa2, 0x40, 0x38, 0x21, 0x45, 0xe9, 0x26, 0x19, 0xa5, 0x1e, 0xef, 0xa1, 0x04, 0xcd, 0x52, - 0x2f, 0xe5, 0xe7, 0x91, 0xb2, 0xff, 0x72, 0x01, 0x2e, 0xf5, 0x5e, 0xd7, 0x89, 0x6e, 0xaa, 0x96, - 0xbc, 0xa5, 0xa4, 0x74, 0x53, 0x5c, 0xc8, 0x49, 0xb0, 0x06, 0x0e, 0x87, 0x73, 0x03, 0x66, 0x94, - 0x21, 0xab, 0xe7, 0x36, 0xf6, 0xb5, 0x34, 0xb7, 0xca, 0x61, 0xaf, 0x9e, 0x46, 0xc0, 0xdd, 0x75, - 0xd0, 0x02, 0x4c, 0x19, 0x85, 0xab, 0x55, 0x21, 0xcc, 0x28, 0x65, 0x58, 0xdd, 0x04, 0xe3, 0x34, - 0xbe, 0xfd, 0xb3, 0x16, 0x3c, 0x96, 0x93, 0x66, 0x61, 0xe0, 0x68, 0x2f, 0x5b, 0x30, 0xd5, 0x36, - 0xab, 0xf6, 0x09, 0x0a, 0x65, 0x24, 0x73, 0x50, 0x7d, 0x4d, 0x01, 0x70, 0x9a, 0xe8, 0xe2, 0xd5, - 0xdf, 0xfc, 0xbd, 0x4b, 0x1f, 0xfb, 0xad, 0xdf, 0xbb, 0xf4, 0xb1, 0xdf, 0xfe, 0xbd, 0x4b, 0x1f, - 0xfb, 0xff, 0x0f, 0x2f, 0x59, 0xbf, 0x79, 0x78, 0xc9, 0xfa, 0xad, 0xc3, 0x4b, 0xd6, 0x6f, 0x1f, - 0x5e, 0xb2, 0x7e, 0xf7, 0xf0, 0x92, 0xf5, 0xd5, 0xdf, 0xbf, 0xf4, 0xb1, 0xb7, 0x0b, 0x7b, 0x2f, - 0xfc, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x98, 0x6b, 0x40, 0xc0, 0xe5, 0x00, 0x00, + 0xad, 0x19, 0x72, 0x5a, 0xb7, 0x39, 0xa3, 0x5d, 0x59, 0xbb, 0xde, 0x62, 0xf7, 0x25, 0x59, 0x62, + 0xb1, 0xaa, 0x55, 0x55, 0xcd, 0x19, 0xea, 0xb3, 0x81, 0xef, 0x5b, 0x7f, 0x76, 0xe2, 0xd8, 0x09, + 0x16, 0xb1, 0x91, 0x87, 0x6d, 0x38, 0x80, 0xe3, 0xc0, 0x76, 0x9c, 0x04, 0x71, 0xec, 0xd8, 0xce, + 0xae, 0x9d, 0x38, 0x76, 0x7e, 0x38, 0x40, 0xb0, 0x71, 0x02, 0x04, 0x6b, 0xc0, 0x08, 0x63, 0xd3, + 0x79, 0xc0, 0x3f, 0xf2, 0x40, 0x9c, 0x3f, 0x66, 0x8c, 0x38, 0xb8, 0xcf, 0xba, 0xb7, 0xba, 0xaa, + 0xbb, 0x39, 0xe2, 0x50, 0xb2, 0xb1, 0xff, 0xba, 0xef, 0x39, 0xf7, 0xdc, 0x5b, 0xf7, 0x79, 0xce, + 0xb9, 0xe7, 0x01, 0xaf, 0xed, 0xbc, 0x1a, 0xcd, 0xbb, 0xc1, 0xb5, 0x9d, 0xce, 0x06, 0x09, 0x7d, + 0x12, 0x93, 0xe8, 0xda, 0x1e, 0xf1, 0x5b, 0x41, 0x78, 0x4d, 0x00, 0x9c, 0xb6, 0x7b, 0xad, 0x19, + 0x84, 0xe4, 0xda, 0xde, 0x0b, 0xd7, 0xb6, 0x88, 0x4f, 0x42, 0x27, 0x26, 0xad, 0xf9, 0x76, 0x18, + 0xc4, 0x01, 0x42, 0x1c, 0x67, 0xde, 0x69, 0xbb, 0xf3, 0x14, 0x67, 0x7e, 0xef, 0x85, 0xb9, 0xe7, + 0xb7, 0xdc, 0x78, 0xbb, 0xb3, 0x31, 0xdf, 0x0c, 0x76, 0xaf, 0x6d, 0x05, 0x5b, 0xc1, 0x35, 0x86, + 0xba, 0xd1, 0xd9, 0x64, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x7b, 0x29, 0x69, 0x66, 0xd7, + 0x69, 0x6e, 0xbb, 0x3e, 0x09, 0xf7, 0xaf, 0xb5, 0x77, 0xb6, 0x58, 0xbb, 0x21, 0x89, 0x82, 0x4e, + 0xd8, 0x24, 0xe9, 0x86, 0x7b, 0xd6, 0x8a, 0xae, 0xed, 0x92, 0xd8, 0xc9, 0xe8, 0xee, 0xdc, 0xb5, + 0xbc, 0x5a, 0x61, 0xc7, 0x8f, 0xdd, 0xdd, 0xee, 0x66, 0x3e, 0xdd, 0xaf, 0x42, 0xd4, 0xdc, 0x26, + 0xbb, 0x4e, 0x57, 0xbd, 0x17, 0xf3, 0xea, 0x75, 0x62, 0xd7, 0xbb, 0xe6, 0xfa, 0x71, 0x14, 0x87, + 0xe9, 0x4a, 0xf6, 0x37, 0x2d, 0xb8, 0xbc, 0xf0, 0x56, 0x63, 0xd9, 0x73, 0xa2, 0xd8, 0x6d, 0x2e, + 0x7a, 0x41, 0x73, 0xa7, 0x11, 0x07, 0x21, 0xb9, 0x17, 0x78, 0x9d, 0x5d, 0xd2, 0x60, 0x03, 0x81, + 0x9e, 0x83, 0xd1, 0x3d, 0xf6, 0xbf, 0x56, 0x9d, 0xb5, 0x2e, 0x5b, 0x57, 0xcb, 0x8b, 0xd3, 0xbf, + 0x75, 0x50, 0xf9, 0xd8, 0xe1, 0x41, 0x65, 0xf4, 0x9e, 0x28, 0xc7, 0x0a, 0x03, 0x5d, 0x81, 0xe1, + 0xcd, 0x68, 0x7d, 0xbf, 0x4d, 0x66, 0x0b, 0x0c, 0x77, 0x52, 0xe0, 0x0e, 0xaf, 0x34, 0x68, 0x29, + 0x16, 0x50, 0x74, 0x0d, 0xca, 0x6d, 0x27, 0x8c, 0xdd, 0xd8, 0x0d, 0xfc, 0xd9, 0xe2, 0x65, 0xeb, + 0xea, 0xd0, 0xe2, 0x8c, 0x40, 0x2d, 0xd7, 0x25, 0x00, 0x27, 0x38, 0xb4, 0x1b, 0x21, 0x71, 0x5a, + 0x77, 0x7c, 0x6f, 0x7f, 0xb6, 0x74, 0xd9, 0xba, 0x3a, 0x9a, 0x74, 0x03, 0x8b, 0x72, 0xac, 0x30, + 0xec, 0x1f, 0x2d, 0xc0, 0xe8, 0xc2, 0xe6, 0xa6, 0xeb, 0xbb, 0xf1, 0x3e, 0xba, 0x07, 0xe3, 0x7e, + 0xd0, 0x22, 0xf2, 0x3f, 0xfb, 0x8a, 0xb1, 0xeb, 0x97, 0xe7, 0xbb, 0x97, 0xd2, 0xfc, 0x9a, 0x86, + 0xb7, 0x38, 0x7d, 0x78, 0x50, 0x19, 0xd7, 0x4b, 0xb0, 0x41, 0x07, 0x61, 0x18, 0x6b, 0x07, 0x2d, + 0x45, 0xb6, 0xc0, 0xc8, 0x56, 0xb2, 0xc8, 0xd6, 0x13, 0xb4, 0xc5, 0xa9, 0xc3, 0x83, 0xca, 0x98, + 0x56, 0x80, 0x75, 0x22, 0x68, 0x03, 0xa6, 0xe8, 0x5f, 0x3f, 0x76, 0x15, 0xdd, 0x22, 0xa3, 0xfb, + 0x54, 0x1e, 0x5d, 0x0d, 0x75, 0xf1, 0xcc, 0xe1, 0x41, 0x65, 0x2a, 0x55, 0x88, 0xd3, 0x04, 0xed, + 0xf7, 0x61, 0x72, 0x21, 0x8e, 0x9d, 0xe6, 0x36, 0x69, 0xf1, 0x19, 0x44, 0x2f, 0x41, 0xc9, 0x77, + 0x76, 0x89, 0x98, 0xdf, 0xcb, 0x62, 0x60, 0x4b, 0x6b, 0xce, 0x2e, 0x39, 0x3a, 0xa8, 0x4c, 0xdf, + 0xf5, 0xdd, 0xf7, 0x3a, 0x62, 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x75, 0x80, 0x16, 0xd9, 0x73, + 0x9b, 0xa4, 0xee, 0xc4, 0xdb, 0x62, 0xbe, 0x91, 0xa8, 0x0b, 0x55, 0x05, 0xc1, 0x1a, 0x96, 0xfd, + 0x00, 0xca, 0x0b, 0x7b, 0x81, 0xdb, 0xaa, 0x07, 0xad, 0x08, 0xed, 0xc0, 0x54, 0x3b, 0x24, 0x9b, + 0x24, 0x54, 0x45, 0xb3, 0xd6, 0xe5, 0xe2, 0xd5, 0xb1, 0xeb, 0x57, 0x33, 0x3f, 0xd6, 0x44, 0x5d, + 0xf6, 0xe3, 0x70, 0x7f, 0xf1, 0x31, 0xd1, 0xde, 0x54, 0x0a, 0x8a, 0xd3, 0x94, 0xed, 0x7f, 0x51, + 0x80, 0x73, 0x0b, 0xef, 0x77, 0x42, 0x52, 0x75, 0xa3, 0x9d, 0xf4, 0x0a, 0x6f, 0xb9, 0xd1, 0xce, + 0x5a, 0x32, 0x02, 0x6a, 0x69, 0x55, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x79, 0x18, 0xa1, 0xbf, 0xef, + 0xe2, 0x9a, 0xf8, 0xe4, 0x33, 0x02, 0x79, 0xac, 0xea, 0xc4, 0x4e, 0x95, 0x83, 0xb0, 0xc4, 0x41, + 0xab, 0x30, 0xd6, 0x64, 0x1b, 0x72, 0x6b, 0x35, 0x68, 0x11, 0x36, 0x99, 0xe5, 0xc5, 0x67, 0x29, + 0xfa, 0x52, 0x52, 0x7c, 0x74, 0x50, 0x99, 0xe5, 0x7d, 0x13, 0x24, 0x34, 0x18, 0xd6, 0xeb, 0x23, + 0x5b, 0xed, 0xaf, 0x12, 0xa3, 0x04, 0x19, 0x7b, 0xeb, 0xaa, 0xb6, 0x55, 0x86, 0xd8, 0x56, 0x19, + 0xcf, 0xde, 0x26, 0xe8, 0x05, 0x28, 0xed, 0xb8, 0x7e, 0x6b, 0x76, 0x98, 0xd1, 0xba, 0x48, 0xe7, + 0xfc, 0x96, 0xeb, 0xb7, 0x8e, 0x0e, 0x2a, 0x33, 0x46, 0x77, 0x68, 0x21, 0x66, 0xa8, 0xf6, 0x1f, + 0x59, 0x50, 0x61, 0xb0, 0x15, 0xd7, 0x23, 0x75, 0x12, 0x46, 0x6e, 0x14, 0x13, 0x3f, 0x36, 0x06, + 0xf4, 0x3a, 0x40, 0x44, 0x9a, 0x21, 0x89, 0xb5, 0x21, 0x55, 0x0b, 0xa3, 0xa1, 0x20, 0x58, 0xc3, + 0xa2, 0x07, 0x42, 0xb4, 0xed, 0x84, 0x6c, 0x7d, 0x89, 0x81, 0x55, 0x07, 0x42, 0x43, 0x02, 0x70, + 0x82, 0x63, 0x1c, 0x08, 0xc5, 0x7e, 0x07, 0x02, 0xfa, 0x1c, 0x4c, 0x25, 0x8d, 0x45, 0x6d, 0xa7, + 0x29, 0x07, 0x90, 0x6d, 0x99, 0x86, 0x09, 0xc2, 0x69, 0x5c, 0xfb, 0xef, 0x5a, 0x62, 0xf1, 0xd0, + 0xaf, 0xfe, 0x88, 0x7f, 0xab, 0xfd, 0x2b, 0x16, 0x8c, 0x2c, 0xba, 0x7e, 0xcb, 0xf5, 0xb7, 0xd0, + 0x97, 0x61, 0x94, 0xde, 0x4d, 0x2d, 0x27, 0x76, 0xc4, 0xb9, 0xf7, 0x29, 0x6d, 0x6f, 0xa9, 0xab, + 0x62, 0xbe, 0xbd, 0xb3, 0x45, 0x0b, 0xa2, 0x79, 0x8a, 0x4d, 0x77, 0xdb, 0x9d, 0x8d, 0x77, 0x49, + 0x33, 0x5e, 0x25, 0xb1, 0x93, 0x7c, 0x4e, 0x52, 0x86, 0x15, 0x55, 0x74, 0x0b, 0x86, 0x63, 0x27, + 0xdc, 0x22, 0xb1, 0x38, 0x00, 0x33, 0x0f, 0x2a, 0x5e, 0x13, 0xd3, 0x1d, 0x49, 0xfc, 0x26, 0x49, + 0xae, 0x85, 0x75, 0x56, 0x15, 0x0b, 0x12, 0xf6, 0x5f, 0x1a, 0x86, 0x0b, 0x4b, 0x8d, 0x5a, 0xce, + 0xba, 0xba, 0x02, 0xc3, 0xad, 0xd0, 0xdd, 0x23, 0xa1, 0x18, 0x67, 0x45, 0xa5, 0xca, 0x4a, 0xb1, + 0x80, 0xa2, 0x57, 0x61, 0x9c, 0x5f, 0x48, 0x37, 0x1d, 0xbf, 0xe5, 0xc9, 0x21, 0x3e, 0x2b, 0xb0, + 0xc7, 0xef, 0x69, 0x30, 0x6c, 0x60, 0x1e, 0x73, 0x51, 0x5d, 0x49, 0x6d, 0xc6, 0xbc, 0xcb, 0xee, + 0x07, 0x2c, 0x98, 0xe6, 0xcd, 0x2c, 0xc4, 0x71, 0xe8, 0x6e, 0x74, 0x62, 0x12, 0xcd, 0x0e, 0xb1, + 0x93, 0x6e, 0x29, 0x6b, 0xb4, 0x72, 0x47, 0x60, 0xfe, 0x5e, 0x8a, 0x0a, 0x3f, 0x04, 0x67, 0x45, + 0xbb, 0xd3, 0x69, 0x30, 0xee, 0x6a, 0x16, 0x7d, 0xaf, 0x05, 0x73, 0xcd, 0xc0, 0x8f, 0xc3, 0xc0, + 0xf3, 0x48, 0x58, 0xef, 0x6c, 0x78, 0x6e, 0xb4, 0xcd, 0xd7, 0x29, 0x26, 0x9b, 0xec, 0x24, 0xc8, + 0x99, 0x43, 0x85, 0x24, 0xe6, 0xf0, 0xd2, 0xe1, 0x41, 0x65, 0x6e, 0x29, 0x97, 0x14, 0xee, 0xd1, + 0x0c, 0xda, 0x01, 0x44, 0xaf, 0xd2, 0x46, 0xec, 0x6c, 0x91, 0xa4, 0xf1, 0x91, 0xc1, 0x1b, 0x3f, + 0x7f, 0x78, 0x50, 0x41, 0x6b, 0x5d, 0x24, 0x70, 0x06, 0x59, 0xf4, 0x1e, 0x9c, 0xa5, 0xa5, 0x5d, + 0xdf, 0x3a, 0x3a, 0x78, 0x73, 0xb3, 0x87, 0x07, 0x95, 0xb3, 0x6b, 0x19, 0x44, 0x70, 0x26, 0xe9, + 0xb9, 0x25, 0x38, 0x97, 0x39, 0x55, 0x68, 0x1a, 0x8a, 0x3b, 0x84, 0xb3, 0x20, 0x65, 0x4c, 0x7f, + 0xa2, 0xb3, 0x30, 0xb4, 0xe7, 0x78, 0x1d, 0xb1, 0x4a, 0x31, 0xff, 0xf3, 0x99, 0xc2, 0xab, 0x96, + 0xdd, 0x84, 0xf1, 0x25, 0xa7, 0xed, 0x6c, 0xb8, 0x9e, 0x1b, 0xbb, 0x24, 0x42, 0x4f, 0x43, 0xd1, + 0x69, 0xb5, 0xd8, 0x15, 0x59, 0x5e, 0x3c, 0x77, 0x78, 0x50, 0x29, 0x2e, 0xb4, 0xe8, 0x59, 0x0d, + 0x0a, 0x6b, 0x1f, 0x53, 0x0c, 0xf4, 0x49, 0x28, 0xb5, 0xc2, 0xa0, 0x3d, 0x5b, 0x60, 0x98, 0x74, + 0xa8, 0x4a, 0xd5, 0x30, 0x68, 0xa7, 0x50, 0x19, 0x8e, 0xfd, 0xeb, 0x05, 0x78, 0x62, 0x89, 0xb4, + 0xb7, 0x57, 0x1a, 0x39, 0x9b, 0xee, 0x2a, 0x8c, 0xee, 0x06, 0xbe, 0x1b, 0x07, 0x61, 0x24, 0x9a, + 0x66, 0xb7, 0xc9, 0xaa, 0x28, 0xc3, 0x0a, 0x8a, 0x2e, 0x43, 0xa9, 0x9d, 0x70, 0x02, 0xe3, 0x92, + 0x8b, 0x60, 0x3c, 0x00, 0x83, 0x50, 0x8c, 0x4e, 0x44, 0x42, 0x71, 0x0b, 0x2a, 0x8c, 0xbb, 0x11, + 0x09, 0x31, 0x83, 0x24, 0xc7, 0x29, 0x3d, 0x68, 0xc5, 0xb6, 0x4a, 0x1d, 0xa7, 0x14, 0x82, 0x35, + 0x2c, 0x54, 0x87, 0x72, 0xa4, 0x26, 0x75, 0x68, 0xf0, 0x49, 0x9d, 0x60, 0xe7, 0xad, 0x9a, 0xc9, + 0x84, 0x88, 0x71, 0x0c, 0x0c, 0xf7, 0x3d, 0x6f, 0xbf, 0x5e, 0x00, 0xc4, 0x87, 0xf0, 0xcf, 0xd8, + 0xc0, 0xdd, 0xed, 0x1e, 0xb8, 0x4c, 0xce, 0xeb, 0x76, 0xd0, 0x74, 0xbc, 0xf4, 0x11, 0x7e, 0x52, + 0xa3, 0xf7, 0xbf, 0x2c, 0x78, 0x62, 0xc9, 0xf5, 0x5b, 0x24, 0xcc, 0x59, 0x80, 0x8f, 0x46, 0x00, + 0x39, 0xde, 0x49, 0x6f, 0x2c, 0xb1, 0xd2, 0x09, 0x2c, 0x31, 0xfb, 0xbf, 0x5b, 0x80, 0xf8, 0x67, + 0x7f, 0xe4, 0x3e, 0xf6, 0x6e, 0xf7, 0xc7, 0x9e, 0xc0, 0xb2, 0xb0, 0x6f, 0xc3, 0xe4, 0x92, 0xe7, + 0x12, 0x3f, 0xae, 0xd5, 0x97, 0x02, 0x7f, 0xd3, 0xdd, 0x42, 0x9f, 0x81, 0x49, 0x2a, 0xd3, 0x06, + 0x9d, 0xb8, 0x41, 0x9a, 0x81, 0xcf, 0xd8, 0x7f, 0x2a, 0x09, 0xa2, 0xc3, 0x83, 0xca, 0xe4, 0xba, + 0x01, 0xc1, 0x29, 0x4c, 0xfb, 0x77, 0xe9, 0xf8, 0x05, 0xbb, 0xed, 0xc0, 0x27, 0x7e, 0xbc, 0x14, + 0xf8, 0x2d, 0x2e, 0x26, 0x7e, 0x06, 0x4a, 0x31, 0x1d, 0x0f, 0x3e, 0x76, 0x57, 0xe4, 0x46, 0xa1, + 0xa3, 0x70, 0x74, 0x50, 0x39, 0xdf, 0x5d, 0x83, 0x8d, 0x13, 0xab, 0x83, 0xbe, 0x0d, 0x86, 0xa3, + 0xd8, 0x89, 0x3b, 0x91, 0x18, 0xcd, 0x27, 0xe5, 0x68, 0x36, 0x58, 0xe9, 0xd1, 0x41, 0x65, 0x4a, + 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc0, 0xc8, 0x2e, 0x89, 0x22, 0x67, 0x4b, 0x72, 0xf8, + 0x53, 0xa2, 0xee, 0xc8, 0x2a, 0x2f, 0xc6, 0x12, 0x8e, 0x9e, 0x82, 0x21, 0x12, 0x86, 0x41, 0x28, + 0xf6, 0xe8, 0x84, 0x40, 0x1c, 0x5a, 0xa6, 0x85, 0x98, 0xc3, 0xec, 0x7f, 0x6d, 0xc1, 0x94, 0xea, + 0x2b, 0x6f, 0xeb, 0x14, 0x58, 0xb9, 0xb7, 0x01, 0x9a, 0xf2, 0x03, 0x23, 0x76, 0x7b, 0x8c, 0x5d, + 0xbf, 0x92, 0xc9, 0xa0, 0x74, 0x0d, 0x63, 0x42, 0x59, 0x15, 0x45, 0x58, 0xa3, 0x66, 0xff, 0x9a, + 0x05, 0x67, 0x52, 0x5f, 0x74, 0xdb, 0x8d, 0x62, 0xf4, 0x4e, 0xd7, 0x57, 0xcd, 0x0f, 0xf6, 0x55, + 0xb4, 0x36, 0xfb, 0x26, 0xb5, 0x94, 0x65, 0x89, 0xf6, 0x45, 0x37, 0x61, 0xc8, 0x8d, 0xc9, 0xae, + 0xfc, 0x98, 0xa7, 0x7a, 0x7e, 0x0c, 0xef, 0x55, 0x32, 0x23, 0x35, 0x5a, 0x13, 0x73, 0x02, 0xf6, + 0x0f, 0x17, 0xa1, 0xcc, 0x97, 0xed, 0xaa, 0xd3, 0x3e, 0x85, 0xb9, 0xa8, 0x41, 0x89, 0x51, 0xe7, + 0x1d, 0x7f, 0x3a, 0xbb, 0xe3, 0xa2, 0x3b, 0xf3, 0x54, 0x4e, 0xe3, 0xac, 0xa0, 0xba, 0x1a, 0x68, + 0x11, 0x66, 0x24, 0x90, 0x03, 0xb0, 0xe1, 0xfa, 0x4e, 0xb8, 0x4f, 0xcb, 0x66, 0x8b, 0x8c, 0xe0, + 0xf3, 0xbd, 0x09, 0x2e, 0x2a, 0x7c, 0x4e, 0x56, 0xf5, 0x35, 0x01, 0x60, 0x8d, 0xe8, 0xdc, 0x2b, + 0x50, 0x56, 0xc8, 0xc7, 0xe1, 0x71, 0xe6, 0x3e, 0x07, 0x53, 0xa9, 0xb6, 0xfa, 0x55, 0x1f, 0xd7, + 0x59, 0xa4, 0xaf, 0xb1, 0x53, 0x40, 0xf4, 0x7a, 0xd9, 0xdf, 0x13, 0xa7, 0xe8, 0xfb, 0x70, 0xd6, + 0xcb, 0x38, 0x9c, 0xc4, 0x54, 0x0d, 0x7e, 0x98, 0x3d, 0x21, 0x3e, 0xfb, 0x6c, 0x16, 0x14, 0x67, + 0xb6, 0x41, 0xaf, 0xfd, 0xa0, 0x4d, 0xd7, 0xbc, 0xe3, 0xb1, 0xfe, 0x0a, 0xe9, 0xfb, 0x8e, 0x28, + 0xc3, 0x0a, 0x4a, 0x8f, 0xb0, 0xb3, 0xaa, 0xf3, 0xb7, 0xc8, 0x7e, 0x83, 0x78, 0xa4, 0x19, 0x07, + 0xe1, 0x87, 0xda, 0xfd, 0x8b, 0x7c, 0xf4, 0xf9, 0x09, 0x38, 0x26, 0x08, 0x14, 0x6f, 0x91, 0x7d, + 0x3e, 0x15, 0xfa, 0xd7, 0x15, 0x7b, 0x7e, 0xdd, 0xcf, 0x5b, 0x30, 0xa1, 0xbe, 0xee, 0x14, 0xb6, + 0xfa, 0xa2, 0xb9, 0xd5, 0x2f, 0xf6, 0x5c, 0xe0, 0x39, 0x9b, 0xfc, 0xeb, 0x05, 0xb8, 0xa0, 0x70, + 0x28, 0xbb, 0xcf, 0xff, 0x88, 0x55, 0x75, 0x0d, 0xca, 0xbe, 0xd2, 0x1e, 0x58, 0xa6, 0xd8, 0x9e, + 0xe8, 0x0e, 0x12, 0x1c, 0xca, 0xb5, 0xf9, 0x89, 0x88, 0x3f, 0xae, 0xab, 0xd5, 0x84, 0x0a, 0x6d, + 0x11, 0x8a, 0x1d, 0xb7, 0x25, 0xee, 0x8c, 0x4f, 0xc9, 0xd1, 0xbe, 0x5b, 0xab, 0x1e, 0x1d, 0x54, + 0x9e, 0xcc, 0x53, 0xe9, 0xd2, 0xcb, 0x2a, 0x9a, 0xbf, 0x5b, 0xab, 0x62, 0x5a, 0x19, 0x2d, 0xc0, + 0x94, 0xd4, 0x5a, 0xdf, 0xa3, 0x1c, 0x54, 0xe0, 0x8b, 0xab, 0x45, 0xe9, 0xc6, 0xb0, 0x09, 0xc6, + 0x69, 0x7c, 0x54, 0x85, 0xe9, 0x9d, 0xce, 0x06, 0xf1, 0x48, 0xcc, 0x3f, 0xf8, 0x16, 0xe1, 0x9a, + 0xa3, 0x72, 0x22, 0x5a, 0xde, 0x4a, 0xc1, 0x71, 0x57, 0x0d, 0xfb, 0x4f, 0xd9, 0x11, 0x2f, 0x46, + 0xaf, 0x1e, 0x06, 0x74, 0x61, 0x51, 0xea, 0x1f, 0xe6, 0x72, 0x1e, 0x64, 0x55, 0xdc, 0x22, 0xfb, + 0xeb, 0x01, 0x65, 0xb6, 0xb3, 0x57, 0x85, 0xb1, 0xe6, 0x4b, 0x3d, 0xd7, 0xfc, 0x2f, 0x16, 0xe0, + 0x9c, 0x1a, 0x01, 0x83, 0xaf, 0xfb, 0xb3, 0x3e, 0x06, 0x2f, 0xc0, 0x58, 0x8b, 0x6c, 0x3a, 0x1d, + 0x2f, 0x56, 0x6a, 0xcc, 0x21, 0xae, 0xca, 0xae, 0x26, 0xc5, 0x58, 0xc7, 0x39, 0xc6, 0xb0, 0xfd, + 0xd4, 0x18, 0xbb, 0x5b, 0x63, 0x87, 0xae, 0x71, 0xb5, 0x6b, 0xac, 0xdc, 0x5d, 0xf3, 0x14, 0x0c, + 0xb9, 0xbb, 0x94, 0xd7, 0x2a, 0x98, 0x2c, 0x54, 0x8d, 0x16, 0x62, 0x0e, 0x43, 0x9f, 0x80, 0x91, + 0x66, 0xb0, 0xbb, 0xeb, 0xf8, 0x2d, 0x76, 0xe5, 0x95, 0x17, 0xc7, 0x28, 0x3b, 0xb6, 0xc4, 0x8b, + 0xb0, 0x84, 0xa1, 0x27, 0xa0, 0xe4, 0x84, 0x5b, 0xd1, 0x6c, 0x89, 0xe1, 0x8c, 0xd2, 0x96, 0x16, + 0xc2, 0xad, 0x08, 0xb3, 0x52, 0x2a, 0x55, 0xdd, 0x0f, 0xc2, 0x1d, 0xd7, 0xdf, 0xaa, 0xba, 0xa1, + 0xd8, 0x12, 0xea, 0x2e, 0x7c, 0x4b, 0x41, 0xb0, 0x86, 0x85, 0x56, 0x60, 0xa8, 0x1d, 0x84, 0x71, + 0x34, 0x3b, 0xcc, 0x86, 0xfb, 0xc9, 0x9c, 0x83, 0x88, 0x7f, 0x6d, 0x3d, 0x08, 0xe3, 0xe4, 0x03, + 0xe8, 0xbf, 0x08, 0xf3, 0xea, 0xe8, 0xdb, 0xa0, 0x48, 0xfc, 0xbd, 0xd9, 0x11, 0x46, 0x65, 0x2e, + 0x8b, 0xca, 0xb2, 0xbf, 0x77, 0xcf, 0x09, 0x93, 0x53, 0x7a, 0xd9, 0xdf, 0xc3, 0xb4, 0x0e, 0xfa, + 0x02, 0x94, 0xe5, 0x16, 0x8f, 0x84, 0x9a, 0x23, 0x73, 0x89, 0xc9, 0x83, 0x01, 0x93, 0xf7, 0x3a, + 0x6e, 0x48, 0x76, 0x89, 0x1f, 0x47, 0xc9, 0x99, 0x26, 0xa1, 0x11, 0x4e, 0xa8, 0xa1, 0x2f, 0x48, + 0xdd, 0xda, 0x6a, 0xd0, 0xf1, 0xe3, 0x68, 0xb6, 0xcc, 0xba, 0x97, 0xf9, 0xea, 0x71, 0x2f, 0xc1, + 0x4b, 0x2b, 0xdf, 0x78, 0x65, 0x6c, 0x90, 0x42, 0x18, 0x26, 0x3c, 0x77, 0x8f, 0xf8, 0x24, 0x8a, + 0xea, 0x61, 0xb0, 0x41, 0x66, 0x81, 0xf5, 0xfc, 0x42, 0xf6, 0x63, 0x40, 0xb0, 0x41, 0x16, 0x67, + 0x0e, 0x0f, 0x2a, 0x13, 0xb7, 0xf5, 0x3a, 0xd8, 0x24, 0x81, 0xee, 0xc2, 0x24, 0x95, 0x6b, 0xdc, + 0x84, 0xe8, 0x58, 0x3f, 0xa2, 0x4c, 0xfa, 0xc0, 0x46, 0x25, 0x9c, 0x22, 0x82, 0xde, 0x80, 0xb2, + 0xe7, 0x6e, 0x92, 0xe6, 0x7e, 0xd3, 0x23, 0xb3, 0xe3, 0x8c, 0x62, 0xe6, 0xb6, 0xba, 0x2d, 0x91, + 0xb8, 0x5c, 0xa4, 0xfe, 0xe2, 0xa4, 0x3a, 0xba, 0x07, 0xe7, 0x63, 0x12, 0xee, 0xba, 0xbe, 0x43, + 0xb7, 0x83, 0x90, 0x17, 0xd8, 0x93, 0xca, 0x04, 0x5b, 0x6f, 0x97, 0xc4, 0xd0, 0x9d, 0x5f, 0xcf, + 0xc4, 0xc2, 0x39, 0xb5, 0xd1, 0x1d, 0x98, 0x62, 0x3b, 0xa1, 0xde, 0xf1, 0xbc, 0x7a, 0xe0, 0xb9, + 0xcd, 0xfd, 0xd9, 0x49, 0x46, 0xf0, 0x13, 0xf2, 0x5e, 0xa8, 0x99, 0xe0, 0xa3, 0x83, 0x0a, 0x24, + 0xff, 0x70, 0xba, 0x36, 0xda, 0x60, 0x3a, 0xf4, 0x4e, 0xe8, 0xc6, 0xfb, 0x74, 0xfd, 0x92, 0x07, + 0xf1, 0xec, 0x54, 0x4f, 0x51, 0x58, 0x47, 0x55, 0x8a, 0x76, 0xbd, 0x10, 0xa7, 0x09, 0xd2, 0xad, + 0x1d, 0xc5, 0x2d, 0xd7, 0x9f, 0x9d, 0x66, 0x27, 0x86, 0xda, 0x19, 0x0d, 0x5a, 0x88, 0x39, 0x8c, + 0xe9, 0xcf, 0xe9, 0x8f, 0x3b, 0xf4, 0x04, 0x9d, 0x61, 0x88, 0x89, 0xfe, 0x5c, 0x02, 0x70, 0x82, + 0x43, 0x99, 0x9a, 0x38, 0xde, 0x9f, 0x45, 0x0c, 0x55, 0x6d, 0x97, 0xf5, 0xf5, 0x2f, 0x60, 0x5a, + 0x8e, 0x6e, 0xc3, 0x08, 0xf1, 0xf7, 0x56, 0xc2, 0x60, 0x77, 0xf6, 0x4c, 0xfe, 0x9e, 0x5d, 0xe6, + 0x28, 0xfc, 0x40, 0x4f, 0x04, 0x3c, 0x51, 0x8c, 0x25, 0x09, 0xf4, 0x00, 0x66, 0x33, 0x66, 0x84, + 0x4f, 0xc0, 0x59, 0x36, 0x01, 0x9f, 0x15, 0x75, 0x67, 0xd7, 0x73, 0xf0, 0x8e, 0x7a, 0xc0, 0x70, + 0x2e, 0x75, 0xf4, 0x45, 0x98, 0xe0, 0x1b, 0x8a, 0x3f, 0xbe, 0x45, 0xb3, 0xe7, 0xd8, 0xd7, 0x5c, + 0xce, 0xdf, 0x9c, 0x1c, 0x71, 0xf1, 0x9c, 0xe8, 0xd0, 0x84, 0x5e, 0x1a, 0x61, 0x93, 0x9a, 0xbd, + 0x01, 0x93, 0xea, 0xdc, 0x62, 0x4b, 0x07, 0x55, 0x60, 0x88, 0x71, 0x3b, 0x42, 0xbf, 0x55, 0xa6, + 0x33, 0xc5, 0x38, 0x21, 0xcc, 0xcb, 0xd9, 0x4c, 0xb9, 0xef, 0x93, 0xc5, 0xfd, 0x98, 0x70, 0xa9, + 0xba, 0xa8, 0xcd, 0x94, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x3f, 0x9c, 0x6b, 0x4c, 0x0e, 0xc7, 0x01, + 0xae, 0x83, 0xe7, 0x60, 0x74, 0x3b, 0x88, 0x62, 0x8a, 0xcd, 0xda, 0x18, 0x4a, 0xf8, 0xc4, 0x9b, + 0xa2, 0x1c, 0x2b, 0x0c, 0xf4, 0x1a, 0x4c, 0x34, 0xf5, 0x06, 0xc4, 0x5d, 0xa6, 0x86, 0xc0, 0x68, + 0x1d, 0x9b, 0xb8, 0xe8, 0x55, 0x18, 0x65, 0x4f, 0xe7, 0xcd, 0xc0, 0x13, 0x4c, 0x96, 0xbc, 0x90, + 0x47, 0xeb, 0xa2, 0xfc, 0x48, 0xfb, 0x8d, 0x15, 0x36, 0xba, 0x02, 0xc3, 0xb4, 0x0b, 0xb5, 0xba, + 0xb8, 0x45, 0x94, 0xaa, 0xe6, 0x26, 0x2b, 0xc5, 0x02, 0x6a, 0xff, 0xd5, 0x82, 0x36, 0xca, 0x54, + 0x22, 0x25, 0xa8, 0x0e, 0x23, 0xf7, 0x1d, 0x37, 0x76, 0xfd, 0x2d, 0xc1, 0x2e, 0x3c, 0xd3, 0xf3, + 0x4a, 0x61, 0x95, 0xde, 0xe2, 0x15, 0xf8, 0xa5, 0x27, 0xfe, 0x60, 0x49, 0x86, 0x52, 0x0c, 0x3b, + 0xbe, 0x4f, 0x29, 0x16, 0x06, 0xa5, 0x88, 0x79, 0x05, 0x4e, 0x51, 0xfc, 0xc1, 0x92, 0x0c, 0x7a, + 0x07, 0x40, 0x2e, 0x4b, 0xd2, 0x12, 0x4f, 0xd6, 0xcf, 0xf5, 0x27, 0xba, 0xae, 0xea, 0x2c, 0x4e, + 0xd2, 0x2b, 0x35, 0xf9, 0x8f, 0x35, 0x7a, 0x76, 0xcc, 0xd8, 0xaa, 0xee, 0xce, 0xa0, 0xef, 0xa4, + 0x27, 0x81, 0x13, 0xc6, 0xa4, 0xb5, 0x10, 0x8b, 0xc1, 0xf9, 0xe4, 0x60, 0x32, 0xc5, 0xba, 0xbb, + 0x4b, 0xf4, 0x53, 0x43, 0x10, 0xc1, 0x09, 0x3d, 0xfb, 0x97, 0x8b, 0x30, 0x9b, 0xd7, 0x5d, 0xba, + 0xe8, 0xc8, 0x03, 0x37, 0x5e, 0xa2, 0xdc, 0x90, 0x65, 0x2e, 0xba, 0x65, 0x51, 0x8e, 0x15, 0x06, + 0x9d, 0xfd, 0xc8, 0xdd, 0x92, 0x22, 0xe1, 0x50, 0x32, 0xfb, 0x0d, 0x56, 0x8a, 0x05, 0x94, 0xe2, + 0x85, 0xc4, 0x89, 0x84, 0x4d, 0x84, 0xb6, 0x4a, 0x30, 0x2b, 0xc5, 0x02, 0xaa, 0xeb, 0x9b, 0x4a, + 0x7d, 0xf4, 0x4d, 0xc6, 0x10, 0x0d, 0x9d, 0xec, 0x10, 0xa1, 0x2f, 0x01, 0x6c, 0xba, 0xbe, 0x1b, + 0x6d, 0x33, 0xea, 0xc3, 0xc7, 0xa6, 0xae, 0x78, 0xa9, 0x15, 0x45, 0x05, 0x6b, 0x14, 0xd1, 0xcb, + 0x30, 0xa6, 0x36, 0x60, 0xad, 0xca, 0x1e, 0x88, 0xb4, 0x07, 0xf7, 0xe4, 0x34, 0xaa, 0x62, 0x1d, + 0xcf, 0x7e, 0x37, 0xbd, 0x5e, 0xc4, 0x0e, 0xd0, 0xc6, 0xd7, 0x1a, 0x74, 0x7c, 0x0b, 0xbd, 0xc7, + 0xd7, 0xfe, 0x8d, 0x22, 0x4c, 0x19, 0x8d, 0x75, 0xa2, 0x01, 0xce, 0xac, 0x1b, 0xf4, 0x9e, 0x73, + 0x62, 0x22, 0xf6, 0x9f, 0xdd, 0x7f, 0xab, 0xe8, 0x77, 0x21, 0xdd, 0x01, 0xbc, 0x3e, 0xfa, 0x12, + 0x94, 0x3d, 0x27, 0x62, 0xba, 0x2b, 0x22, 0xf6, 0xdd, 0x20, 0xc4, 0x12, 0x39, 0xc2, 0x89, 0x62, + 0xed, 0xaa, 0xe1, 0xb4, 0x13, 0x92, 0xf4, 0x42, 0xa6, 0xbc, 0x8f, 0x34, 0xba, 0x51, 0x9d, 0xa0, + 0x0c, 0xd2, 0x3e, 0xe6, 0x30, 0xf4, 0x2a, 0x8c, 0x87, 0x84, 0xad, 0x8a, 0x25, 0xca, 0xca, 0xb1, + 0x65, 0x36, 0x94, 0xf0, 0x7c, 0x58, 0x83, 0x61, 0x03, 0x33, 0x61, 0xe5, 0x87, 0x7b, 0xb0, 0xf2, + 0xcf, 0xc0, 0x08, 0xfb, 0xa1, 0x56, 0x80, 0x9a, 0x8d, 0x1a, 0x2f, 0xc6, 0x12, 0x9e, 0x5e, 0x30, + 0xa3, 0x03, 0x2e, 0x98, 0x4f, 0xc2, 0x64, 0xd5, 0x21, 0xbb, 0x81, 0xbf, 0xec, 0xb7, 0xda, 0x81, + 0xeb, 0xc7, 0x68, 0x16, 0x4a, 0xec, 0x76, 0xe0, 0x7b, 0xbb, 0x44, 0x29, 0xe0, 0x12, 0x65, 0xcc, + 0xed, 0x2d, 0x38, 0x57, 0x0d, 0xee, 0xfb, 0xf7, 0x9d, 0xb0, 0xb5, 0x50, 0xaf, 0x69, 0x72, 0xee, + 0x9a, 0x94, 0xb3, 0xb8, 0x11, 0x4b, 0xe6, 0x99, 0xaa, 0xd5, 0xe4, 0x77, 0xed, 0x8a, 0xeb, 0x91, + 0x1c, 0x6d, 0xc4, 0x5f, 0x2f, 0x18, 0x2d, 0x25, 0xf8, 0xea, 0xc1, 0xc8, 0xca, 0x7d, 0x30, 0x7a, + 0x13, 0x46, 0x37, 0x5d, 0xe2, 0xb5, 0x30, 0xd9, 0x14, 0x4b, 0xec, 0xe9, 0xfc, 0x77, 0xf9, 0x15, + 0x8a, 0x29, 0xb5, 0x4f, 0x5c, 0x4a, 0x5b, 0x11, 0x95, 0xb1, 0x22, 0x83, 0x76, 0x60, 0x5a, 0x8a, + 0x01, 0x12, 0x2a, 0x16, 0xdc, 0x33, 0xbd, 0x64, 0x0b, 0x93, 0xf8, 0xd9, 0xc3, 0x83, 0xca, 0x34, + 0x4e, 0x91, 0xc1, 0x5d, 0x84, 0xa9, 0x58, 0xb6, 0x4b, 0x8f, 0xd6, 0x12, 0x1b, 0x7e, 0x26, 0x96, + 0x31, 0x09, 0x93, 0x95, 0xda, 0x3f, 0x6e, 0xc1, 0x63, 0x5d, 0x23, 0x23, 0x24, 0xed, 0x13, 0x9e, + 0x85, 0xb4, 0xe4, 0x5b, 0xe8, 0x2f, 0xf9, 0xda, 0x7f, 0xcf, 0x82, 0xb3, 0xcb, 0xbb, 0xed, 0x78, + 0xbf, 0xea, 0x9a, 0xaf, 0x3b, 0xaf, 0xc0, 0xf0, 0x2e, 0x69, 0xb9, 0x9d, 0x5d, 0x31, 0x73, 0x15, + 0x79, 0xfc, 0xac, 0xb2, 0xd2, 0xa3, 0x83, 0xca, 0x44, 0x23, 0x0e, 0x42, 0x67, 0x8b, 0xf0, 0x02, + 0x2c, 0xd0, 0xd9, 0x21, 0xee, 0xbe, 0x4f, 0x6e, 0xbb, 0xbb, 0xae, 0xb4, 0xb3, 0xe8, 0xa9, 0x3b, + 0x9b, 0x97, 0x03, 0x3a, 0xff, 0x66, 0xc7, 0xf1, 0x63, 0x37, 0xde, 0x17, 0x0f, 0x33, 0x92, 0x08, + 0x4e, 0xe8, 0xd9, 0xdf, 0xb4, 0x60, 0x4a, 0xae, 0xfb, 0x85, 0x56, 0x2b, 0x24, 0x51, 0x84, 0xe6, + 0xa0, 0xe0, 0xb6, 0x45, 0x2f, 0x41, 0xf4, 0xb2, 0x50, 0xab, 0xe3, 0x82, 0xdb, 0x46, 0x75, 0x28, + 0x73, 0x73, 0x8d, 0x64, 0x71, 0x0d, 0x64, 0xf4, 0xc1, 0x7a, 0xb0, 0x2e, 0x6b, 0xe2, 0x84, 0x88, + 0xe4, 0xe0, 0xd8, 0x99, 0x59, 0x34, 0x5f, 0xbd, 0x6e, 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x55, 0x18, + 0xf5, 0x83, 0x16, 0xb7, 0x9e, 0xe1, 0xb7, 0x1f, 0x5b, 0xb2, 0x6b, 0xa2, 0x0c, 0x2b, 0xa8, 0xfd, + 0x43, 0x16, 0x8c, 0xcb, 0x2f, 0x1b, 0x90, 0x99, 0xa4, 0x5b, 0x2b, 0x61, 0x24, 0x93, 0xad, 0x45, + 0x99, 0x41, 0x06, 0x31, 0x78, 0xc0, 0xe2, 0x71, 0x78, 0x40, 0xfb, 0xc7, 0x0a, 0x30, 0x29, 0xbb, + 0xd3, 0xe8, 0x6c, 0x44, 0x24, 0x46, 0xeb, 0x50, 0x76, 0xf8, 0x90, 0x13, 0xb9, 0x62, 0x9f, 0xca, + 0x16, 0x3e, 0x8c, 0xf9, 0x49, 0xae, 0xe5, 0x05, 0x59, 0x1b, 0x27, 0x84, 0x90, 0x07, 0x33, 0x7e, + 0x10, 0xb3, 0x23, 0x5a, 0xc1, 0x7b, 0x3d, 0x81, 0xa4, 0xa9, 0x5f, 0x10, 0xd4, 0x67, 0xd6, 0xd2, + 0x54, 0x70, 0x37, 0x61, 0xb4, 0x2c, 0x15, 0x1e, 0xc5, 0x7c, 0x71, 0x43, 0x9f, 0x85, 0x6c, 0x7d, + 0x87, 0xfd, 0xab, 0x16, 0x94, 0x25, 0xda, 0x69, 0xbc, 0x76, 0xad, 0xc2, 0x48, 0xc4, 0x26, 0x41, + 0x0e, 0x8d, 0xdd, 0xab, 0xe3, 0x7c, 0xbe, 0x92, 0x9b, 0x87, 0xff, 0x8f, 0xb0, 0xa4, 0xc1, 0xf4, + 0xdd, 0xaa, 0xfb, 0x1f, 0x11, 0x7d, 0xb7, 0xea, 0x4f, 0xce, 0x0d, 0xf3, 0x5f, 0x58, 0x9f, 0x35, + 0xb1, 0x96, 0x32, 0x48, 0xed, 0x90, 0x6c, 0xba, 0x0f, 0xd2, 0x0c, 0x52, 0x9d, 0x95, 0x62, 0x01, + 0x45, 0xef, 0xc0, 0x78, 0x53, 0x2a, 0x3a, 0x93, 0x63, 0xe0, 0x4a, 0x4f, 0xa5, 0xbb, 0x7a, 0x9f, + 0xe1, 0x96, 0xb5, 0x4b, 0x5a, 0x7d, 0x6c, 0x50, 0x33, 0x9f, 0xdb, 0x8b, 0xfd, 0x9e, 0xdb, 0x13, + 0xba, 0xf9, 0x8f, 0xcf, 0x3f, 0x61, 0xc1, 0x30, 0x57, 0x97, 0x0d, 0xa6, 0x5f, 0xd4, 0x9e, 0xab, + 0x92, 0xb1, 0xbb, 0x47, 0x0b, 0xc5, 0xf3, 0x13, 0x5a, 0x85, 0x32, 0xfb, 0xc1, 0xd4, 0x06, 0xc5, + 0x7c, 0x93, 0x62, 0xde, 0xaa, 0xde, 0xc1, 0x7b, 0xb2, 0x1a, 0x4e, 0x28, 0xd8, 0x3f, 0x52, 0xa4, + 0x47, 0x55, 0x82, 0x6a, 0xdc, 0xe0, 0xd6, 0xa3, 0xbb, 0xc1, 0x0b, 0x8f, 0xea, 0x06, 0xdf, 0x82, + 0xa9, 0xa6, 0xf6, 0xb8, 0x95, 0xcc, 0xe4, 0xd5, 0x9e, 0x8b, 0x44, 0x7b, 0x07, 0xe3, 0x2a, 0xa3, + 0x25, 0x93, 0x08, 0x4e, 0x53, 0x45, 0xdf, 0x09, 0xe3, 0x7c, 0x9e, 0x45, 0x2b, 0xdc, 0x62, 0xe1, + 0x13, 0xf9, 0xeb, 0x45, 0x6f, 0x82, 0xad, 0xc4, 0x86, 0x56, 0x1d, 0x1b, 0xc4, 0xec, 0x5f, 0x1e, + 0x85, 0xa1, 0xe5, 0x3d, 0xe2, 0xc7, 0xa7, 0x70, 0x20, 0x35, 0x61, 0xd2, 0xf5, 0xf7, 0x02, 0x6f, + 0x8f, 0xb4, 0x38, 0xfc, 0x38, 0x97, 0xeb, 0x79, 0x41, 0x7a, 0xb2, 0x66, 0x90, 0xc0, 0x29, 0x92, + 0x8f, 0x42, 0xc2, 0xbc, 0x01, 0xc3, 0x7c, 0xee, 0x85, 0x78, 0x99, 0xa9, 0x0c, 0x66, 0x83, 0x28, + 0x76, 0x41, 0x22, 0xfd, 0x72, 0xed, 0xb3, 0xa8, 0x8e, 0xde, 0x85, 0xc9, 0x4d, 0x37, 0x8c, 0x62, + 0x2a, 0x1a, 0x46, 0xb1, 0xb3, 0xdb, 0x7e, 0x08, 0x89, 0x52, 0x8d, 0xc3, 0x8a, 0x41, 0x09, 0xa7, + 0x28, 0xa3, 0x2d, 0x98, 0xa0, 0x42, 0x4e, 0xd2, 0xd4, 0xc8, 0xb1, 0x9b, 0x52, 0x2a, 0xa3, 0xdb, + 0x3a, 0x21, 0x6c, 0xd2, 0xa5, 0x87, 0x49, 0x93, 0x09, 0x45, 0xa3, 0x8c, 0xa3, 0x50, 0x87, 0x09, + 0x97, 0x86, 0x38, 0x8c, 0x9e, 0x49, 0xcc, 0x6c, 0xa5, 0x6c, 0x9e, 0x49, 0x9a, 0x71, 0xca, 0x97, + 0xa1, 0x4c, 0xe8, 0x10, 0x52, 0xc2, 0x42, 0x31, 0x7e, 0x6d, 0xb0, 0xbe, 0xae, 0xba, 0xcd, 0x30, + 0x30, 0x65, 0xf9, 0x65, 0x49, 0x09, 0x27, 0x44, 0xd1, 0x12, 0x0c, 0x47, 0x24, 0x74, 0x49, 0x24, + 0x54, 0xe4, 0x3d, 0xa6, 0x91, 0xa1, 0x71, 0xdb, 0x73, 0xfe, 0x1b, 0x8b, 0xaa, 0x74, 0x79, 0x39, + 0x4c, 0x1a, 0x62, 0x5a, 0x71, 0x6d, 0x79, 0x2d, 0xb0, 0x52, 0x2c, 0xa0, 0xe8, 0x0d, 0x18, 0x09, + 0x89, 0xc7, 0x94, 0x45, 0x13, 0x83, 0x2f, 0x72, 0xae, 0x7b, 0xe2, 0xf5, 0xb0, 0x24, 0x80, 0x6e, + 0x01, 0x0a, 0x09, 0xe5, 0x21, 0x5c, 0x7f, 0x4b, 0x19, 0x73, 0x08, 0x5d, 0xf7, 0xe3, 0xa2, 0xfd, + 0x33, 0x38, 0xc1, 0x90, 0x56, 0xa9, 0x38, 0xa3, 0x1a, 0xba, 0x01, 0x33, 0xaa, 0xb4, 0xe6, 0x47, + 0xb1, 0xe3, 0x37, 0x09, 0x53, 0x73, 0x97, 0x13, 0xae, 0x08, 0xa7, 0x11, 0x70, 0x77, 0x1d, 0xfb, + 0x67, 0x29, 0x3b, 0x43, 0x47, 0xeb, 0x14, 0x78, 0x81, 0xd7, 0x4d, 0x5e, 0xe0, 0x42, 0xee, 0xcc, + 0xe5, 0xf0, 0x01, 0x87, 0x16, 0x8c, 0x69, 0x33, 0x9b, 0xac, 0x59, 0xab, 0xc7, 0x9a, 0xed, 0xc0, + 0x34, 0x5d, 0xe9, 0x77, 0x36, 0x22, 0x12, 0xee, 0x91, 0x16, 0x5b, 0x98, 0x85, 0x87, 0x5b, 0x98, + 0xea, 0x95, 0xf9, 0x76, 0x8a, 0x20, 0xee, 0x6a, 0x02, 0xbd, 0x22, 0x35, 0x27, 0x45, 0xc3, 0x48, + 0x8b, 0x6b, 0x45, 0x8e, 0x0e, 0x2a, 0xd3, 0xda, 0x87, 0xe8, 0x9a, 0x12, 0xfb, 0xcb, 0xf2, 0x1b, + 0xd5, 0x6b, 0x7e, 0x53, 0x2d, 0x96, 0xd4, 0x6b, 0xbe, 0x5a, 0x0e, 0x38, 0xc1, 0xa1, 0x7b, 0x94, + 0x8a, 0x20, 0xe9, 0xd7, 0x7c, 0x2a, 0xa0, 0x60, 0x06, 0xb1, 0x5f, 0x04, 0x58, 0x7e, 0x40, 0x9a, + 0x7c, 0xa9, 0xeb, 0x0f, 0x90, 0x56, 0xfe, 0x03, 0xa4, 0xfd, 0x6f, 0x2d, 0x98, 0x5c, 0x59, 0x32, + 0xc4, 0xc4, 0x79, 0x00, 0x2e, 0x1b, 0xbd, 0xf5, 0xd6, 0x9a, 0xd4, 0xad, 0x73, 0xf5, 0xa8, 0x2a, + 0xc5, 0x1a, 0x06, 0xba, 0x00, 0x45, 0xaf, 0xe3, 0x0b, 0x91, 0x65, 0xe4, 0xf0, 0xa0, 0x52, 0xbc, + 0xdd, 0xf1, 0x31, 0x2d, 0xd3, 0x2c, 0x04, 0x8b, 0x03, 0x5b, 0x08, 0xf6, 0x75, 0xaf, 0x42, 0x15, + 0x18, 0xba, 0x7f, 0xdf, 0x6d, 0x71, 0x23, 0x76, 0xa1, 0xf7, 0x7f, 0xeb, 0xad, 0x5a, 0x35, 0xc2, + 0xbc, 0xdc, 0xfe, 0x6a, 0x11, 0xe6, 0x56, 0x3c, 0xf2, 0xe0, 0x03, 0x1a, 0xf2, 0x0f, 0x6a, 0xdf, + 0x78, 0x3c, 0x7e, 0xf1, 0xb8, 0x36, 0xac, 0xfd, 0xc7, 0x63, 0x13, 0x46, 0xf8, 0x63, 0xb6, 0x34, + 0xeb, 0x7f, 0x2d, 0xab, 0xf5, 0xfc, 0x01, 0x99, 0xe7, 0x8f, 0xe2, 0xc2, 0x9c, 0x5f, 0xdd, 0xb4, + 0xa2, 0x14, 0x4b, 0xe2, 0x73, 0x9f, 0x81, 0x71, 0x1d, 0xf3, 0x58, 0xd6, 0xe4, 0xff, 0x5f, 0x11, + 0xa6, 0x69, 0x0f, 0x1e, 0xe9, 0x44, 0xdc, 0xed, 0x9e, 0x88, 0x93, 0xb6, 0x28, 0xee, 0x3f, 0x1b, + 0xef, 0xa4, 0x67, 0xe3, 0x85, 0xbc, 0xd9, 0x38, 0xed, 0x39, 0xf8, 0x5e, 0x0b, 0xce, 0xac, 0x78, + 0x41, 0x73, 0x27, 0x65, 0xf5, 0xfb, 0x32, 0x8c, 0xd1, 0x73, 0x3c, 0x32, 0xbc, 0x88, 0x0c, 0xbf, + 0x32, 0x01, 0xc2, 0x3a, 0x9e, 0x56, 0xed, 0xee, 0xdd, 0x5a, 0x35, 0xcb, 0x1d, 0x4d, 0x80, 0xb0, + 0x8e, 0x67, 0x7f, 0xc3, 0x82, 0x8b, 0x37, 0x96, 0x96, 0x93, 0xa5, 0xd8, 0xe5, 0x11, 0x47, 0xa5, + 0xc0, 0x96, 0xd6, 0x95, 0x44, 0x0a, 0xac, 0xb2, 0x5e, 0x08, 0xe8, 0x47, 0xc5, 0xdb, 0xf3, 0x67, + 0x2c, 0x38, 0x73, 0xc3, 0x8d, 0xe9, 0xb5, 0x9c, 0xf6, 0xcd, 0xa2, 0xf7, 0x72, 0xe4, 0xc6, 0x41, + 0xb8, 0x9f, 0xf6, 0xcd, 0xc2, 0x0a, 0x82, 0x35, 0x2c, 0xde, 0xf2, 0x9e, 0xcb, 0xcc, 0xa8, 0x0a, + 0xa6, 0x2a, 0x0a, 0x8b, 0x72, 0xac, 0x30, 0xe8, 0x87, 0xb5, 0xdc, 0x90, 0x89, 0x12, 0xfb, 0xe2, + 0x84, 0x55, 0x1f, 0x56, 0x95, 0x00, 0x9c, 0xe0, 0xd8, 0x3f, 0x6e, 0xc1, 0xb9, 0x1b, 0x5e, 0x27, + 0x8a, 0x49, 0xb8, 0x19, 0x19, 0x9d, 0x7d, 0x11, 0xca, 0x44, 0x8a, 0xeb, 0xa2, 0xaf, 0x8a, 0xc1, + 0x54, 0x72, 0x3c, 0x77, 0x0c, 0x53, 0x78, 0x03, 0x78, 0x0e, 0x1c, 0xcf, 0x75, 0xec, 0x17, 0x0a, + 0x30, 0x71, 0x73, 0x7d, 0xbd, 0x7e, 0x83, 0xc4, 0xe2, 0x16, 0xeb, 0xaf, 0x6a, 0xc6, 0x9a, 0xc6, + 0xac, 0x97, 0x50, 0xd4, 0x89, 0x5d, 0x6f, 0x9e, 0x7b, 0x22, 0xcf, 0xd7, 0xfc, 0xf8, 0x4e, 0xd8, + 0x88, 0x43, 0xd7, 0xdf, 0xca, 0xd4, 0xb1, 0xc9, 0xbb, 0xb6, 0x98, 0x77, 0xd7, 0xa2, 0x17, 0x61, + 0x98, 0xb9, 0x42, 0x4b, 0xf1, 0xe4, 0x71, 0x25, 0x53, 0xb0, 0xd2, 0xa3, 0x83, 0x4a, 0xf9, 0x2e, + 0xae, 0xf1, 0x3f, 0x58, 0xa0, 0xa2, 0xbb, 0x30, 0xb6, 0x1d, 0xc7, 0xed, 0x9b, 0xc4, 0x69, 0x91, + 0x50, 0x9e, 0x0e, 0x97, 0xb2, 0x4e, 0x07, 0x3a, 0x08, 0x1c, 0x2d, 0xd9, 0x50, 0x49, 0x59, 0x84, + 0x75, 0x3a, 0x76, 0x03, 0x20, 0x81, 0x9d, 0x90, 0x7e, 0xc1, 0xfe, 0x03, 0x0b, 0x46, 0xb8, 0x57, + 0x5a, 0x88, 0x3e, 0x0b, 0x25, 0xf2, 0x80, 0x34, 0x05, 0xe7, 0x98, 0xd9, 0xe1, 0x84, 0xf1, 0xe0, + 0xda, 0x72, 0xfa, 0x1f, 0xb3, 0x5a, 0xe8, 0x26, 0x8c, 0xd0, 0xde, 0xde, 0x50, 0x2e, 0x7a, 0x4f, + 0xe6, 0x7d, 0xb1, 0x9a, 0x76, 0xce, 0xab, 0x88, 0x22, 0x2c, 0xab, 0x33, 0xcd, 0x6f, 0xb3, 0xdd, + 0xa0, 0x07, 0x58, 0xdc, 0xeb, 0x9e, 0x5d, 0x5f, 0xaa, 0x73, 0x24, 0x41, 0x8d, 0x6b, 0x7e, 0x65, + 0x21, 0x4e, 0x88, 0xd8, 0xeb, 0x50, 0xa6, 0x93, 0xba, 0xe0, 0xb9, 0x4e, 0x6f, 0xa5, 0xf3, 0xb3, + 0x50, 0x96, 0x0a, 0xe0, 0x48, 0x38, 0x36, 0x31, 0xaa, 0x52, 0x3f, 0x1c, 0xe1, 0x04, 0x6e, 0x6f, + 0xc2, 0x59, 0xf6, 0xf2, 0xef, 0xc4, 0xdb, 0xc6, 0x1e, 0xeb, 0xbf, 0x98, 0x9f, 0x13, 0x82, 0x18, + 0x9f, 0x99, 0x59, 0xcd, 0x77, 0x60, 0x5c, 0x52, 0x4c, 0x84, 0x32, 0xfb, 0x0f, 0x4b, 0xf0, 0x78, + 0xad, 0x91, 0xef, 0xb0, 0xf8, 0x2a, 0x8c, 0x73, 0x36, 0x8d, 0x2e, 0x6d, 0xc7, 0x13, 0xed, 0xaa, + 0x77, 0xb1, 0x75, 0x0d, 0x86, 0x0d, 0x4c, 0x74, 0x11, 0x8a, 0xee, 0x7b, 0x7e, 0xda, 0x0c, 0xb7, + 0xf6, 0xe6, 0x1a, 0xa6, 0xe5, 0x14, 0x4c, 0x39, 0x3e, 0x7e, 0x94, 0x2a, 0xb0, 0xe2, 0xfa, 0x5e, + 0x87, 0x49, 0x37, 0x6a, 0x46, 0x6e, 0xcd, 0xa7, 0xe7, 0x4c, 0xe2, 0xec, 0x9a, 0x28, 0x09, 0x68, + 0xa7, 0x15, 0x14, 0xa7, 0xb0, 0xb5, 0x73, 0x7d, 0x68, 0x60, 0xae, 0xb1, 0xaf, 0xa7, 0x0f, 0x65, + 0x88, 0xdb, 0xec, 0xeb, 0x22, 0x66, 0xd4, 0x26, 0x18, 0x62, 0xfe, 0xc1, 0x11, 0x96, 0x30, 0x2a, + 0x81, 0x35, 0xb7, 0x9d, 0xf6, 0x42, 0x27, 0xde, 0xae, 0xba, 0x51, 0x33, 0xd8, 0x23, 0xe1, 0x3e, + 0x13, 0x9e, 0x47, 0x13, 0x09, 0x4c, 0x01, 0x96, 0x6e, 0x2e, 0xd4, 0x29, 0x26, 0xee, 0xae, 0x63, + 0x72, 0x85, 0x70, 0x12, 0x5c, 0xe1, 0x02, 0x4c, 0xc9, 0x66, 0x1a, 0x24, 0x62, 0x77, 0xc4, 0x18, + 0xeb, 0x98, 0x32, 0xb5, 0x15, 0xc5, 0xaa, 0x5b, 0x69, 0x7c, 0xf4, 0x0a, 0x4c, 0xb8, 0xbe, 0x1b, + 0xbb, 0x4e, 0x1c, 0x84, 0xec, 0x86, 0xe5, 0x72, 0x32, 0xb3, 0x64, 0xab, 0xe9, 0x00, 0x6c, 0xe2, + 0xd9, 0xff, 0xb1, 0x04, 0x33, 0x6c, 0xda, 0xbe, 0xb5, 0xc2, 0x3e, 0x32, 0x2b, 0xec, 0x6e, 0xf7, + 0x0a, 0x3b, 0x09, 0x76, 0xf7, 0xc3, 0x5c, 0x66, 0xef, 0x42, 0x59, 0xd9, 0x02, 0x4b, 0x67, 0x00, + 0x2b, 0xc7, 0x19, 0xa0, 0x3f, 0xf7, 0x21, 0x9f, 0x71, 0x8b, 0x99, 0xcf, 0xb8, 0x7f, 0xd3, 0x82, + 0xc4, 0x24, 0x12, 0xdd, 0x84, 0x72, 0x3b, 0x60, 0x66, 0x07, 0xa1, 0xb4, 0xe5, 0x79, 0x3c, 0xf3, + 0xa2, 0xe2, 0x97, 0x22, 0x1f, 0xbf, 0xba, 0xac, 0x81, 0x93, 0xca, 0x68, 0x11, 0x46, 0xda, 0x21, + 0x69, 0xc4, 0xcc, 0x05, 0xb6, 0x2f, 0x1d, 0xbe, 0x46, 0x38, 0x3e, 0x96, 0x15, 0xed, 0x5f, 0xb4, + 0x00, 0xf8, 0x4b, 0xa9, 0xe3, 0x6f, 0x91, 0x53, 0xd0, 0xfe, 0x56, 0xa1, 0x14, 0xb5, 0x49, 0xb3, + 0x97, 0x41, 0x48, 0xd2, 0x9f, 0x46, 0x9b, 0x34, 0x93, 0x01, 0xa7, 0xff, 0x30, 0xab, 0x6d, 0x7f, + 0x1f, 0xc0, 0x64, 0x82, 0x56, 0x8b, 0xc9, 0x2e, 0x7a, 0xde, 0x70, 0x89, 0xbb, 0x90, 0x72, 0x89, + 0x2b, 0x33, 0x6c, 0x4d, 0xd1, 0xf8, 0x2e, 0x14, 0x77, 0x9d, 0x07, 0x42, 0x93, 0xf4, 0x6c, 0xef, + 0x6e, 0x50, 0xfa, 0xf3, 0xab, 0xce, 0x03, 0x2e, 0x33, 0x3d, 0x2b, 0x17, 0xc8, 0xaa, 0xf3, 0xe0, + 0x88, 0x9b, 0x7d, 0xb0, 0x43, 0xea, 0xb6, 0x1b, 0xc5, 0x5f, 0xf9, 0x0f, 0xc9, 0x7f, 0xb6, 0xec, + 0x68, 0x23, 0xac, 0x2d, 0xd7, 0x17, 0xef, 0x86, 0x03, 0xb5, 0xe5, 0xfa, 0xe9, 0xb6, 0x5c, 0x7f, + 0x80, 0xb6, 0x5c, 0x1f, 0xbd, 0x0f, 0x23, 0xe2, 0x8d, 0x9e, 0xd9, 0x7a, 0x9b, 0x5a, 0xaa, 0xbc, + 0xf6, 0xc4, 0x13, 0x3f, 0x6f, 0xf3, 0x9a, 0x94, 0x09, 0x45, 0x69, 0xdf, 0x76, 0x65, 0x83, 0xe8, + 0xaf, 0x59, 0x30, 0x29, 0x7e, 0x63, 0xf2, 0x5e, 0x87, 0x44, 0xb1, 0xe0, 0x3d, 0x3f, 0x3d, 0x78, + 0x1f, 0x44, 0x45, 0xde, 0x95, 0x4f, 0xcb, 0x63, 0xd6, 0x04, 0xf6, 0xed, 0x51, 0xaa, 0x17, 0xe8, + 0x1f, 0x58, 0x70, 0x76, 0xd7, 0x79, 0xc0, 0x5b, 0xe4, 0x65, 0xd8, 0x89, 0xdd, 0x40, 0xd8, 0xae, + 0x7f, 0x76, 0xb0, 0xe9, 0xef, 0xaa, 0xce, 0x3b, 0x29, 0xcd, 0x5c, 0xcf, 0x66, 0xa1, 0xf4, 0xed, + 0x6a, 0x66, 0xbf, 0xe6, 0x36, 0x61, 0x54, 0xae, 0xb7, 0x0c, 0xc9, 0xbb, 0xaa, 0x33, 0xd6, 0xc7, + 0x36, 0x91, 0xd0, 0xfd, 0xd2, 0x68, 0x3b, 0x62, 0xad, 0x3d, 0xd2, 0x76, 0xde, 0x85, 0x71, 0x7d, + 0x8d, 0x3d, 0xd2, 0xb6, 0xde, 0x83, 0x33, 0x19, 0x6b, 0xe9, 0x91, 0x36, 0x79, 0x1f, 0x2e, 0xe4, + 0xae, 0x8f, 0x47, 0xd9, 0xb0, 0xfd, 0x0b, 0x96, 0x7e, 0x0e, 0x9e, 0x82, 0x0a, 0x7e, 0xc9, 0x54, + 0xc1, 0x5f, 0xea, 0xbd, 0x73, 0x72, 0xf4, 0xf0, 0xef, 0xe8, 0x9d, 0xa6, 0xa7, 0x3a, 0x7a, 0x03, + 0x86, 0x3d, 0x5a, 0x22, 0x8d, 0x43, 0xec, 0xfe, 0x3b, 0x32, 0xe1, 0xa5, 0x58, 0x79, 0x84, 0x05, + 0x05, 0xfb, 0x57, 0x2c, 0x28, 0x9d, 0xc2, 0x48, 0x60, 0x73, 0x24, 0x9e, 0xcf, 0x25, 0x2d, 0x42, + 0x9a, 0xcd, 0x63, 0xe7, 0xfe, 0xf2, 0x83, 0x98, 0xf8, 0x11, 0x13, 0x15, 0x33, 0x07, 0xe6, 0xbb, + 0xe0, 0xcc, 0xed, 0xc0, 0x69, 0x2d, 0x3a, 0x9e, 0xe3, 0x37, 0x49, 0x58, 0xf3, 0xb7, 0xfa, 0x5a, + 0x29, 0xe9, 0x36, 0x45, 0x85, 0x7e, 0x36, 0x45, 0xf6, 0x36, 0x20, 0xbd, 0x01, 0x61, 0xc7, 0x89, + 0x61, 0xc4, 0xe5, 0x4d, 0x89, 0xe1, 0x7f, 0x3a, 0x9b, 0xbb, 0xeb, 0xea, 0x99, 0x66, 0xa1, 0xc8, + 0x0b, 0xb0, 0x24, 0x64, 0xbf, 0x0a, 0x99, 0xbe, 0x5b, 0xfd, 0xd5, 0x06, 0xf6, 0xcb, 0x30, 0xc3, + 0x6a, 0x1e, 0x4f, 0xa4, 0xb5, 0x7f, 0xc0, 0x82, 0xa9, 0xb5, 0x54, 0x6c, 0x8a, 0x2b, 0xec, 0xad, + 0x2f, 0x43, 0xef, 0xdb, 0x60, 0xa5, 0x58, 0x40, 0x4f, 0x5c, 0xbf, 0xf4, 0xa7, 0x16, 0x24, 0xae, + 0x92, 0xa7, 0xc0, 0x54, 0x2d, 0x19, 0x4c, 0x55, 0xa6, 0xde, 0x43, 0x75, 0x27, 0x8f, 0xa7, 0x42, + 0xb7, 0x54, 0x5c, 0x80, 0x1e, 0x2a, 0x8f, 0x84, 0x0c, 0xf7, 0x22, 0x9f, 0x34, 0x83, 0x07, 0xc8, + 0x48, 0x01, 0xcc, 0x4c, 0x48, 0xe1, 0x7e, 0x44, 0xcc, 0x84, 0x54, 0x7f, 0x72, 0x76, 0x5f, 0x5d, + 0xeb, 0x32, 0x3b, 0x95, 0xbe, 0x9d, 0x99, 0x7d, 0x3b, 0x9e, 0xfb, 0x3e, 0x51, 0xc1, 0x4d, 0x2a, + 0xc2, 0x8c, 0x5b, 0x94, 0x1e, 0x1d, 0x54, 0x26, 0xd4, 0x3f, 0x1e, 0x01, 0x2b, 0xa9, 0x62, 0xdf, + 0x84, 0xa9, 0xd4, 0x80, 0xa1, 0x97, 0x61, 0xa8, 0xbd, 0xed, 0x44, 0x24, 0x65, 0x1a, 0x39, 0x54, + 0xa7, 0x85, 0x47, 0x07, 0x95, 0x49, 0x55, 0x81, 0x95, 0x60, 0x8e, 0x6d, 0xff, 0x0f, 0x0b, 0x4a, + 0x6b, 0x41, 0xeb, 0x34, 0x16, 0xd3, 0xeb, 0xc6, 0x62, 0x7a, 0x22, 0x2f, 0x7e, 0x60, 0xee, 0x3a, + 0x5a, 0x49, 0xad, 0xa3, 0x4b, 0xb9, 0x14, 0x7a, 0x2f, 0xa1, 0x5d, 0x18, 0x63, 0x51, 0x09, 0x85, + 0xa9, 0xe6, 0x8b, 0x06, 0x7f, 0x5f, 0x49, 0xf1, 0xf7, 0x53, 0x1a, 0xaa, 0xc6, 0xe5, 0x3f, 0x03, + 0x23, 0xc2, 0x5c, 0x30, 0x6d, 0xe0, 0x2e, 0x70, 0xb1, 0x84, 0xdb, 0x3f, 0x51, 0x04, 0x23, 0x0a, + 0x22, 0xfa, 0x55, 0x0b, 0xe6, 0x43, 0xee, 0x31, 0xd8, 0xaa, 0x76, 0x42, 0xd7, 0xdf, 0x6a, 0x34, + 0xb7, 0x49, 0xab, 0xe3, 0xb9, 0xfe, 0x56, 0x6d, 0xcb, 0x0f, 0x54, 0xf1, 0xf2, 0x03, 0xd2, 0xec, + 0x30, 0x9d, 0x7f, 0x9f, 0x90, 0x8b, 0xca, 0x1c, 0xe7, 0xfa, 0xe1, 0x41, 0x65, 0x1e, 0x1f, 0x8b, + 0x36, 0x3e, 0x66, 0x5f, 0xd0, 0x37, 0x2c, 0xb8, 0xc6, 0x83, 0x03, 0x0e, 0xde, 0xff, 0x1e, 0xd2, + 0x50, 0x5d, 0x92, 0x4a, 0x88, 0xac, 0x93, 0x70, 0x77, 0xf1, 0x15, 0x31, 0xa0, 0xd7, 0xea, 0xc7, + 0x6b, 0x0b, 0x1f, 0xb7, 0x73, 0xf6, 0x3f, 0x2f, 0xc2, 0x84, 0x70, 0x56, 0x17, 0x51, 0x50, 0x5e, + 0x36, 0x96, 0xc4, 0x93, 0xa9, 0x25, 0x31, 0x63, 0x20, 0x9f, 0x4c, 0x00, 0x94, 0x08, 0x66, 0x3c, + 0x27, 0x8a, 0x6f, 0x12, 0x27, 0x8c, 0x37, 0x88, 0xc3, 0xcd, 0x54, 0x8a, 0xc7, 0x36, 0xa9, 0x51, + 0xea, 0x97, 0xdb, 0x69, 0x62, 0xb8, 0x9b, 0x3e, 0xda, 0x03, 0xc4, 0x6c, 0x6d, 0x42, 0xc7, 0x8f, + 0xf8, 0xb7, 0xb8, 0xe2, 0x3d, 0xe0, 0x78, 0xad, 0xce, 0x89, 0x56, 0xd1, 0xed, 0x2e, 0x6a, 0x38, + 0xa3, 0x05, 0xcd, 0x86, 0x6a, 0x68, 0x50, 0x1b, 0xaa, 0xe1, 0x3e, 0x5e, 0x24, 0x3e, 0x4c, 0x77, + 0xc5, 0x1b, 0x78, 0x1b, 0xca, 0xca, 0xd6, 0x4d, 0x1c, 0x3a, 0xbd, 0xc3, 0x76, 0xa4, 0x29, 0x70, + 0x15, 0x49, 0x62, 0x67, 0x99, 0x90, 0xb3, 0xff, 0x61, 0xc1, 0x68, 0x90, 0x4f, 0xe2, 0x1a, 0x8c, + 0x3a, 0x51, 0xe4, 0x6e, 0xf9, 0xa4, 0x25, 0x76, 0xec, 0xc7, 0xf3, 0x76, 0xac, 0xd1, 0x0c, 0xb3, + 0x37, 0x5c, 0x10, 0x35, 0xb1, 0xa2, 0x81, 0x6e, 0x72, 0x63, 0xa0, 0x3d, 0xc9, 0xcf, 0x0f, 0x46, + 0x0d, 0xa4, 0xb9, 0xd0, 0x1e, 0xc1, 0xa2, 0x3e, 0xfa, 0x22, 0xb7, 0xd6, 0xba, 0xe5, 0x07, 0xf7, + 0xfd, 0x1b, 0x41, 0x20, 0x3d, 0xcc, 0x06, 0x23, 0x38, 0x23, 0x6d, 0xb4, 0x54, 0x75, 0x6c, 0x52, + 0x1b, 0x2c, 0x26, 0xcf, 0x77, 0xc3, 0x19, 0x4a, 0xda, 0xf4, 0x13, 0x89, 0x10, 0x81, 0x29, 0x11, + 0x09, 0x41, 0x96, 0x89, 0xb1, 0xcb, 0x64, 0xd5, 0xcd, 0xda, 0x89, 0x42, 0xef, 0x96, 0x49, 0x02, + 0xa7, 0x69, 0xda, 0x3f, 0x6d, 0x01, 0xb3, 0x70, 0x3f, 0x05, 0x96, 0xe1, 0x73, 0x26, 0xcb, 0x30, + 0x9b, 0x37, 0xc8, 0x39, 0xdc, 0xc2, 0x4b, 0x7c, 0x65, 0xd5, 0xc3, 0xe0, 0xc1, 0xbe, 0x78, 0x29, + 0x1f, 0x80, 0x4b, 0xfd, 0xdf, 0x16, 0x3f, 0xc4, 0x94, 0xd3, 0x39, 0xfa, 0x1e, 0x18, 0x6d, 0x3a, + 0x6d, 0xa7, 0xc9, 0x43, 0xf6, 0xe6, 0x6a, 0x6c, 0x8c, 0x4a, 0xf3, 0x4b, 0xa2, 0x06, 0xd7, 0x40, + 0xc8, 0x88, 0x1a, 0xa3, 0xb2, 0xb8, 0xaf, 0xd6, 0x41, 0x35, 0x39, 0xb7, 0x03, 0x13, 0x06, 0xb1, + 0x47, 0x2a, 0xae, 0x7e, 0x0f, 0xbf, 0x62, 0x55, 0x04, 0x98, 0x5d, 0x98, 0xf1, 0xb5, 0xff, 0xf4, + 0x42, 0x91, 0x22, 0xc8, 0xc7, 0xfb, 0x5d, 0xa2, 0xec, 0xf6, 0xd1, 0x2c, 0xf8, 0x53, 0x64, 0x70, + 0x37, 0x65, 0xfb, 0x27, 0x2d, 0x78, 0x4c, 0x47, 0xd4, 0xe2, 0x01, 0xf4, 0xd3, 0x01, 0x57, 0x61, + 0x34, 0x68, 0x93, 0xd0, 0x89, 0x83, 0x50, 0xdc, 0x1a, 0x57, 0xe5, 0xa0, 0xdf, 0x11, 0xe5, 0x47, + 0x22, 0x76, 0xa2, 0xa4, 0x2e, 0xcb, 0xb1, 0xaa, 0x89, 0x6c, 0x18, 0x66, 0x83, 0x11, 0x89, 0x58, + 0x0d, 0xec, 0x0c, 0x60, 0xcf, 0xa1, 0x11, 0x16, 0x10, 0xfb, 0x0f, 0x2d, 0xbe, 0xb0, 0xf4, 0xae, + 0xa3, 0xf7, 0x60, 0x7a, 0xd7, 0x89, 0x9b, 0xdb, 0xcb, 0x0f, 0xda, 0x21, 0x57, 0x7d, 0xcb, 0x71, + 0x7a, 0xb6, 0xdf, 0x38, 0x69, 0x1f, 0x99, 0x18, 0xa0, 0xad, 0xa6, 0x88, 0xe1, 0x2e, 0xf2, 0x68, + 0x03, 0xc6, 0x58, 0x19, 0xb3, 0x74, 0x8e, 0x7a, 0xb1, 0x06, 0x79, 0xad, 0xa9, 0x17, 0xe5, 0xd5, + 0x84, 0x0e, 0xd6, 0x89, 0xda, 0x5f, 0x29, 0xf2, 0xdd, 0xce, 0xb8, 0xed, 0x67, 0x60, 0xa4, 0x1d, + 0xb4, 0x96, 0x6a, 0x55, 0x2c, 0x66, 0x41, 0x5d, 0x23, 0x75, 0x5e, 0x8c, 0x25, 0x1c, 0xbd, 0x06, + 0x40, 0x1e, 0xc4, 0x24, 0xf4, 0x1d, 0x4f, 0x19, 0x84, 0x28, 0x13, 0xc8, 0x6a, 0xb0, 0x16, 0xc4, + 0x77, 0x23, 0xf2, 0x5d, 0xcb, 0x0a, 0x05, 0x6b, 0xe8, 0xe8, 0x3a, 0x40, 0x3b, 0x0c, 0xf6, 0xdc, + 0x16, 0x73, 0x9d, 0x2b, 0x9a, 0xe6, 0x12, 0x75, 0x05, 0xc1, 0x1a, 0x16, 0x7a, 0x0d, 0x26, 0x3a, + 0x7e, 0xc4, 0x39, 0x14, 0x67, 0x43, 0x44, 0x1e, 0x1c, 0x4d, 0x2c, 0x17, 0xee, 0xea, 0x40, 0x6c, + 0xe2, 0xa2, 0x05, 0x18, 0x8e, 0x1d, 0x66, 0xef, 0x30, 0x94, 0x6f, 0xb7, 0xb8, 0x4e, 0x31, 0xf4, + 0x80, 0xb1, 0xb4, 0x02, 0x16, 0x15, 0xd1, 0xdb, 0xd2, 0x0f, 0x81, 0x9f, 0xf5, 0xc2, 0x60, 0x78, + 0xb0, 0x7b, 0x41, 0xf3, 0x42, 0x10, 0x86, 0xc8, 0x06, 0x2d, 0xfb, 0x1b, 0x65, 0x80, 0x84, 0x1d, + 0x47, 0xef, 0x77, 0x9d, 0x47, 0xcf, 0xf5, 0x66, 0xe0, 0x4f, 0xee, 0x30, 0x42, 0xdf, 0x6f, 0xc1, + 0x98, 0xe3, 0x79, 0x41, 0xd3, 0x89, 0xd9, 0x28, 0x17, 0x7a, 0x9f, 0x87, 0xa2, 0xfd, 0x85, 0xa4, + 0x06, 0xef, 0xc2, 0x8b, 0x72, 0xe1, 0x69, 0x90, 0xbe, 0xbd, 0xd0, 0x1b, 0x46, 0x9f, 0x92, 0x52, + 0x1a, 0x5f, 0x1e, 0x73, 0x69, 0x29, 0xad, 0xcc, 0x8e, 0x7e, 0x4d, 0x40, 0x43, 0x77, 0x8d, 0xa0, + 0x72, 0xa5, 0xfc, 0xf8, 0x0a, 0x06, 0x57, 0xda, 0x2f, 0x9e, 0x1c, 0xaa, 0xeb, 0x8e, 0x53, 0x43, + 0xf9, 0x41, 0x48, 0x34, 0xf1, 0xa7, 0x8f, 0xd3, 0xd4, 0xbb, 0x30, 0xd5, 0x32, 0xef, 0x76, 0xb1, + 0x9a, 0x9e, 0xce, 0xa3, 0x9b, 0x62, 0x05, 0x92, 0xdb, 0x3c, 0x05, 0xc0, 0x69, 0xc2, 0xa8, 0xce, + 0x5d, 0xd8, 0x6a, 0xfe, 0x66, 0x20, 0x0c, 0xcf, 0xed, 0xdc, 0xb9, 0xdc, 0x8f, 0x62, 0xb2, 0x4b, + 0x31, 0x93, 0x4b, 0x7b, 0x4d, 0xd4, 0xc5, 0x8a, 0x0a, 0x7a, 0x03, 0x86, 0x99, 0x0f, 0x6c, 0x34, + 0x3b, 0x9a, 0xaf, 0x28, 0x34, 0xc3, 0x37, 0x24, 0x9b, 0x8a, 0xfd, 0x8d, 0xb0, 0xa0, 0x80, 0x6e, + 0xca, 0x18, 0x2f, 0x51, 0xcd, 0xbf, 0x1b, 0x11, 0x16, 0xe3, 0xa5, 0xbc, 0xf8, 0xf1, 0x24, 0x7c, + 0x0b, 0x2f, 0xcf, 0x0c, 0x0d, 0x6f, 0xd4, 0xa4, 0xcc, 0x91, 0xf8, 0x2f, 0x23, 0xce, 0xcf, 0x42, + 0x7e, 0xf7, 0xcc, 0xa8, 0xf4, 0xc9, 0x70, 0xde, 0x33, 0x49, 0xe0, 0x34, 0x4d, 0xca, 0x68, 0xf2, + 0x9d, 0x2b, 0x4c, 0xd7, 0xfb, 0xed, 0x7f, 0x2e, 0x5f, 0xb3, 0x4b, 0x86, 0x97, 0x60, 0x51, 0xff, + 0x54, 0x6f, 0xfd, 0x39, 0x1f, 0xa6, 0xd3, 0x5b, 0xf4, 0x91, 0x72, 0x19, 0x7f, 0x50, 0x82, 0x49, + 0x73, 0x49, 0xa1, 0x6b, 0x50, 0x16, 0x44, 0x54, 0xc0, 0x51, 0xb5, 0x4b, 0x56, 0x25, 0x00, 0x27, + 0x38, 0x2c, 0xce, 0x2c, 0xab, 0xae, 0x99, 0x1c, 0x26, 0x71, 0x66, 0x15, 0x04, 0x6b, 0x58, 0x54, + 0x5e, 0xda, 0x08, 0x82, 0x58, 0x5d, 0x2a, 0x6a, 0xdd, 0x2d, 0xb2, 0x52, 0x2c, 0xa0, 0xf4, 0x32, + 0xd9, 0x21, 0xa1, 0x4f, 0x3c, 0x33, 0x8e, 0x99, 0xba, 0x4c, 0x6e, 0xe9, 0x40, 0x6c, 0xe2, 0xd2, + 0x5b, 0x32, 0x88, 0xd8, 0x42, 0x16, 0x52, 0x59, 0x62, 0xc2, 0xd9, 0xe0, 0xde, 0xe4, 0x12, 0x8e, + 0xbe, 0x00, 0x8f, 0x29, 0xe7, 0x6f, 0xcc, 0x95, 0xd0, 0xb2, 0xc5, 0x61, 0x43, 0x89, 0xf2, 0xd8, + 0x52, 0x36, 0x1a, 0xce, 0xab, 0x8f, 0x5e, 0x87, 0x49, 0xc1, 0xb9, 0x4b, 0x8a, 0x23, 0xa6, 0x5d, + 0xc4, 0x2d, 0x03, 0x8a, 0x53, 0xd8, 0x32, 0x12, 0x1b, 0x63, 0x9e, 0x25, 0x85, 0xd1, 0xee, 0x48, + 0x6c, 0x3a, 0x1c, 0x77, 0xd5, 0x40, 0x0b, 0x30, 0xc5, 0x59, 0x2b, 0xd7, 0xdf, 0xe2, 0x73, 0x22, + 0x3c, 0x4b, 0xd4, 0x96, 0xba, 0x63, 0x82, 0x71, 0x1a, 0x1f, 0xbd, 0x0a, 0xe3, 0x4e, 0xd8, 0xdc, + 0x76, 0x63, 0xd2, 0x8c, 0x3b, 0x21, 0x77, 0x39, 0xd1, 0x0c, 0x4b, 0x16, 0x34, 0x18, 0x36, 0x30, + 0xed, 0xf7, 0xe1, 0x4c, 0x86, 0x53, 0x1a, 0x5d, 0x38, 0x4e, 0xdb, 0x95, 0xdf, 0x94, 0x32, 0xc6, + 0x5c, 0xa8, 0xd7, 0xe4, 0xd7, 0x68, 0x58, 0x74, 0x75, 0x32, 0xe7, 0x35, 0x2d, 0xc1, 0x84, 0x5a, + 0x9d, 0x2b, 0x12, 0x80, 0x13, 0x1c, 0xfb, 0x7f, 0x16, 0x60, 0x2a, 0x43, 0xb1, 0xce, 0x92, 0x1c, + 0xa4, 0x64, 0x8f, 0x24, 0xa7, 0x81, 0x19, 0xd8, 0xaf, 0x70, 0x8c, 0xc0, 0x7e, 0xc5, 0x7e, 0x81, + 0xfd, 0x4a, 0x1f, 0x24, 0xb0, 0x9f, 0x39, 0x62, 0x43, 0x03, 0x8d, 0x58, 0x46, 0x30, 0xc0, 0xe1, + 0x63, 0x06, 0x03, 0x34, 0x06, 0x7d, 0x64, 0x80, 0x41, 0xff, 0x91, 0x02, 0x4c, 0xa7, 0x0d, 0xe0, + 0x4e, 0x41, 0x1d, 0xfb, 0x86, 0xa1, 0x8e, 0xcd, 0x4e, 0x19, 0x92, 0x36, 0xcb, 0xcb, 0x53, 0xcd, + 0xe2, 0x94, 0x6a, 0xf6, 0x93, 0x03, 0x51, 0xeb, 0xad, 0xa6, 0xfd, 0xdb, 0x05, 0x38, 0x97, 0xae, + 0xb2, 0xe4, 0x39, 0xee, 0xee, 0x29, 0x8c, 0xcd, 0x1d, 0x63, 0x6c, 0x9e, 0x1f, 0xe4, 0x6b, 0x58, + 0xd7, 0x72, 0x07, 0xe8, 0xad, 0xd4, 0x00, 0x5d, 0x1b, 0x9c, 0x64, 0xef, 0x51, 0xfa, 0x66, 0x11, + 0x2e, 0x65, 0xd6, 0x4b, 0xb4, 0x99, 0x2b, 0x86, 0x36, 0xf3, 0x7a, 0x4a, 0x9b, 0x69, 0xf7, 0xae, + 0x7d, 0x32, 0xea, 0x4d, 0xe1, 0x2d, 0xc8, 0x82, 0xbf, 0x3d, 0xa4, 0x6a, 0xd3, 0xf0, 0x16, 0x54, + 0x84, 0xb0, 0x49, 0xf7, 0xcf, 0x93, 0x4a, 0xf3, 0x5f, 0x5a, 0x70, 0x21, 0x73, 0x6e, 0x4e, 0x41, + 0x85, 0xb5, 0x66, 0xaa, 0xb0, 0x9e, 0x19, 0x78, 0xb5, 0xe6, 0xe8, 0xb4, 0x7e, 0xb3, 0x94, 0xf3, + 0x2d, 0x4c, 0x40, 0xbf, 0x03, 0x63, 0x4e, 0xb3, 0x49, 0xa2, 0x68, 0x35, 0x68, 0xa9, 0x60, 0x68, + 0xcf, 0x33, 0x39, 0x2b, 0x29, 0x3e, 0x3a, 0xa8, 0xcc, 0xa5, 0x49, 0x24, 0x60, 0xac, 0x53, 0x30, + 0xe3, 0x37, 0x16, 0x4e, 0x34, 0x7e, 0xe3, 0x75, 0x80, 0x3d, 0xc5, 0xad, 0xa7, 0x85, 0x7c, 0x8d, + 0x8f, 0xd7, 0xb0, 0xd0, 0x17, 0x61, 0x34, 0x12, 0xd7, 0xb8, 0x58, 0x8a, 0x2f, 0x0e, 0x38, 0x57, + 0xce, 0x06, 0xf1, 0x4c, 0xb7, 0x74, 0xa5, 0x0f, 0x51, 0x24, 0xd1, 0x77, 0xc0, 0x74, 0xc4, 0xa3, + 0x9e, 0x2c, 0x79, 0x4e, 0xc4, 0x7c, 0x1c, 0xc4, 0x2a, 0x64, 0xbe, 0xe6, 0x8d, 0x14, 0x0c, 0x77, + 0x61, 0xa3, 0x15, 0xf9, 0x51, 0x2c, 0x44, 0x0b, 0x5f, 0x98, 0x57, 0x92, 0x0f, 0x12, 0x29, 0x96, + 0xce, 0xa6, 0x87, 0x9f, 0x0d, 0xbc, 0x56, 0x13, 0x7d, 0x11, 0x80, 0x2e, 0x1f, 0xa1, 0x4b, 0x18, + 0xc9, 0x3f, 0x3c, 0xe9, 0xa9, 0xd2, 0xca, 0xb4, 0xea, 0x64, 0x7e, 0x7a, 0x55, 0x45, 0x04, 0x6b, + 0x04, 0xed, 0x1f, 0x29, 0xc1, 0xe3, 0x3d, 0xce, 0x48, 0xb4, 0x60, 0x3e, 0x81, 0x3e, 0x9b, 0x16, + 0xae, 0xe7, 0x32, 0x2b, 0x1b, 0xd2, 0x76, 0x6a, 0x29, 0x16, 0x3e, 0xf0, 0x52, 0xfc, 0x41, 0x4b, + 0x53, 0x7b, 0x70, 0x43, 0xbd, 0xcf, 0x1d, 0xf3, 0xec, 0x3f, 0x41, 0x3d, 0xc8, 0x66, 0x86, 0x32, + 0xe1, 0xfa, 0xc0, 0xdd, 0x19, 0x58, 0xbb, 0x70, 0xba, 0xca, 0xdf, 0xaf, 0x58, 0xf0, 0x64, 0x66, + 0x7f, 0x0d, 0x93, 0x8d, 0x6b, 0x50, 0x6e, 0xd2, 0x42, 0xcd, 0x2d, 0x2b, 0xf1, 0x57, 0x95, 0x00, + 0x9c, 0xe0, 0x18, 0x96, 0x19, 0x85, 0xbe, 0x96, 0x19, 0xff, 0xcc, 0x82, 0xae, 0xfd, 0x71, 0x0a, + 0x07, 0x75, 0xcd, 0x3c, 0xa8, 0x3f, 0x3e, 0xc8, 0x5c, 0xe6, 0x9c, 0xd1, 0xff, 0x69, 0x0a, 0xce, + 0xe7, 0xf8, 0x61, 0xec, 0xc1, 0xcc, 0x56, 0x93, 0x98, 0x0e, 0x6f, 0xe2, 0x63, 0x32, 0x7d, 0x03, + 0x7b, 0x7a, 0xc7, 0xb1, 0xd4, 0x3b, 0x33, 0x5d, 0x28, 0xb8, 0xbb, 0x09, 0xf4, 0x15, 0x0b, 0xce, + 0x3a, 0xf7, 0xa3, 0xae, 0x04, 0x8b, 0x62, 0xcd, 0xbc, 0x94, 0xa9, 0x04, 0xe9, 0x93, 0x90, 0x91, + 0xe7, 0x22, 0xca, 0xc2, 0xc2, 0x99, 0x6d, 0x21, 0x2c, 0xc2, 0x63, 0x52, 0x76, 0xbe, 0x87, 0x4b, + 0x66, 0x96, 0xc3, 0x0c, 0x3f, 0xb2, 0x25, 0x04, 0x2b, 0x3a, 0xe8, 0x1e, 0x94, 0xb7, 0xa4, 0x17, + 0x9b, 0xb8, 0x12, 0x32, 0xef, 0xd8, 0x4c, 0x57, 0x37, 0xfe, 0x2c, 0xa9, 0x40, 0x38, 0x21, 0x85, + 0x5e, 0x87, 0xa2, 0xbf, 0x19, 0xf5, 0x4a, 0xe2, 0x93, 0xb2, 0x64, 0xe2, 0xee, 0xce, 0x6b, 0x2b, + 0x0d, 0x4c, 0x2b, 0xa2, 0x9b, 0x50, 0x0c, 0x37, 0x5a, 0x42, 0x6f, 0x97, 0x79, 0x72, 0xe3, 0xc5, + 0x6a, 0xf6, 0x22, 0xe1, 0x94, 0xf0, 0x62, 0x15, 0x53, 0x12, 0xa8, 0x0e, 0x43, 0xcc, 0x65, 0x41, + 0xdc, 0x02, 0x99, 0xfc, 0x6e, 0x0f, 0xd7, 0x1f, 0xee, 0x13, 0xcd, 0x10, 0x30, 0x27, 0x84, 0xd6, + 0x61, 0xb8, 0xc9, 0x12, 0xbe, 0x88, 0x88, 0xcc, 0x9f, 0xca, 0xd4, 0xd0, 0xf5, 0xc8, 0x84, 0x23, + 0x14, 0x56, 0x0c, 0x03, 0x0b, 0x5a, 0x8c, 0x2a, 0x69, 0x6f, 0x6f, 0x46, 0x4c, 0xc2, 0xcf, 0xa3, + 0xda, 0x23, 0xc1, 0x93, 0xa0, 0xca, 0x30, 0xb0, 0xa0, 0x85, 0x3e, 0x03, 0x85, 0xcd, 0xa6, 0xf0, + 0x68, 0xc8, 0x54, 0xd5, 0x99, 0x1e, 0xeb, 0x8b, 0xc3, 0x87, 0x07, 0x95, 0xc2, 0xca, 0x12, 0x2e, + 0x6c, 0x36, 0xd1, 0x1a, 0x8c, 0x6c, 0x72, 0x1f, 0x57, 0xa1, 0x8d, 0x7b, 0x3a, 0xdb, 0xfd, 0xb6, + 0xcb, 0x0d, 0x96, 0x5b, 0xe2, 0x0b, 0x00, 0x96, 0x44, 0x58, 0x8c, 0x49, 0xe5, 0xab, 0x2b, 0x82, + 0x2d, 0xcf, 0x1f, 0xcf, 0xbf, 0x9a, 0xdf, 0xca, 0x89, 0xc7, 0x2f, 0xd6, 0x28, 0xa2, 0x2f, 0x43, + 0xd9, 0x91, 0xa9, 0xfd, 0x44, 0x30, 0x8a, 0x17, 0x33, 0x37, 0x66, 0xef, 0xac, 0x87, 0x7c, 0x55, + 0x2b, 0x24, 0x9c, 0x10, 0x45, 0x3b, 0x30, 0xb1, 0x17, 0xb5, 0xb7, 0x89, 0xdc, 0xc8, 0x2c, 0x36, + 0x45, 0xce, 0xc5, 0x75, 0x4f, 0x20, 0xba, 0x61, 0xdc, 0x71, 0xbc, 0xae, 0xb3, 0x87, 0xbd, 0x65, + 0xdf, 0xd3, 0x89, 0x61, 0x93, 0x36, 0x1d, 0xfe, 0xf7, 0x3a, 0xc1, 0xc6, 0x7e, 0x4c, 0x44, 0x74, + 0xe6, 0xcc, 0xe1, 0x7f, 0x93, 0xa3, 0x74, 0x0f, 0xbf, 0x00, 0x60, 0x49, 0x84, 0x6e, 0x75, 0x47, + 0xa6, 0xcd, 0x64, 0x51, 0x99, 0x73, 0xb6, 0x7a, 0x66, 0x6e, 0x4d, 0x6d, 0x50, 0xd8, 0x19, 0x99, + 0x90, 0x62, 0x67, 0x63, 0x7b, 0x3b, 0x88, 0x03, 0x3f, 0x75, 0x2e, 0xcf, 0xe4, 0x9f, 0x8d, 0xf5, + 0x0c, 0xfc, 0xee, 0xb3, 0x31, 0x0b, 0x0b, 0x67, 0xb6, 0x85, 0x5a, 0x30, 0xd9, 0x0e, 0xc2, 0xf8, + 0x7e, 0x10, 0xca, 0xf5, 0x85, 0x7a, 0x68, 0x13, 0x0c, 0x4c, 0xd1, 0x22, 0x8b, 0x16, 0x6e, 0x42, + 0x70, 0x8a, 0x26, 0xfa, 0x3c, 0x8c, 0x44, 0x4d, 0xc7, 0x23, 0xb5, 0x3b, 0xb3, 0x67, 0xf2, 0x2f, + 0x9d, 0x06, 0x47, 0xc9, 0x59, 0x5d, 0x6c, 0x72, 0x04, 0x0a, 0x96, 0xe4, 0xd0, 0x0a, 0x0c, 0xb1, + 0x90, 0xff, 0x2c, 0xb0, 0x74, 0x4e, 0xd0, 0xa3, 0x2e, 0x9b, 0x51, 0x7e, 0x36, 0xb1, 0x62, 0xcc, + 0xab, 0xd3, 0x3d, 0x20, 0x98, 0xea, 0x20, 0x9a, 0x3d, 0x97, 0xbf, 0x07, 0x04, 0x2f, 0x7e, 0xa7, + 0xd1, 0x6b, 0x0f, 0x28, 0x24, 0x9c, 0x10, 0xa5, 0x27, 0x33, 0x3d, 0x4d, 0xcf, 0xf7, 0x30, 0x63, + 0xc9, 0x3d, 0x4b, 0xd9, 0xc9, 0x4c, 0x4f, 0x52, 0x4a, 0xc2, 0xfe, 0xbd, 0x91, 0x6e, 0x4e, 0x85, + 0x89, 0x61, 0xff, 0xbf, 0xd5, 0xf5, 0x42, 0xf7, 0xe9, 0x41, 0xb5, 0x42, 0x27, 0xc8, 0xa3, 0x7e, + 0xc5, 0x82, 0xf3, 0xed, 0xcc, 0x0f, 0x11, 0xd7, 0xfe, 0x60, 0xca, 0x25, 0xfe, 0xe9, 0x2a, 0xf8, + 0x7b, 0x36, 0x1c, 0xe7, 0xb4, 0x94, 0x96, 0x03, 0x8a, 0x1f, 0x58, 0x0e, 0x58, 0x85, 0x51, 0xc6, + 0x5a, 0xf6, 0x49, 0x80, 0x96, 0x16, 0x87, 0x18, 0x03, 0xb1, 0x24, 0x2a, 0x62, 0x45, 0x02, 0xfd, + 0x90, 0x05, 0x17, 0xd3, 0x5d, 0xc7, 0x84, 0x81, 0x45, 0xa8, 0x74, 0x2e, 0x01, 0xae, 0x88, 0xef, + 0xbf, 0x58, 0xef, 0x85, 0x7c, 0xd4, 0x0f, 0x01, 0xf7, 0x6e, 0x0c, 0x55, 0x33, 0x44, 0xd0, 0x61, + 0x53, 0xed, 0x3e, 0x80, 0x18, 0xfa, 0x12, 0x8c, 0xef, 0x06, 0x1d, 0x3f, 0x16, 0x56, 0x2f, 0xc2, + 0x07, 0x91, 0x3d, 0x33, 0xaf, 0x6a, 0xe5, 0xd8, 0xc0, 0x4a, 0x09, 0xaf, 0xa3, 0x0f, 0x2d, 0xbc, + 0xbe, 0x93, 0x4a, 0x73, 0x5d, 0xce, 0x0f, 0xc9, 0x27, 0xe4, 0xfc, 0x63, 0x24, 0xbb, 0x3e, 0x5d, + 0x89, 0xe8, 0x67, 0xad, 0x0c, 0x56, 0x9e, 0xcb, 0xc8, 0x9f, 0x35, 0x65, 0xe4, 0x2b, 0x69, 0x19, + 0xb9, 0x4b, 0xe5, 0x6a, 0x88, 0xc7, 0x83, 0xc7, 0x75, 0x1e, 0x34, 0x50, 0x9a, 0xed, 0xc1, 0xe5, + 0x7e, 0xd7, 0x12, 0x33, 0x7f, 0x6a, 0xa9, 0x07, 0xb6, 0xc4, 0xfc, 0xa9, 0x55, 0xab, 0x62, 0x06, + 0x19, 0x34, 0x92, 0x86, 0xfd, 0x5f, 0x2d, 0x28, 0xd6, 0x83, 0xd6, 0x29, 0xa8, 0x90, 0x3f, 0x67, + 0xa8, 0x90, 0x1f, 0xcf, 0x49, 0x3f, 0x9e, 0xab, 0x30, 0x5e, 0x4e, 0x29, 0x8c, 0x2f, 0xe6, 0x11, + 0xe8, 0xad, 0x1e, 0xfe, 0xa9, 0x22, 0xe8, 0xc9, 0xd2, 0xd1, 0x6f, 0x3e, 0x8c, 0xed, 0x71, 0xb1, + 0x57, 0xfe, 0x74, 0x41, 0x99, 0x59, 0x4d, 0x49, 0xb7, 0xba, 0x3f, 0x63, 0x26, 0xc8, 0x6f, 0x11, + 0x77, 0x6b, 0x3b, 0x26, 0xad, 0xf4, 0xe7, 0x9c, 0x9e, 0x09, 0xf2, 0x7f, 0xb6, 0x60, 0x2a, 0xd5, + 0x3a, 0xf2, 0x60, 0xc2, 0xd3, 0xf5, 0x7f, 0x62, 0x9d, 0x3e, 0x94, 0xea, 0x50, 0x98, 0x70, 0x6a, + 0x45, 0xd8, 0x24, 0x8e, 0xe6, 0x01, 0xd4, 0xfb, 0x9c, 0xd4, 0x7b, 0x31, 0xae, 0x5f, 0x3d, 0xe0, + 0x45, 0x58, 0xc3, 0x40, 0x2f, 0xc3, 0x58, 0x1c, 0xb4, 0x03, 0x2f, 0xd8, 0xda, 0xbf, 0x45, 0x64, + 0xec, 0x16, 0x65, 0x98, 0xb5, 0x9e, 0x80, 0xb0, 0x8e, 0x67, 0xff, 0x4c, 0x11, 0xd2, 0x09, 0xf6, + 0xbf, 0xb5, 0x26, 0x3f, 0x9a, 0x6b, 0xf2, 0x9b, 0x16, 0x4c, 0xd3, 0xd6, 0x99, 0x91, 0x88, 0xbc, + 0x6c, 0x55, 0x7e, 0x19, 0xab, 0x47, 0x7e, 0x99, 0x2b, 0xf4, 0xec, 0x6a, 0x05, 0x9d, 0x58, 0xe8, + 0xcd, 0xb4, 0xc3, 0x89, 0x96, 0x62, 0x01, 0x15, 0x78, 0x24, 0x0c, 0x85, 0xe7, 0x93, 0x8e, 0x47, + 0xc2, 0x10, 0x0b, 0xa8, 0x4c, 0x3f, 0x53, 0xca, 0x49, 0x3f, 0xc3, 0x22, 0xd1, 0x09, 0x73, 0x02, + 0xc1, 0xf6, 0x68, 0x91, 0xe8, 0xa4, 0x9d, 0x41, 0x82, 0x63, 0xff, 0x42, 0x11, 0xc6, 0xeb, 0x41, + 0x2b, 0x79, 0x21, 0x7b, 0xc9, 0x78, 0x21, 0xbb, 0x9c, 0x7a, 0x21, 0x9b, 0xd6, 0x71, 0xbf, 0xf5, + 0x1e, 0xf6, 0x61, 0xbd, 0x87, 0xfd, 0x53, 0x8b, 0xcd, 0x5a, 0x75, 0xad, 0x21, 0xd2, 0xdf, 0xbe, + 0x00, 0x63, 0xec, 0x40, 0x62, 0xae, 0x76, 0xf2, 0xd9, 0x88, 0x45, 0x96, 0x5f, 0x4b, 0x8a, 0xb1, + 0x8e, 0x83, 0xae, 0xc2, 0x68, 0x44, 0x9c, 0xb0, 0xb9, 0xad, 0xce, 0x38, 0xf1, 0xa8, 0xc2, 0xcb, + 0xb0, 0x82, 0xa2, 0x37, 0x93, 0x20, 0x68, 0xc5, 0xfc, 0x44, 0xae, 0x7a, 0x7f, 0xf8, 0x16, 0xc9, + 0x8f, 0x7c, 0x66, 0xbf, 0x05, 0xa8, 0x1b, 0x7f, 0x80, 0x70, 0x47, 0x15, 0x33, 0xdc, 0x51, 0xb9, + 0x2b, 0xd4, 0xd1, 0x9f, 0x58, 0x30, 0x59, 0x0f, 0x5a, 0x74, 0xeb, 0xfe, 0x79, 0xda, 0xa7, 0x7a, + 0x04, 0xc8, 0xe1, 0x1e, 0x11, 0x20, 0xff, 0x8e, 0x05, 0x23, 0xf5, 0xa0, 0x75, 0x0a, 0xda, 0xf6, + 0xcf, 0x9a, 0xda, 0xf6, 0xc7, 0x72, 0x96, 0x44, 0x8e, 0x82, 0xfd, 0x97, 0x8a, 0x30, 0x41, 0xfb, + 0x19, 0x6c, 0xc9, 0x59, 0x32, 0x46, 0xc4, 0x1a, 0x60, 0x44, 0x28, 0x9b, 0x1b, 0x78, 0x5e, 0x70, + 0x3f, 0x3d, 0x63, 0x2b, 0xac, 0x14, 0x0b, 0x28, 0x7a, 0x0e, 0x46, 0xdb, 0x21, 0xd9, 0x73, 0x03, + 0xc1, 0x3f, 0x6a, 0x6f, 0x17, 0x75, 0x51, 0x8e, 0x15, 0x06, 0x95, 0xbb, 0x22, 0xd7, 0x6f, 0x12, + 0x99, 0x45, 0xba, 0xc4, 0x12, 0x4d, 0xf1, 0xd0, 0xce, 0x5a, 0x39, 0x36, 0xb0, 0xd0, 0x5b, 0x50, + 0x66, 0xff, 0xd9, 0x89, 0x72, 0xfc, 0xc4, 0x38, 0x22, 0x9f, 0x82, 0x20, 0x80, 0x13, 0x5a, 0xe8, + 0x3a, 0x40, 0x2c, 0xc3, 0xff, 0x46, 0x22, 0x6a, 0x8d, 0xe2, 0xb5, 0x55, 0x60, 0xe0, 0x08, 0x6b, + 0x58, 0xe8, 0x59, 0x28, 0xc7, 0x8e, 0xeb, 0xdd, 0x76, 0x7d, 0x12, 0x31, 0x95, 0x73, 0x51, 0xa6, + 0x4b, 0x10, 0x85, 0x38, 0x81, 0x53, 0x5e, 0x87, 0xb9, 0x74, 0xf3, 0xb4, 0x5a, 0xa3, 0x0c, 0x9b, + 0xf1, 0x3a, 0xb7, 0x55, 0x29, 0xd6, 0x30, 0xec, 0x57, 0xe1, 0x5c, 0x3d, 0x68, 0xd5, 0x83, 0x30, + 0x5e, 0x09, 0xc2, 0xfb, 0x4e, 0xd8, 0x92, 0xf3, 0x57, 0x91, 0x91, 0xfb, 0xe9, 0xd9, 0x33, 0xc4, + 0x77, 0xa6, 0x11, 0x93, 0xff, 0x45, 0xc6, 0xed, 0x1c, 0xd3, 0x95, 0xa3, 0xc9, 0xee, 0x5d, 0x95, + 0x41, 0xef, 0x86, 0x13, 0x13, 0x74, 0x87, 0x65, 0xdd, 0x4a, 0xae, 0x20, 0x51, 0xfd, 0x19, 0x2d, + 0xeb, 0x56, 0x02, 0xcc, 0xbc, 0xb3, 0xcc, 0xfa, 0xf6, 0xaf, 0x15, 0xd9, 0x69, 0x94, 0x4a, 0x28, + 0x87, 0xbe, 0x04, 0x93, 0x11, 0xb9, 0xed, 0xfa, 0x9d, 0x07, 0x52, 0x08, 0xef, 0xe1, 0x8c, 0xd3, + 0x58, 0xd6, 0x31, 0xb9, 0x2a, 0xcf, 0x2c, 0xc3, 0x29, 0x6a, 0x74, 0x9e, 0xc2, 0x8e, 0xbf, 0x10, + 0xdd, 0x8d, 0x48, 0x28, 0x12, 0x9a, 0xb1, 0x79, 0xc2, 0xb2, 0x10, 0x27, 0x70, 0xba, 0x2e, 0xd9, + 0x9f, 0xb5, 0xc0, 0xc7, 0x41, 0x10, 0xcb, 0x95, 0xcc, 0x52, 0xe2, 0x68, 0xe5, 0xd8, 0xc0, 0x42, + 0x2b, 0x80, 0xa2, 0x4e, 0xbb, 0xed, 0xb1, 0xe7, 0x7c, 0xc7, 0xbb, 0x11, 0x06, 0x9d, 0x36, 0x7f, + 0xeb, 0x2c, 0x2e, 0x9e, 0xa7, 0x57, 0x58, 0xa3, 0x0b, 0x8a, 0x33, 0x6a, 0xd0, 0xd3, 0x67, 0x33, + 0x62, 0xbf, 0xd9, 0xea, 0x2e, 0x0a, 0xf5, 0x7a, 0x83, 0x15, 0x61, 0x09, 0xa3, 0x8b, 0x89, 0x35, + 0xcf, 0x31, 0x87, 0x93, 0xc5, 0x84, 0x55, 0x29, 0xd6, 0x30, 0xd0, 0x32, 0x8c, 0x44, 0xfb, 0x51, + 0x33, 0x16, 0x31, 0x96, 0x72, 0x52, 0x53, 0x36, 0x18, 0x8a, 0x96, 0x2e, 0x81, 0x57, 0xc1, 0xb2, + 0xae, 0xfd, 0x3d, 0xec, 0x32, 0x64, 0xe9, 0xaf, 0xe2, 0x4e, 0x48, 0xd0, 0x2e, 0x4c, 0xb4, 0xd9, + 0x94, 0x8b, 0xe0, 0xcc, 0x62, 0xde, 0x5e, 0x1a, 0x50, 0xaa, 0xbd, 0x4f, 0x0f, 0x1a, 0xa5, 0x75, + 0x62, 0xe2, 0x42, 0x5d, 0x27, 0x87, 0x4d, 0xea, 0xf6, 0xbf, 0x9a, 0x61, 0x67, 0x6e, 0x83, 0x8b, + 0xaa, 0x23, 0xc2, 0xa0, 0x58, 0xf0, 0xe5, 0x73, 0xf9, 0x3a, 0x93, 0xe4, 0x8b, 0x84, 0x51, 0x32, + 0x96, 0x75, 0xd1, 0x9b, 0xec, 0x6d, 0x9a, 0x1f, 0x74, 0xfd, 0xb2, 0x10, 0x73, 0x2c, 0xe3, 0x19, + 0x5a, 0x54, 0xc4, 0x1a, 0x11, 0x74, 0x1b, 0x26, 0x44, 0xb6, 0x24, 0xa1, 0x14, 0x2b, 0x1a, 0x4a, + 0x8f, 0x09, 0xac, 0x03, 0x8f, 0xd2, 0x05, 0xd8, 0xac, 0x8c, 0xb6, 0xe0, 0xa2, 0x96, 0x3a, 0xf0, + 0x46, 0xe8, 0xb0, 0xf7, 0x4a, 0x97, 0x6d, 0x22, 0xed, 0xdc, 0x7c, 0xf2, 0xf0, 0xa0, 0x72, 0x71, + 0xbd, 0x17, 0x22, 0xee, 0x4d, 0x07, 0xdd, 0x81, 0x73, 0xdc, 0x6f, 0xaf, 0x4a, 0x9c, 0x96, 0xe7, + 0xfa, 0xea, 0x60, 0xe6, 0xeb, 0xf0, 0xc2, 0xe1, 0x41, 0xe5, 0xdc, 0x42, 0x16, 0x02, 0xce, 0xae, + 0x87, 0x3e, 0x0b, 0xe5, 0x96, 0x1f, 0x89, 0x31, 0x18, 0x36, 0xb2, 0x62, 0x96, 0xab, 0x6b, 0x0d, + 0xf5, 0xfd, 0xc9, 0x1f, 0x9c, 0x54, 0x40, 0x5b, 0x5c, 0x31, 0xa6, 0xe4, 0xd0, 0x91, 0xfc, 0x0c, + 0xe8, 0x62, 0x49, 0x18, 0x9e, 0x3b, 0x5c, 0x23, 0xac, 0x2c, 0x5f, 0x0d, 0xa7, 0x1e, 0x83, 0x30, + 0x7a, 0x03, 0x10, 0x65, 0xd4, 0xdc, 0x26, 0x59, 0x68, 0xb2, 0x18, 0xd9, 0x4c, 0x8f, 0x38, 0x6a, + 0x78, 0x4a, 0xa0, 0x46, 0x17, 0x06, 0xce, 0xa8, 0x85, 0x6e, 0xd2, 0x83, 0x4c, 0x2f, 0x15, 0x16, + 0xbc, 0x92, 0xb9, 0x9f, 0xad, 0x92, 0x76, 0x48, 0x9a, 0x4e, 0x4c, 0x5a, 0x26, 0x45, 0x9c, 0xaa, + 0x47, 0xef, 0x52, 0x95, 0x2e, 0x07, 0xcc, 0x40, 0x18, 0xdd, 0x29, 0x73, 0xa8, 0x5c, 0xbc, 0x1d, + 0x44, 0xf1, 0x1a, 0x89, 0xef, 0x07, 0xe1, 0x8e, 0x88, 0x3b, 0x96, 0x84, 0xc0, 0x4c, 0x40, 0x58, + 0xc7, 0xa3, 0x7c, 0x30, 0x7b, 0x1c, 0xae, 0x55, 0xd9, 0x0b, 0xdd, 0x68, 0xb2, 0x4f, 0x6e, 0xf2, + 0x62, 0x2c, 0xe1, 0x12, 0xb5, 0x56, 0x5f, 0x62, 0xaf, 0x6d, 0x29, 0xd4, 0x5a, 0x7d, 0x09, 0x4b, + 0x38, 0x22, 0xdd, 0x19, 0x47, 0x27, 0xf3, 0xb5, 0x9a, 0xdd, 0xd7, 0xc1, 0x80, 0x49, 0x47, 0x7d, + 0x98, 0x56, 0xb9, 0x4e, 0x79, 0x40, 0xb6, 0x68, 0x76, 0x8a, 0x2d, 0x92, 0xc1, 0xa3, 0xb9, 0x29, + 0x3d, 0x71, 0x2d, 0x45, 0x09, 0x77, 0xd1, 0x36, 0x42, 0x93, 0x4c, 0xf7, 0x4d, 0x77, 0x74, 0x0d, + 0xca, 0x51, 0x67, 0xa3, 0x15, 0xec, 0x3a, 0xae, 0xcf, 0x1e, 0xc7, 0x34, 0x26, 0xab, 0x21, 0x01, + 0x38, 0xc1, 0x41, 0x2b, 0x30, 0xea, 0x48, 0x25, 0x30, 0xca, 0x8f, 0x55, 0xa0, 0x54, 0xbf, 0xdc, + 0x7d, 0x57, 0xaa, 0x7d, 0x55, 0x5d, 0xf4, 0x1a, 0x4c, 0x08, 0x6f, 0x2d, 0x1e, 0xc1, 0x81, 0x3d, + 0x5e, 0x69, 0xe6, 0xf8, 0x0d, 0x1d, 0x88, 0x4d, 0x5c, 0xf4, 0x45, 0x98, 0xa4, 0x54, 0x92, 0x83, + 0x6d, 0xf6, 0xec, 0x20, 0x27, 0xa2, 0x96, 0xc6, 0x42, 0xaf, 0x8c, 0x53, 0xc4, 0x50, 0x0b, 0x9e, + 0x70, 0x3a, 0x71, 0xc0, 0x14, 0xe9, 0xe6, 0xfa, 0x5f, 0x0f, 0x76, 0x88, 0xcf, 0xde, 0xb0, 0x46, + 0x17, 0x2f, 0x1f, 0x1e, 0x54, 0x9e, 0x58, 0xe8, 0x81, 0x87, 0x7b, 0x52, 0x41, 0x77, 0x61, 0x2c, + 0x0e, 0x3c, 0x66, 0x18, 0x4f, 0x59, 0x89, 0xf3, 0xf9, 0xa1, 0x7d, 0xd6, 0x15, 0x9a, 0xae, 0x44, + 0x52, 0x55, 0xb1, 0x4e, 0x07, 0xad, 0xf3, 0x3d, 0xc6, 0x82, 0x9e, 0x92, 0x68, 0xf6, 0xb1, 0xfc, + 0x81, 0x51, 0xb1, 0x51, 0xcd, 0x2d, 0x28, 0x6a, 0x62, 0x9d, 0x0c, 0xba, 0x01, 0x33, 0xed, 0xd0, + 0x0d, 0xd8, 0xc2, 0x56, 0x8f, 0x18, 0xb3, 0x66, 0xe6, 0x82, 0x7a, 0x1a, 0x01, 0x77, 0xd7, 0xa1, + 0x42, 0xa6, 0x2c, 0x9c, 0xbd, 0xc0, 0xd3, 0x60, 0x71, 0xc6, 0x9b, 0x97, 0x61, 0x05, 0x45, 0xab, + 0xec, 0x5c, 0xe6, 0xe2, 0xe0, 0xec, 0x5c, 0x7e, 0x8c, 0x07, 0x5d, 0x6c, 0xe4, 0xfc, 0x92, 0xfa, + 0x8b, 0x13, 0x0a, 0xf4, 0xde, 0x88, 0xb6, 0x9d, 0x90, 0xd4, 0xc3, 0xa0, 0x49, 0x78, 0x67, 0xb8, + 0x4d, 0xfe, 0xe3, 0x3c, 0x36, 0x23, 0xbd, 0x37, 0x1a, 0x59, 0x08, 0x38, 0xbb, 0x1e, 0x6a, 0x69, + 0xd9, 0x9f, 0x29, 0x1b, 0x1a, 0xcd, 0x3e, 0xd1, 0xc3, 0xcc, 0x28, 0xc5, 0xb3, 0x26, 0x6b, 0xd1, + 0x28, 0x8e, 0x70, 0x8a, 0x26, 0xfa, 0x0e, 0x98, 0x16, 0xa1, 0x8c, 0x92, 0x71, 0xbf, 0x98, 0xd8, + 0x2f, 0xe2, 0x14, 0x0c, 0x77, 0x61, 0xcf, 0x7d, 0x3b, 0xcc, 0x74, 0xdd, 0x38, 0xc7, 0x0a, 0x2c, + 0xfe, 0xc7, 0x43, 0x50, 0x56, 0xca, 0x74, 0x74, 0xcd, 0x7c, 0x23, 0xb9, 0x90, 0x7e, 0x23, 0x19, + 0xa5, 0x3c, 0xbd, 0xfe, 0x2c, 0xb2, 0x6e, 0x98, 0xd5, 0x15, 0xf2, 0xd3, 0x78, 0xe9, 0x5c, 0x79, + 0x5f, 0x17, 0x3d, 0x4d, 0x37, 0x52, 0x1c, 0xf8, 0xb1, 0xa5, 0xd4, 0x53, 0xdd, 0x32, 0x60, 0x16, + 0x5d, 0xf4, 0x14, 0x15, 0x6c, 0x5a, 0xb5, 0x7a, 0x3a, 0xad, 0x64, 0x9d, 0x16, 0x62, 0x0e, 0x63, + 0x02, 0x20, 0x65, 0x8f, 0x98, 0x00, 0x38, 0xf2, 0x90, 0x02, 0xa0, 0x24, 0x80, 0x13, 0x5a, 0xc8, + 0x83, 0x99, 0xa6, 0x99, 0x11, 0x54, 0xb9, 0xe5, 0x3d, 0xd5, 0x37, 0x37, 0x67, 0x47, 0x4b, 0xbf, + 0xb6, 0x94, 0xa6, 0x82, 0xbb, 0x09, 0xa3, 0xd7, 0x60, 0xf4, 0xbd, 0x20, 0x62, 0x8b, 0x49, 0xf0, + 0x08, 0xd2, 0x7d, 0x69, 0xf4, 0xcd, 0x3b, 0x0d, 0x56, 0x7e, 0x74, 0x50, 0x19, 0xab, 0x07, 0x2d, + 0xf9, 0x17, 0xab, 0x0a, 0xe8, 0x01, 0x9c, 0x33, 0x4e, 0x56, 0xd5, 0x5d, 0x18, 0xbc, 0xbb, 0x17, + 0x45, 0x73, 0xe7, 0x6a, 0x59, 0x94, 0x70, 0x76, 0x03, 0xf4, 0xb8, 0xf2, 0x03, 0x91, 0x4d, 0x57, + 0xf2, 0x21, 0x8c, 0xdd, 0x28, 0xeb, 0xce, 0xeb, 0x29, 0x04, 0xdc, 0x5d, 0xc7, 0xfe, 0x1a, 0x7f, + 0x7b, 0x10, 0x1a, 0x4a, 0x12, 0x75, 0xbc, 0xd3, 0x48, 0xd6, 0xb4, 0x6c, 0x28, 0x4f, 0x1f, 0xfa, + 0x7d, 0xeb, 0x37, 0x2c, 0xf6, 0xbe, 0xb5, 0x4e, 0x76, 0xdb, 0x1e, 0x95, 0x93, 0x1f, 0x7d, 0xc7, + 0xdf, 0x84, 0xd1, 0x58, 0xb4, 0xd6, 0x2b, 0xbf, 0x94, 0xd6, 0x29, 0xf6, 0xc6, 0xa7, 0x38, 0x14, + 0x59, 0x8a, 0x15, 0x19, 0xfb, 0x1f, 0xf3, 0x19, 0x90, 0x90, 0x53, 0x50, 0x64, 0x55, 0x4d, 0x45, + 0x56, 0xa5, 0xcf, 0x17, 0xe4, 0x28, 0xb4, 0xfe, 0x91, 0xd9, 0x6f, 0x26, 0x0c, 0x7e, 0xd4, 0x1f, + 0x56, 0xed, 0x1f, 0xb5, 0xe0, 0x6c, 0x96, 0x25, 0x12, 0xe5, 0x2a, 0xb9, 0x28, 0xaa, 0x1e, 0x9a, + 0xd5, 0x08, 0xde, 0x13, 0xe5, 0x58, 0x61, 0x0c, 0x9c, 0xba, 0xe1, 0x78, 0xf1, 0xdd, 0xee, 0xc0, + 0x44, 0x3d, 0x24, 0xda, 0x1d, 0xf0, 0x3a, 0xf7, 0x83, 0xe3, 0xfd, 0x79, 0xee, 0xd8, 0x3e, 0x70, + 0xf6, 0xcf, 0x15, 0xe0, 0x2c, 0x7f, 0x29, 0x5a, 0xd8, 0x0b, 0xdc, 0x56, 0x3d, 0x68, 0x89, 0xb4, + 0x1b, 0x6f, 0xc3, 0x78, 0x5b, 0xd3, 0x1f, 0xf4, 0x8a, 0x30, 0xa5, 0xeb, 0x19, 0x12, 0x39, 0x4e, + 0x2f, 0xc5, 0x06, 0x2d, 0xd4, 0x82, 0x71, 0xb2, 0xe7, 0x36, 0xd5, 0x73, 0x43, 0xe1, 0xd8, 0x77, + 0x83, 0x6a, 0x65, 0x59, 0xa3, 0x83, 0x0d, 0xaa, 0x8f, 0x20, 0x13, 0x9b, 0xfd, 0x63, 0x16, 0x3c, + 0x96, 0x13, 0x8f, 0x8a, 0x36, 0x77, 0x9f, 0xbd, 0xc9, 0x89, 0xa4, 0x4e, 0xaa, 0x39, 0xfe, 0x52, + 0x87, 0x05, 0x14, 0x7d, 0x1e, 0x80, 0xbf, 0xb4, 0x51, 0xb1, 0xa6, 0x5f, 0xe0, 0x1e, 0x23, 0xe6, + 0x88, 0x16, 0x2b, 0x42, 0xd6, 0xc7, 0x1a, 0x2d, 0xfb, 0xa7, 0x8b, 0x30, 0xc4, 0x5e, 0x76, 0xd0, + 0x0a, 0x8c, 0x6c, 0xf3, 0xe8, 0xcb, 0x83, 0x04, 0x7a, 0x4e, 0xe4, 0x43, 0x5e, 0x80, 0x65, 0x65, + 0xb4, 0x0a, 0x67, 0x78, 0xf4, 0x6a, 0xaf, 0x4a, 0x3c, 0x67, 0x5f, 0xaa, 0x19, 0x78, 0x22, 0x24, + 0x15, 0xf7, 0xa2, 0xd6, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0xd7, 0x61, 0x92, 0xf2, 0x65, 0x41, 0x27, + 0x96, 0x94, 0x78, 0xdc, 0x6a, 0xc5, 0x08, 0xae, 0x1b, 0x50, 0x9c, 0xc2, 0xa6, 0x02, 0x53, 0xbb, + 0x4b, 0xa1, 0x32, 0x94, 0x08, 0x4c, 0xa6, 0x12, 0xc5, 0xc4, 0x65, 0x26, 0x48, 0x1d, 0x66, 0x70, + 0xb5, 0xbe, 0x1d, 0x92, 0x68, 0x3b, 0xf0, 0x5a, 0x22, 0x8f, 0x76, 0x62, 0x82, 0x94, 0x82, 0xe3, + 0xae, 0x1a, 0x94, 0xca, 0xa6, 0xe3, 0x7a, 0x9d, 0x90, 0x24, 0x54, 0x86, 0x4d, 0x2a, 0x2b, 0x29, + 0x38, 0xee, 0xaa, 0x41, 0xd7, 0xd1, 0x39, 0x91, 0xd8, 0x5a, 0x7a, 0xe3, 0x2b, 0xbb, 0xb2, 0x11, + 0xe9, 0x97, 0xd4, 0x23, 0x1c, 0x8d, 0xb0, 0xbc, 0x51, 0xa9, 0xb1, 0x35, 0x3d, 0xa0, 0xf0, 0x48, + 0x92, 0x54, 0x1e, 0x26, 0xbd, 0xf2, 0xef, 0x59, 0x70, 0x26, 0xc3, 0x7e, 0x95, 0x1f, 0x55, 0x5b, + 0x6e, 0x14, 0xab, 0x64, 0x2f, 0xda, 0x51, 0xc5, 0xcb, 0xb1, 0xc2, 0xa0, 0xfb, 0x81, 0x1f, 0x86, + 0xe9, 0x03, 0x50, 0xd8, 0x87, 0x09, 0xe8, 0xf1, 0x0e, 0x40, 0x74, 0x19, 0x4a, 0x9d, 0x88, 0xc8, + 0x40, 0x52, 0xea, 0xfc, 0x66, 0x9a, 0x61, 0x06, 0xa1, 0xac, 0xe9, 0x96, 0x52, 0xca, 0x6a, 0xac, + 0x29, 0xd7, 0xb4, 0x72, 0x98, 0xfd, 0xd5, 0x22, 0x5c, 0xc8, 0xb5, 0x54, 0xa7, 0x5d, 0xda, 0x0d, + 0x7c, 0x37, 0x0e, 0xd4, 0xab, 0x21, 0x0f, 0x65, 0x42, 0xda, 0xdb, 0xab, 0xa2, 0x1c, 0x2b, 0x0c, + 0x74, 0x45, 0xa6, 0x58, 0x4f, 0xa7, 0xb3, 0x59, 0xac, 0x1a, 0x59, 0xd6, 0x07, 0x4d, 0x15, 0xf6, + 0x14, 0x94, 0xda, 0x41, 0xe0, 0xa5, 0x0f, 0x23, 0xda, 0xdd, 0x20, 0xf0, 0x30, 0x03, 0xa2, 0x4f, + 0x88, 0x71, 0x48, 0x3d, 0x93, 0x61, 0xa7, 0x15, 0x44, 0xda, 0x60, 0x3c, 0x03, 0x23, 0x3b, 0x64, + 0x3f, 0x74, 0xfd, 0xad, 0xf4, 0xf3, 0xe9, 0x2d, 0x5e, 0x8c, 0x25, 0xdc, 0xcc, 0xe6, 0x30, 0x72, + 0xd2, 0x39, 0xbe, 0x46, 0xfb, 0x5e, 0x6d, 0x3f, 0x58, 0x84, 0x29, 0xbc, 0x58, 0xfd, 0xd6, 0x44, + 0xdc, 0xed, 0x9e, 0x88, 0x93, 0xce, 0xf1, 0xd5, 0x7f, 0x36, 0x7e, 0xc9, 0x82, 0x29, 0x16, 0xf1, + 0x58, 0x04, 0xd0, 0x70, 0x03, 0xff, 0x14, 0x58, 0xb7, 0xa7, 0x60, 0x28, 0xa4, 0x8d, 0xa6, 0x13, + 0xf7, 0xb0, 0x9e, 0x60, 0x0e, 0x43, 0x4f, 0x40, 0x89, 0x75, 0x81, 0x4e, 0xde, 0x38, 0xcf, 0x79, + 0x50, 0x75, 0x62, 0x07, 0xb3, 0x52, 0xe6, 0x15, 0x8e, 0x49, 0xdb, 0x73, 0x79, 0xa7, 0x93, 0x27, + 0x89, 0x8f, 0x86, 0x57, 0x78, 0x66, 0xd7, 0x3e, 0x98, 0x57, 0x78, 0x36, 0xc9, 0xde, 0x62, 0xd1, + 0x7f, 0x2b, 0xc0, 0xa5, 0xcc, 0x7a, 0x03, 0x7b, 0x85, 0xf7, 0xae, 0x7d, 0x32, 0x56, 0x30, 0xd9, + 0xc6, 0x29, 0xc5, 0x53, 0x34, 0x4e, 0x29, 0x0d, 0xca, 0x39, 0x0e, 0x0d, 0xe0, 0xac, 0x9d, 0x39, + 0x64, 0x1f, 0x11, 0x67, 0xed, 0xcc, 0xbe, 0xe5, 0x88, 0x75, 0x7f, 0x5a, 0xc8, 0xf9, 0x16, 0x26, + 0xe0, 0x5d, 0xa5, 0xe7, 0x0c, 0x03, 0x46, 0x82, 0x13, 0x1e, 0xe7, 0x67, 0x0c, 0x2f, 0xc3, 0x0a, + 0x8a, 0x5c, 0xcd, 0xed, 0xb9, 0x90, 0x9f, 0xd6, 0x31, 0xb7, 0xa9, 0x79, 0xf3, 0x05, 0x49, 0x0d, + 0x41, 0x86, 0x0b, 0xf4, 0xaa, 0x26, 0x94, 0x17, 0x07, 0x17, 0xca, 0xc7, 0xb3, 0x05, 0x72, 0xb4, + 0x00, 0x53, 0xbb, 0xae, 0xcf, 0xd2, 0xf4, 0x9b, 0xac, 0xa8, 0x8a, 0x02, 0xb2, 0x6a, 0x82, 0x71, + 0x1a, 0x7f, 0xee, 0x35, 0x98, 0x78, 0x78, 0x75, 0xe4, 0x37, 0x8b, 0xf0, 0x78, 0x8f, 0x6d, 0xcf, + 0xcf, 0x7a, 0x63, 0x0e, 0xb4, 0xb3, 0xbe, 0x6b, 0x1e, 0xea, 0x70, 0x76, 0xb3, 0xe3, 0x79, 0xfb, + 0xcc, 0xfe, 0x93, 0xb4, 0x24, 0x86, 0xe0, 0x15, 0x9f, 0x90, 0x59, 0x26, 0x56, 0x32, 0x70, 0x70, + 0x66, 0x4d, 0xf4, 0x06, 0xa0, 0x40, 0xe4, 0x94, 0xbd, 0x41, 0x7c, 0xa1, 0x97, 0x67, 0x03, 0x5f, + 0x4c, 0x36, 0xe3, 0x9d, 0x2e, 0x0c, 0x9c, 0x51, 0x8b, 0x32, 0xfd, 0xf4, 0x56, 0xda, 0x57, 0xdd, + 0x4a, 0x31, 0xfd, 0x58, 0x07, 0x62, 0x13, 0x17, 0xdd, 0x80, 0x19, 0x67, 0xcf, 0x71, 0x79, 0x74, + 0x3c, 0x49, 0x80, 0x73, 0xfd, 0x4a, 0x09, 0xb6, 0x90, 0x46, 0xc0, 0xdd, 0x75, 0x52, 0x8e, 0xd1, + 0xc3, 0xf9, 0x8e, 0xd1, 0xbd, 0xcf, 0xc5, 0x7e, 0x3a, 0x5d, 0xfb, 0xdf, 0x5b, 0xf4, 0xfa, 0xca, + 0xc8, 0x0b, 0x4f, 0xc7, 0x41, 0xe9, 0x26, 0x35, 0x1f, 0xe5, 0x73, 0x9a, 0x85, 0x47, 0x02, 0xc4, + 0x26, 0x2e, 0x5f, 0x10, 0x51, 0xe2, 0x24, 0x63, 0xb0, 0xee, 0x22, 0xc6, 0x81, 0xc2, 0x40, 0x5f, + 0x80, 0x91, 0x96, 0xbb, 0xe7, 0x46, 0x41, 0x28, 0x36, 0xcb, 0x31, 0x5d, 0x0d, 0x92, 0x73, 0xb0, + 0xca, 0xc9, 0x60, 0x49, 0xcf, 0xfe, 0xc1, 0x02, 0x4c, 0xc8, 0x16, 0xdf, 0xec, 0x04, 0xb1, 0x73, + 0x0a, 0xd7, 0xf2, 0x0d, 0xe3, 0x5a, 0xfe, 0x44, 0xaf, 0x40, 0x0f, 0xac, 0x4b, 0xb9, 0xd7, 0xf1, + 0x9d, 0xd4, 0x75, 0xfc, 0x74, 0x7f, 0x52, 0xbd, 0xaf, 0xe1, 0x7f, 0x62, 0xc1, 0x8c, 0x81, 0x7f, + 0x0a, 0xb7, 0xc1, 0x8a, 0x79, 0x1b, 0x3c, 0xd9, 0xf7, 0x1b, 0x72, 0x6e, 0x81, 0xef, 0x2b, 0xa6, + 0xfa, 0xce, 0x4e, 0xff, 0xf7, 0xa0, 0xb4, 0xed, 0x84, 0xad, 0x5e, 0x01, 0x65, 0xbb, 0x2a, 0xcd, + 0xdf, 0x74, 0xc2, 0x16, 0x3f, 0xc3, 0x9f, 0x53, 0x99, 0x28, 0x9d, 0xb0, 0xd5, 0xd7, 0x27, 0x8c, + 0x35, 0x85, 0x5e, 0x85, 0xe1, 0xa8, 0x19, 0xb4, 0x95, 0xc5, 0xe6, 0x65, 0x9e, 0xa5, 0x92, 0x96, + 0x1c, 0x1d, 0x54, 0x90, 0xd9, 0x1c, 0x2d, 0xc6, 0x02, 0x1f, 0xbd, 0x0d, 0x13, 0xec, 0x97, 0xb2, + 0x5c, 0x28, 0xe6, 0xa7, 0x31, 0x68, 0xe8, 0x88, 0xdc, 0x00, 0xc6, 0x28, 0xc2, 0x26, 0xa9, 0xb9, + 0x2d, 0x28, 0xab, 0xcf, 0x7a, 0xa4, 0xbe, 0x3c, 0xff, 0xa6, 0x08, 0x67, 0x32, 0xd6, 0x1c, 0x8a, + 0x8c, 0x99, 0x78, 0x61, 0xc0, 0xa5, 0xfa, 0x01, 0xe7, 0x22, 0x62, 0xd2, 0x50, 0x4b, 0xac, 0xad, + 0x81, 0x1b, 0xbd, 0x1b, 0x91, 0x74, 0xa3, 0xb4, 0xa8, 0x7f, 0xa3, 0xb4, 0xb1, 0x53, 0x1b, 0x6a, + 0xda, 0x90, 0xea, 0xe9, 0x23, 0x9d, 0xd3, 0x3f, 0x2a, 0xc2, 0xd9, 0xac, 0xd8, 0x33, 0xe8, 0xbb, + 0x53, 0xe9, 0x6a, 0x5e, 0x1a, 0x34, 0x6a, 0x0d, 0xcf, 0x61, 0x23, 0x92, 0x2f, 0xcf, 0x9b, 0x09, + 0x6c, 0xfa, 0x0e, 0xb3, 0x68, 0x93, 0x39, 0x80, 0x86, 0x3c, 0xcd, 0x90, 0x3c, 0x3e, 0x3e, 0x3d, + 0x70, 0x07, 0x44, 0x7e, 0xa2, 0x28, 0xe5, 0x00, 0x2a, 0x8b, 0xfb, 0x3b, 0x80, 0xca, 0x96, 0xe7, + 0x5c, 0x18, 0xd3, 0xbe, 0xe6, 0x91, 0xce, 0xf8, 0x0e, 0xbd, 0xad, 0xb4, 0x7e, 0x3f, 0xd2, 0x59, + 0xff, 0x31, 0x0b, 0x52, 0xe6, 0x91, 0x4a, 0xdd, 0x65, 0xe5, 0xaa, 0xbb, 0x2e, 0x43, 0x29, 0x0c, + 0x3c, 0x92, 0xce, 0x20, 0x83, 0x03, 0x8f, 0x60, 0x06, 0xa1, 0x18, 0x71, 0xa2, 0xec, 0x18, 0xd7, + 0x05, 0x39, 0x21, 0xa2, 0x3d, 0x05, 0x43, 0x1e, 0xd9, 0x23, 0x5e, 0x3a, 0x3c, 0xfb, 0x6d, 0x5a, + 0x88, 0x39, 0xcc, 0xfe, 0xa5, 0x12, 0x5c, 0xec, 0xe9, 0x42, 0x4d, 0xc5, 0xa1, 0x2d, 0x27, 0x26, + 0xf7, 0x9d, 0xfd, 0x74, 0x1c, 0xe5, 0x1b, 0xbc, 0x18, 0x4b, 0x38, 0xb3, 0x18, 0xe7, 0x71, 0x13, + 0x53, 0xca, 0x41, 0x11, 0x2e, 0x51, 0x40, 0x1f, 0x41, 0xe2, 0xf9, 0xeb, 0x00, 0x51, 0xe4, 0x2d, + 0xfb, 0x94, 0xbb, 0x6b, 0x09, 0x53, 0xf4, 0x24, 0xbe, 0x66, 0xe3, 0xb6, 0x80, 0x60, 0x0d, 0x0b, + 0x55, 0x61, 0xba, 0x1d, 0x06, 0x31, 0xd7, 0xb5, 0x56, 0xb9, 0xa1, 0xd0, 0x90, 0xe9, 0xbd, 0x5a, + 0x4f, 0xc1, 0x71, 0x57, 0x0d, 0xf4, 0x32, 0x8c, 0x09, 0x8f, 0xd6, 0x7a, 0x10, 0x78, 0x42, 0x0d, + 0xa4, 0xcc, 0x4e, 0x1a, 0x09, 0x08, 0xeb, 0x78, 0x5a, 0x35, 0xa6, 0xc0, 0x1d, 0xc9, 0xac, 0xc6, + 0x95, 0xb8, 0x1a, 0x5e, 0x2a, 0x0e, 0xd5, 0xe8, 0x40, 0x71, 0xa8, 0x12, 0xc5, 0x58, 0x79, 0xe0, + 0x37, 0x2b, 0xe8, 0xab, 0x4a, 0xfa, 0xf9, 0x12, 0x9c, 0x11, 0x0b, 0xe7, 0x51, 0x2f, 0x97, 0x47, + 0x94, 0x1e, 0xff, 0x5b, 0x6b, 0xe6, 0xb4, 0xd7, 0xcc, 0x0f, 0x59, 0x60, 0xb2, 0x57, 0xe8, 0xff, + 0xc9, 0x0d, 0x44, 0xff, 0x72, 0x2e, 0xbb, 0xd6, 0x92, 0x17, 0xc8, 0x07, 0x0c, 0x49, 0x6f, 0xff, + 0x3b, 0x0b, 0x9e, 0xec, 0x4b, 0x11, 0x2d, 0x43, 0x99, 0xf1, 0x80, 0x9a, 0x74, 0xf6, 0xb4, 0x32, + 0x24, 0x94, 0x80, 0x1c, 0x96, 0x34, 0xa9, 0x89, 0x96, 0xbb, 0x22, 0xfe, 0x3f, 0x93, 0x11, 0xf1, + 0xff, 0x9c, 0x31, 0x3c, 0x0f, 0x19, 0xf2, 0xff, 0x6b, 0x45, 0x18, 0xe6, 0x2b, 0xfe, 0x14, 0xc4, + 0xb0, 0x15, 0xa1, 0xb7, 0xed, 0x11, 0x89, 0x8a, 0xf7, 0x65, 0xbe, 0xea, 0xc4, 0x0e, 0x67, 0x13, + 0xd4, 0x6d, 0x95, 0x68, 0x78, 0xd1, 0xbc, 0x71, 0x9f, 0xcd, 0xa5, 0x14, 0x93, 0xc0, 0x69, 0x68, + 0xb7, 0xdb, 0x97, 0x00, 0x22, 0x96, 0x09, 0x9f, 0xd2, 0x10, 0x31, 0xcd, 0x3e, 0xd9, 0xa3, 0xf5, + 0x86, 0x42, 0xe6, 0x7d, 0x48, 0x76, 0xba, 0x02, 0x60, 0x8d, 0xe2, 0xdc, 0x2b, 0x50, 0x56, 0xc8, + 0xfd, 0xb4, 0x38, 0xe3, 0x3a, 0x73, 0xf1, 0x39, 0x98, 0x4a, 0xb5, 0x75, 0x2c, 0x25, 0xd0, 0x2f, + 0x5b, 0x30, 0xc5, 0xbb, 0xbc, 0xec, 0xef, 0x89, 0x33, 0xf5, 0x7d, 0x38, 0xeb, 0x65, 0x9c, 0x6d, + 0x62, 0x46, 0x07, 0x3f, 0x0b, 0x95, 0xd2, 0x27, 0x0b, 0x8a, 0x33, 0xdb, 0x40, 0x57, 0xe9, 0xba, + 0xa5, 0x67, 0x97, 0xe3, 0x09, 0xef, 0xa3, 0x71, 0xbe, 0x66, 0x79, 0x19, 0x56, 0x50, 0xfb, 0x77, + 0x2c, 0x98, 0xe1, 0x3d, 0xbf, 0x45, 0xf6, 0xd5, 0x0e, 0xff, 0x30, 0xfb, 0x2e, 0x92, 0x70, 0x14, + 0x72, 0x92, 0x70, 0xe8, 0x9f, 0x56, 0xec, 0xf9, 0x69, 0x3f, 0x67, 0x81, 0x58, 0x81, 0xa7, 0x20, + 0xca, 0x7f, 0xbb, 0x29, 0xca, 0xcf, 0xe5, 0x2f, 0xea, 0x1c, 0x19, 0xfe, 0x4f, 0x2c, 0x98, 0xe6, + 0x08, 0xc9, 0x5b, 0xf2, 0x87, 0x3a, 0x0f, 0x83, 0x64, 0xd3, 0x53, 0xe9, 0xb3, 0xb3, 0x3f, 0xca, + 0x98, 0xac, 0x52, 0xcf, 0xc9, 0x6a, 0xc9, 0x0d, 0x74, 0x8c, 0x2c, 0x91, 0xc7, 0x0e, 0x66, 0x6d, + 0xff, 0xa1, 0x05, 0x88, 0x37, 0x63, 0xb0, 0x3f, 0x94, 0xa9, 0x60, 0xa5, 0xda, 0x75, 0x91, 0x1c, + 0x35, 0x0a, 0x82, 0x35, 0xac, 0x13, 0x19, 0x9e, 0x94, 0x41, 0x40, 0xb1, 0xbf, 0x41, 0xc0, 0x31, + 0x46, 0xf4, 0x6b, 0x25, 0x48, 0xbb, 0x03, 0xa0, 0x7b, 0x30, 0xde, 0x74, 0xda, 0xce, 0x86, 0xeb, + 0xb9, 0xb1, 0x4b, 0xa2, 0x5e, 0x96, 0x44, 0x4b, 0x1a, 0x9e, 0x78, 0xea, 0xd5, 0x4a, 0xb0, 0x41, + 0x07, 0xcd, 0x03, 0xb4, 0x43, 0x77, 0xcf, 0xf5, 0xc8, 0x16, 0xd3, 0x38, 0x30, 0x7f, 0x47, 0x6e, + 0x1e, 0x23, 0x4b, 0xb1, 0x86, 0x91, 0xe1, 0xba, 0x56, 0x7c, 0x74, 0xae, 0x6b, 0xa5, 0x63, 0xba, + 0xae, 0x0d, 0x0d, 0xe4, 0xba, 0x86, 0xe1, 0xbc, 0x64, 0x91, 0xe8, 0xff, 0x15, 0xd7, 0x23, 0x82, + 0x2f, 0xe6, 0x5e, 0x90, 0x73, 0x87, 0x07, 0x95, 0xf3, 0x38, 0x13, 0x03, 0xe7, 0xd4, 0x44, 0x9f, + 0x87, 0x59, 0xc7, 0xf3, 0x82, 0xfb, 0x6a, 0xd4, 0x96, 0xa3, 0xa6, 0xe3, 0x71, 0x8d, 0xfd, 0x08, + 0xa3, 0xfa, 0xc4, 0xe1, 0x41, 0x65, 0x76, 0x21, 0x07, 0x07, 0xe7, 0xd6, 0x4e, 0x79, 0xbe, 0x8d, + 0xf6, 0xf3, 0x7c, 0xb3, 0x77, 0xe0, 0x4c, 0x83, 0x84, 0x2e, 0xcb, 0x61, 0xd9, 0x4a, 0xb6, 0xe4, + 0x3a, 0x94, 0xc3, 0xd4, 0x21, 0x34, 0x50, 0x68, 0x24, 0x2d, 0x4e, 0xaf, 0x3c, 0x74, 0x12, 0x42, + 0xf6, 0x1f, 0x5b, 0x30, 0x22, 0x5c, 0x12, 0x4e, 0x81, 0xf7, 0x59, 0x30, 0x54, 0xd0, 0x95, 0xec, + 0x83, 0x9a, 0x75, 0x26, 0x57, 0xf9, 0x5c, 0x4b, 0x29, 0x9f, 0x9f, 0xec, 0x45, 0xa4, 0xb7, 0xda, + 0xf9, 0x6f, 0x14, 0x61, 0xd2, 0x74, 0xc7, 0x38, 0x85, 0x21, 0x58, 0x83, 0x91, 0x48, 0xf8, 0xfe, + 0x14, 0xf2, 0x6d, 0x9f, 0xd3, 0x93, 0x98, 0x18, 0x36, 0x09, 0x6f, 0x1f, 0x49, 0x24, 0xd3, 0xa9, + 0xa8, 0xf8, 0x08, 0x9d, 0x8a, 0xfa, 0x79, 0xc4, 0x94, 0x4e, 0xc2, 0x23, 0xc6, 0xfe, 0x3a, 0xbb, + 0x2c, 0xf4, 0xf2, 0x53, 0xe0, 0x23, 0x6e, 0x98, 0xd7, 0x8a, 0xdd, 0x63, 0x65, 0x89, 0x4e, 0xe5, + 0xf0, 0x13, 0xbf, 0x68, 0xc1, 0xc5, 0x8c, 0xaf, 0xd2, 0x98, 0x8b, 0xe7, 0x60, 0xd4, 0xe9, 0xb4, + 0x5c, 0xb5, 0x97, 0xb5, 0x87, 0xa8, 0x05, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x82, 0x19, 0xf2, 0xa0, + 0xed, 0xf2, 0x97, 0x40, 0xdd, 0xfa, 0xb0, 0xc8, 0x83, 0xc4, 0x2e, 0xa7, 0x81, 0xb8, 0x1b, 0x5f, + 0x39, 0x54, 0x17, 0x73, 0x1d, 0xaa, 0xff, 0xbe, 0x05, 0x63, 0xa2, 0xdb, 0xa7, 0x30, 0xda, 0xdf, + 0x61, 0x8e, 0xf6, 0xe3, 0x3d, 0x46, 0x3b, 0x67, 0x98, 0xff, 0x56, 0x41, 0xf5, 0xb7, 0x1e, 0x84, + 0xf1, 0x00, 0x4c, 0xcb, 0xab, 0x30, 0xda, 0x0e, 0x83, 0x38, 0x68, 0x06, 0x9e, 0xe0, 0x59, 0x9e, + 0x48, 0xfc, 0xfd, 0x79, 0xf9, 0x91, 0xf6, 0x1b, 0x2b, 0x6c, 0x36, 0x7a, 0x41, 0x18, 0x0b, 0x3e, + 0x21, 0x19, 0xbd, 0x20, 0x8c, 0x31, 0x83, 0xa0, 0x16, 0x40, 0xec, 0x84, 0x5b, 0x24, 0xa6, 0x65, + 0x22, 0x74, 0x48, 0xfe, 0xe1, 0xd1, 0x89, 0x5d, 0x6f, 0xde, 0xf5, 0xe3, 0x28, 0x0e, 0xe7, 0x6b, + 0x7e, 0x7c, 0x27, 0xe4, 0x22, 0x90, 0xe6, 0xc0, 0xaf, 0x68, 0x61, 0x8d, 0xae, 0xf4, 0xb2, 0x64, + 0x6d, 0x0c, 0x99, 0x4f, 0xda, 0x6b, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x15, 0x76, 0x95, 0xb0, 0x01, + 0x3a, 0x9e, 0x6f, 0xfd, 0x37, 0x46, 0xd5, 0xd0, 0xb2, 0xf7, 0xac, 0xaa, 0xee, 0xc1, 0xdf, 0xfb, + 0xe4, 0xa6, 0x0d, 0xeb, 0x9e, 0x30, 0x89, 0x9b, 0x3f, 0xfa, 0xce, 0x2e, 0x4b, 0x87, 0xe7, 0xfb, + 0x5c, 0x01, 0xc7, 0xb0, 0x6d, 0x60, 0x81, 0xab, 0x59, 0x80, 0xdf, 0x5a, 0x5d, 0x2c, 0x72, 0x2d, + 0x70, 0xb5, 0x00, 0xe0, 0x04, 0x07, 0x5d, 0x13, 0x02, 0x74, 0xc9, 0x48, 0x5f, 0x27, 0x05, 0x68, + 0xf9, 0xf9, 0x9a, 0x04, 0xfd, 0x02, 0x8c, 0xa9, 0x34, 0x76, 0x75, 0x9e, 0x0d, 0x4c, 0x04, 0x52, + 0x59, 0x4e, 0x8a, 0xb1, 0x8e, 0x83, 0xd6, 0x61, 0x2a, 0xe2, 0xda, 0x13, 0x15, 0x2f, 0x8f, 0x6b, + 0xa1, 0x3e, 0x29, 0x2d, 0x24, 0x1a, 0x26, 0xf8, 0x88, 0x15, 0xf1, 0xa3, 0x43, 0xba, 0x4a, 0xa6, + 0x49, 0xa0, 0xd7, 0x61, 0xd2, 0xd3, 0x93, 0xc1, 0xd7, 0x85, 0x92, 0x4a, 0x19, 0x10, 0x1b, 0xa9, + 0xe2, 0xeb, 0x38, 0x85, 0x4d, 0x79, 0x1d, 0xbd, 0x44, 0xc4, 0x78, 0x74, 0xfc, 0x2d, 0x12, 0x89, + 0x24, 0x5c, 0x8c, 0xd7, 0xb9, 0x9d, 0x83, 0x83, 0x73, 0x6b, 0xa3, 0x57, 0x61, 0x5c, 0x7e, 0xbe, + 0xe6, 0x08, 0x9c, 0x98, 0xa9, 0x6b, 0x30, 0x6c, 0x60, 0xa2, 0xfb, 0x70, 0x4e, 0xfe, 0x5f, 0x0f, + 0x9d, 0xcd, 0x4d, 0xb7, 0x29, 0xfc, 0xb0, 0xb9, 0xaf, 0xce, 0x82, 0x74, 0xfe, 0x59, 0xce, 0x42, + 0x3a, 0x3a, 0xa8, 0x5c, 0x16, 0xa3, 0x96, 0x09, 0x67, 0x93, 0x98, 0x4d, 0x1f, 0xad, 0xc2, 0x99, + 0x6d, 0xe2, 0x78, 0xf1, 0xf6, 0xd2, 0x36, 0x69, 0xee, 0xc8, 0x4d, 0xc4, 0xdc, 0x8b, 0x35, 0xe3, + 0xee, 0x9b, 0xdd, 0x28, 0x38, 0xab, 0x1e, 0x7a, 0x07, 0x66, 0xdb, 0x9d, 0x0d, 0xcf, 0x8d, 0xb6, + 0xd7, 0x82, 0x98, 0x19, 0x65, 0xa8, 0x2c, 0x70, 0xc2, 0x0f, 0x59, 0xb9, 0x56, 0xd7, 0x73, 0xf0, + 0x70, 0x2e, 0x05, 0xf4, 0x3e, 0x9c, 0x4b, 0x2d, 0x06, 0xe1, 0x15, 0x39, 0x99, 0x1f, 0x31, 0xb7, + 0x91, 0x55, 0x41, 0x78, 0x39, 0x66, 0x81, 0x70, 0x76, 0x13, 0x1f, 0xcc, 0x54, 0xe7, 0x3d, 0x5a, + 0x59, 0x63, 0xca, 0xd0, 0x97, 0x61, 0x5c, 0x5f, 0x45, 0xe2, 0x82, 0xb9, 0x92, 0xcd, 0xb3, 0x68, + 0xab, 0x8d, 0xb3, 0x74, 0x6a, 0x45, 0xe9, 0x30, 0x6c, 0x50, 0xb4, 0x09, 0x64, 0x7f, 0x1f, 0xba, + 0x0d, 0xa3, 0x4d, 0xcf, 0x25, 0x7e, 0x5c, 0xab, 0xf7, 0x0a, 0xdb, 0xb1, 0x24, 0x70, 0xc4, 0x80, + 0x89, 0x10, 0xa3, 0xbc, 0x0c, 0x2b, 0x0a, 0xf6, 0xaf, 0x17, 0xa0, 0xd2, 0x27, 0x5e, 0x6d, 0x4a, + 0xa3, 0x6c, 0x0d, 0xa4, 0x51, 0x5e, 0x90, 0x39, 0xed, 0xd6, 0x52, 0x62, 0x76, 0x2a, 0x5f, 0x5d, + 0x22, 0x6c, 0xa7, 0xf1, 0x07, 0xb6, 0xf0, 0xd5, 0x95, 0xd2, 0xa5, 0xbe, 0xb6, 0xe7, 0xc6, 0x63, + 0xd4, 0xd0, 0xe0, 0x82, 0x48, 0xee, 0xc3, 0x82, 0xfd, 0xf5, 0x02, 0x9c, 0x53, 0x43, 0xf8, 0xe7, + 0x77, 0xe0, 0xee, 0x76, 0x0f, 0xdc, 0x09, 0x3c, 0xcb, 0xd8, 0x77, 0x60, 0x98, 0x87, 0x3d, 0x19, + 0x80, 0x01, 0x7a, 0xca, 0x8c, 0x91, 0xa5, 0xae, 0x69, 0x23, 0x4e, 0xd6, 0x5f, 0xb0, 0x60, 0x6a, + 0x7d, 0xa9, 0xde, 0x08, 0x9a, 0x3b, 0x24, 0x5e, 0xe0, 0x0c, 0x2b, 0x16, 0xfc, 0x8f, 0xf5, 0x90, + 0x7c, 0x4d, 0x16, 0xc7, 0x74, 0x19, 0x4a, 0xdb, 0x41, 0x14, 0xa7, 0xdf, 0x6c, 0x6f, 0x06, 0x51, + 0x8c, 0x19, 0xc4, 0xfe, 0x5d, 0x0b, 0x86, 0x58, 0x26, 0xd6, 0x7e, 0xe9, 0x81, 0x07, 0xf9, 0x2e, + 0xf4, 0x32, 0x0c, 0x93, 0xcd, 0x4d, 0xd2, 0x8c, 0xc5, 0xac, 0x4a, 0x87, 0xd2, 0xe1, 0x65, 0x56, + 0x4a, 0x2f, 0x7d, 0xd6, 0x18, 0xff, 0x8b, 0x05, 0x32, 0x7a, 0x0b, 0xca, 0xb1, 0xbb, 0x4b, 0x16, + 0x5a, 0x2d, 0xf1, 0xea, 0xf5, 0x10, 0xfe, 0xbb, 0xeb, 0x92, 0x00, 0x4e, 0x68, 0xd9, 0x5f, 0x2d, + 0x00, 0x24, 0xce, 0xfb, 0xfd, 0x3e, 0x71, 0xb1, 0xeb, 0x3d, 0xe4, 0x4a, 0xc6, 0x7b, 0x08, 0x4a, + 0x08, 0x66, 0x3c, 0x86, 0xa8, 0x61, 0x2a, 0x0e, 0x34, 0x4c, 0xa5, 0xe3, 0x0c, 0xd3, 0x12, 0xcc, + 0x24, 0xc1, 0x07, 0xcc, 0x48, 0x2c, 0x4c, 0x48, 0x59, 0x4f, 0x03, 0x71, 0x37, 0xbe, 0x4d, 0xe0, + 0xb2, 0x8c, 0x89, 0x29, 0xef, 0x1a, 0x66, 0x54, 0x79, 0x8c, 0x4c, 0xd1, 0xc9, 0x83, 0x4f, 0x21, + 0xf7, 0xc1, 0xe7, 0x27, 0x2d, 0x38, 0x9b, 0x6e, 0x87, 0x79, 0xaf, 0xfd, 0x80, 0x05, 0xe7, 0xd8, + 0xb3, 0x17, 0x6b, 0xb5, 0xfb, 0x91, 0xed, 0xa5, 0xec, 0xa0, 0x0c, 0xbd, 0x7b, 0x9c, 0x78, 0x2e, + 0xaf, 0x66, 0x91, 0xc6, 0xd9, 0x2d, 0xda, 0x7f, 0xd9, 0x82, 0x0b, 0xb9, 0x09, 0x80, 0x98, 0x04, + 0xd9, 0x76, 0xb9, 0x4e, 0x29, 0x2d, 0x41, 0xd6, 0x6b, 0x5c, 0xab, 0xa4, 0x30, 0x54, 0x72, 0xc2, + 0x42, 0x6e, 0x72, 0xc2, 0xbe, 0xb9, 0x06, 0xed, 0xef, 0xb7, 0x40, 0x38, 0x2d, 0x0d, 0x70, 0xd0, + 0xbc, 0x2d, 0x73, 0xbb, 0x1a, 0x21, 0xc9, 0x2f, 0xe7, 0x7b, 0x71, 0x89, 0x40, 0xe4, 0xea, 0x62, + 0x37, 0xc2, 0x8f, 0x1b, 0xb4, 0xec, 0x16, 0x08, 0x68, 0x95, 0x30, 0xbd, 0x55, 0xff, 0xde, 0x5c, + 0x07, 0x68, 0x31, 0x5c, 0x2d, 0xc3, 0xa3, 0xba, 0x46, 0xaa, 0x0a, 0x82, 0x35, 0x2c, 0xfb, 0x87, + 0x0b, 0x30, 0x26, 0x43, 0x60, 0x77, 0xfc, 0x41, 0xa4, 0xcb, 0x63, 0x65, 0xc2, 0x61, 0x29, 0x51, + 0x29, 0xe1, 0x7a, 0x22, 0x94, 0x27, 0x29, 0x51, 0x25, 0x00, 0x27, 0x38, 0xe8, 0x19, 0x18, 0x89, + 0x3a, 0x1b, 0x0c, 0x3d, 0xe5, 0x8a, 0xd3, 0xe0, 0xc5, 0x58, 0xc2, 0xd1, 0xe7, 0x61, 0x9a, 0xd7, + 0x0b, 0x83, 0xb6, 0xb3, 0xc5, 0x95, 0x98, 0x43, 0xca, 0x37, 0x76, 0x7a, 0x35, 0x05, 0x3b, 0x3a, + 0xa8, 0x9c, 0x4d, 0x97, 0x31, 0xf5, 0x77, 0x17, 0x15, 0xfb, 0xcb, 0x80, 0xba, 0xa3, 0x7a, 0xa3, + 0x37, 0xb8, 0x41, 0x94, 0x1b, 0x92, 0x56, 0x2f, 0xbd, 0xb6, 0xee, 0xca, 0x29, 0xcd, 0xe1, 0x79, + 0x2d, 0xac, 0xea, 0xdb, 0x7f, 0xa5, 0x08, 0xd3, 0x69, 0xc7, 0x3e, 0x74, 0x13, 0x86, 0xf9, 0x85, + 0x27, 0xc8, 0xf7, 0x78, 0x36, 0xd5, 0xdc, 0x01, 0xd9, 0xd6, 0x17, 0x77, 0xa6, 0xa8, 0x8f, 0xde, + 0x81, 0xb1, 0x56, 0x70, 0xdf, 0xbf, 0xef, 0x84, 0xad, 0x85, 0x7a, 0x4d, 0xac, 0xcb, 0x4c, 0xbe, + 0xb9, 0x9a, 0xa0, 0xe9, 0x2e, 0x86, 0xec, 0x89, 0x20, 0x01, 0x61, 0x9d, 0x1c, 0x5a, 0x67, 0x91, + 0x0a, 0x37, 0xdd, 0xad, 0x55, 0xa7, 0xdd, 0xcb, 0x3a, 0x76, 0x49, 0x22, 0x69, 0x94, 0x27, 0x44, + 0x38, 0x43, 0x0e, 0xc0, 0x09, 0x21, 0xf4, 0xdd, 0x70, 0x26, 0xca, 0x51, 0xb5, 0xe5, 0x25, 0x79, + 0xe8, 0xa5, 0x7d, 0x5a, 0x7c, 0x8c, 0x4a, 0x34, 0x59, 0x4a, 0xb9, 0xac, 0x66, 0xec, 0xaf, 0x9c, + 0x01, 0x63, 0x37, 0x1a, 0x99, 0x7e, 0xac, 0x13, 0xca, 0xf4, 0x83, 0x61, 0x94, 0xec, 0xb6, 0xe3, + 0xfd, 0xaa, 0x1b, 0xf6, 0xca, 0x44, 0xb7, 0x2c, 0x70, 0xba, 0x69, 0x4a, 0x08, 0x56, 0x74, 0xb2, + 0xd3, 0x31, 0x15, 0x3f, 0xc4, 0x74, 0x4c, 0xa5, 0x53, 0x4c, 0xc7, 0xb4, 0x06, 0x23, 0x5b, 0x6e, + 0x8c, 0x49, 0x3b, 0x10, 0xac, 0x66, 0xe6, 0x3a, 0xbc, 0xc1, 0x51, 0xba, 0x53, 0x80, 0x08, 0x00, + 0x96, 0x44, 0xd0, 0x1b, 0x6a, 0x07, 0x0e, 0xe7, 0x4b, 0x6a, 0xdd, 0xef, 0x7b, 0x99, 0x7b, 0x50, + 0xa4, 0x5f, 0x1a, 0x79, 0xd8, 0xf4, 0x4b, 0x2b, 0x32, 0x69, 0xd2, 0x68, 0xbe, 0x29, 0x3b, 0xcb, + 0x89, 0xd4, 0x27, 0x55, 0x92, 0x91, 0x5e, 0xaa, 0x7c, 0x72, 0xe9, 0xa5, 0xbe, 0xdf, 0x82, 0x73, + 0xed, 0xac, 0x4c, 0x6b, 0x22, 0xd5, 0xd1, 0xcb, 0x03, 0xa7, 0x92, 0x33, 0x1a, 0x64, 0x22, 0x7b, + 0x26, 0x1a, 0xce, 0x6e, 0x8e, 0x0e, 0x74, 0xb8, 0xd1, 0x12, 0xf9, 0x91, 0x9e, 0xca, 0xc9, 0x53, + 0xd5, 0x23, 0x3b, 0xd5, 0x7a, 0x46, 0x4e, 0xa4, 0x8f, 0xe7, 0xe5, 0x44, 0x1a, 0x38, 0x13, 0xd2, + 0x1b, 0x2a, 0x43, 0xd5, 0x44, 0xfe, 0x52, 0xe2, 0xf9, 0xa7, 0xfa, 0xe6, 0xa5, 0x7a, 0x43, 0xe5, + 0xa5, 0xea, 0x11, 0xb1, 0x8d, 0x67, 0x9d, 0xea, 0x9b, 0x8d, 0x4a, 0xcb, 0x28, 0x35, 0x75, 0x32, + 0x19, 0xa5, 0x8c, 0xab, 0x86, 0x27, 0x35, 0x7a, 0xb6, 0xcf, 0x55, 0x63, 0xd0, 0xed, 0x7d, 0xd9, + 0xf0, 0xec, 0x59, 0x33, 0x0f, 0x95, 0x3d, 0xeb, 0x9e, 0x9e, 0x8d, 0x0a, 0xf5, 0x49, 0xb7, 0x44, + 0x91, 0x06, 0xcc, 0x41, 0x75, 0x4f, 0xbf, 0x00, 0xcf, 0xe4, 0xd3, 0x55, 0xf7, 0x5c, 0x37, 0xdd, + 0xcc, 0x2b, 0xb0, 0x2b, 0xb7, 0xd5, 0xd9, 0xd3, 0xc9, 0x6d, 0x75, 0xee, 0xc4, 0x73, 0x5b, 0x9d, + 0x3f, 0x85, 0xdc, 0x56, 0x8f, 0x7d, 0xa8, 0xb9, 0xad, 0x66, 0x1f, 0x41, 0x6e, 0xab, 0xb5, 0x24, + 0xb7, 0xd5, 0x85, 0xfc, 0x29, 0xc9, 0xb0, 0xaf, 0xcd, 0xc9, 0x68, 0x75, 0x0f, 0xca, 0x6d, 0x19, + 0x79, 0x42, 0x84, 0x94, 0xcb, 0xce, 0xde, 0x9b, 0x15, 0x9e, 0x82, 0x4f, 0x89, 0x02, 0xe1, 0x84, + 0x14, 0xa5, 0x9b, 0x64, 0xb8, 0x7a, 0xbc, 0x87, 0x52, 0x36, 0x4b, 0xdd, 0x95, 0x9f, 0xd7, 0xca, + 0xfe, 0x8b, 0x05, 0xb8, 0xd4, 0x7b, 0x5d, 0x27, 0xba, 0xb2, 0x7a, 0xf2, 0xb6, 0x93, 0xd2, 0x95, + 0x71, 0x21, 0x27, 0xc1, 0x1a, 0x38, 0x3c, 0xcf, 0x0d, 0x98, 0x51, 0x86, 0xb5, 0x9e, 0xdb, 0xdc, + 0xd7, 0xb2, 0xfa, 0x2a, 0x07, 0xc2, 0x46, 0x1a, 0x01, 0x77, 0xd7, 0x41, 0x0b, 0x30, 0x65, 0x14, + 0xd6, 0xaa, 0x42, 0x98, 0x51, 0xca, 0xb9, 0x86, 0x09, 0xc6, 0x69, 0x7c, 0xfb, 0x67, 0x2d, 0x78, + 0x2c, 0x27, 0xed, 0xc3, 0xc0, 0xd1, 0x67, 0x36, 0x61, 0xaa, 0x6d, 0x56, 0xed, 0x13, 0xa4, 0xca, + 0x48, 0x2e, 0xa1, 0xfa, 0x9a, 0x02, 0xe0, 0x34, 0xd1, 0xc5, 0xab, 0xbf, 0xf5, 0xfb, 0x97, 0x3e, + 0xf6, 0xdb, 0xbf, 0x7f, 0xe9, 0x63, 0xbf, 0xf3, 0xfb, 0x97, 0x3e, 0xf6, 0xff, 0x1e, 0x5e, 0xb2, + 0x7e, 0xeb, 0xf0, 0x92, 0xf5, 0xdb, 0x87, 0x97, 0xac, 0xdf, 0x39, 0xbc, 0x64, 0xfd, 0xde, 0xe1, + 0x25, 0xeb, 0xab, 0x7f, 0x70, 0xe9, 0x63, 0x6f, 0x17, 0xf6, 0x5e, 0xf8, 0xbf, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x80, 0x00, 0x4e, 0x4d, 0xaf, 0xe6, 0x00, 0x00, } diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index ff47e1c8272..7ee1355f9d6 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -2292,6 +2292,10 @@ message PersistentVolumeClaimSpec { // This is an alpha feature and may change in the future. // +optional optional string volumeMode = 6; + + // If specified, volume will be prepopulated with data from the DataSource. + // +optional + optional TypedLocalObjectReference dataSource = 7; } // PersistentVolumeClaimStatus is the current status of a persistent volume claim. @@ -4478,6 +4482,19 @@ message TopologySelectorTerm { repeated TopologySelectorLabelRequirement matchLabelExpressions = 1; } +// TypedLocalObjectReference contains enough information to let you locate the +// typed referenced object inside the same namespace. +message TypedLocalObjectReference { + // APIGroup is the group for the resource being referenced + optional string apiGroup = 1; + + // Kind is the type of resource being referenced + optional string kind = 2; + + // Name is the name of resource being referenced + optional string name = 3; +} + // Volume represents a named volume in a pod that may be accessed by any container in the pod. message Volume { // Volume's name. diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index e83641754c0..ed4bfbeef07 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1210,6 +1210,7 @@ var map_PersistentVolumeClaimSpec = map[string]string{ "volumeName": "VolumeName is the binding reference to the PersistentVolume backing this claim.", "storageClassName": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", "volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future.", + "dataSource": "If specified, volume will be prepopulated with data from the DataSource.", } func (PersistentVolumeClaimSpec) SwaggerDoc() map[string]string { @@ -2206,6 +2207,17 @@ func (TopologySelectorTerm) SwaggerDoc() map[string]string { return map_TopologySelectorTerm } +var map_TypedLocalObjectReference = map[string]string{ + "": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "apiGroup": "APIGroup is the group for the resource being referenced", + "kind": "Kind is the type of resource being referenced", + "name": "Name is the name of resource being referenced", +} + +func (TypedLocalObjectReference) SwaggerDoc() map[string]string { + return map_TypedLocalObjectReference +} + var map_Volume = map[string]string{ "": "Volume represents a named volume in a pod that may be accessed by any container in the pod.", "name": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", diff --git a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go index 465e3fd3695..ec8646e0b0b 100644 --- a/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -2679,6 +2679,11 @@ func (in *PersistentVolumeClaimSpec) DeepCopyInto(out *PersistentVolumeClaimSpec *out = new(PersistentVolumeMode) **out = **in } + if in.DataSource != nil { + in, out := &in.DataSource, &out.DataSource + *out = new(TypedLocalObjectReference) + **out = **in + } return } @@ -5072,6 +5077,22 @@ func (in *TopologySelectorTerm) DeepCopy() *TopologySelectorTerm { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TypedLocalObjectReference) DeepCopyInto(out *TypedLocalObjectReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedLocalObjectReference. +func (in *TypedLocalObjectReference) DeepCopy() *TypedLocalObjectReference { + if in == nil { + return nil + } + out := new(TypedLocalObjectReference) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Volume) DeepCopyInto(out *Volume) { *out = *in From 5a6c5b07a23ecbc22abd19aa7a286c09aeac6f77 Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Fri, 24 Aug 2018 12:46:32 -0700 Subject: [PATCH 06/11] Address Tim's comments --- api/openapi-spec/swagger.json | 2 +- api/swagger-spec/apps_v1.json | 2 +- api/swagger-spec/apps_v1beta1.json | 2 +- api/swagger-spec/apps_v1beta2.json | 2 +- api/swagger-spec/v1.json | 2 +- docs/api-reference/apps/v1/definitions.html | 2 +- docs/api-reference/apps/v1beta1/definitions.html | 2 +- docs/api-reference/apps/v1beta2/definitions.html | 2 +- docs/api-reference/v1/definitions.html | 2 +- pkg/apis/core/types.go | 4 +++- pkg/apis/core/validation/validation.go | 16 ++++++++-------- staging/src/k8s.io/api/core/v1/generated.proto | 4 +++- staging/src/k8s.io/api/core/v1/types.go | 4 +++- .../api/core/v1/types_swagger_doc_generated.go | 2 +- 14 files changed, 27 insertions(+), 21 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 61dd3e69369..5cc50c33bac 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -82490,7 +82490,7 @@ } }, "dataSource": { - "description": "If specified, volume will be prepopulated with data from the DataSource.", + "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.", "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference" }, "resources": { diff --git a/api/swagger-spec/apps_v1.json b/api/swagger-spec/apps_v1.json index 24b755e9461..4a4f6cdb316 100644 --- a/api/swagger-spec/apps_v1.json +++ b/api/swagger-spec/apps_v1.json @@ -9516,7 +9516,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the DataSource." + "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." } } }, diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index e244271ec71..89f226baa51 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -6798,7 +6798,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the DataSource." + "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." } } }, diff --git a/api/swagger-spec/apps_v1beta2.json b/api/swagger-spec/apps_v1beta2.json index 88eedb7a87f..516b7f7d32f 100644 --- a/api/swagger-spec/apps_v1beta2.json +++ b/api/swagger-spec/apps_v1beta2.json @@ -9520,7 +9520,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the DataSource." + "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." } } }, diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index fc7ff35e277..8b3867a65d2 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -19311,7 +19311,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the DataSource." + "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." } } }, diff --git a/docs/api-reference/apps/v1/definitions.html b/docs/api-reference/apps/v1/definitions.html index 68f95e2d517..9d5eab6638e 100755 --- a/docs/api-reference/apps/v1/definitions.html +++ b/docs/api-reference/apps/v1/definitions.html @@ -1019,7 +1019,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the DataSource.

+

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index c1a9dc896f0..24436962182 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -1047,7 +1047,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the DataSource.

+

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/apps/v1beta2/definitions.html b/docs/api-reference/apps/v1beta2/definitions.html index 73383a8f21f..e9f4c03d4a0 100755 --- a/docs/api-reference/apps/v1beta2/definitions.html +++ b/docs/api-reference/apps/v1beta2/definitions.html @@ -994,7 +994,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the DataSource.

+

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index acd4fbd57fb..c2a40768551 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -696,7 +696,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the DataSource.

+

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

true

v1.TypedLocalObjectReference

diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 698e182ae61..5697328e7d1 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -413,7 +413,9 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode - // If specified, volume will be prepopulated with data from the DataSource. + // If specified, volume will be prepopulated with data from the specified data source. + // This depends on the provisioner for this volume being able to use the specified source. + // If the provisioner does not support it, it will fail to provision the volume. // +optional DataSource *TypedLocalObjectReference } diff --git a/pkg/apis/core/validation/validation.go b/pkg/apis/core/validation/validation.go index eb22aee1899..4c5a7aefa06 100644 --- a/pkg/apis/core/validation/validation.go +++ b/pkg/apis/core/validation/validation.go @@ -1501,6 +1501,9 @@ var supportedReclaimPolicy = sets.NewString(string(core.PersistentVolumeReclaimD var supportedVolumeModes = sets.NewString(string(core.PersistentVolumeBlock), string(core.PersistentVolumeFilesystem)) +var supportedDataSourceKinds = sets.NewString(string("VolumeSnapshot")) +var supportedDataSourceAPIGroups = sets.NewString(string("snapshot.storage.k8s.io")) + func ValidatePersistentVolume(pv *core.PersistentVolume) field.ErrorList { metaPath := field.NewPath("metadata") allErrs := ValidateObjectMeta(&pv.ObjectMeta, false, ValidatePersistentVolumeName, metaPath) @@ -1827,16 +1830,13 @@ func ValidatePersistentVolumeClaimSpec(spec *core.PersistentVolumeClaimSpec, fld if spec.DataSource != nil && !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSnapshotDataSource) { allErrs = append(allErrs, field.Forbidden(fldPath.Child("dataSource"), "VolumeSnapshotDataSource is disabled by feature-gate")) - spec.DataSource = nil } else if spec.DataSource != nil { if len(spec.DataSource.Name) == 0 { - allErrs = append(allErrs, field.Required(fldPath.Child("dataSource").Key(string("Name")), "VolumeSnapshotDataSource Name cannot be empty")) - } - if spec.DataSource.Kind != "VolumeSnapshot" { - allErrs = append(allErrs, field.Invalid(fldPath.Child("dataSource"), spec.DataSource.Kind, "expected DataSource Kind is VolumeSnapshot")) - } - if spec.DataSource.APIGroup != "snapshot.storage.k8s.io" { - allErrs = append(allErrs, field.Invalid(fldPath.Child("dataSource"), spec.DataSource.APIGroup, "expected DataSource APIGroup is snapshot.storage.k8s.io")) + allErrs = append(allErrs, field.Required(fldPath.Child("dataSource", "name"), "")) + } else if !supportedDataSourceKinds.Has(string(spec.DataSource.Kind)) { + allErrs = append(allErrs, field.NotSupported(fldPath.Child("dataSource"), spec.DataSource.Kind, supportedDataSourceKinds.List())) + } else if !supportedDataSourceAPIGroups.Has(string(spec.DataSource.APIGroup)) { + allErrs = append(allErrs, field.NotSupported(fldPath.Child("dataSource"), spec.DataSource.APIGroup, supportedDataSourceAPIGroups.List())) } } diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index 7ee1355f9d6..888b318ddc0 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -2293,7 +2293,9 @@ message PersistentVolumeClaimSpec { // +optional optional string volumeMode = 6; - // If specified, volume will be prepopulated with data from the DataSource. + // If specified, volume will be prepopulated with data from the specified data source. + // This depends on the provisioner for this volume being able to use the specified source. + // If the provisioner does not support it, it will fail to provision the volume. // +optional optional TypedLocalObjectReference dataSource = 7; } diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 7c97f0a6dd8..3d086c97c7f 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -458,7 +458,9 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` - // If specified, volume will be prepopulated with data from the DataSource. + // If specified, volume will be prepopulated with data from the specified data source. + // This depends on the provisioner for this volume being able to use the specified source. + // If the provisioner does not support it, it will fail to provision the volume. // +optional DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"` } diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index ed4bfbeef07..eb380564bf8 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1210,7 +1210,7 @@ var map_PersistentVolumeClaimSpec = map[string]string{ "volumeName": "VolumeName is the binding reference to the PersistentVolume backing this claim.", "storageClassName": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", "volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future.", - "dataSource": "If specified, volume will be prepopulated with data from the DataSource.", + "dataSource": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.", } func (PersistentVolumeClaimSpec) SwaggerDoc() map[string]string { From 46fdfeb4eb499e9bcd02370525dcb2ef7851338b Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Mon, 27 Aug 2018 10:33:20 -0700 Subject: [PATCH 07/11] Modify comments for DataSource --- pkg/apis/core/types.go | 5 ++++- staging/src/k8s.io/api/core/v1/types.go | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 5697328e7d1..e570af7d597 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -415,7 +415,10 @@ type PersistentVolumeClaimSpec struct { VolumeMode *PersistentVolumeMode // If specified, volume will be prepopulated with data from the specified data source. // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner does not support it, it will fail to provision the volume. + // If the provisioner does not support it, it will create an empty volume. + // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and + // currently VolumeSnapshot is the only supported data source. + // In the future, we will allow more data source types when new feature is ready. // +optional DataSource *TypedLocalObjectReference } diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 3d086c97c7f..70853933fd2 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -458,9 +458,12 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` - // If specified, volume will be prepopulated with data from the specified data source. - // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner does not support it, it will fail to provision the volume. + // If specified, volume will be prepopulated with data from the specified data source. + // This depends on the provisioner for this volume being able to use the specified source. + // If the provisioner does not support it, it will create an empty volume. + // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and + // currently VolumeSnapshot is the only supported data source. + // In the future, we will allow more data source types when new feature is ready. // +optional DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"` } From 2e4f6eca0e5c39dcef6d044144290f46ede763c2 Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Mon, 27 Aug 2018 20:31:19 -0700 Subject: [PATCH 08/11] Clarify comments for DataSource --- pkg/apis/core/types.go | 4 +++- staging/src/k8s.io/api/core/v1/types.go | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index e570af7d597..99f033a3ca2 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -415,7 +415,9 @@ type PersistentVolumeClaimSpec struct { VolumeMode *PersistentVolumeMode // If specified, volume will be prepopulated with data from the specified data source. // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner does not support it, it will create an empty volume. + // If the provisioner failed to populate the volume with the source, it will return an + // error and fail the create volume operation. If the provisioner does not support the + // data source, it will also return an error and fail the create volume operation. // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and // currently VolumeSnapshot is the only supported data source. // In the future, we will allow more data source types when new feature is ready. diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 70853933fd2..cad69a6d6a3 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -458,12 +458,14 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` - // If specified, volume will be prepopulated with data from the specified data source. - // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner does not support it, it will create an empty volume. - // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and - // currently VolumeSnapshot is the only supported data source. - // In the future, we will allow more data source types when new feature is ready. + // If specified, volume will be prepopulated with data from the specified data source. + // This depends on the provisioner for this volume being able to use the specified source. + // If the provisioner failed to populate the volume with the source, it will return an + // error and fail the create volume operation. If the provisioner does not support the + // data source, it will also return an error and fail the create volume operation. + // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and + // currently VolumeSnapshot is the only supported data source. + // In the future, we will allow more data source types when new feature is ready. // +optional DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"` } From 9c1b29ece179508477d6ec64d94011adb4b25fe5 Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Tue, 28 Aug 2018 06:14:14 -0700 Subject: [PATCH 09/11] Modify comments for DataSource --- pkg/apis/core/types.go | 8 ++++---- staging/src/k8s.io/api/core/v1/types.go | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index 99f033a3ca2..e7c634f7d78 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -415,10 +415,10 @@ type PersistentVolumeClaimSpec struct { VolumeMode *PersistentVolumeMode // If specified, volume will be prepopulated with data from the specified data source. // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner failed to populate the volume with the source, it will return an - // error and fail the create volume operation. If the provisioner does not support the - // data source, it will also return an error and fail the create volume operation. - // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and + // If the provisioner failed to create volume from the data source, the behavior will be + // the same as the no data source case. In this failure case, PV will not be created, PVC + // will be in the pending state, and the controller will keep retrying to create the volume. + // This requires the VolumeSnapshotDataSource alpha feature gate to be enabled and // currently VolumeSnapshot is the only supported data source. // In the future, we will allow more data source types when new feature is ready. // +optional diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index cad69a6d6a3..793a7a20eef 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -460,10 +460,10 @@ type PersistentVolumeClaimSpec struct { VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` // If specified, volume will be prepopulated with data from the specified data source. // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner failed to populate the volume with the source, it will return an - // error and fail the create volume operation. If the provisioner does not support the - // data source, it will also return an error and fail the create volume operation. - // It requires the VolumeSnapshotDataSource alpha feature gate to be enabled and + // If the provisioner failed to create volume from the data source, the behavior will be + // the same as the no data source case. In this failure case, PV will not be created, PVC + // will be in the pending state, and the controller will keep retrying to create the volume. + // This requires the VolumeSnapshotDataSource alpha feature gate to be enabled and // currently VolumeSnapshot is the only supported data source. // In the future, we will allow more data source types when new feature is ready. // +optional From de00a66370c10508fee6bf0caf9a7c6be955b91a Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Tue, 28 Aug 2018 13:22:47 -0700 Subject: [PATCH 10/11] Modify DataSource comments --- pkg/apis/core/types.go | 16 ++++++++-------- staging/src/k8s.io/api/core/v1/types.go | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/apis/core/types.go b/pkg/apis/core/types.go index e7c634f7d78..ca3bfacec5c 100644 --- a/pkg/apis/core/types.go +++ b/pkg/apis/core/types.go @@ -413,14 +413,14 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode - // If specified, volume will be prepopulated with data from the specified data source. - // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner failed to create volume from the data source, the behavior will be - // the same as the no data source case. In this failure case, PV will not be created, PVC - // will be in the pending state, and the controller will keep retrying to create the volume. - // This requires the VolumeSnapshotDataSource alpha feature gate to be enabled and - // currently VolumeSnapshot is the only supported data source. - // In the future, we will allow more data source types when new feature is ready. + // This field requires the VolumeSnapshotDataSource alpha feature gate to be + // enabled and currently VolumeSnapshot is the only supported data source. + // If the provisioner can support VolumeSnapshot data source, it will create + // a new volume and data will be restored to the volume at the same time. + // If the provisioner does not support VolumeSnapshot data source, volume will + // not be created and the failure will be reported as an event. + // In the future, we plan to support more data source types and the behavior + // of the provisioner may change. // +optional DataSource *TypedLocalObjectReference } diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 793a7a20eef..667f53401bd 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -458,14 +458,14 @@ type PersistentVolumeClaimSpec struct { // This is an alpha feature and may change in the future. // +optional VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"` - // If specified, volume will be prepopulated with data from the specified data source. - // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner failed to create volume from the data source, the behavior will be - // the same as the no data source case. In this failure case, PV will not be created, PVC - // will be in the pending state, and the controller will keep retrying to create the volume. - // This requires the VolumeSnapshotDataSource alpha feature gate to be enabled and - // currently VolumeSnapshot is the only supported data source. - // In the future, we will allow more data source types when new feature is ready. + // This field requires the VolumeSnapshotDataSource alpha feature gate to be + // enabled and currently VolumeSnapshot is the only supported data source. + // If the provisioner can support VolumeSnapshot data source, it will create + // a new volume and data will be restored to the volume at the same time. + // If the provisioner does not support VolumeSnapshot data source, volume will + // not be created and the failure will be reported as an event. + // In the future, we plan to support more data source types and the behavior + // of the provisioner may change. // +optional DataSource *TypedLocalObjectReference `json:"dataSource" protobuf:"bytes,7,opt,name=dataSource"` } From 88d3d964e277205bb3f1183e8deafd2cd4f9ebeb Mon Sep 17 00:00:00 2001 From: Xing Yang Date: Tue, 28 Aug 2018 13:56:03 -0700 Subject: [PATCH 11/11] Re-generate files --- api/openapi-spec/swagger.json | 2 +- api/swagger-spec/apps_v1.json | 2 +- api/swagger-spec/apps_v1beta1.json | 2 +- api/swagger-spec/apps_v1beta2.json | 2 +- api/swagger-spec/v1.json | 2 +- docs/api-reference/apps/v1/definitions.html | 2 +- docs/api-reference/apps/v1beta1/definitions.html | 2 +- docs/api-reference/apps/v1beta2/definitions.html | 2 +- docs/api-reference/v1/definitions.html | 2 +- staging/src/k8s.io/api/core/v1/generated.proto | 11 ++++++++--- .../k8s.io/api/core/v1/types_swagger_doc_generated.go | 2 +- 11 files changed, 18 insertions(+), 13 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 5cc50c33bac..ee393871ea9 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -82490,7 +82490,7 @@ } }, "dataSource": { - "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.", + "description": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.", "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference" }, "resources": { diff --git a/api/swagger-spec/apps_v1.json b/api/swagger-spec/apps_v1.json index 4a4f6cdb316..4a3f7195560 100644 --- a/api/swagger-spec/apps_v1.json +++ b/api/swagger-spec/apps_v1.json @@ -9516,7 +9516,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." + "description": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change." } } }, diff --git a/api/swagger-spec/apps_v1beta1.json b/api/swagger-spec/apps_v1beta1.json index 89f226baa51..6f220a5af76 100644 --- a/api/swagger-spec/apps_v1beta1.json +++ b/api/swagger-spec/apps_v1beta1.json @@ -6798,7 +6798,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." + "description": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change." } } }, diff --git a/api/swagger-spec/apps_v1beta2.json b/api/swagger-spec/apps_v1beta2.json index 516b7f7d32f..6c9b8046a25 100644 --- a/api/swagger-spec/apps_v1beta2.json +++ b/api/swagger-spec/apps_v1beta2.json @@ -9520,7 +9520,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." + "description": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change." } } }, diff --git a/api/swagger-spec/v1.json b/api/swagger-spec/v1.json index 8b3867a65d2..c95cd41a1f1 100644 --- a/api/swagger-spec/v1.json +++ b/api/swagger-spec/v1.json @@ -19311,7 +19311,7 @@ }, "dataSource": { "$ref": "v1.TypedLocalObjectReference", - "description": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume." + "description": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change." } } }, diff --git a/docs/api-reference/apps/v1/definitions.html b/docs/api-reference/apps/v1/definitions.html index 9d5eab6638e..05b484b1316 100755 --- a/docs/api-reference/apps/v1/definitions.html +++ b/docs/api-reference/apps/v1/definitions.html @@ -1019,7 +1019,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

+

This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/apps/v1beta1/definitions.html b/docs/api-reference/apps/v1beta1/definitions.html index 24436962182..bf60c70915a 100755 --- a/docs/api-reference/apps/v1beta1/definitions.html +++ b/docs/api-reference/apps/v1beta1/definitions.html @@ -1047,7 +1047,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

+

This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/apps/v1beta2/definitions.html b/docs/api-reference/apps/v1beta2/definitions.html index e9f4c03d4a0..2afcf3b84be 100755 --- a/docs/api-reference/apps/v1beta2/definitions.html +++ b/docs/api-reference/apps/v1beta2/definitions.html @@ -994,7 +994,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

+

This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.

true

v1.TypedLocalObjectReference

diff --git a/docs/api-reference/v1/definitions.html b/docs/api-reference/v1/definitions.html index c2a40768551..d65fc6e0c03 100755 --- a/docs/api-reference/v1/definitions.html +++ b/docs/api-reference/v1/definitions.html @@ -696,7 +696,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }

dataSource

-

If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.

+

This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.

true

v1.TypedLocalObjectReference

diff --git a/staging/src/k8s.io/api/core/v1/generated.proto b/staging/src/k8s.io/api/core/v1/generated.proto index 888b318ddc0..61364524bf0 100644 --- a/staging/src/k8s.io/api/core/v1/generated.proto +++ b/staging/src/k8s.io/api/core/v1/generated.proto @@ -2293,9 +2293,14 @@ message PersistentVolumeClaimSpec { // +optional optional string volumeMode = 6; - // If specified, volume will be prepopulated with data from the specified data source. - // This depends on the provisioner for this volume being able to use the specified source. - // If the provisioner does not support it, it will fail to provision the volume. + // This field requires the VolumeSnapshotDataSource alpha feature gate to be + // enabled and currently VolumeSnapshot is the only supported data source. + // If the provisioner can support VolumeSnapshot data source, it will create + // a new volume and data will be restored to the volume at the same time. + // If the provisioner does not support VolumeSnapshot data source, volume will + // not be created and the failure will be reported as an event. + // In the future, we plan to support more data source types and the behavior + // of the provisioner may change. // +optional optional TypedLocalObjectReference dataSource = 7; } diff --git a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go index eb380564bf8..eb69bf0b450 100644 --- a/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1210,7 +1210,7 @@ var map_PersistentVolumeClaimSpec = map[string]string{ "volumeName": "VolumeName is the binding reference to the PersistentVolume backing this claim.", "storageClassName": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", "volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future.", - "dataSource": "If specified, volume will be prepopulated with data from the specified data source. This depends on the provisioner for this volume being able to use the specified source. If the provisioner does not support it, it will fail to provision the volume.", + "dataSource": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.", } func (PersistentVolumeClaimSpec) SwaggerDoc() map[string]string {