diff --git a/CHANGELOG.md b/CHANGELOG.md index f0a14b055..3f6650a16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Add pod field to AWSCluster. - Replace custom `time.Time` wrapper `DeepCopyTime` with Kubernetes built-in `metav1.Time`. - Update `architect-orb` to `v0.8.8`. diff --git a/config/crd/bases/application.giantswarm.io_charts.yaml b/config/crd/bases/application.giantswarm.io_charts.yaml index 6dba2728c..5f73b2117 100644 --- a/config/crd/bases/application.giantswarm.io_charts.yaml +++ b/config/crd/bases/application.giantswarm.io_charts.yaml @@ -17,9 +17,6 @@ spec: scope: Namespaced validation: openAPIV3Schema: - description: | - Defines a Chart resource, which represents an application version running on the cluster. - This resource is created and managed by chart-operator running in each tenant cluster. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -36,25 +33,19 @@ spec: spec: properties: config: - description: | - Defines the aggregated configuration values for the application chart. It is - created by app-operator in the tenant cluster to be used as values file by - chart operator during the helm installation process. - proccess. + description: Config is the config to be applied when the chart is deployed. properties: configMap: - description: | - Defines a reference to a ConfigMap where is the aggregated configuration values - from App Catalog, Cluster and User that will be used as values file in the helm - installation or upgrade process. + description: ConfigMap references a config map containing values + that should be applied to the chart. properties: name: - description: | - Name of the ConfigMap resource. + description: Name is the name of the config map containing chart + values to apply, e.g. prometheus-chart-values. type: string namespace: - description: | - Namespace holding the ConfigMap resource. + description: Namespace is the namespace of the values config + map, e.g. monitoring. type: string resourceVersion: description: ResourceVersion is the Kubernetes resource version @@ -67,17 +58,16 @@ spec: - resourceVersion type: object secret: - description: | - Defines a reference to a Secret where is the aggregated configuration values from App Catalog, Cluster and User that will be used as values file in the helm - installation or upgrade process. + description: Secret references a secret containing secret values + that should be applied to the chart. properties: name: - description: | - Name of the Secret resource. + description: Name is the name of the secret containing chart + values to apply, e.g. prometheus-chart-secret. type: string namespace: - description: | - Namespace holding the Secret resource. + description: Namespace is the namespace of the secret, e.g. + kube-system. type: string resourceVersion: description: ResourceVersion is the Kubernetes resource version @@ -94,21 +84,20 @@ spec: - secret type: object name: - description: Name of this application Chart. + description: Name is the name of the Helm chart to be deployed. e.g. + kubernetes-prometheus type: string namespace: - description: | - Kubernetes namespace in which to install the workloads defined by this App Chart in - the current cluster. + description: Namespace is the namespace where the chart should be deployed. + e.g. monitoring type: string tarballURL: - description: | - URL of the application Chart to be deployed. The chart package must exist in the - App Catalog storage. + description: TarballURL is the URL for the Helm chart tarball to be + deployed. e.g. https://path/to/prom-1-0-0.tgz" type: string version: - description: | - Version of the application Chart to be deployed. + description: Version is the version of the chart that should be deployed. + e.g. 1.0.0 type: string required: - config diff --git a/config/crd/bases/infrastructure.giantswarm.io_awsclusters.yaml b/config/crd/bases/infrastructure.giantswarm.io_awsclusters.yaml index 56bd060a2..fe4cb4a93 100644 --- a/config/crd/bases/infrastructure.giantswarm.io_awsclusters.yaml +++ b/config/crd/bases/infrastructure.giantswarm.io_awsclusters.yaml @@ -107,6 +107,16 @@ spec: - availabilityZone - instanceType type: object + pods: + description: Pod network configuration. + properties: + cidrBlock: + description: Subnet size, expresses as the count of leading + 1 bits in the subnet mask of this subnet. + type: string + required: + - cidrBlock + type: object region: description: Region is the AWS region the cluster is to be running in. diff --git a/config/crd/bases/infrastructure.giantswarm.io_g8scontrolplanes.yaml b/config/crd/bases/infrastructure.giantswarm.io_g8scontrolplanes.yaml index 8986635b3..6133224a1 100644 --- a/config/crd/bases/infrastructure.giantswarm.io_g8scontrolplanes.yaml +++ b/config/crd/bases/infrastructure.giantswarm.io_g8scontrolplanes.yaml @@ -19,10 +19,8 @@ spec: - name: v1alpha2 schema: openAPIV3Schema: - description: | - This resource represents an abstract control plane (Kubernetes master node and Etcd server) - of a tenant cluster in a Giant Swarm installation. It is reconciled by cluster-operator. - For implementation details it references a provider specific resource. + description: G8sControlPlane defines the Control Plane Nodes (Kubernetes Master + Nodes) of a Giant Swarm Tenant Cluster. properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -39,9 +37,8 @@ spec: spec: properties: infrastructureRef: - description: | - Reference to an [AWSControlPlane](https://docs.giantswarm.io/reference/cp-k8s-api/awscontrolplanes.infrastructure.giantswarm.io/) - resource defining provider specific details for the c + description: InfrastructureRef is a required reference to provider-specific + Infrastructure. properties: apiVersion: description: API version of the referent. @@ -77,8 +74,7 @@ spec: type: string type: object replicas: - description: | - Number of master nodes and Etcd instances to set up. + description: Replicas is the number replicas of the master node. type: integer required: - infrastructureRef @@ -95,6 +91,9 @@ spec: replicas: description: Total number of non-terminated machines targeted by this control plane (their labels match the selector). + enum: + - 1 + - 3 format: int32 type: integer type: object diff --git a/docs/cr/infrastructure.giantswarm.io_v1alpha2_awscluster.yaml b/docs/cr/infrastructure.giantswarm.io_v1alpha2_awscluster.yaml index 469879aa5..6fd2479b1 100644 --- a/docs/cr/infrastructure.giantswarm.io_v1alpha2_awscluster.yaml +++ b/docs/cr/infrastructure.giantswarm.io_v1alpha2_awscluster.yaml @@ -23,4 +23,6 @@ spec: master: availabilityZone: eu-central-1b instanceType: m5.2xlarge + pods: + cidrBlock: 10.2.0.0/16 region: eu-central-1 diff --git a/docs/crd/application.giantswarm.io_chart.yaml b/docs/crd/application.giantswarm.io_chart.yaml index d170a2a44..8a056abe6 100644 --- a/docs/crd/application.giantswarm.io_chart.yaml +++ b/docs/crd/application.giantswarm.io_chart.yaml @@ -1,94 +1,156 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 creationTimestamp: null name: charts.application.giantswarm.io spec: group: application.giantswarm.io names: kind: Chart + listKind: ChartList plural: charts singular: chart scope: Namespaced - subresources: - status: {} validation: openAPIV3Schema: - description: | - Defines a Chart resource, which represents an application version running on the cluster. - This resource is created and managed by chart-operator running in each tenant cluster. properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object spec: properties: config: - description: "Defines the aggregated configuration values for the application - chart. It is \ncreated by app-operator in the tenant cluster to be - used as values file by \nchart operator during the helm installation - process.\nproccess. \n" + description: Config is the config to be applied when the chart is deployed. properties: configMap: - description: "Defines a reference to a ConfigMap where is the aggregated - configuration values \nfrom App Catalog, Cluster and User that - will be used as values file in the helm\ninstallation or upgrade - process.\n" + description: ConfigMap references a config map containing values + that should be applied to the chart. properties: name: - description: | - Name of the ConfigMap resource. + description: Name is the name of the config map containing chart + values to apply, e.g. prometheus-chart-values. type: string namespace: - description: | - Namespace holding the ConfigMap resource. + description: Namespace is the namespace of the values config + map, e.g. monitoring. type: string resourceVersion: + description: ResourceVersion is the Kubernetes resource version + of the configmap. Used to detect if the configmap has changed, + e.g. 12345. type: string required: - name - namespace + - resourceVersion type: object secret: - description: | - Defines a reference to a Secret where is the aggregated configuration values from App Catalog, Cluster and User that will be used as values file in the helm - installation or upgrade process. + description: Secret references a secret containing secret values + that should be applied to the chart. properties: name: - description: | - Name of the Secret resource. + description: Name is the name of the secret containing chart + values to apply, e.g. prometheus-chart-secret. type: string namespace: - description: | - Namespace holding the Secret resource. + description: Namespace is the namespace of the secret, e.g. + kube-system. type: string resourceVersion: + description: ResourceVersion is the Kubernetes resource version + of the secret. Used to detect if the secret has changed, e.g. + 12345. type: string required: - name - namespace + - resourceVersion type: object + required: + - configMap + - secret type: object name: - description: | - Name of this application Chart. + description: Name is the name of the Helm chart to be deployed. e.g. + kubernetes-prometheus type: string namespace: - description: | - Kubernetes namespace in which to install the workloads defined by this App Chart in - the current cluster. + description: Namespace is the namespace where the chart should be deployed. + e.g. monitoring type: string tarballURL: - description: "URL of the application Chart to be deployed. The chart - package must exist in the \nApp Catalog storage.\n" - format: uri + description: TarballURL is the URL for the Helm chart tarball to be + deployed. e.g. https://path/to/prom-1-0-0.tgz" type: string version: - description: | - Version of the application Chart to be deployed. + description: Version is the version of the chart that should be deployed. + e.g. 1.0.0 type: string required: + - config - name - namespace - tarballURL - version type: object + status: + properties: + appVersion: + description: AppVersion is the value of the AppVersion field in the + Chart.yaml of the deployed chart. This is an optional field with the + version of the component being deployed. e.g. 0.21.0. https://docs.helm.sh/developing_charts/#the-chart-yaml-file + type: string + reason: + description: Reason is the description of the last status of helm release + when the chart is not installed successfully, e.g. deploy resource + already exists. + type: string + release: + description: Release is the status of the Helm release for the deployed + chart. + properties: + lastDeployed: + description: LastDeployed is the time when the deployed chart was + last deployed. + format: date-time + type: string + revision: + description: Revision is the revision number for this deployed chart. + type: integer + status: + description: Status is the status of the deployed chart, e.g. DEPLOYED. + type: string + required: + - lastDeployed + - revision + - status + type: object + version: + description: Version is the value of the Version field in the Chart.yaml + of the deployed chart. e.g. 1.0.0. + type: string + required: + - appVersion + - release + - version + type: object + required: + - metadata + - spec type: object version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/docs/crd/infrastructure.giantswarm.io_g8scontrolplane.yaml b/docs/crd/infrastructure.giantswarm.io_g8scontrolplane.yaml index 132f51ff0..3a94430ec 100644 --- a/docs/crd/infrastructure.giantswarm.io_g8scontrolplane.yaml +++ b/docs/crd/infrastructure.giantswarm.io_g8scontrolplane.yaml @@ -1,55 +1,102 @@ -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.2.4 creationTimestamp: null name: g8scontrolplanes.infrastructure.giantswarm.io spec: - conversion: - strategy: None group: infrastructure.giantswarm.io names: kind: G8sControlPlane + listKind: G8sControlPlaneList plural: g8scontrolplanes singular: g8scontrolplane scope: Namespaced - subresources: - status: {} versions: - - name: v1alpha1 - served: false - storage: false - name: v1alpha2 schema: openAPIV3Schema: - description: | - This resource represents an abstract control plane (Kubernetes master node and Etcd server) - of a tenant cluster in a Giant Swarm installation. It is reconciled by cluster-operator. - For implementation details it references a provider specific resource. + description: G8sControlPlane defines the Control Plane Nodes (Kubernetes Master + Nodes) of a Giant Swarm Tenant Cluster. properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object spec: properties: infrastructureRef: - description: | - Reference to an [AWSControlPlane](https://docs.giantswarm.io/reference/cp-k8s-api/awscontrolplanes.infrastructure.giantswarm.io/) - resource defining provider specific details for the c + description: InfrastructureRef is a required reference to provider-specific + Infrastructure. properties: apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of + an entire object, this string should contain a valid JSON/Go + field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within + a pod, this would take on a value like: "spec.containers{name}" + (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" + (container with index 2 in this pod). This syntax is chosen + only to have some well-defined way of referencing a part of + an object. TODO: this design is not final and this field is + subject to change in the future.' type: string kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference + is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string type: object replicas: - description: | - Number of master nodes and Etcd instances to set up. + description: Replicas is the number replicas of the master node. + type: integer + required: + - infrastructureRef + - replicas + type: object + status: + description: G8sControlPlaneStatus defines the observed state of G8sControlPlane. + properties: + readyReplicas: + description: Total number of fully running and ready control plane + machines. + format: int32 + type: integer + replicas: + description: Total number of non-terminated machines targeted by this + control plane (their labels match the selector). enum: - 1 - 3 + format: int32 type: integer type: object + required: + - spec type: object served: true storage: true diff --git a/go.mod b/go.mod index ec721194f..0d75a4b47 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ require ( github.com/go-openapi/errors v0.19.4 github.com/google/go-cmp v0.4.0 github.com/markbates/pkger v0.15.1 - golang.org/x/tools v0.0.0-20200415034506-5d8e1897c761 // indirect golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect golang.org/x/net v0.0.0-20200226121028-0de0cce0169b // indirect k8s.io/api v0.16.6 diff --git a/pkg/apis/infrastructure/v1alpha2/aws_cluster_types.go b/pkg/apis/infrastructure/v1alpha2/aws_cluster_types.go index 4cc7f143e..c26b2b2ab 100644 --- a/pkg/apis/infrastructure/v1alpha2/aws_cluster_types.go +++ b/pkg/apis/infrastructure/v1alpha2/aws_cluster_types.go @@ -93,6 +93,9 @@ type AWSClusterSpecProvider struct { CredentialSecret AWSClusterSpecProviderCredentialSecret `json:"credentialSecret" yaml:"credentialSecret"` // Master holds master node configuration details. Master AWSClusterSpecProviderMaster `json:"master" yaml:"master"` + // Pod network configuration. + // +kubebuilder:validation:Optional + Pods AWSClusterSpecProviderPods `json:"pods" yaml:"pods"` // Region is the AWS region the cluster is to be running in. Region string `json:"region" yaml:"region"` } @@ -114,6 +117,12 @@ type AWSClusterSpecProviderMaster struct { InstanceType string `json:"instanceType" yaml:"instanceType"` } +// AWSClusterSpecProviderPods Pod network configuration. +type AWSClusterSpecProviderPods struct { + // Subnet size, expresses as the count of leading 1 bits in the subnet mask of this subnet. + CIDRBlock string `json:"cidrBlock" yaml:"cidrBlock"` +} + // AWSClusterStatus holds status information about the cluster, populated once the // cluster is in creation or created. type AWSClusterStatus struct { diff --git a/pkg/apis/infrastructure/v1alpha2/aws_cluster_types_test.go b/pkg/apis/infrastructure/v1alpha2/aws_cluster_types_test.go index ea7fe7cc4..42fca1b7c 100644 --- a/pkg/apis/infrastructure/v1alpha2/aws_cluster_types_test.go +++ b/pkg/apis/infrastructure/v1alpha2/aws_cluster_types_test.go @@ -97,6 +97,9 @@ func newAWSClusterExampleCR() *AWSCluster { Name: "example-credential", Namespace: "example-namespace", }, + Pods: AWSClusterSpecProviderPods{ + CIDRBlock: "10.2.0.0/16", + }, Master: AWSClusterSpecProviderMaster{ AvailabilityZone: "eu-central-1b", InstanceType: "m5.2xlarge", diff --git a/pkg/apis/infrastructure/v1alpha2/g8s_control_plane_types.go b/pkg/apis/infrastructure/v1alpha2/g8s_control_plane_types.go index ec7c9f4d8..2b7984508 100644 --- a/pkg/apis/infrastructure/v1alpha2/g8s_control_plane_types.go +++ b/pkg/apis/infrastructure/v1alpha2/g8s_control_plane_types.go @@ -59,6 +59,7 @@ type G8sControlPlaneSpec struct { // G8sControlPlaneStatus defines the observed state of G8sControlPlane. type G8sControlPlaneStatus struct { + // +kubebuilder:validation:Enum=1;3 // Total number of non-terminated machines targeted by this control plane // (their labels match the selector). // +optional diff --git a/pkg/apis/release/v1alpha1/release_types.go b/pkg/apis/release/v1alpha1/release_types.go index 9f9b05641..898ac26cf 100644 --- a/pkg/apis/release/v1alpha1/release_types.go +++ b/pkg/apis/release/v1alpha1/release_types.go @@ -19,7 +19,6 @@ var ( stateActive ReleaseState = "active" // nolint stateDeprecated ReleaseState = "deprecated" // nolint stateWIP ReleaseState = "wip" // nolint - releaseCRD *apiextensionsv1beta1.CustomResourceDefinition ) func (r ReleaseState) String() string { diff --git a/pkg/crd/pkged.go b/pkg/crd/pkged.go index a62ebda1c..470a9e869 100644 --- a/pkg/crd/pkged.go +++ b/pkg/crd/pkged.go @@ -9,4 +9,4 @@ import ( "github.com/markbates/pkger/pkging/mem" ) -var _ = pkger.Apply(mem.UnmarshalEmbed([]byte(`1f8b08000000000000ffecbd6993e238b637fe5526f2edbf9e692f3833e988fba24c61831b5c8d49bce8891b13969d830199f493ecdc98effe0f499617f09a4b75555f622263bac0d89674747496dff99dffb95bacfffdb2b9fbfd7feee68b6db083fff45ec2dfe60b77bddd1cdcd7f037375a3c1fb7cfebcde2654d2efbb678bdfbfdeeb7d9e6f975f3db31106167e3ff367ff96df3eafdd6e4165fee8661f4f2bafdd3dd0677bf377aea973bdd0d9fef7ebfbbfcf8db8b77f7fbdddd97bb27f775febc2d7caf6835ffcd775f0f8bf5bfdcd0bfef3479c97fba775fee8c9797c23bde7db91bbb5b2fb8fbfdffdefdf3eebfbfdc4db72e7abefb7dfbba7b8eff613cbb9b97f5ddef77eb97ed3f16ebcdd645e8d9ff07dc6dffe1eedd0572217afec762fd0fb85b20ff1f9eeb05cf775feed41765819e37f8bef9b799bfe0c7d069dbdcfdbede21f4e5eedb7394fcf7d3f3669bfc3afde8e217e3177f875ff47fee5acdfdd85dacd9e8debff8eacbf8c57fcf3d7e9bbffc337cf1c9adcce757fcd9ddef77fc3ff9cedd7ffef39f2f77ffa6b3d0489e7fffcd7b59ff7b31ffcd7bf57f83ee86fe10ef08fcfffef3d65d20f2d19aca1fbde4cbdd66717ebefbbd2b3c7eb90b5ffce7bbdf05bef3d079ecf01d9e7cf2afed825c2f7002f77fb8ceffe1ef9f78ee775efcbd73ff4f4994a46e477ce4ff3f4ef89de3eebedc2d36fff2f1bcd229de9ce8367bdedffdcedf3f3c3c08024fd6ee19fffbf1e1e1cb9d8e16ebd5ddef42f7cbdd70fd72f7fbe383c071f7bc84df67b6f0ef7e9738fecb9d8aff4be0bedc193ebe17f7e5ee4fd7ff97377ff91777f7fbffe5be90fffdf797bbaff86537d1b3871f3bc5ffc74b8f0f9cd079c4f7d337e4934741ec085d8efbcf97bb71f9f5f7ecfa6490fff972d76b79bdbc78dd060d7ed3e11e1ff94e57ecfce7cbdd345d1019bd78ab0d19af8c5674a53a5cf7fecb9d82dc39fd427d5e93ff1f6d22f7f599fce724fe4f3c31ff4d0429787ebde9bb0b7dd7e4ed6f1af167d2885fee2232b4ffb9fb73356f2b7fd7eaf13f5fee7c77ebb209c47b66bd4def9efe943cfa4d2af837378ad0c273b78b97f53fd39ffd73f1f22f378a3c77eba297f9e69f273744d5dabac57d984aef74ee05a6d33b5877d628f37b4ee41eb8eee3c39532ffb78b3635da5c14f9c7c7449bf317ca5c7cf85865de1199e2ec0addc7ee23cf8b0d957932c886ca3c7b7d6365ce3f4add8707f29b6966299836e7ef7f0e757ebd232ef47bba03d8d7d74a3b55b6a96ea5fb29569cb1f0e43567561fd2ab6ffaef47ebbf36ba29519577bd05b71d4da2c05391056cedec5addddf7858cff8d9e0706826b3d8282741e859b8e77922278ea0a634b43beda3ff6c26d04c3c9fdb0aff39e68eca1a9214fe8f25ea823433543d792225f457b388fb6c03602a02a9cf3f4f2c7b027073094f6beaa70f879de197ff6753e54f53d5c1b27281c37c01e6e8160ee46e196774273e15b680354f3340ad17e2402e491f7eadc0f07ce61b41ceef4af2ff8f72760d17b9a2ada025be71c8b3f7c5fc83bdf3a6e7a8baf73182a5bf0f432776cf9e0080ae758c73d10c73bfc6fa8a2a5631bf8be3b20a000ae8db32f28273895227888ce9e6a2ebfcff173fc1314cd0399a781bc712d3d20e35c486bd75276fe40171d5bdbe2774d9e698feff17f0f7bf2ab6b49abef0b59f606f237c73602a876d7f1771bd7d6b9a98076e0dbcb7c62cb87097b47ee1879e284ced340def8b616c06f57e388bfd72318fa3c549553fc8ecbec733c41df7beaec7ed897026899674f5596c0c2f79605c73a46205e1732d6ded73914650457ca646a3ae799a0bf008b0fd877c39e7cf0c2ee01d81ae75ae639fd1cafa77270cd74ade818d99fbc02b6bef442742073b77c996b1c7e4672fd1c501942de49e65c7536f743f3e409680f4373351ce84b5735b7ce54de8305fe1e9d87030d79f84f30774cb6f2cfc4efd40d87aab21baadd851b9a4bbfd799cf04f344ee7d92cfaedae5a13a993b4277873ff37bf20958fa1e0852f49c7dae3d9efbeae3dc570334548f81af9a67ffeb4bfe593d39826b0379a114403ab73c981ee68e25ad862a1f3c4ff1bd23e48893b96f4917cf01011c98c83b75e64f56f704a6720443b0ffbe905ffc8171f0ce2ffb91e0477e4f7afd3e18ef5ceb71ef08dd2db4cd9d6b1bd248a07bc9b534de57bb27efd45d011b20d8eb9e5dcbdb3ab6b67455c4014be77c5b43234139b8537e090549009644f7e549da829e7e02b6bef76d6d09ecf1fa620db9675b46df17f2d91f68110cbd3f32df51399fe7e704a8e6d911b5c81b1874fff6fc914be6039d876a7fee89f89da5351b7f7e4dd10ec4b2305b994f265e1bf66e532a0305eb1daf33be965c8ff0be1e2de427606b02d679f15ae0f9451e9325159ca0c0c5eb6beec040debb96c40d07c60b98ca4ba82204d7933ff2ebfd75ee89e6025a88f34ef8590a8f7510965f78eacc2782b28361971baa1a1a0ecc03de67c09aec867db41bf675bc173713413983e95fbee6645dbd134fd6d03b79f9710e0c89e88f81ce7921da814376cff3c8579515d637976bef0fd001eb5e2868ff0fbf4376ad3c51460e3b0792e7c827ac7bbcb511a5fa33bbb6fa1e86200297bf2bd12f13a1bb03215a135963eb2848a16b79642f3be16c1e9f0308f464d155cd1dd661de603c7742730305acdfa5f5d57bc47b019e98ece0f340d940c19b3bb68686aa813cf5b87fb6ccd5687ea9231a8c93de3f7e575f77ecaf25d7e039319027e827d796b9f82cff96f9dddc0bcd10d81a82a18ef56a90cce149dee2ef89de5395088664af2df3e753f19f1f2a1bdf32c99c3af664ee09c1deb78e2b22e778fed46304ac099d635b3e782739828babb9bad6d5ade687fec5e77b813c54ced177c7e251462e76f4dfddf0524ea0a51c623b25c0f60d0cbd7972fe1e0ad636bf86f40c88cf0e226b83d566a8ce76e0d421ff1e59c97c6cd9bc16ca4cc1be62bab3767e6cfde0583abadc9f977f57ba3a6b2f4ce5889dcbd97b66e78cc94e7296d5cf4f6e9e473d198d426f3754fdc8b124ce13fdc00bb97239a93d932e7475681e7d0b9d8035a990298e8e6f52faeedba19a9997d2eb92f7da3b2139f38bdf6ba02347d490ffad5c86afd645897f436c1580bcd0dc398249cf53c15c7aa1c995caec2991c98a3d83d759e18603fd058ae606f4e4059832db17db2ac69ee949d7eae03313cb46b2fee5f25b613b5eed593cc7b3cabd5fa4f39ff0da5dca6a6233ceeae7e783f7347bde2fbaa7cfc0c2f6e0848daf5acfe2e7e5fca89aebabec8afc9c13dbcab535042af6c928d6e3b57b3b1e67f9f913bf17b325afec7c7c8d863cdb8cbcd0bcb279d9b39cd8fe78b29443d1b346e9fc16d933b5fae3726d8b9e512b57ea710f84ae395b1d0a7f7f2d3fc9f5a9edb01e33bf2882e116dbd27b6f216fa0e0ef872ada3a968f862a88a03a9b83b07bc2b2e596e91fac577ad57648ed98063a07452d0042b1fe28d0a7ecfa027b890f3c7a4e718e8576595f85ee9d8c9e2c9293ded74b3b33b61b67795fbe706f35d397a6a98dcbf5c0b58ec4d7676c9f8d6b49af44a70ffc173cf6787df2f188934ffd6db57b766d63efad5755e707d62b1b28603d68ae986e740706e70dc6f7a353f7226ee247be1af0ce425a4281db5fe8d07dc579d2ecec8ff7730b1b7a86ef3bc4fe278d11e1b5165d152d5dea57ee3d01619991e27bcf7d218e2384b3b96feba84c16e8f3c8fea0f6705f3978fdd4264ee64a3537b0deb6a81877adcedc0e1573fa54f89e1cdd6345cfafd58d32e7dac6a6d8262f90451571582fb836d321e4dc9f43c189ff9dd707f9b9d3a76cbe2635e737bedf84fa228be7a93c20f2d7939fc8395535ce92b3a9c296dc263ed6c56f46d38bf1cfafbe273a13efcfab7ba63aed8fabb5a27358ecb35fad53b15c8ca6721ab34de7033ff700ac545717f9f4499c6ef932f7974a0007f28bf3d427f14516638e63be5b66d70d07ced1b18e0757ed1fe358e899c467acc9fd70609c7c6bf6c7a52e679f7ba211f883581faacad211cc03d6334f8571d7af8b613ccf9e7ae4bd50d9249f91753268cc7a3dbe1f2a5b9fc44b45638fcf75938d8b7d37ffafffbafb2b128defce305ea4161f1fba0f6d528b5257103b82c03f7e7c6a51ea7c5a6a51e21fc5ae78ffd01427c206d9142792b9be696a5112f9fb4ef7e1514c528b7429586a51e8dc528bb7d4e24f9e5abce514333945ef24d5e704d7e40c25e71210b5bd6f7fbd6771526cffe367611b381bf372ad473c46e2cfa6636373a51cbcf83c872a3afbfdcce7fdf2bc218bc77902da01d1dc38f690be07bed7405f4291d8942436ea8972e008e68a9eefcac6b58c20b6d9e277e91e8025c9b33eb2c67c9c23cbd87cde40db7baa79f25594be3fb53ff272529f2f22cf60d7635b1d607b8cd98b03b68e12f6adce8e102068f599fd18d1bc4c92070a8aecae618fc4870298fadabba1a2236f8def3dcec4b7b16ce1cf26d8fe5b42c1dfb9769479ae72a67e14f5ab88df50e0b7bb96c4015bdb39d6218ea5cf364355d9819ebc75ec15be37b1ad86037377f11c167bda0dfbfcde0b67f85e213cbfe47d2b7bb273cfc199c8b9a0efa1c5f33044dcf3b44bfc582f440b9ff870e33d504d015807eccfac479672728420f25573e90fcc139876034f5d6de3dce82eb69376d09a2cbdd03c43d13c398279d60ec5799f22ffdca5b9ee3faafdafaf6b9213a77e6490d8e02c7639cdad2989df1159503465c693b589df6d4665e0ca2748d6195f7bc0d703bcf74eb9dc30590b3cbfc01e32590abdb0bb8dd717c1d0384001613f82faf3c231c2f7298847f04ec847fe601cfb0de619ffb7af3ed23c20d66334c6ca7baa417ce6d142d6e042fe86f722eceb8127ccfef23527eb6a8fb7640d07ad72c317babba13f3948f566e65e353191d4572c8c8914e4cb52dfb2341f147883afd9187a9ccb22bee90258c73d0cfdeb5c743c2ff0d49983a9b41e2de4dcd9f0b678dd0fc88166c68cfd72a09a07a87625604d0a7331e5babee0bd393ef0dae43afa99df15e43b9c647c1571baaa987e831c661a87288f67379a03ba4644b6de16b7af8a9354e675f15ad6c6ee3379dd7d3c075292931bc82728f0083fcbb7c7bf7aae32c9e130f9a9ce33119c43e0f50e6c1f6fa180edd22e19d387cd416d4e81fcb1184a6d1e84da70e5d755e13332f2ca72146de2a74ff16faee3e983247779b15793cf3f263f99eab09f1967c0e6b668bf26fbb156361becd7ff6d794857341760ca9f9f6d9d03d6df1943d020ce9f3d7b4be2fd4c3eaa6c92523da112ff3ac61d790df388b9df64ce35f279de4611ba3b48317d69ee4c38f29e6820af44ee7cec8f2db03d246fa088521fa1f41c6f966ba3fbd4ecb4c26bf4494c023d0f26a5e34ceefb53db18a5ef4ccfc59ae70d7b79fb77f4d43f8dcf13fe673b3f1b9e8b115ce91b1feb177bd8e66cd432bf2373ed4ce510aa0acb6d611b9c7355f344cf31f30ca6f9dfe07312a8c4370be0605ca9db4cba0f386f6da28cfdcf013be0d8fa127c727afe2698e814bbaaa32ab964f3e584dd3d54cde03abe12cb6fac63dae4aa670caf33d01008cd13b0a425a07356767612fd80f53fb3ed7e453c52c17edbd4dba8590c121957806dd49195bbcf879d85497c92da996f9b9be4accfdb48f13d53dd53623736b08df03d5f7d4b43893cfcafc31936b411e81955f23dda4d2acfdcf7da10e5fbabfd3945e232d856c07e01b30110e8257118220f5e28215f35cf233b672b5761b14ad7bed6162ef10d989ce7c792d8c5f82c38d15a071aa7b9f079b2632b89bb509d00adee8ee076ca7076b5583c99f704f3c4e2490dc768667f93d9e3e45e9998055bab8c0fe7bf008a2d45498ea2607cbf767cca3c93d872033fcf5783207b365761ca7ee6f3aec17c7c6c9ccad691b7e093bcc9af79f6e5e5a40c5f54f05c120b8442278d1192dce861eea9c70086b304b73c7e1a9e1d6bf8373e037f1cd69eca5c6a9ffe6fdadf957352ef1f5662ebb11e8716f18d78efc493336464b3f5f928ac399b9b58e6de18f3ab39d7afe68be9af7a1b1fdbf2b3ad27a2b3af9adb9fcd77fec8d8739d0e194d733572c5762bdbf38518fe5a2cab5086532859fb0c4e21d1e942fa593e9f58b4e7eb6c99213be7bef577e35ea7b0aea07acdab7c01aeb40e269deb4b9dcfd158ebac14f35a549351a9d747d3bcad798d854db03b6d72c99c631bfc95fd575b73aa1c3ca5aca69dfe5ddb84b9dfa43a80d538a772207b83accc8008901c24a239d892f36e220481b79eec9e2d650b7ba92ec9c80e3d2716f28ce6a949ae1acb1fd5e3a1b2499e35f0235f9d93f72b91b722f95d42813f404142708de5d6243a3e2bbb895dd1eb9cc6d30e7e974c4db3b177c4f18e60dca7d2d9edc575cb6af780e5d516f417c7d638eff4b8c4ef35b2e8bf47360aa075d882106d2ab1e9e53ecc095847e4d88d7db429bb3eb39fcfbeaa70be3d4eedb37e80a0ca617db501967206533984e230d6fb692d70c9fc96e6a89af92dc7c0138d7ee207b6f25d2e7edb4bcf755f45dbd8ffcce1017c4139d3674e1ae8aab8d621e403ffdbcb9cd4bf4f79ceadaad16a784e7ba1197842895ea6f37a1d4b8c7f9359cbfc358b742f41553963dd9c5debea9a0c7a8642153f63c6f20fa9df4ef620c1f94470ad631dbbc1fbd413cd25b6273d01f030ebc730b9a9791ec34a0e556583e7040c5673600791271a15b9f9a67533253ab34aa694f837a75496185e3fa33f32710b2257898d67f4cdc953bf0b8c59854c35919106f579648dfbd5fb7394eef737d5e8656a239ad5c3b0eb1799bd483182a9bec99c2d204408db0e2e8b95f4635db926bab2446794ae43aab7b1ce5e16eba577d917b67c48c6785dff92e8e7f79ff9b73a975fabcec50bdcd7edfb2a5db2b760b52ef7a274dfaad6e581ef3ede0bdc3527eafb6b5df84fac7579b8971e1e84a6b52e6c904d6b5d32d737ae751124417a787cec26b52e74296e347ab75a975fa3d625ab4e6ed52e0ef13a8df328acaf5c49d99de4b51776792fae40a966dc7b49226fcc627319331ef578e3311fb1753b8a59f5beb9aa72f2cbaa5ee27766272fb6567ceb18784bf61d61c13b3b42979cf6d9a83ca9e0c61ebb8a56f13bb313177b65bb89296be6527f8a2b4ed2c8404544c1b1e5c82cb3080baa20c833528b70052c10c1d0bc8a2c114f2266ea63d69d6b8f73d50df118ae3397823377ac4e62e9e498d2d26c23650db33582c47084ee1a86e83efb5cca7a96784f1c96a5eb680adaf9aa79221188381a3222b23d99434b91f0bd63f6361eaef3cf4910c70b5987a246abf3c3c7fba11a70fe403e7f5f3cee8180b8ccbe5b4281dffa784f0d567b8212196891b336b1a5751e0906f243733312f5089cf8c00bf517d73690231abc17cef678ad4616adf8215526644ff3aba198eed9764c6974efd7b32292eb18328879688917905d539a3523b230354c7d96f3084b5836d83ae798f606e35cc513590b32bf2663eb9883b5b68771261a58d2ca53bb115c4f586669e35ae6ae20827af62d6debdac639f6c810f64c8703633f22d52dd20e8a8c3541c6fb8c64e9a716a9e8df02ebf80d7b037ffd9ae37535cf230baf8dd1aae2095a26e790eab9fee5da57788f72ca3e9a8d7ad444849c76d9f902f465d38c3cf5326954e39765bbfb48a4f9929c433f357ab39af98fbc7f156b097db73619ba784e7ef5ec7bc2f6539201b9fecbb3d9f17b1812b6183ca68f9c83940db59475b77e2e6669256751f66a94454ae5cf9792884cd17c5ccaa0c0075eaf33376d9d65b75780e8e1c9dcb58aae955f1c52ad130430f411e89544b6b2fb8320bdbe1ec7cb31a7ffaa4c643d2e53cd9aaecfbb98cb7e1c12f773101071f6eb17aceaf94c1dcb9ef98bea5886e23834ad242008ce91ad4b9e68a08f631acc67554a7db57a199916e8e6f46ca6d52f27189a1ca07e5a5ab15e121d2f98836b1409455cc60c9d062255dd3d39ba46e704d85fc3b2b30382b96a8c3ef9f673566c34459d900cc3f5bafcea2895727bb1bdee1a02ebb84dec7b2247178cd68b2a59f94591d5f44cb9a802aff16b121b235f0dfc36c64a23f0422d80eab13913a792fb4d3a4ec59c3ef5320884189dc0c6e8abcac909950d6408f9920c73119a23c33871706ce365241afb9188d798db8ea7dc61f4f475e7abfefdb0d00fac45677c16da2a3e230b7db9c608fa3823da5e862b745c15aaaa08195bade7b8746d0b981d4799b969138788b3df6d5938822cb2a9e17a5ea0a1d2358d595f92f36e92cd222fe4d0b5c87ac62cf325fa3f9f19cff824e93e677aef869c2a424e29e7c6083845438eade7500c17d764e69fa289722811f5025155a2a372289b58bf613d482b17d10edf13aa47c2d0e45bfa12d8fa19accd4dd69e66739fb5fbca905a70a021c732a4a16a765cd2e9a3b092b8f64c4bc6d59025759622cbaa5035f4eccea09018db724ecf95b11457f8553f19122d8b5a61ba5d74aae3781bc7d6b92667fa909c9ddad6b127f743c2c634db927778171b2f3d07fc1095ebc3f2b5175cfb12499ade6ba84a3cc436d72239f3f1dc15cc51bd9d4b98c92cbf14a99f43a4347dff444e2b1094453a98c5cffa8632eb1fffb46666ff7d88b6265590177258c69690ae49993d4f51705595769f8c3abf3c332bcecb3ca2b8443fd49c9739547a711ee03d8cca3944f595dd53764ebcc5e6297e0f2e9bc7c9a2c9489e26cdfd16aced20977bcfa1c1fc0cf20aff9bd977df17b230b6948da706c178c2581b0933ddea7b5ccdcf72dad8ef702c1f259fafb3a84d6c27eac81b1808f48b73ebc3c5f02a6f4e3f23b6e9cab5691eecfb4286f6e48521d51048d623f9eed35063d0f556bbe8029ef1bcf57cfa4513d458b35b24a8b14e576c851a93eec507f151bcff78d458e7fe3351638f8ff78f8d1992d9209ba2c632d7376ebe7a2f4a62b7f3903224d3a5b8a1c66ea8b19f0935d64c9ddc5063c0369640d50247d8f2de60bc734265e98ae6a1316aace2fa727e647336e18c9e63e9af3e8bb8e651638ad9d7fb93f8de4f2a4a7a79a6d86919f9aabe62cf2fe64e3639473016e9736e48b21b92ec8624bb21c97e7d241910c9fc321ddab0eed527fd6f995e653d7e135eb0858cc71c2387a5f550452c72c5014b0a484494710cadcbfa8305818fd798711733fdac16d76fd57193557b9df9f1fc80a83939cb3d2140403122ecadf9aab22de6a329eca5949cc579b41e8db0fea1629daf6cfe98ca818f6d0e5be686033f205ce7968186bd8044d9ca78ac491f663520914527349734736846f8191e3e6384eed6538fc857cd957692f7f83323542288ff5d140969511b5acf8b1d477bb12e2de6c60e801ad74085ca66d624a2d91449d2804ba30cad9722200c0443d2936a090778ddcdd350ed9e863dff1be56fef6e868abc712c0915ce65c3284b663e847125aaa12a9297449cadf14266f64fb6b7dfdcb5242cbbbbaa6c7c2bbe12d2478fee4323441b60ead17358874a29e62676ed289bf1cebc7f4976e4628fa6d161b4f3bf3925fc90056b426d96752dc7d1a57d5d87502ace0e4758be7cb5bb7769cf339a25497473fa0cca99a4234fac8aa0c7cf09bb276829dc77accbd71341af4733313d497ae303c13cd52089100cf5d373bc5e9f377e73e7889ac4b251f83c2475d8f59c4a3f60fdb19e466757355739ffaa1e11f4e16742edd87a5fe77f64efabc82f942f01dbdc841b08b9b6f102ece15ce3f43db4e50d20b699378722fe0c04ae75c4ff6e237bc4be1bd9648debf9c25a705ad34c91816d1fc55b6b7baf0ef95592cdf255f3ecf732bac5d64e78bc04812228eb067aa605528fd5ea6b1cb08c994b10024600ab90f489ac5df7beccfc3e976105213a6199716c8303167f88b36ed8c65fb5d39b4db26aef99876ace82729d917017c459138a00806b6a5768e238a33fa2bdb3f8fae208ca0ecb7a937da2f1a4670c1ec37ad4fbba9eadcd1d45867a3b7acef307a89a1cb026e4fbc4763a55f55a7d938cf39e7adc3bb1acbc59af4c650e0addd7a14afaa0e6ce52df96375050563fd3d9d28c93ae8ef3e1ead9d59c73786d96d528e47a399ccdcd6556f6323d5033766fe5d81b579f609d10c7ebfa00cb1fb197de22233301dde7b81fd3f78faefa95fe05f230ecc94b2f34694f3044ce9237ebcbe1c0d843613377d6abf87c8de730fb8c05b177090aa5fe39a96fe45a12a72fcbe5eb5207d465f193f9b5a4a5b78ed7ebf3c69fb3e77e267dd0cedfaedbb399dfe7fb2851e4492fc0cf0a606ff5c6f313ff05d9fb4e5c95208216c0d2892f092c4479e32fce92d88f541d0b6df0bfdbc85e23ce26f6d706654f7a17d2d8ae416da3b7c8de38eeb197b5eb4f1ef643556cc3e805fd92cbf74dc3b313aff1c9ff54db1c44de5ae786f80c52cdad3798c4bc5b7c00dae9cdcfb4934b625c8dd6ede902011411be28c2052c2dc1d43f67f4c7ff83c270fe87aa0770518e56cefff91360492b3c06ed74986bbcc6c350a276d7559cea90f541a28f967166077d9a1f3b20e8c500f47ea2b3a559550745eec431a5cacab066fd381a54e655f30d8fa6b2302e795ff25dc95a3779bfab752de4bf4ed171257613b6fb02a81e32f1b5e2b9ab7da716fe628bb32e746d0dfbbd8d6309cd755503546d153ab15e0721ac83a17044a5ba67fa753d53cd1d5089cfb619f6fca96f493baa67cad0956dfdba77551314fb2d378eb45f8a23cd7b797dbe6cbb7dd87868b7d93ebfd2ab9b20de9adf86a1de3ae2633bd4db23cf0922277c02579ac87d22eaed51141f9ba3ded8209ba2de32d73746bdf15cf751ec741e13d41b5d8a1beaed867afb99506fcd55ca0df9e6d8fe3941338431978538de3942f704a652be135e88f6bd75daed1a88dadeb7bfdee3f7f5c2593bae34d37f4a3a35adf2acec504567bfcfe654b1671ceb2aa7311e9db19ba0ade4031c9827c73adc0f5545f484e45a56cf5cccab5634ee03c18d2fa1482c9b4c7d2e456df8a1b271adb83b3fcbb8a8dd03b024d2fd7fcceb4b5735b7d9eee1e5114d392f6b1756d29535dbf3c933d21a0a0301ecd9a5aced0ce79ee9f4dfcf7aaed96ef4740cd7c80e6ccd632b92458b7328a9b4ee982286482d72bef37ffc5ce59ce11c8a3355d7de1bf1d26c6de7580786f6da0c5565077ab4abbd179a3172cbdc5d3c27e1eaf9abbbcd67784f5aa1a4e27d508b889ce2eb689d599078f3a7a46e26bba669473e455366fc24cfd78065e0ba5e92ad730e65e79d3af319ade33811afc85e91f925dd7da82c855ed8ddc6eb8b60681ca080767e2fe97a1ae1fb147873bc13f2913f18c7590ef38cffdb571f77c3be4e7521ad77e63d927d2375fc1a24c8391ec1be1e78c2ec2f5f73b2aef6784bd67030be6496aef08ce40bfddfc4fb21f396e8dcccbdea505a6b32bfc5a8ac665d646d12710a9c106d5cdb90acb0bbab441835451090f3c92032eb58c7a73774ee964d5effc61048ac03c74c9491c3c568b86cf7d1b43b1295532a73357c6ab3f9f41c9c339d95f25190fc18ce49d483bcdb78ee58f81c31773ead5f135d152dddaacc00dd4b74cdb2e8aa3c0f409ca5a9ac0bfde8ee4a9fc5c5f36b77e9528d9dc7477b5885eeba96dbfe13d25d7c46c7f272bddea43652e7bd81bc0158e7ad0d7cde89ae6dbc0cd5605f748ee6d7de0c5d3b40584743713827d50a020a5d6b1cd7e621c287e589e6d2c536c8e9823badaf4ca65319bf9be2ab7a859c7d9d0ffb6837547d0443627fb1b3a1ff84c673a22ba6294f96271a94d743409cdbfbbac03a7ab89037aeb56573819e558544bc2be586dadfc97c8d42b3836d5ba8ceb0cdba1d2d2abac3358c8abb5572d6f01ed806c2ef5795c5766d03c19acc44bb8c38aa8964b7ddcf79c4aa49ed990fcdd0b4403b44659c00b975a9e194cb8c3ff0d65a50d6b9a48e73add918e5bd2f48a80a9dd5f03e49c789265c5f0def99443a276b7307d463a57c7dbcac36397bde90c96aca85f679725ac3a95855ef5dfc7ed519a5acec2b272f54a492f516a1a8bde2e756f0224424935bcdfbda0a0d5da94bdfb8c699acd28cece50fd779d8e635374dd0798e65b0daf3002acd391ddf2283f9b5aed373ed329cae55995ddd2673d204d5ff113ab8416724a7c8c62fe1c200aa74263649a1be2f1b7f8bce492b8d87a1b129e1ca69b4679ae8ae26f2d280ebaf52ff54eb9deace49b422eb729eb8eb799a14c74aae9e592c07dba1ca235f55568e6d0459fe0b62ef26325ab47e19de924bfe8a41862b823c8b4be2a4f92c21edd2ebad019e83b93fd078361e9a8953d6e437e4f32887407108bf93cc01cbf85e5815dc1b2eaee29af16784375d452c563cb778ee0fc6ad012cc3ca642ec9773f32f377debd3e7f48eeafec4669f6afcbb7cafe75efbb9278dfed7c42f64ffc4cce0ba92b0a9da6d93f36c8a6d9bfccf5cdb37fe203ffc8497c26fb8797e296fdbb65ff7ef6ec5f9952b9e5ff1c3be2496e258ea7b0de1c24c6226aa831034659be903deb0ae522cbcf6bf3046697b93daf8809a3e4dad23ce0bd6f6ba820afc9ceee08863e0f55e584d798dcdbbacc1b7a37a68c1b53c68d29e3c694f13762ca28f6079bf1a62a8263a18d6369115411f76c467bac6f2a62490dab5c484e6b456556d9ccded0f36342cfb0f7e4032b73814c77bd351f48ce972991f72ca6a3ea9969ceb0c7f865cd1d3e87f17ea2e7d4f082079e9ef9955dce3fbae7489bb85d36f7f661f7fdc17d6e1ac6b7925853c538afabb18def339a4fa40c1531ab4b76bd5d9ab73b78ea1141ac535533e1f776d5eeb93a16289fb08df0ac9a4c36891e712d1039278a64762dd28fecec5bfacb5055ce97fd3fb0cd41aab4fa26e708d53d5cb09ec6762bb0b500f6e22a503cc6934cf39fa9fd402b95588eb3a7bd7e1f8c17d8fe731937b49ae4f8aae46641711fc97ced801d04a4927f2a2da1c0ed868b7a6ee19a9c495425670defb175a89df9cbc7e1fd906f5a75dbb25f58fd9ea6314054c8a674b91e1f943fa9e977d7708c6a5784a1797af77d12fe74b3ba7f41ab7b26f1cf9e6f492ba8569eef1f2ea38dce9cf61580d53cd53f444eabfb02d1aa95267dea5a54f33346315b3b39760933c3c0df7be116dbf5151816c4018baf5ebb1676459d0e7de31a63bb14c141932a4f65c562e88e759cb4914f3ad6763ab2cd9ad1fb832d6124f8597116d856529505b08e1f500dd94cf736e95d55e443945cbb826b8ac12af9be78fc2df8f0199ea2509e9af5996da0b33ea89740a5dea991ddea2a3f8a6dabe8efc3e6a9a9ef7be3bcfff938ef0ba2eddef3ebf65d39c0ab1bb0dc9ff0d811daf1dd3f48fcc303d7fdf8dc9fd0fdcccabf87c7cea3d498ef3e1e6463befbf4fac6b93feef1b1db91ba0f49ee8f2e05cbfd3dde527fb7d4df4f99fabbd225b7949f838f2bf50796fae1e7f5ab4afc746c0ed5a4f4c835d5257dd971dd4af96ea57cb752be5b29dfdfa3946f89bf7b873b1940f5b8f7392df042b30f053e702da949ea6e0185ee06584a19d97a00071730c682bf26a503cd5b71370ad52e33a9c0ada776775886df1fba4d20229af1fe340049474341fafe31616523f204650155730aacb8242b074da99a4b6d0f852372acb2d6c2e8301394dd4fb6c67b2ff40318a27b87b9c1ef0b55370efd360bad1a1c7ca78c34087b15eeebd26bd95e2d0c597269538b1521c0dec3b008b671792dea9785e4b2f25d168a736d3d70c2239a85e61a5812f2426ac39685e63c450f6071d38ded50ed9e80a060bb2288757c49c8cbe00adb47de427c6d437ce45cba18dff63a8d34bb117dfdbd88bebcc07d6f8cefea0e49534ba9d36913e4bbe7ee05e1fe51f884a696e26706f91eba9dfb7bae61902f1964c3205ff6fac6413e81e71ea4aec8a54d2dc952dc00feb728dfcf1ee5bbd226b7301fed949f86cc466159e82e4a11a5aa7f82a289ef578afe2fef6749bb6c33f4657cd46d5c5be7a6492890bc535da88fdc27a94428ec6999bf861c8d82be2766453f8334b468c59f631d2310af053363b0890657ca646a3ae7598c544f4d9c0a975c550eae99ae4f3d6a1b3f23b97e0ea8dc202f469526264a68ae868338ec38cdf4f6c8a2b1d512f358ed864355d92526552f17f6495838e210c8c9278c02fa1e0852f49c7d2e09413e26bd77487f986b3398207abd500a200bdf4d0f73c7925643950f9ea7f8de3414e55bd2c57328b2df3b75e64f56f704a6720443b0ffbe905ffc8171f0ce2ffb91e0477e4f7afd3e186379db3b42770b6d73e7da8644c2406bec3269bcaf764fdea9bb023640b0d73dbb96b7756c6de912c48acef9b68646827270a73cad5020e880eece3b495bd0d34fc0d6f7bead2d81dd2aec434db7fa102fa95c61bd05999bc7c69f5f531206a47deb56e69349cce0f8dda654060ad63b5ee75cd8f09cabd0a06b81e717a57d38c0090a5cbcbee60e0ce4bd6b495c1cfe5b421521b8be0eef7aa2b98016e268e85921c8545ad541d0f83b18763982421e9807c2c56f4d76841da6afe3bdb89908ca194cfff23527ebea9d78b286ed2a34d26ae3cbb5af42baa495522ddcc358b7bdc3b55cba2a5e1373d30a452f04f8cc429086a869b54e487a63251cdf135b3e788bf4fe343540aa71768e50d3974e55d68e85769e38d90cd5d90e9c3af3f1943b8cc819a66dc0f4dde85c76d6e94e554fa96b56a66f99dfcdbdd00c81ad21d2a3f1240743965222e1735a85edab4a04b3e1fb9a1e3caeaa70174c5e81379037ae857562925ec1f37af27be5f3d09c61a50ead5aa2b7e27e8f2e4b45a917fd1fabe782be7f7dff133667b43faa8dcffe55221330ecaec09447cf0379efe17366c1c7f3c227a9a2bf88b1ec6acf64ab0229731759c7ec3d33bcedecec9397b94ac78a3f682987514f46a3d0db0d556c27ceb69e88cebe6a6e2b99b9daa30359eaab019ab8447694d436ce542626ba642a9a0b606b3b601b889e23c919d7880d87eedda41f26dbeb580e7743c53c934a40f511bf17390b327d7bb3d7ce5d5539131d6b496b604d36f5cf8c75d5d3f0ac7f9b7d98ecfd5856bbafdb6c0560b23ef5a1c71a16bc1a16a76b5dfb9df6e3cdef95ccba0e8175dcb23390e8467c0ff5b87f9e1ee6602aad2be55ecd55ac6caf75c9bbcf9866faa264dc4c27e4f56bbc7653d2a3e204e24acaa96a6e607226c80529dfcc1f99270d25736599ab546fe47db8f732db79a1b90196726e55dda4b06a858ab3a51f20a872e9fda7b99e1df5670bb16f8bc62fed813adb023b384051239541ef9e83375429325432de8720344fc0920813a33395cf3103eae5799a7cce2a9c2bd36b6a10f8bd8caf17cee8d9aa220432558c342ef003ab04dbeb80b2f9f86cfb823df717b52f58656a033d499ff7ea5b1a1ad9bae489068215f6779bbd41af2d386bea18f9aee5649ad80899f849a23f2eaa13731099daf32d9983c4b7617b7ab4904d4f88ed72d5400446d293a3cbeb866a10785426774048f54dad3df1ad7f1a9f27fc87d96fcd58de6aab904679b9aabaee54b02eb5e76a4d5f2cde13d2caed274ba9e85557d0a3ced6d32e021ce959750216405e6892de5343b53f67b1c2c29e566a1cdfadf25f33b12b530d103ecb1cd13cfb6a779bb1ed032f9c655877cd55a6ef2c192395ab2eb6794f6e4def6aa09aa1639b1b3f0393fb89f536f36b88df12c7ba03d7223dedd8b9535fd5149f75749e9483a71ea58ab37c1bdf779bb0807ca05f94ad0a7f9b2f9dd876f9984aa2d393b94bce2c27173faf5a1f2cc7b1ae5fdc74795697b33924fe738d3ecf5e7ba5d3eb6d0d2a97379d7e754d93aa3d16472c87102571b912c84fe9f81bf8c5195fa3ecfbea4ac2ab33ab3d9b6651d575b19dd828f63728cb4bb5dcfb0dd8572bf7650d94aa423612dfffe3604515fdf6ebcecc81861c5b2fd177053e5e887ddcee2e7346e6af59a43a0aaacad94ffbd3123bdea53e7fc2f65d622b5dfbc534664f18936276e40d24ec203a4faa0c453df4ade32689a12cf07bc91b28aeb2bab68cf967e385660006ab39b083c8138de233b656aed271cddaf5c09c5efe2e33bfe7abfe9855718412fb2eb621c879949dbfc4eee81bcaac7ffcd39a99fdb78cbd52de532687a75b5fccbf275c8e524fbe152a97fb3583c9491dfea1552decbdd415c5eea3f0f1303949f8cc5a58e9be23084d6b61d9209bd6c266ae6f0a939384fb2e2f89a47e769a598a1b4cee0693fbd96172394d7283c825550ceb1f51051b3f6b5e5801cb2a8bca2071ecfb92cad7ccbd6f55afb7aad75bd5ebadeaf5e7af7a2d80a0c57a0c91ebd3f0e04026ee590a43a264d12024a1d5c00f9508aaca0212a2d4c7b96fe33d7f0dc972adce1c8ada8acac163ba863d2c9b0682a1b2cb37e34bcf121ac6974f500411a090cd1db0886b1d78eb551246f46d8d559f5d87eafb2002d671e59de417606b68a82a272c7fae6dbce0778296b2c3730b454d22449b6a97ce4da86c460bf94faa4b09ec36742d730306e33954cd10cb1c54959d7bbd3f44d73a6e28340044503d669a092a07a2db075a84f51bd5c70a0f07934c08de7f712919680c4bc06e34099904402030cf429dc852cd137e38672edea5db5c4b587c717e1485420a485473fa271326d867e62eb3be17d70fcc3385ceea4159b819bfb71fa2159876e653cbc9cf3f850b2684ad17ef37f705b481543f24d58e042aab548526e23db1b80a25613d4660ea8ee5135d43f7450cdfeeebd324ec75aaacfc2b4d6343515b3b96143d8779e87c4db8e6cf7c656e26ccaff2010cb15eec9e9ea7d975b8a8dc5cd4374d75a632072c2980eb49768e52798fed2040e1eafb3786acaaab34afc79eb16f0a652f09816542b54c5fcd1d41d9a53aa60c6a266b60216f8005b8a1aa6d1c4b7a65a140dfd64e809044a77b3913064bc6321cf811540f31b9ba4e88d54d35280b3716be332123267b58595372763acff1bb7c9b2d92d05c6593a9e254484d93a9fcbebafafe526ecb43c99df787908be0c4b15c17842b0f04d696a6fde2520a40a01c69c3e523a2f627d547d71071b4237b4665e964807c15ebe97e1151f89a903ac76152627388da96ed4dc702445739a286ca1a41f8829225e927f262840841d5380fd50079046a44ce33de57bbe4de8ea06ce060350721a2a1686a172f69430969f33c9511b6cfaec7a691f20887941010a2ea08aeb10f272d1934ae880cbda1ae2d38afae7438efa978ffa6f7cecc4d52e602d48bf5a2f3b06bcbecc164a5a17ef996eacc604fe73f43089f6df69bcade0e84dd138ced98623dd8a8ace0d25e6b436e5e762e5f9c5f15eb5962d365e712cb567a3e9326c614b21343a69366c514821c603b9ace8b1e40f52811c830b691f099121e03186e3eb799f0f5fa6a46a6fc22eb5f66ce387c4dc1bba763ab6e946b1e881ca7f78b9b8ae373f7ddf0d826ac06d7f09d02b8f8c5d9527b6e56c2dbab6462a0a3d88763250ebcb7d610b62b32f09ba2e7bf4f361aa458abcfb9f82c2b21417f5f93c7af57299566f677ee37ac510d2901a5671eb347f304a6853aa98678bae0d92c4616a7d1f46fe9333a7357ed127fc999e61b1fb07331db5cb176bf5a5a0c69c2fe8b826dd580e85e11ebe3140e95d86374dc59b84f81ed5ab2f79ac2bacaec939abd97da28a45c109f97336f4d9a2fa98e753cc77bc684e1760745bff8fc68a91313dfa312ca7fa51b49b3dfcc7b7e8bf5d60e9c0ef3093da311e81de6266d1884d76833549292c49a520f32ce3edee7f49e8d88d86b49faeb603ca334855df23c8eeed512ffb00914a78eb1884011fa012225d5784e15232a2bebb8de77c7c0138d21b09493af923598b97998e0c6c1fb7f40ee39f785d91c085d8e942bb372d1a95c0aef72a6f2dab501828bacce28d6bdcccef9bea00da3463679e6db7c5f3c278a71722ce91ceb2932ae8676da188fd91c68015ceb541f223afed417c6f33699fb2ada32bb36ab838683dcb34bcff4b8f916691c93d87c143ab98322892b7dee5cd53004317bb500e6933d2bae7db862992cbeae609d4a629a3752f15f9354dc7f7517eb77f6162eba47d256b8f3f0d8aeadb024dc8b1cff096d853b9dcf8453088f1db1795be178908ddb0aa7d737661dbae78487cebd20a56d85c952dce0143738c54f0ea728d227375005186801e1b7097f1cc5b8c19eb9aaa219c74602dad5770f4eaeaba41bbf1ae78d72fc06beb8812f6ee08b5f037c519798a0dd9b0a29659b75f54b025b158982167c36783eebeaa75b751b1cf632b2d7a0235d51f0ccc874bb4e1dfbebceadb4736acab7555f9bddbed35cd30e6fd4f94edfa561ad7b83ee750d3afbd5243ce22ed597c90e7caeb06ec8415c039a9c27f575928417839ee955dd916bf7df5be69b239dfdabbe770b9292ecaf61edf40e0a4615857cf37d51c7e752b20f86ab4bde281477e30311013625c0adabbdb1aee435a1cf8b3be60e69f29575ad5cd071e3f3666a752ef885ba23dfd290231a1b72ced82b9aa0cef1ee990d6447393379a375bb630ad661759571bd37b4949d63f98826e615fcb7c0e7b663e91ce125121409cba12328bc575187c9fef07c2549ab8bc42e505198e10fd90d95e32e9e27d9e4c7f7c3bef96d9c4d9a57d5b4d3dff59fd038b907e956fef432375731f7d0b443afeb6fada7a717da693a0ba21ac87b10f35c8c5870e9dd3aed833a7b37e9d8dd2011e75c80b72fbf279c2245f37ca394ffcbbb460ed31acbd66d577201d10f49525ef9a085c94a6007c49ef6b2dc152c31a0a28ac433036cf6639e9bd8fe2ee58d687a36d024ce5435036f6d2c80a570240e50c92151c067531cd42f4b8a88602aaf21b607accedca749bd4abe0cec93c005b611fc08dbddb9244305b861d8936350d404fbff81afceb6e41d2af9401aebb24d4932a8f29c2d49b4cdbc50d979024a6331596e095a53cc91045ccac9c1e4aa4e37e7134ebdd84f53bbbb6c9d2de154b2a43d5eaf2a3eb54f9ed3923d5d33874a024020fbc209677373a011fe622354369e309b437138372de915865db14666dab68c69b5574cfc9b69fa9e336cb3c7c9ee19adc7de307de25ad27ad493fb5ea8443034571f91a46f60df6ee97ebd4efed65c7f2dc32532f19727c7eb929b99f3e19670fcbb251c77f360bb09ddf57b938e85f7618947bedb95dab53b111f1f2449f8849ec6e2a7261eeff9eec363e37627f1201bb73b49af6f9c78e4254e12bafc7d9278a44b71eb697ccb3bfef479c7429572cb3d828116f896ffe20ff4ad63493fb0f78971726c73ed0e8c33b4945d550f1423ff8ef5b9c8cc7dab7ba2145fdbbbf546b9f546b9f546b9f546f93bf446c1df0b1101dabf251ed734df5859b4d386c7b1413ea50d2724a8e4ddfc50507a540638ae89b9133e335072df4ff6c7f1b944ee7b99532a7d6ef1fdb65999cefae84466937b17f9f89918fca58f3dc8f8b3e4595c62b7e4b9d648ce9ee066b0bde00f349ec537289f99b226bf219f47b9389863e94b60cb1cb02eda72333ba5375c5cd918f167d918b3777e995b3cf707f3ff81655819fe37f2dd0ff4c5ff8ddcf5fa19bdcb0f2fba470afee55bb51c951e25e9fe9ee71e3e01fccb7f66cbd147a1dbe93605ffb2413605ff66ae6fec838bddc77b4eec8819f02f7f6b397a73c27f7e27bc489fdc1c7040aaa62504d51f08fe65cfec57817fc1c6b1a41db08e350e77725d35f8f7729c37f0ef0dfc7b03ffdec0bf7f0ff0efc20bd10a94342c6ae444abc6de11b61f05fe8da0459c9e1f0d2ea3cf2d052c3404c716ae41f6fbe68d5b805a02447ad3bcc6d7b3fddae05abc16be6a6e9b5ddb1ec49c9767e5e4858a5403f869b496f48f4bc75af31ecd80b7f42f3e8bc2264d625a359f591b154d906e6bfd57acb537d0223f54383093904f80c89b3ab0f48703cab10ea80694a7f258751d96afaaef0bc6fad90d615650d05f815d0822be6a605030c7a57ab8ba18a561414bdcec0bd8c3f73557a90b3037bc47b3e6541f04f8650dd2ac02c6b6ca8031977bcfb73111319fecf08ec6381f7706c3d0e47ca17b72ebf462bb265b3c5c195195bdd4fe9ed8669690df3fa2da865d891e26ccbaeb923dc8e44580616d3116933b92100542b1dcc4636fdaecaa560f8da6f2c9b7a4be5bf1fe04546891429131b0ca019ea32919e767ebbc3cc0afd5be0890631d39f71d457a40ed2e5da1847db0c57de8fba02d010afef02668f4b99f5d04c2e6ea4d6b756bf275b166a4f9e5956f55cd18949c03572c40ae6a067060bc5cfde6cd4dc36ecd957e91e64a8bf97ab1c597bf2d2f78f173961214b88ec4b7ca0976eea5ee43e753fa2b499f89cb7d101e25ae694e900db2694e30737de3fe4aa2243d76c4c79410285e0b9614ec70b7a4e02d29f85326052f94c92d1fe85afe2e6179fd74102e5ac330cbe09a07de4ed37729c9fda5bf2f06d8e6efffc1a0da82a2faf4790c2c992f72cf8221bfbe4cf861941680e2ebb580343e56bbac59a80604262b19bbabaf4f0dfc7c0b90e2b1a1aa2ca008d068217b7021cb7021a36755d97aea1165e738db189a74cc5890fc8be05aa608ac09b6c94e607a01645403de59484b2870fbbc1c74aff782a06da030dc434b21f6e04830f68e38de3be2705f9653b6c5d45eb285f45d476b1440ebb048815fe5febe63cb5169a3eb823cdbc494b50c83359b47c67e9ad876784ebc78dd1913b04b9b5d27f9b332067e283873ca9c4fedc91c9875a0bf40d1dc005a50853fe30883bed0c5e3bfcf3e9702539362510ed8457e25edae034365c340b923a24b2673682912be770cb0e5e13aff9ca409fb42d6f1fea5ecf38ff74335e0fc817cfebe78c4ebce65f4dc120afcd6c73a6cb0da939cd9408b9cb589edd9f34830901f9a9b91a847e0c4075ea8bfb8b6811cd1e0bd70b6c76b35b2684e99e431899ee157433195cd766056aa4bea81ebe43ac670cd626b2c179d5b530a6e26b230354c7d96db3754060ad65b8bf3d71930f4609ccba993b520f34bba4010598ad96029994a869c266636dfb896b92b00ad9f7d4bdbbab691edf240f2f023923f95486361da2d841661831e25dd9808ca1658c76f8eada3bf7ecdf1ba9ae79185d7c6689553cf145f5eae7d25b140726e659e735db89deaa1992823e774c5f04f62f5a9eebec067a868e70d4c8e74c122be9b51d8090184dd132dfc3745382018881d3ecbf1be04e7e09c3dbf48b72b9be22bda7666c2f3cf72fc86252dbd75bc2f565bf45c98a32de8f465ca5ae93d68413b4fcf2eb41bf6cd9d236a52dc4587e177b08f5ac1d64ef41c82a17e7ab6656ed827f6cd09862687e7953576275d206851413129537d87a005967d43ed6e1d0b35ed12d4cbfe26c3944dee3554496787082ee4108ac3b9433a1a65ba7c90794384fca564ec2afe1d2950e9312298e3c66176588f153c244ceaf859546784dd139c7e7d4cf2252bb4fa73418b0ffec472281a0124c52f781d3bbb3f071a0202fb6fd6b9c83cfdb9c067b38fcff7c8217bfe6d1da81c41d9b896be6fda1d05db5d8ef09821cf195f7766cbcf6b0055b48427fe04ac23ed4242c1d791235c772dabb31d32635bba96511557bdde131ceacf321d30e8bf79ac2b0f509048478ab4c9399af8cbc91cdb695e78c4ebc862da2214b5d74a0280bebe87a483011e2bb6c9e6f399682ef0de18aa1a826a572cff7dc37ca66a449e403af2b5e97ed2776d3deea693d89367604f68e115216a20fb7a955cd767eb87af3378af57dfc1c409bb7ba89aa51ddea06df06dd6edc934cccc1ede3a7610419b7416899ec31925735295a52b107d73a61dbaba0221868be5bb1a5fd0993b6bc495eff716a40ef13ab7195f2a1bc918b559efc7c865bc270227ec0a60fabeee340d723164cf96e5a699cc957cbff50785c45edb240f579877a825884ae2e1d359f17b577442c991eb51322f563c59dc458b90bb8433d6f10adb796fd2db404567c7d23660963bbb655fd19027361d07d321a6c2ce714200651b5342221777b14b9e857585a59fb0be00599ba22c9f6f539ca3df9345dad952473eb51b08d145a53da06a7b281c9153903faccca915e8bc18f3f0339c592bc732b79579a582f78f7f937bffeb2e73dadeb7633fa41f630317c9f3aa72cd27df9208c10d896328c6374ac857324efa9b16394b3d02830a3c47894ebc3cabc1da24ddee52a23eb22674dff7982d4bbad9f59f387d6498dabf9f787966739a36ab38b3dae8f616b8c6523dd74c27d1bf0407c1ebc81f981558b58233f3e2b769d7cb246e92ec0bd7e20320cc12dd443b5692fd502537c9993354cd9d1fa21314a46ddc8d893cf363e4a759cebbc02724bffbf8715fac0df681d620f2c2ee0e62dfbf576f277d92cc7d0096b6094ec90880c597e87cee4a66df86bb303947687a86916b5be87672fdd60bcd4ddcf98ee47b5d4b47255d7c9be23ccafdd3923d5ae09faea0c007a48b7642e81a8f8ff9a4efb4d1483c5ed4dad9a76af7e467ec1c8ffe3bb173806d2cb3f338c2fa583469d7c46fc3b37e5ed5dbd575b8a8817c0216889e2bf6c035195dfc9b5eaeeb210221eac41d9c5680da2301b173e8385e818d7d779a8329ea689a99abc5f3542644b81e3e87aacfcc0fc209c6b18b92fd47d6a60427c8c6fec63dd9c1f66c61ccbe4cbeed80039614d74425fe263dabc9fcd37b821ea96b8a92dcc9827550373bfe400bcafcffcb385546d7af6837f9a403aae05a84ec9ac4dd1cdbd817132b36dceb21da546218af6d38d5b58ec8a3714952c395e9581d786b0dfb71783f85f1758c8c3bd36d5b433034901756932a5322146545e620adf30a5d8b3c8b103a67e39415f2da009bde8e109ec4a1b1add0800cbeb0f3e5da403922f8b4e68ad40f31a2c6a1daa76b34a572544b424d7387643e1ceb3007c2e3968c9dc4e1665b4f3424a8d29c032439489e129ed413e037c6a653b92927fa68b2df9ed2187b86f015445035cfcfd8ffb472248859d27042e6da649ee8bcd6d8366fa89ba0fb998f4979abbb1fd7ecb56fb9fb2cb06e3fee7d91e491c8fea2ba07ef2939f0449d76566fd23080be6740eafd48ee7726e83d1ec150df539da3ef21adf93b939c607c0e376a46d0227e961f7f57846115beb46e5fd1df67bbe9fb8244746572be375c73f2d702e79d1f478c4b68bc0e856b3ff0c22eefe51a1e90bae7b92f049123cce750f477c9776dc645d7be65038cfc5f1de94dc331e6624e0687fa99aeb76b3afe3663cacb5e93baa98279a1a4a72de7a3d86f55f284cb1731b5783d1be9aabc5cbea1762af96d239c74c15f75f389823f864b6d23932d1a885cacb9ad57d68f36592f13df2313a7f1e9bf99fd8275c939b5418ec531bfd2797fa32ea1ef5adf2ca5e0af208ed0cfe846733acbc4e207e6b9acfbeba7c9622fc17e7dc0d82e9b8ad07fffa5e3fb3beeb5378c69c47479496cb0e07aec5795c71cdf3d0ef9e0d8c6cb9bed0c450e7c759eb1dde9bf531b14dba9b386b2d6d2ae8edf1fd8dad6b5f5730eab59f7777dfe4e72f7c9604de0dadc025b8b9cd3c5b34e72e00de48d6b35688893eea1fd5bf4263bc709eec5f24b1aaae4e6a545cd2f2365cfd8d7f5efb565366afdd8b9b9a72a9c5b2ff3dbe140465ec8479ea81790c317ce67a3983bbdb6e97ee5529fb6f29d8bc9e7dfb32feb3aced3711012cbaaa623d7311b1adba0b83bab93f38be367d17cbb88ced847063d9970785cc62c2a6314e12c879dbac52c68cce2724e9be80a5f401cb6b332f1a4353cf11cb0f803c19f4ef9b33f20b19013b0e58d63e988e42906155887cb3dd3f01c2fc7f815fc5deb553dc1d667ec7f1a6bd3254f3410ccd686657d0201095575a699b56fa84bdfe0e7915cbfb669d01cb07cef5912c13f90784468448ea07031463160fc3d04d3d9cb902a87cded1790de7ff13c2538eac0b78ecd9a25be393ed1a4e15df99cd4f983f17cece1a2405e6a1bb325cf25d8eb38ff17c1851cc7cbf8a5af1ee68410d85276a0c99ea1f76b6d9fb4682e496b65d95a36392b1bdab9ad783a1abe6fdcc4852be49cca5f5754f779fdd7f81c4fd680c6d7cb1ad8607f75fd29b17c628f17c6f2e3b3ae92b43821420711a913889b24a6f53e9d7259ac2169a6f3d8c6b76e1adf79c3fea5f1020e9e486e28002ac9c9b21a8a263a9dda070310e17323cd21d59f07ed625ef2c1b7b48d6be92360d7713314fb0d99df67fd20de098fd8677805b16d95f1bd1936a1c93c5cce1d6b5027b856bf99dc5ceeb166bc1a8d6d65b2f6953a999b7b03730155b49c0a66255751635dd580ffa83ef7897640d4902716ef93829811bbbe052e21f94d8a4d28d16d75f8f486fc71efc30f5f630359bdc59af886b17deb85dd0d54497e81d6c855adbf627c1b0efc176075622cf23bb1c68d3827e2f77f5b73d1c8e3f8a082f7e84a1f4e6d5d67cd76816a72244e401b72444c27667da3ccbebde0f83402b7cce655e3775af0a47ec6b500d62f57f9f2b7e22fdd6c8d64a17c158c3b5f5799e6e40bde2bc6f1114c46fe77291eb30413f021581ec796a3567505a4f978b087aa71a6b559dd13b4d8589405144dd6e402ff96c82391f57ccd4c95cf2acffa55189a36fc867538a5329d96d4cca4be59825f4af24ff83d135eb83abfa2cdf9eb09e6d2b73544b048ed9ba03f014be7bd30c12e5d6199609ab3a0b521784d631d47788e55b322ee901f4f7decad31a68fe1c12ab996e8d8cc0914b506e760b5ddec08c7bd6f1993647f56e4878a70f1503457b34c63ed8c9d93d42e0d07e601eb33969365b5933146be92a7d43ba578e5d142d6e2b53c3871ce1ddb4b74ede23ace05cbd7838d6379efaeefa8e6072df0e9fbd213d50d936accb68a76232bad1320bf4b30e71571f1167bdfb5bfb6c6614fcdafe91af6d124b3d723b8e0d326e57de3fbec94c1002e649361001bd89ba4b63613232379282779ae32994e635e1e7b48de298e7b319f9fc62785eed653bbbb3a5f933e53439e7a24fce1ac1666b4ec5760965beaace6dc5ae51c910df7ec47634f3338e8acad39f7d6e60ed2d825ab67acdaab896c646521bbd6c33091f71d54bb4bc73a2cde5f17870eb350d995712bd36bae311533450b60e8a3cc7c9c1c4b5ac7beaa361b8cf3f3a27657295fde16bfcfbb750bb1abac23aa3adfae752eb12136c09ecc5db5bb01839ada1035bd3e59cf2aff4ec536cc47d683c476441deea0b08e87ca679aaf4e6c92249e90e2f27f38febef6ac6ee6b3ca7bd732ae6adeabf6f21387fa9393fc0285d837207d2108ce35ca9db302da40cae19ee423937c4b955fa62a07d74eced33fa733e31b3d4ffd8faa11a2bc097dd46f6d972ab9e671f3e96c42ebf4e91efed353cd1dfe6c22747790726ab06b374395e78b7a1f5cfe917c9540ea33c3611f9d3dd1441e32a74fd4f638037b52135369130f96110c494d5e2d56a0a01682e520b00e58b9964e9a28e2b97092dab0ae66f4497d3e479aff8969ef88fa9816895d1e3cf518115b4b08105c54d4f215c87ea3dc418c05f4387de35868fb86da9f308b051ff5ae628f41c2b75b2423b531752c434a04a7f15910d7a43d5be46c2471df640ca7cedc8ced5b3c96a40923e107303bd83f2ff76773fa8a6256b30d1dd5ee69d88f9e9eb80ea9c7840289ff6563d0b1bc55edd3fcfa34f1c528064f3ecfe27a820f581f5a7f11df97f95d64dfc5cfa0f2c66cbe82a69457f3c59a5d62fd86753820fa81c6e08e9143f857a8dd0745e305db958e6d72ae4afa492c99eec4f3416271022a8929e4d6a879dc544df4c809b6f76767589e4d531b67ecf1448e5d5b3ffb96791a61bf363c4ac37e303315f989355aad8ec112f9cee62a125e4bec6f61990236d69d88cbae536c1b71f044f89822b05e65f54dad8e9d22fdcfa7856c036b3837d5ee2bb03af33ffa916df62ae21eed752bd99b440fccdea85b94fc5c3bc231702d8ee66b08b788c2ecc7580f90dcdb6ed897f67e837c469ceba5fac51e27b2893f4f729caa193ab6b9f17b5f5f3451e79d8517517d427ab4ac7d4bc1b62b079ae08d122cbcb9736d85c7b601e15db2f8ad6f1b24d6fb91ba83e47b42c2e736f1423374ed797b9fd472d2b8ba856551c1764dbab6d83e4c6d9d037d4e80e5b3593d48eca3c45c533ba2afe8dc26714bd03b64c6328be5803f0fd52ed621c4fe70acce5c134cec676d2eb9920ac6197817face617b88e98a856cce56079a13b2c1deb5a8fc794280e839f338f7846de4617dba2ee7d5667fec59249692191be355a37d8cbeae47d30adfa6e51e6cda8381f5299acecaedb3d134b595aaeec5ce9509ddab55f7a398cb81ce64b3b2ded613751ed89ae985977cc9b9ebae744ed5bb16ec8fcfe6470f3cb55056b6d866b988e795d524ee8a7b8070496ca2e4d99117fbdd25dfbffa9686a06a168e6d34a5bed2dbf8c2d37864531e890bdec16c5d218b1d677139d93c4ee1f86bf526e57ec27b4a6af88e5360f911bedff3b4518e85c5f1099f46f67925be6996676149b9e848cdd31e86a4f69dd6a0bf2f2f591b1f78636ee294991b863748c7538d95e0a17a24fc83941753ce71f3501e81f7d6fe26cf99786197e65039033996b1712da9aaffc875bdf6c0c467df21b9cf495e014b5941ecef4daffad55df5a973a6f22ac95157ce4b623b90d8bb43b91ab3cfa2fe117e1f358e1b56c8477ccf0fe1d5afd13b07df3a6eb05ea33977bd9fbcf3dbf2c0674f786c860d50f4a7a716f9cf19afff39b2b10e24b5e81f93fb679813ae8c4fb0ecdd33bf9b666bea296663a892cf93581c7ef766398c8f59f33aec48f5995015e7e3aa3919af7b2ce4380baf7a26307ea1c3d5efb25c5457ef50c3f954707d613f8d6dcc29717d7da65efffa37093ee5ba37448a69b8fe2e9bbfbf1e6fba0fae9bcda7fafa7a7ef17e6bd86782f66e706c83bfda0f057980043f86e2dfc471d544d6e3339d72cee2f9c07ed8455ca02e2747fa672a4f944b8b36926f6a8338b611cc626e4dc6598ded44807504e5bb65f8f984ab8b62d89528cedd94e76d321c03392e53b5bb73845aceb246f1debadab5f6356a3ac2efe5f72ef0f4c9992fadf0dc54e2649bd51634cc3f65b8ca5b8f33fedd255e32eeed95b1658ad7b612a777311fbd6658c9869c32294fbad9a0774e91dd7afdfb4cdef9825b36db3bb7aa7f4ef2bcab79db0d1533c10b101c96a5d3f8fec5fcbaaa721eaafa0bc9059258c36c07aae380c7f172cce99fcfa54830b955dfd1fed8659c892947b6f98e1e44c39e1c3a16daf8b6869eb0fc0a657d648b6a8d94080ecc1398e177d5091757ccf7bd8182b406f6700ed93da7694d447e7f2be7527ebb449f11bd47de13aff91f789d55c40d55230225f1c5da355241e05a47de0bcd69fc0e0db1a157bf4b38ce5d8a454ab8ced31c4ea2b7b15c049e407b0324632bc3aae0f955cdd5b017446021477e4f5eb9d6247a230f339eeb5553fee959680660b0cac6e1489e28c17712ddad211062ff585ac6b66d7cae317c63595d5f354e92d6935df00dc53e2b9ebf783e096ebc0427c874fd020add0db0946b1919003cf761bc3e8d3991f05e23784c41c9f59dc07ac6cd706a958d8de82b4b3ae3fd563e370a47e53b083c3c4ec22d6f22b89097aeaaec00c5bc9075806a37a0dc250ab325b65034583d6e2606a9eda16860d90cca6a92b318f3a1a2a37c6f0a7def85e6de3bd1de14996bf7d84ef54e5dd68b7e7f8d93e685317a3c8dc2808357bdc9be36c7755ac73514b5c857838ab87fc19a91f12b1b20744fae6dbcc0bc4cbd38b6fe12e3d174dfd639ea13eb2fced3ec385ed4f32842f103b023587e5a71a3c579f3b83627734686d8372eb70503126f263564d5753af4fea2866d830314b02e93d6f979fcf4333280aabff7f0bbab8571df2d1d4f518cb5a616b7c21f1d4d490f87c44e7f2aa87b184d0bcecd8a6b66b1debff2cb061a722ce3d2dfdd5ee9a78b772cf5858bc7b5cd7253a5cfe268ee3b91c9a2394bfbb37c5fc8c2d852369e1a04633cd6b47760bc67b9a4af51be7f1ff1e108fe047c7ba1b501f15cd11e79c4e6883f8fcebeaa707eec773996be04b6cc018bfa59573d8d7ac3b8674da64f51fc19d1432a62bd9de6168f65483efb6af7042cc3caf41424dffdc89e7cebf9ebf366432f7d6b63be827bb0ee7c222f755b35e7bb7fe03b0f8f7cf7e39bf3751e3eb339dffd43a779733e36c8a6cdf932d7376dced7b997eea5c77b4e4c9af3d1a560bdf91e6fadf96eadf97eced67c05eae4d69f2fa98713182e73bc2bebadd65ba73dd4639eb37bfcaec53dfd5e9258133ba7dda40f5ffc4c2e7e667c3e933a967ed2cb2f8ee7eaacdf4f59cf3e761dcb53c43e997cc663f3ad63e02d0bc6899f39d0975024f6c0f7341e4173f57ea86c5cc21591f19dd4ee0158923ceb236bcc53ac9293f137cb731b725eaeeafa45f57cf20c76fd553fa8d42e21fcd08e102068257c999197cf9995e4c928ce10a6b650aeb758be960f7f467a252ca180fda228f35c822762315de6235dd7e4d13e57a40e22c6ad6c86d8d7ebc95bc726bdaae27e67e6eee23914e7618f77c33e8f658de2c7cf2f73776070de607c3f3a75d7ae3dd9b9e7e04cf6055e638b271c25cfd36e5ce78916be6decbdf5780f545300d661ef09683db29493230491af9a4b7f609e00e943b8da92b86548b0767bb81eefa03559a6713db3556fb158ee6b62fb5fd7a44f65ef2aff19e35caef3a04416144d99f1937ccc11cbc0757c84ad73ae379d77eacc59dec83bd1b5c0f31b63baf0bb845ed8ddc6eb8b7dae0314d08ef17d301ccc75fc41e79d908ffcc138f683cc33fe6f5f7ddc919e3d21c12bd1f807c93750fc1e243d9c7804fb7ae009b3bf7ccdc9badae32d59c3c1f8c2cfab8ab9cb17babec0672ece05253a76d8387e20afc9fc267d5f8afb5934c337a00a5cf7c7e6181ac6ee939aadf7bd5713ee725488d36a16af4ef2c8ed7d75121fe97ed4fa65cfcda4bebd62eedad441d0b393e303af0e13dc0a6bdc4c5e5adf375d933a0ce727e003698cf0c952caebe7583c21ce9f555d97e02a3ebd7f46b1fcbc1dc366ec1da1bb2175d183e2fa4fd736102cef49d4503ee508863ee1b6aeafc14ee62a826b03812a5e4af5b8f8d0fb65e6a49affa6613fb77a79ccae69550df636196b49fc3cc64370109fb525d734c17cd671032639d395c6c3d0d894e4eb1ac9855fd6c7b9e07dde19cb4de2881f8ded0122e9c7fb8d616faeb12fc1bef2fbeb7d78f58cab399fdce2b17fa378ec6a1f7a68b7d93ebfbe2b245b721b1695edf0dc43aba8ec83f8207102f7f0f1515951fac4a8ecc3c303f720348dcab241368dca66ae6f1c95e5efc5c7fbc77b2e89cad2a5605159fefe1696bd85657fcab06c894ab945665d116c932edce10f8ccef2409f24ddbfab22b45beb6996749aad89d26e0598b0c768d591daa271dfa2b5b768ed2d5a7b8bd6fe9da2b5851185a60c8004a5193821dab8b62159617757c9aed5b48ba56aec3c3edac3b01debe613d25dacdf62c4191d5f866189b216e9bc3790377177baa4da997aaf955d2c930a692cdf59460bd71ae719a04473e9d20e68b9ae973143177e37c557f55575177ab41baa3e822139bbd8beea3fa1f19cccf334ada2f44423c0ba96323f7c5d60f91e2ee48d6b6dd95ca06755d97a6a71d7f8e48fda2e29235568761cc2903fc3e7fd76b4a8e872d314815715b16c780f7c7ee0f7abea60501dcdab3b7b8be44d3ff83382ce6cc074df221247af6fd485a92513f31658fcde5ba3277c261a5c5d77f1f69d0c922886a947cfa1399834e892d58acdb2397b7a5459b9f2c16ce875d5390d334ab483e03b238214717e448e9da95078ff3d93e8d7646dee807aacdc1f1fbfd71a76436829af4da2b09f2ca7a5d528996b2a23b897eff711ccdec39e4c3ad4e3e75665363ebc6b8c28f313ec4736e95ad7d4764864a82a839cbc6fcbceb3d8d631374dba623996b1a2c87d29804afb0e7dad3b4db6e9dc44bbd06ca1a8493301dd8399dffbf0b91ae81c14b50008e6e79c3f2d18f56b3ade6d9375adae0cfcb833a45165be7426765ee1195436a6faeceb2dab7531cf24ab755de57dcb44fdad3351eb17fff95d39a8ab1bb0ec132f495c9becd33dd779e83c709f501220f29f59122088dc7db761f2898d916b987cca5edf3cf924700fa2d4494b02e84adc4a026eb9a79f3bf774a54a6e5927d293c9fa71d9a627fcbc59559689707bd76497c8359559a5dcb86ed9a45b36e9964dba65937e8d6c52856729e73c8626bf29f6f88afb3f131e2bd54cf92b8bde7d903b738e8e753cb8f80c5c64bcd4b87f258bc25d795349cf3873f53de66b673a1c7b2c8ee5a3e4f375962b0beb6c1d790303817ef1f9325cc4d1aa81bcf16d2d80c967845b80458acedf1732b4896747a2270828190f8f7ef75f3fd04bda6c5f5eddf9fb1ca5a27b24bed2a328b643ea49d2e3fdc3a7d44f8b9fe92c495cb7b1b3940cb231522fbdbeb1b3243ddcdfdf8b9c943a4b64296eced2cd59fab99da5227572f3979228de0ff49966ec99557e93926401aa7da7345b50e93f5d8df3e643dd7ca89b0f75f3a17e0d1faa0e9197fa1985dc834db2c89453ab228b1f00d5a0e758a8106eef66a88ce6d9df0feab77091296b7affea6c5f727edcb279bf6c36eff9e88611bab40bc3e7d073bde0d96feeacb6b951e2b176b9961e6be7be2b3c7e46764ff8d4d2325eec347758e9189b66f7b2d7b7c8ee3df0e223d7491d56b2123787f5e6b0fe440e6b1b9572f35aa1656e1d41c11ed88a3155782729c1aa8f423f72b0752bfa8117723bd77afc839cb034ea4abb507d7b99033b08a02d6f0abd5df6bcc462925f5d4b5a7d5fc83ab0f8a563e92fc03262ef34b66ad463e489c6a8fcbab20c208fa0a507d8a3024987d9313bb12318fa3c5495d3f705c166b37b2ed367636fac4b2c91a70c2307a011ee00aa6815775c6463c1d6db6e62ca9ab9d49f620f32b5a82a2c46c796a352bc708157439ec1ae5fc8ab8b2e4f89554319aaf1b8f880b1e5ba948d3ef156e2315c5990d8f375ac4e62858d16f213ed66ae9d8703fd058ae606d08839fe8c23acae42770d43749f7dae77229d8b68670055e1805d6085521ce9095bc1ac0b26e9b0194ee6d052247c6f9776c2e5e13aff1ceaf99ae7d142d6697727b403e1e3fd500d387f209fbf2f1ef740405c66bf2ea1c06f7dbc17072bc2dc8cad68676d7250d4ce23c1407e686e46a21e81131f78a1fee2da06724483f7c2d91eafd5c8a21e3cf11a892ee0574331ddebdec92bf64e8ab094b1b57761395f313a6b1cb92e615e678cebb1e79f5bd30cdbfcd430f55996393f968182f5d6e26881863c72bdb9f307e35c0483ac05995fda2d10bf0b586b7b388d3b5859d2ca53bb115cb3cedd7197e482ee43bea56d5ddb38c7563df2487753633f22deaa143380cfe6be4dbc0f047a9df9d4eacc2782b205d6f19b63938efd7ff19ae37535cf230baf8dd12a8291c9aeb5caee79aa79d569bb0ecfcff0c50d3bb6a051e8ed86dfc6f3a7f87794f13dd8fb2779eb5bfacb50d1e427da918cf78419ed5ead220e5819afae8c299b76a398ebfd4246ae5acf16cb3924dd6e8bbdee6bd6700d79ea317204e59ce994bff32d7e41ba3508cedcb524ec99ed1cc13c133dd94fcf8ecace0365f8f76aa6edb816e892e586cb8ead6174a3d8c326cf60f6c524e329d348c81f559e7606477ce1e9a6e74a2c635b561b7299e5650c6dc09adc0f07c6c9b766ecdc8d23cbb3e4734f34027f104760329d7b9f0aed84af8b613c9f9e7ae4bd50d9249f91333e8ea6acc7f74365ebe3df527934576626f34cbe9bffd7a7656f17eb7fbfba9bedebcedbeeae9226ee6113b31b34f18bdbdd8a79c68f1da105ebcac33f858e20080f8f5ce71372b99fcaba2289e2c343b56bfcc0ae4f0659ed1a175edf9c0b9b7fe4efbb0f29f0952e05738d85cecd37bef9c67fbd6fdc4eadbcd33b9e44cccbfbe6db3a07053eed9d35a379b8b8afca1f975611b504e37cdb3a390d96591ec291e523b89048df5d676d46105b340bfaec5c7cb7d7398d9624eecb7aeaec2132226899f8f4df62ef15aecd0de1b163279baa889e90b0949c47d87a5f6b01b6e87c4be77c5b6bec19bb96147aa1822d1b3eb62c5be57827a6ff94b0b0cc8b70b18a3de392772df18af3e329caeb3ab67f76b2cfa9cce936c073b1133bf608538ba8c6632eec45951de330d363ef7a5db2fd922ffb36b956077b16782d9073d95fbbafcbb3fe6a9eccf542fe365be77b97565adcaa7270ab7acafd451efd8fce4f13fecdb5417b83b39cf3f410f7bae28367d20b8de64f7d4b3a014bdf03418a9e4373c5a200dea9337fb248ffe2088660ff7d91edcfe4477e4f7afd3e18e33d87bdba2db44dac4b2492bb5c63af4be37db57bf24edd15b00182bdeed9b5bcad636b4b97782cf11e1694833be569348378d0dd9d7792b6a0a7a77d02edcb5c657d9564619eba189f40225c497fccd86364f390f3ca33bdd5662bf3c9ccf632249e382aec41f6633dfcff2df9ea7a1928f7f4eb2b59d373a4467ef2baffc953cd65c6db255183e14026cc24c45ba79fcb26af271ca1d928d1b5d7dba00a55ade6aa2e8a6a65746cbebf74f24ed863d5231062af98f693032a9e4fb429ee83d734375fa0872b79ae0b7aeb67c7b2601813f34c22f56b2dc27b050e56976b85f74de0a77df76baadccd8ea71e0337e93f28f3de5ade7b42a69f6c3aefa4d79e3b30b78e2555f4766f53dd2daf52bbabf8afa0b7fdf759da8398b0e45cf7c7c3b26004ae75ac79cf36d5faf20a0a3c9eabbfacbabdaa873bfb6bcc16a17623a0b69dfbae66f4c77357ed6ec0a070de095bd2932823b842fd615fdfc3502267f01ff4b751cd1c07be6dbcd03332eed356d18bb7350b8580659d6fc2ea73ad4bb2f631227a23d16d4f1cea4f387de35868eb9d32f6151d732d8304f139542582253decdf2eb3f13a12eca7dc60dc79196acc48817f63ebd4166bc2e642c7dc8e65a28d6c27738a105c1b9af1f18c4b9127ea3cb03573b63a7cb03e68c63ed18c873d7fae545cb72b63c46884f11a687b3f44ab3667f32cfd4da24f32f7d96619d7dea2df9bb21039a286804a6cb2002a71eff46aeefd6bdd50748f389be25a204a70c0ea719ff6b9bdeac15dc3b2c2fccdd43e9f98da779a5150ecd949d626336e8e6d1cb836227fb022e735de97c3811ff9ea9ce14353d6b78f3b1b77a53dfb6be68e44e22ffbbb4f337d7f3372925babd42f29cea2bc47d7b4e90fd2a277bd2b9a0b606b3b60133b34dbe385d96dd4aea961b78af504969dd4aea5bd9c57f4ec54361f3b27b57d3c32ba849c010dae89e7a7ba676e53269ead53e91b94ad131fc4fe01b327d97d68fd36ed071cba96cf7b21dbb706f2f1593da83eabdbb1a02902f6399cff9fbd37ed511cd9d685ffca165f6f9d6edb405652d2fba14c620345ba1a93783a3ada72d86c6c0803b79839eafffe2a5678040f6192acee7d77a9853a0b3cc4b8628dcfa30f3748c6dc4cab40c48cefbbb11b441738ce25dfd64f1bb78f4394ccd8561335fef506cd73d087f7b1e8291c3a8b4744d735ddaf214223ad892776748b4187a987e6968aa04e61cdde21672657cf48d97ed889e5a9fb36e8692faf80e6a870a6de867e92eb9974a048de5224cebcf179ecd8d4b01d72115ccbf61e204f65c7ec312875436c5522f3e5f2e7af627ef8d45a76a2ef237eed0c02ac7aa0dce3431e056d06b98ff78fb06bd97433e56c8567b5a99fdeca75002e5e4785cf8bc6b508c1ab923ba9742ded527e809b368ed2e7d0ad6fa782373c5d5f9d7d6e951f2acc774ff4c730da4f7d8c9d33d223992df9a8a971d76b6494eb57140f4e5fdbd2ac20f180c2aca69bb525e37d3a03722077ced1bf2d7d7cbbcf19f4a9382e52b4376ee57dcabf16c7232ea9b9cae8d1c9f8c467d896f483bc17f4ca623f4da6763dac034b3236deed2bcb6657d4f449ec2d8ab47cb10c0b3b81b4bd7a5ea45b794e309d9b4dedec800ff6d41ec8d231ccdef1915c71fe25310936fd19fcffd5be86dbfe809ff98096d7eb1cf8d1c23968cd2dc33b82cf6015d9160aefac8618ad2aec886eb6bee35bff7593b245d8fa5657bfb97a27931f226fada7fa1fd9e9a3ae8847beb81af95f7d6287811f3770fc5137fe37b6ba832d9b4fe2abaf19e2ca09a4a5a58ffd0f41ef944f44e79c3a81b477049c644f33d81979e722dc3b896afb92311ec89d45b8d6cbd1c7e376590727e03df7653db76489b3263c675720d8de3706ccb644c26b18f6a9a22dbbc2b12dd573eaf995aab8e4a24f29fa79eebec7a1ed666da2ccc12bff3b93dfb7720e6e6acf98f7df24429f4e3fe3e66cec6b171a477e9e5b81f4b36564aa063bd4018cd7b92b781b539843eec148077fb1e7ca9d0aa4f6f458b5e6ae205d46c069281ed04ad998c129a5e7e30beb3cd5f5590fbae296d8a45a7fe891f72679256c7ed6db8c55b8f726b6631acac5d579a2f3d058ac80054b6f253918a57ef8b8ad016a0e77a6317e1a40cc75ba7319f61f1deb7a3661a6bef2bef3640a32f36a4da4e71cf8dbe50e9125443f0833913d0f05ea96d52f3e48eaaec35824d338d6446066b50341572f5a4f95b2385e0b15ef78b83c65e85f1933c0cff06127f717fbb173f4ef0259c1cc41bbb70c1510dd6bcaf2efd17d59bba18dddbe7b70822db3fffd713e306563f51990c36ffb329cf64d6e204b4b8bac93e6ebdc0c4e0753d8822fc6ea8afe2cd48f5c59db9b7a9b4bc93d26bdd0d65bf331877b535f4cf20519f6714dbd487064852956752bd3ad31695f58d1e7d97a7c2e0fd56ee24bbfb7ffd6a4bd1af9a47dafbbd7b7c14579990aca65de7e9525df14546c2dbefe757e2d012f6f7d0e39ef7d483c2dde1f0572aaea5da5d537457af14d6545e173fe83b1022a738ed7abdd8f35de607b357b4869c4edf3a2fa08817b6ed7ab8f68f39d26fffc11acb44f1f8975c7f3ede727e6fa88b093ccf511c9f5ecd0019f9f9aade79610d747d0a9f8051df0ab3ce2dfa93ce256b4fcc7d74844480547244b7bcb78ddb3d53b6c928a56d93da3a67604a6b6c03a131bc85945f9b9b5d004685e6bd8ffa97cf2e2d869164d20e73aadac6ee2ba8f7968029edb54e2b177e27797a20930600d4598b5b718790872f9a4f144332fd39b1a8bfc1874cef8bca796e2ba7e221aa7318cd3e457fdc4affa895ff513bfea27fe3ef513d57e0fd1cbcbd329f49154fac919fd850c0c81acb93695be8dca7c82bc9c272d676f30e4a154ce530a05203b6eb7f1b45ea7f7768bc559ed8f2bc963605987bf7c037f9d6f20b01dcf5fcddcd906afcfc16cb57b8483a0e8a19197a0f5f4541345a1c5b75b9f9f3ec04bd0fe4844fccfadcf3c2016b07909c24e327b0992eb59bd046da1d36c09cfcda7d84b40a722f212f04fbfdc04bfdc047f7f37419180f94ff715f01ed11d51a02d2d43dca226de51dcec369bdd9f8b99cf86cb10d541dc9c9190b718b7ab976e5738465bdb50b8490a8be14d97880db42763eec8a7c38ce8dc2bb5c47f50d0ef63848f80f75653db9ac6a0f47a4035129403e82ae93a067dcc8ad2748e701f6e30172af0f88beaeef2c7627caf4fe1ca1f80f783be7624f75abab48bf0198ade39e687d99aa3d21cc7721e817c243e693c49fc13c4160d6cbd1de7a8c73178b0c3c3318ceb65f0256b8b4a8579533f1581f13f804fa0d206cb4562fc2b7805601ffa21e265fa5997cc1aa03e2022337192e3649d91c0857b4edb5b7df140e635ce01837acb5c5fd37f042263f51a48b0e4736441559e7c0ecf005b8e35d43269e2010945b5aaccf926d7f2ea213c022892b5a539b0f5f2e62cb9b3b005edac059dadabf3f80ef67bf08f5a4261cd45743de83248d6b88f7e17438e027c4613718904e587650c75249c78a4c7ccfc15757980febcb50cb5c67dd54cf471fb05c543649ecbf9276acd33d2a5d607cce9ae16ce43115267f699356a28796f5658ebf835ac077a040e044b9bb86b7f78598d12ddc705f99ea309d109a592dc4996b594aa352a923fcc7527f93ec8f25c3ab69ce53ab95fec39e5b11fb447ec8050a7c98f63a5f75dad3cbcce5e9501e365390ea48b35553ca2ffdb869a8ff09b9d9ba5a55b9eab9fb8effed763752e1fbf4101deb93af73478f9ca9c4f07baa4eee6d49a653f4868f7888e8a02756c11fb556f73a6eee2b13e3cb881d6253ac558908ea6ae103d8129f7d00a241ef5c74f8397def1b5748f7e0deb92bd0d32b4dd77ffebe995a18f645fdb44777d5bcf199eff51e7c7012d558c74696ff5869e23682fa6217aa680b95945cd68cd317fc8b9e20a9d3339eb4bd7673d3c83a4fe57a332fed135cd2e1907fdb4b1056d987d17534d406a9f8981a99f2ed539f6f178fa48e86c2d5d2aaf5f675f2bd763557eb6f5b58b352567c00e5fd76497e21e3c348f9335f614b5d93d38c1ae50debcbfb616f8e4c7645ef2e25fa97cf29bb1ade0c82ae06b66db0f0c39f1ac7603e49a57e133d43ba7f0de69aa1e0a14acd1183083fc663bbbefd9cfa9fde539aba1572e2721767c707b491f586a286b9d7f3572a8afe3abe5f823dc6ddb7fd6befde87d98f219d68a31173ef79a27aef839ffc97ce4a5918ef9f36373b7f39f1747653b1da15654b6f9dc797afe08d6b756e72353b75bede633c71a940dfb58c1fa967b3d7350967f6e37b9cfdc7312948599f81594fd1594fdb709cae68b96ffe478acd3fa9be56ef7bff79972b773ae2bcaddceed635eeef6ea7bff6f9fbb9d373e3731c8318da71c50578c72b0bf2341c5cef9eb7a92c5b853cc3ccca01ed83b976f346ee90d7a34963e90e81c0e2415a340dabbdd04dfe657ccf557ccf557ccf557ccf5df25e67a7bc669134b3799b10526f9f7470c8d49dc86ac27ddc24ea0ede9fa7b2ec21f28f42fdcbeab08a790d9df532183cbf6a208f93709ee480a0b36d002cb008cabc760e1c8d6c6d24fcb2991d935317f871c0ea2bca250561099ec0dfae2c6d2150cf53fb2b44fed7bf0935abab424bf55f89f3de48bb00f88ec8dcf8b6e74dec4f229c2f9875c6bc09420e769c8203be86ddedeb8d641159e2b7c69741c4286bc8b73a67e438be63c6da15604f0735e211608eb4e023f041e05bc87021c90336814c4f803e42c45af98abc2c29151739062f53dce6d3dc23d4ac9cbd4faa6395fcf640fc01963ea780fdc0402266353f53e323f07ab7b8cb0909be199cb99fa8ebc733f907b31eb2992f10fb28e063427701f8f3199f3e60e72fdfe35298da9cf075daf69cbe48cfbea536ce341b48ed3755af0ac0c0e5bba6f14bf8eccf9ca12b4f34d0edbf5873e03c359da5dcec918937145c1f33cdd87504f87314de484b61c7487a07be7cc671526da3af3fc10779ae8d496319f03ae6aac33917958ee07525823d7c4e4be16adb122ba9082ab706690d0dece2853e8da342c3ce8131d643a77056d8bba7c54a7b71cf45d72ae1239925a4bb07fbc88b704096615466f6a2fb7689dc8651dad23221f3696d082b1444187237b0a1887a9be159de5e13ecbaf01bb3abb43dd4c3d90f130f5f60aeaec425968ad349a87ea97e23633e7e014d5c295cb40ca1a1c6395257996dcdf5f6fc8ec1756be926a9cf31cddf2ed1ad33c758e95e8d760933b411bbba41fa063ab07b3f90a63044ca6fdd7030276766b6319ce81c641c9bae69bb6a1ae477ab85ec975d41e3e0c04ea277ee4788418e6f5f0eebaeef734fe79dd3594c5528775b4448272013b24009ff86524800f43b075ad396a42ec80ec811d9c155d3ed4f9c875a93c67e3f5f0a0b149ea3ecbea8dcbc7e82de21030cfb9cfa398d321be5d288bd2e765550c0d6c0e4b267621067d6536f9cb6b7ac9770bd71842bef68c5e03fe88914e6429fcfb621b449722bf3f46feb93a2e8f93e5ec6b6d8a7ba9333b1e77723e148f21e4d89d51a071d417f67cb0e4cec20139d8865a3be7dc3910fdd70d3076cf1d889d02d6a901e7e92ed2079d7387eebff3f382b4ff8619fe9eb16089d7f513d6eba231abcb949d62a74e615fc6f8fc7b24a8853c0fd571d1f23cb7d124c7afa80db1951b234cfaf19175a8eac5bbc47e3649dc9a7a1b4f53f87116913d71fd43c78fe287611d2ad5257b4ecbe1aef1126ef3f718ea95cfc46e9969f7ccbb7a7065a207b57944ce336acf05ae7e22badbd9d5db7ba8a5a77a127dcf24f1510ffab4efc5365c5cc752c805136181d33ca9f1e5f5ee7574efdacf1d833d125a3b57d6ce48c7fb106f7c67eaca3af23d9ac67065d1ef430cbb12bd518ee6f9380f7dcbf36f648fe9f83c904f9e19685bca6fa12eec1093d211b42d9123a839d87cfcd8fdaa6ffea8f8f9e6c7fae0bbb31fb95042fff2e72c3173c667c418674f9f5bcfec81f2a7dfdaed56f3f353b3f9f401e5cbdc4746ca9f9b1dfeb93c529e44b1a34e9647ca73af672f5fe65b9dcfed369f809cd1b98842e5ed5fa1f25fa1f2bf41a89c51a2bc333cae0fb12bf74edd202ab5557822f29196d0cdaa349c47a18ee79b9d65a89e254b1c0d958a14ea260cdb25e23f569bb640b92a68fb5100aabbefea786bc9da194cf26662da0dfae671b418ec15088127d42000416f289ca9f3c7ef3e51794fdb3844fd1651a253885de7dc4e517a319627a7d2d6ea97251373d9da44666c0ee53bfd9d3b6d6218a9542a59a6ed85a5c6a97794d2bd4b5b5b0fd315a2d28e8a92e162d5b53c0491636ac33b12f8f82b153b09c5a7a0b67a91a942cdee24ac47fb70ab02fd5488afffd7c3bf65619e5c77e64f0ffbc6f39c818073ceadf9949a6b67aa922f617c43573f694be0049d5de4c647817a4402debb0994fc26810e489b26ff09905e656e0cf14ab6339ae6b961deaa50a7e8b9cde2b4f9ca3476593ada25e5ae05d457548ef2405d276a3c852ab064585b8bd084bcd894b68eb46f0761ea402226dedc5df4aaca83e2bd564cdb51a33c53d6b666698970297c6460ebd4fd09d4cb9a3854a7a72e5c0f693140b305670dd97ff5a93dccd3ab2fa6e1031f4ddbb1b1e41386b35feff0aea4603827fb6c94cd754bdd58cb7568b9095e22599bda64cf37356e2a68900a5e453b5a87d6c1963b17225f8066b0badc8ad94dcbd64f6e6ee9a792502577ddbe62b7305b196d3d38bf5cfd63984bdde99c53d4b82b6d6742d836a6fcbd7a6f6939dd53f83cde11b425d51f142237bc88f225871e604543e450ba4361048cd7b9a92b67d454caa9f525756d19433c90a533d1516c9ddfc43af6593c20ffa6edf35900546e17cb5039729e3b6771e9ea34a5c50cf0de3486b99085d167a291f521ed2d613a779ae2d60e9f13ea3c69aadc4b26aca2bb104a31a12c919684913d5ede3f776de9ad901226298581d0b5d0b9c07b5f8aa856b5cba89ba2eca2d41ab888be043e3d3c1ef4871e0a5ca07346f21152b7683fc72027d0f92b175d43f41914000c280fe31dd0101bb9d615f01675c53d2a29a91c503dc1039aa3984653e3c85ccd02d01bde5c5d590fe4d306e93884b56d5f06b2e7b9413467b47f8e80975655fffae178cadac5d65dea120e43040955897a70e4ce16096e3b9cd3143d2f4dc1b1f4b68756e3846ea76c0e7b9e38e85b1b73924f9b4bf434436ecd35d0ff158c88ee42e94fe8d81a8a67a54397b244741b0f95f5f3baf47012efcb00ce680adb1ad148e6ed499aae41d6b9dcd9517dbd8c8a04f4bb05a5ed4aefc9af5c495be2bd4274e328e520a45389f64bd93ba3b587a1dcd318c4ae66e7fcf55cfcde63761ce5533ba213bbde4765726046653ad0b624a1d1db71a4e1f2d3c1d4299494d3d7380ae5f01ced11b29e405696bdcf8414691c44616bd27e27e85c9cbcf5e8a7d2e757af71fa0b40f9ca20ff36a5692f72e74c21ad88fc8eecfee91cd170e3603c1197ae016728b5c385132e1aef810c63ca3b25a19350f6ec0732d806737392919d45323c20ef23f3495361a4682cb363b12a3e77075db169eba72dc81d592263bb20e7f54056895d16a73f47e7a849435fe93d4ad6f0c23294cbc82f4ed162d5b34c635d0223716357fa901e04670b7fa0f290acebacee3ad6d6732bc018c9e3b90530d2ea61d0cb2f4d2e3f8b4efb70ccb2a17ad9e34dbfbd400277c8965774b27e25015f9ca6869df333a7bc7d6d0ede0b339c4f6d5c3c7e354af3439f5955fa1b7be96e1daaff5aa91fd5502fa330edaf4c4f45a99290e2f1632bb1b50c7551d61e469b53726565f9083b8cd8a3104e0dfdb48534c2b54ac3458ce42a1ab17c98c171a88b4d9b223639d2778d3305557aeb0d586decea12ee1a7daebb37e87a2eb0ed18cacbef8049aa45e56aebead6d2a064ece01a2a910b0714a855a990cc302044fea1a6c259ba5a697f7dd07e266bafecf76cfb8adfc7d667d93b9073d492aa608b6ed7fb6099bd175272a84d19b6711ceb5161ea20d5a7e01c23f796ce438a2a5d5a984287a7a98e40978a4d6237801d44cf4587fc9fea5bc4e670064be555d394a9aa0dff3599527fa3d12d85d6fa3e85b3563938c1786ec6b4cf89ee0af67e51bb88ad1adb729a07a9eed1334a6db2f65b58a275a636b44674b094ded28bf4a150e723fa0bde8776cd0afcb3b484ffe0d27447d15a55d82c7d756d1a90eebf7388be08a540209b37568017717bfaaf7317d2aec1a63810dd2d9ccfa78174e24613d173e4e57ecc9db429af4a53dc19aa616adfac59406f473f7b908fe7b6a8f1affb49d68fb21f6be270b4a469e5ff32b8b9d11fef063291a3e3a277cd4798a6d713193cba5a97a325bd175268cb2035fa7c27ecd70605ee19f4be9c75345aed3e0fba6df02b8e9664bdb707993d796e0f93fba11f65ebaef3af89e8b85d6efecd6fbfbc49da9bd6d32606877b618cf2f3ec5c3e5e13bdbd029ad973fb7bb92ef0958c67b14fabc639611ae2a6ca7f5997de9d492fcbcab68fa0b6add0a76ac8567a2d26baceafb1621aab78dffd1a2f06284c463f36d9aba57e6ea2d3179f513b489d07daf277fbb819e69755af8edbf400bd5a145edf067febd8552ce339ed750cd4c9a0ab507d002002140c7912671ef68569a887aa784fbd7edfb7ef8af4f55af0594cd0a8b5f762516c8d4ddfafb093e9dcb2ead6d93d545972cad6cf1dacbfd2dfb3ed7baf6f00e912e8c565ebc236548c2a748b7a106eeac11476d8c1d601f5b59da5299b59a0f5c755fbee8ef8a8adf39e25684cf4da3569bb3f162ab2068c5b11e475257ca32eadac29ee3d0ee6b106742723fdbf2594c38db3cd1950983fc40f09b4e355ebb4d63c8bd83286c34a3f4abd679e6dc322e7cc9bab43a9dc8badabe530a935d7bfd3d77c24e3c5b4a9f928d0b8f1c3c76548ce1eacc9928f642d9ba25ff4618679acab2f56d3e70dd8f7ec6e202b1bab5fea2f3a5aba769e94947b936b9c000b447fcacc41d97bfb226f06a78dc92bbc19b4b1dbab6cc7193535ced25488075398a277eb93615ec1b04c9fdcb8b2b6abf0f7fe5d690162b9faf075780d7dca601bd5dad31f4e338077a6eee2c9b414c66077d3cf52ff0fab6ec700d35ab97f8bedb2d1a420172857c691e7e4ceddae208656702df8c80a7eabd613d33eb382df7714c66b58f47b594ec06ed0b78e6641ff23e8eedcf1a99cd3c49f9b4fc9c9729e8b0b533f6d4ce1f9e7eb056cb4113bb75fa553d684810fcf899f6fd3549e33a4af65bf5fa81e53ad4f569c3d8b104ab19842a25ecc71f338bd8d39d6b429f6fbb0c68f42fbeb3163b034756d57057170471eed824567ad37c661df6ae5cc96afddccfbabcf20d6398ec6f4bdebbdc28f5dc72f266ddd2ba8e9aab6b1e81c96dcd9993a2e870aababc7c89db3cbba2fd964f1d109b4c036e63f3d9fd9d44f5c95de4df531deb3f5e2f542ec05d41c96e46e03dd00b602dc7aaf4fc92eeb13e35ecdc0bc94c89f1a72ca73e42aaa97fa322ad243269a3801a8a68f8857d4d82775c638d59e8ba52bbc136863b246fe067ededb71ada05560d903f13a17b4856b0cf194c8890aaa9d3ab50fa6703ab8ba3aaea4a9ba679e64755f9dd7523b67e8c834d739798e63bd0579f7212c25e4bd23790adf99babaa4b1ed23fc8664bc0861b0fc19c03655cd51f8e9593c0a94a876200d21e799c20e72b023188781ac6d20a7c4ffca8df461db95a7f36f3d3c7617e392385a660f1c1cffeb49f17968e3a0eb0da77d53f816b59ff4137261da47d718ef21f7b2d73eb8503f01307d71fb18df476c68623bc7d0c1a308f270350c6b0e9f0136383ba6a20739febe48dac70d646969f5cbe37cd9b9ec9c01d20ec6c64c3f37aa8504fa2757c68bd47a6aa7e08e3c4b56699e44254d15fdd05ce00def34c3dc70f98451e07276378146335798b3a2b17e5bcfcd496a2efacad62ecb83cc8eeb828c99d354e35a093a86a2a074536d2fc90d4e3d2b40cde1ce34c64f0319d6d45f1d8bde380f94571fa17bd971cc335347ffe87337f43f553d977eeac63fe93ea1be2a26f978cfbcd37b6ae451c227f6a1d5a92564590bb4cfea01e9d2a69cdef5fefeda7afbe3f50c4aa9939cef4ce35ad7c70b754b1b24ab0bd3182ed50fd4cdead9aaa15d5f2d479875a5eb39ab6c435fc166533b5b9a787072e1c9b3cf7705bcb564c57302b5c7d4a65ab1fc88d6b66aec6acb1f0ff555b698d49d7be583f5fdada90f31aa5993cc1617073d94ccfddfa0de39f159b0ec1d907dd57b271abb6a3be3c1f6050a340efce6bc82ddbe56a9bbd73df7a21819db9aab696bd0754763634c36f29d6bafde1a89e694b6ab924ab3a6fca17d0638df697f7898b150cde6d6e344b58bc3511a1af8ed6a3d00058b46e6c56bc7361bb9be521e84630d58311ad8574e136a3ee37a3bf0c74c7822275b59f8464ca1d36feb2c2b7015ee5ba3f09195030ada9c13480b9be3bd99246267a91c9c802107277ec64d0e9f1251f65ec1357e1f6b14661f05618de18a42d1bbfda1670aa539f3d76be1681983f9981735d2072798cebfbd7c85672159f3927a415a5b3d90a5cb48c797b0e67963096d724f9df72d90d0de87eddc211defbf4d5af3a92c5d622c003823a73b87ae4fb07147147a37759fd41a1922767c7e819ac34238d69cf7d7d7abeedbbfa9f6eec83c8e2d63f842dafa783db95eed532453abcf1fd055c6b0bf2ae4509df63a4d65fde873c23514ec2c01178c697e58f207d37ba49e2e16df570dd17efda9ad37256d74f5e1d6d6959165b0c9f4ebb9ab739edd61272635a42c675a181f48f589ed1db5cfc21ab954b5fbcda5d7e5cf8ed7798e5c3c66209fe40e6f492534b3a97e5872bb445fe562dba014e726df0f53d646d05390ac95c688ae75d0d278525359ff7be6275740c2d3b551c3a6635ec780d1545a3bcd2afb99f699783105694bd6ca6362c4bc37abdaa7b97ad73c4dbdb72bd0c36ef088aca6968b7f78fd496170808f1bc9a7831beb3f805b538501564b8f410c76fbad8ecf6f902f46d4359781cc6f508077aece65f19f222aec101a9fe24f866babda1621fabc6f41ee28c524a4fabbcb5b86524377af311ecc3942bc372bad67e24b6c73c6bc973e031dc7edfa4c6183e2cba0a74a5369288d3969aa4ec773137062620ac7ffebc2380ef14056897d7cb4f412ca3246fd23ce95fb2503e9783c500656d91ae4ec0ef3048bf23529eeb09ebf07925cd9dcb3b72287337f1ca2b33af203dc99bb19cbfe82df631ae082dfe33ceebcdfab29f9635cddaeabb797a8a07e8669cdb2ec6b96bdc690ff1bd313e6e69d56d08014afb51dd4015eb5299d077173fdedf87d636e0ba50ae16fc6b3caa747da984f13c2a4239886c6215e81fd8402b7ef041dde29910535727b986cbfc7e7b596e3047c1486e4e3653da5ed7e68fd5a8d7ce3bb6cfeb8c689d5e777b75f813d0ff5ce718ac7aba6df8b393ff5ba5db5ecf5b06688d5377b575c007cbaa41f7f5b5f8a595e5b95db2ee6b87b8d1c90b08e2b5afb95ed4ffc3ad5f941b5fc8aecb54295f8092cf9fd8fad2dad5c03e43ce65db9f316e9482ae55c28ba3617bbef2ebd28b1c1de81310ef5fa9b305651c7d67941427b69c798aef832907b941b82e66a45144a14231e72a3544a9d6f78605302f664398d22d0dc86347f5ca6ad81b4cdd098c9bdc8c64fd9f080cbba89f0f39d400b00fbb1146316de19b73dc16dbdb17be766a0d1dc3b4a8d0e7fa366fa7b88d794d74318c594758cb58d37781a1105dc381a87656adc7c11cffa80697e49a8e1326b605e9d57e1ae6dc0f5cd1bf390aba0022bbd9ece71f29ca63a750269ef0838e14b61880ddffa4e0a9e35496168cbd2057814741ea7a896c3b5ce928f2a72e9e75bfa786ead860734a118cb11c51ff529497bd454d74c3150d93a3801efb92febb9254b9c35e1a18d8fd7c58a2808d9d71ef86826e03f9a3a2b0d8fbaa26ceaa78b35110f8e2f6a28d8ed51d3dd57c707efabbf66c85fbb966753f29e54bb5f420cdebd753ecec7315edc713e15140f85dfd3bfb525537e6b4f3d9b3a8658f8a82bf69c0028b097a3aea851ae0dfa4c8dca1378972a6b5b8bca96eda0a782cfbdd44f74cf9cd7c08f80bd21917eb42fa1ec9f56adc151224fcb7d39fd9f8c1921b7b10b3ed26d9d73ef8df6457989eced38b7e29c275be377cc1d415b410e77c5f9631a146bdad44f5b2484184032e0227ab5fcaf7f195605732c0ceca577c77da88fbfce1c7e0ffde1348f5d8638209cf539e719f8ce29bd34a5b904ff2ed43f9db0d954ab7c993467bda99d29ed2fdd0b69aaefa27796d53eb0d8f5b714a3a12f878b7384bed3be790724ab979b3eca928f9a1a973ae72bcee944378239c9a1914d8d4b2d1b1bc9926fe927a67c4b4b4e74c469ed9ca17bf22f6f758c904a15f88e88cc77d2b9513125799c1f18e28a2a076735c44e53047d8c312fbc94f638a75f0c387dbf74ae641c7e8ecec58a5f783bb6144795d83696313c93f144509ba3621448fb2c9e6dfb003c00e45da57b937e6a625c09453c7a39d7dee88d5ae42bf7e3baa6347f5dfcec98eb61b58cce57d22796f5e1811da8b743dd2aa24b9e822de206187070537882ff6e3a168befa4344e733def0fca1b48f367d539a327a9fba2dac1ad0dba0fb1f7a5b31960b2e7cfb38cac685fe8ef09bebc2de02aff54ccd167ebfc11c9daced2db315fcdc3edf3f4fb8c57d85faeae702ef0aec0590cfe03d318fab6a19e4d63d8beb2d12b64f76dffd378f20319ef1cf984d3f584ceb9359f00fe1dde5b13ca3fc98a33991eb3b0de30c1819ba4e67f12fb6352df517f41b4efca6ad7e99a53c83e8a306fb6c4567389be2c877c9771bfa77333904056006fd3445c105d839cc583bed2267a160aed92aabc37db18cf912eed4dddc59497f1997224d11cd2cbb5cfc8043c740d5ba0b753ec72a7296253c041a56f15fa80c9381e5ca195b31e5b348f40e631910f342723c5f7225b3c92ad0d226bb3ff0a75fa48c79747ea625794e6d5b55c35723a1974d6442e4ccbfd5aac35a0577ecc7de2df92f6e5fb087c051bb61ae5fb624a4567418d98d48dfc792b7826f87063be58851b9039d0a735c6f2767d0cfa99f7907397f296521ea378cfd0fae5f681d66533d67c93f512da2bdffdd0976a409b3fb46664d08ddbfd9e1a82b7d8c7ac4b6dc80392c83930dd0e7a9687fa647d75ce0349dbdb429bc802a61a895086dc1553741971e28af72abc37e98f2ced6786ba8ef8f5caf6529df5459f1f722f33e8b1ef99eb3bea0b60ef68fda187560a954d98794deee27c0ba639e3689f3ea616a91a032f3d278cf6cb07610c6664f87bf5e4bf206fb63a8683a35c1827153fd32e3731b268fd9cc583559a7f4be4118c6d55cee806f9310f496c4b3e063f3d6a83fa621aa2670a989bb1f26b31d47833f3c0cada057c953dc573646951ca1dc8b88fe2dcaf7a31d5387ff4da3719e286786653bd90ef6ccab3b726f6106a0e37648dd1b356f951b1a716a8395cd2b98ef3c22e05b1bc265d53eada093abc25ccf7835e2fe99b2fe6f099a7fbd7d9a3fe127043284fe5735cb306ef21b68fd001aeccc80f94d3868b0bb82dcac55a695b54ce5fbbb375f71cdaf7713d62aabd9e25c36fc071f9e171571ce71ae6ed59213dd7c8179bb68c1776855c3627b77b71d077bd88cb15cec6bec245fc42a57ec15af93754bfbac7b733c0ea1f6aef39f49fc1bacef21b247c8daff79f9de214f07e6485d89f3ed89dc0ab489e4f39aae278cc392ba342fee1e8bb6dd55947c78efaa16cbd05719a3c7f5bc40d4bf782c7b97df1f2dd7f3e5802e6ecbee68f02e570cbb3e86e4c6247375dcf09b8836d281732dfa3cb6bfbfbcbbc84af3ada733fc95f79b75df2187b24e30f61c33df8103be45efba3a66ff562e9bcc0846193636784f7525f93d0d9017f76f85d221b8f736bd25e8dfcafa7d1e2ebfeb5942fb87e1feae0459371acb8e61e1d1bf04690615571a7fd5c8ce8b42fa500ff38aea32bfc1de29ff9f966691ec982fb9d289fa1087f39d165f2f2e3cae34a256330a21c3edf6ec7249f97bb502fcf7fc76e20f3d89525b29ebc643d71d41717f735affda958862f0aafbab47564cf7b25739cd299e8bbb8c8f699bb0bc9437d716dbef5689ffa0a765616b65ed673b73fe4233bcd69aa0727006c8bf0fb4dc69f10e1d459fa156e8cbcdba060fc34e80ec273403ca2be7636f563fcdd956f6eaef3dc37eaafe8103d3bd12fc3df1a9f1a1bfbc76cb56b7cf9dfc61fcb79e34ba3f1a9a1d8c18cfcf5e79f9f1a737fe7edd16fce3af87deedbabddf668ff087eb737feecb49badb6fe7ab5fdf2bbb35efdcb9fffeefc707f47f676b6fd7df3637df0ddd98fdf927b7ef3d7ffb42ffb1f337af1f6b7b31d60f25a7ff5af35f9bf3bdbd93ede923f57b401cc4ff9d4d8fa9759e38bd07c16844f8d60edce1a5f5a02077ffe73e7c3d3044ee0fe8b6bfd17fff4c6735ff8e697d6d36feda7a6d0e2f9e6d3ffe1842f1cd7f8d4f0b7ff74fd1f8d2fffb2f176f6a9b13d43835e6687c617fee9f3e7cf82c07f6abcc20b9a4dfef9f95343c1fe6ad9f8c27f6a0c56ebc697e7cf02c73df1ed96f0a931f5ddc69736c77f6ac8e42fd220d5258fe23e35feb0dd7f3af3f53fb9c697ffe63ec17ffff3a9f1953476bb9939e4ad13f23fbefdfc99135acfade6a786b225df74dafc33d7eeb4da7f7e6abc165e2f3c45d7c79dfcf353a35bf37ad1ffb1f318ee69b59e5a6daef959f8f35363929e0b11af9de5b6f1a5f54cfe5ed2796a719da74f0d09dbf32d8c853c5bc1ff475bb21ae1cf71f827199bfff993ac446ff603a682cc4ee3f7e976f663fbfbc96ba2d6d6fd7dbefe7dfbc3f99d61b1deacd5c6a7c620d8ac7fecfeb0775e66fd473fbfac1dfafd9bfd633edbd1bfd5f53afcebd5de395ee3cb6a8ff1a7c66467e359bc7ae05feaccdeae57f45a792df978b68daea62f8efff932dbc47fbfcdb6bbababc9575777bcaedd3d79dfff36c2d6338c0034d95f35beec7eec679fde3b9ed0a9d7b5fbae3999af7f0bd62e3c4a9bfd20df35be34f8dff81688a00d742d924f6c6d0aa7f01d92e9cf4f0dd7ded98d2f8daecfed46e38de7c8584f1d0ce4df784614fff04008093d37e8dc115ef52176e5dea91b8442bb1716ff69c981acd242e65089ddec2c43f588d26e8213841874441195b281163953a4bfb3046d3f0a0010c47775bcb564ed3c0af061d44c0add067df3385a0cf60a51668034424a92300c853375fef8dd17f7ae7eda9243243ad04c63c383c38092d55d46ab04946014640c95bdad3f7f838315da29aec282ad74707d9f25986f6f103984e52c50b82de03d3930c7f4dd21515e9808038e037564ebede5775f14672bed4c8340d6c6e252600e7d71eb1a430fbddcf6213c380184d6d54f9eb3b8bec6f9469d761d5036de52e4ea5034ddb788b2b40c8371a1320bc15220b6d516ca9b297818e9bd44d12d31b44d43dcc4c90fd70978b760ba2b7847e2d0488ac0af9c0a94705d595b3aef4580ac6000045a5cd06d1624d720c10420d448d11a1123c218c2b35305cc64bcc8775c4828bc42017e4abf374c4689127c38b2d66e8b18c09177a609fd9687fa902c9c72660c3128e25d9147abec7b2210aa912f2aa8390c93f49e9fae8dedd4be5c2081dfb964cff59707a22cb9fde1c65c691c6a0e2f2341c56ea06d474d65639d79cf0994b56da8d86caabc134c0f64ae463ad97f1604a0e99ee79783669aacddc92faecc33ac43852e3b26b706f29083eb6200e530312decff3433a7106ca16b61a26aca3413b0a46b2067bee93cc3b570bdb677fbaffb81441558671505a9c8f842a019d6529860451d777a7be9c89d0d5a45c0bdcad6ce4d7685029e9d6da8975071c74e5385e0fdc8175f4cbdbd47cd3180f1ba7122746b3ed15bf3b120ed2cfdf4621a0afeebe79cccab7619e9646ed4cbf0986face419c748d73853573d57ee5dcf7d8931255e1c595b5c1b5155851454b6bda360baa060e99d845c35402198822c0b62fcd1f52f6da78246fe5d524c5a2748c152f05a0bdc0002504e53f44ce171cf650d7654003deda2f3d891a545f175cce4317b87af5c2fb784c099b33f24c9a5dff5deb01292b0df26d7aabdf6dba08aec343cdf2219f5d0247a06d2f4db044e693c4925c2267d98d2a4602acb33608ef49eaa22adba00ff8c85dd2549a876e264877fc7e3dc87fe302530d407904de9d3b4f0f2ce44a39be724fdc924fdb867d4d48e31c83d2368da2ce830262bfcd504e559a76149316baa0d75809601c4a432d8742d1354435d58ddca7d02244635c089ea8239b30307e6149d98d9a0c69efe3b264b7822728d0930b33e8873927039a5ebf7ce3e4cae9f93ea4f3aa993da7f0969032320c047c9897ae0802c6088a3c9ed98329ee50c05182c44faf4732b8b13e2fc587ef5d4efd3b308e7665848067b28269dcf24e41e99403d2d20bc18cccda67671e5ce0e8249fda16705d6c6ac4a88fc7536d5ebc3afb329fa7ce0d9f430004f3883ca74f01870b3b8809251bfe63d089495261931105dd74c042920f4bd2738dd2b78566a7d2b9b5940f7ab3911057add748ef40e0fb6231b90ec61d0ed08a631382019fb232124bf6008f0d7251d80023ffd845dc93aa0beb6b334d27ead3f66204ab9955d112985fa93c72726c3602f82622677b37640a87d4fb19b6429706fba7030047d25cf8dc6e29b3cdd5be7162464a140f59c40fdd7f8ad574deef541055d4584e215490e31c86ecdfb04046bee2716d2f7ad8db35279533f7db70c15c0fe1ee37b81c484054a48e887aa54491075eb4f80045ce51093df73b837f5933514fe1bf499d02f40df7b8ec186aaf7410f7303d98b7cde3e1451f59503101e84a09c837ed88feed735f5674ce748c63bdb00f08703f297ac60aa2c7e262630b21c020932c629dd91fe3b6563e9b631e45c5dda0e7a31b8c123db1d8151bed1b1575f26537552bb1fdde1f48d53fff8ee478980d3f95b282b465dd1880082a198aa7733df0c40c178e9f8a267ad2049d58358d4844f8ae67c5178f5c36447721ec8da720400c6b77dab3e37631b0bae4febf089fc8bd6d623930ec717e5ad2ae9b0d6dc4640a0ef9b5b294c52c719b950b6666340e80868b0cacefe0062f33c59763f3806b153c3b9cfc8b5b236f473c7edbda09431b8eb3b6302b57c314567ea3d09a86ac1b352fbee42f4ae0868cc0daf1bc8fcc105bdb05a5e5040edaf073790ce23e1b431fd4e04f6fb781d4b2ed41befd1d147457ac8078f4facffd400b760248f8975a47bc6437fa3f7a67c0aa11de68b028ac6a2ebe151e0eca180154007864b83eb9dbe55dae41f05941dda3cf8ca2ea9d05d0bed998afbdc808735f7b30aad18c0b9f3c1730b925ecde6105bb2b67765ec2149c1e4dff9be034ac2a10750645000fa18dbe90549bab7fa73411fde07a4fd18c0487a8e3d86689d4947ad6583cb3ce73eb0882ccc57d83310433e9ed0bf1c4876077d2d8be5463a6175127b859f2901ae7f8c5d574d18f078fdab842880d147584d7a58abf8d123764925816e6d5f393b38f247c650584090d9e53feb1c8763fa5ef28faa18659d9c00fdc4d11cc24abf6a9d733f22e57de4338f2c44cbb564711fc09c3695443f8f07164c48778b7d782c44aebb90a0b6ec5d4727d002db98bfd78eda94f5896daf66c93e1e23a7a4a35d799ed696511198cb702a0d3d143092a7d78f7b33ee933a639c6e4f86c0fa6f40627c3baed5f7309319d720f7ae15ebbe21bc7b986e006776bbd2975097d4d2be378edb1d8ac81787d36e58dcdf57362870b7d604bef32c598598ffa80bbf6d6d5d096dea619bec6756325575a5ed01983406340a73bf6569610bd2ca9a889e2928d8e98fe7968e395bd6ce8397f1ce5c61ce9a7c5d4f345150ba8cc48e72e73c78e909239db4713affd6c36377616ea2f6937e4281fb4ae423dfe45bd0e12cc81b96b854fb18dfa71ecc6606106b4bc158b533c8841000311ce7784c07b204e4b80368df184009ca63b0d90fe43ae8ad398c8d9f7e2e05be77046d6742fee96bb29efacb54aea1b4b4fa9097b1650419823c687ba551604cc8a1d7f656535da77286fc99a1e268acbffba2979e0b47386d4c8131f78616ce5f5c196f51378c5f9031ec9b5caaedfb0153de5052840e6baa0e400d2b48792db9881f999bf311ba579cef33a6f9e907249f70352073dd7337f40131c4a2ef052cb30144b006b9f63d6055f54850c29c0b68579d1c1736a05c6a1702c9ea07e9301bb4fa783d83820c24e77badbeb0faa581a0106f2d59f19c40ed7d9c6ef651c4dbccbad2f59c55b6c111b4856b0cf154ee9cabc0b94613b169eba7a5294867abc7d6a63a843db1cfb7d26eab2b7fa4addbcbd6fb3d78af7cacbe2f87c0de1f0424ee90b967229aaa1defa8e7bb497c162c7ba782603ada3be1d855cc21b1a71f6c5fec239ffa54d0b8ea1cccda39e1511c8f69cdd5b535e8bac33b5367b491ef5c7b77909deda276d5d96bcc446734863976824eab12142e9c87dbbc9f8800099e754681c65986f23dbb1e687c73da1f1e66fd656cb399153544a9f70aa67ee22d6a5f5d9c882c9aeae7e08f1919444e7aed417fc8a3a00db59b001c3511394b6f7b689521adfa30ddcc143a7bb4a220716fbad49acada792c74ceef02fdecf1de4cce219feeb5458dd608efc97c874067500fec04d2221fcca6e0d317b1e38b2f53694afa702636ea2b0578db5aba245893c83ec23bdb0060b91d2550692f07325ea1a07366cd85a66b4f39a0a04ddb79e677b6deda8c7c716c1aca2502b2833372c21f617d4e888dfb750775a2a9fb4c63be237b9d7cef30e698d3fed6d7abeedbbfa9f672bc379344200b734a73076f640c9b9e5c2f17bc8c0839f509e3d31add5f0f3c332e8e307ff439c13b82767e93f185f18c67c899c9ec913bc934d96b2ba2cf7da0c92982506e87d964facddcd538cfeeb11399eb10923d94ee13a38ca97d16b2e6e1ded1efd124b52e2bec8ec7c7eba4a35d5a8bac6c51535b4e130c91b238ccb28c1881ca14b00dcaaec9f7c394f621ce952f7beeb50e5a762d913def8d25c584ee3f3327cf6601c9fea01c7bbb34c7ecd1f9ee3118f34362c448975af5f3b4796fd64de1bfc8057ad82da0330590ad06004f1107e10bb1dd91dc69c6fa8f4cf4aeaa3abf5a79363b069fea2d78a88ef731183c80e9e3bdadf33c9a887b57e77d20f511cc24071f0883b44b7a6d31acd90300da5382094cf475a2bfe710ce3e6c3c98f11c74a955fe7b896d5e17ccbac46f9c53ab13831f135d5ced69e3e9527b196baaa486f83e8ee01d5cfdb41cc81bde09315f2c621ff7456c95009032c6c2ff92bce4ff0c19c8428a1de60916e657c675c305f787b18a02e054cb5017f9b56d85e3109dd5a11fe0de5ccd58f617e57246ebbee0f7501edf03a69ade8bcb218f02759b6fbbb3ad59967dcdb2d718726f4b89c7ca759ab2b5c645f846b7df1780c8a6db325e697b4b3ee13a184cf9c42f55e39d9ca5b973c1a42b64492e6ae1e9a4416173484f6372c41b0250ad0578604da52ec969baad1eca929ee692d80e249aa31061be5172d5727906e47d71dbe398f82d40be3cc414174d3b5a80a7d85e41de42ea7b72c697e79190f67f38216b8a543f9734e086acaa425fa2a402dddc318f30ddcaf34aead586170173df536751440690aabb3879941c03c844e91a4cad7536bb3af57c200bb0ce48e0e680959190a9d09c92a003b9320cf528016a0e77a6317e1a00b1f774076d7c68ed07d821b47d0c3ea2c2b577a6047c44f7d2fa43de9a1ce76a206d1d610a392f9adefe81824e13d5a895678cd1d2bede43164ade3349da1d92b38724e914dfd4d2c7db81149fd5d1dfd8ea56e39b0c6272764ac8aef6879eadb781903d24670f9f49e509bc2b24678fc8dde39acf8712dcd7a9f72920dd2d5d835c2c4f2b6acca1cd3fabb6271dc37b1789d2322163cf91adf13b067d055b024fecbc8af307f2d722db781112cf505c9c9c73e831a4492cf9fd3fbb168535af9edade75e6f08d921be410c0e69c67403a2e6e5010e69fc931a1f096c6a0ca655258fbcf3bab21d8f8b017e4145650d13b8dd7e2b386057fa5901c507989d6ce1beddb1a09a725e45366fbe89941877753e77cc5fab826852e3d2b6bc5ac6be44898ba9ae88852fdf845fdfc8d1c1d232460075c5859daa055a45b646cc598803eacbd5fa0e6f06c19ca11f431c6184835297eb65f6cf1815f3a57380e3f47e7628d9715e1ff45b9caab906c28370780fa6ac3773d96889cd1ee8f3e657ebd2bd2f96bb2351e7221e4613b3a5f499f58d68749edc07da85b2564effda446204d26faefa66355e30ba648777e1659518608bdde193d4ddd17e5c3231913dd07ec7d27186ec89e7756cb2c41cd197e4f305382dda6342e514d62fe60fb3cf3be0becaf95b670fbda393a8b4372db4232fa0ad97ddbff6e064773830c716be944170d318256affb410ff2ae362898529cfe903c1d35ab7021526346ce3cbd35b7f5f6c595a5bd294cd344f8b13f264d8e4ffd05d1beabca8f122f641f4598dc4004b9d2d2184951bff1401e7a545674f664ed9802d135a40df2c5cb8ce8593a17e96255fde30632efa1405a119d6c202940a61e116346784f89cf48ba0ce436b6f4841472d0578e96ae6cac002faa746c74a624eba8e9eef3d6e34096f65657dc59ba14913c1e9c00e43bb93770f55360ebc739c5c2079ca28d233c52174b91e4956104a6c6af52578dafadd6595372a1dcafc5983771253b12d2cc2ed4aa94ed23f015d8657afabd631c8f47c159f0aedcba8267a6f1ef6489d607816ec13e9637ebc387bcbcf83de4dc0df91d006339de33100b95f6a8a9ae99b06be277dd494c197dee24358fdafd1ec2fc692c2f80f0dfb726e2d459014f896ceaa78b3511894da0a160b727b280b54eeffebc263a16ec637fb357a7e4bda9fe786885395b86fab9f2bd546b7dc1f3c31c853bf21f3fb826a888c494a59da38434942dd792f6e943ea8f6ae586b1da2f1f14a3ae26bc4ccd4f959efc68fd3722c22c91f90c319cb788f03d153fc391bc4ec5c862d2592498a5f58696a1c0d80ee4368ff421d11f88de1863daa1c847563327a5064e4fdc86b1201d4d5dd9b8fd25ab0f9281e38519dfe39630febd1c2537849e85fdcfc6201252d4ac6fb2afae4d633c37758573cee2d6d67798e8b436b187e4ced9d6150f751972e029a7d6d9a236429a2c3c3796e70ab0a638bb3f3cb8babb1ef9a298ca459897d7579333fed4863a5f3953bf10fa5b2562fb1cc873ccd80f74db06a7a92d880de808168fe453693e36d2f18ad82c1962f8547b23d2785b26b6d687c75d635ebfbc3deba6e75a6fcd5dc1db9825399af02920d437e3ba04381b53f5d6657ec1bad888127717be7288991afacf605d5b32708b45b18da50b04dccf85a4dd2c67a7267b447f5d10fbd30cc0eedca1a6459e7f4871d9ed2dc3c9caa8b3e839e4faf03bd467c12888fc50780f719a6e8ebf8dd8d4d2691f5ebf76fbead1b9ac0f23c1ddb8b2c79b7e7b8104ee90e52fbcc650c51787ccf7f9f9f2fd6ddeaaae93ff59fecafbed9287d823197f081bc7c087d8213f8918df11b41d9117f7c4b5a7e1bda1afe980f469fcbc946cdc0e427cf3d749eb385a7c7dac7fb816aeb95481ed709f8e3d4a08eaff4ef98c695f4ac135717cb9e877887f16e4c825365621993b6bee61bedfb132aed4afc0e061cb53cbc7d92cd12f59ce70763c03365d3fe6e0780c8ee51609d2721c485b536f2faa6b816bd78e1d5d7db8b5756538edb1d76b7d246682d3d77c24e3c544a371ad47d5de31e7bdcb1dcfea0d3d04be6b16fec8121bb152e67173d3b03c5b3f796680b7b6a1b6cbf15e630ea6fa39be256d194d92b8fd557f77e9bdcb9acf9a3fd65c9a9ff45beaddc03f1a5f9737aefd0ce7f4c9d44f475bee9dc83d291d1ade15d5d97df745e15597b68eec79afe15e7504edec92fefb22e7acb4706d89603f411d7cf4fd2a9dff16615aa9d8eae5734a0ffcf03c49f143d3efae726b7d1119a42d7d8543cd21b6a4948d487ffbff1a9f1a1bfbc76cb54b88c913d671602d67e029ffc24c4fbe3c041972f22fffdbf057ff5a93ffbbb39dede32df973455fcff88c4f0d4ac62ff0cd8ef0a911acdd59e34b4be0e0cf7fee7c7896c009dc7f71adffe29fde78ee0bdffcd27afaed89e33b9d569bfffc7f38e10bc7353e35fced3f5dff474c7bbf3d43735e6687c617fee9f3e7cf82c00357fdacf1a5d9e49f9f3f3514ecaf968d2ffca7c660b56e7c79fe2c70dc13df6e719f1a53df6d7c6973fca7864cfe220d525df228ee53e30fdbfda7335fff936b7cf96fee13fcf73f9f1a5f4963b79b9943de3a21ffe3dbcf9f39a1f5dc6a7e6a285bf24da7cd7f6e76da3cf7e7a7c66be1f5c253747ddcc93f3f35ba35af17fd1f3b8fe19e56b3cd773aedf6f39f9f1a93f45c8878ed2cb78d2fad67f2f792ce538beb3c7d6a48d89e6f612ce4d90afe3fda9295087f8ec33fc9d8fccf9f64157ab31f3015ef23f9bf59a78d4f8d41b059ffd8fd01dcfca9b51ffdfcb276e8f76ff68ff96c47ff56d7ebf0af577be7788d2fab3dc69f1a939d8d67f1ea817fa9337bbb5ed16be5b5e4e3d936ba9abe38fee7cb6c13fffd36dbeeaeae265f5dddf1ba76f7e47dffdb085bcf3002d0647fd5f8b2fbb19f7d7aef7842a75ed7eebbe664befe2d58bbf0286df6837cd7f8d2e07fe35b207e36d0b54836b1b5299cc2bba5d29f9f1aaebdb31b5f1a5d9fdb8dc61bcf9171ec5a01954cc678d657310ac5698aa65b78d587d825c7454069d107bd10765a4b51bec95a60eb6daa86cf373bcb503d6286986ff4084041fb10a703442a1b51dd57ea1909a7ad650c7696a0ed4701a477f9ae8eb7e4c81c05f8306a668eafe36831d82be45893694a716cee1a0a67eafcf1bb2fee5dfd04707ee0aa26ea69d3da818b3bc02be7dc266a9e60eb2a76fc76d65d10e04377a51c2d9d1e8756480f983ec647418696656febcfdf62fae8b86fd158edf4b7293151ac4d64de410a462fe7770e4a3f6e8ec24cdb8fd1514c54196d6b1a83a781bc13909e7a475f591073204a6da294d6b49cd20da4adad87290b519a91dc395a7a5b9cf6b0feca2b0b5bd67666ca0d51ac6e8bd97574a516ddbab15c7847e2d24bca43b36ec636b6bae2c5143c8cf45e94e6b9a1749851a967d887db921e486d41895a95a1cb4f4a1b2975bcb31a13756b8104776f1b9bd47ba54bdadd6a1a2a7672d463307b8ce1ded48f11edff364a2f308d25797648e1afedafde13c1d3ec073dfee00453f2ac005dd673bbaf724efff56974eeac6c63bcb72fde05f681a01c90cef328c0dc6cd2019a6d27c0be6ba80767f54a4c58c1d28f0747c0ab912e9d4dc1dbb8729416d3f11c7909ebc80d803e015256903e5ea4d38bead0e587ea5b764c6e429a5f5713725d02adca8570a0b4ff93cc9c02040fac0569284df97126cd05d6c08d8b249e67722da42f58646f9e5bf3295557cf512905195f70c9d3b51438416717d113a3403d2201ef23484f53386dc8736e4d718537031ed24ba89aae5dc8dfaefcbc07ba2a22e7284c27ef80fb10e8a586c8175fc85e443dc57384e95f3ee730afc6eb0ee6b0ffba2a304d725c99e2956c6734e9fa894c1d309bdb8f29cf33f5d3c6149e1f031b2fe06535fc67bdf27ab75fe536a8072b175169fd7c2a0728812883d0207d2d85d8a8a2796384d958b886c221812f8554ade1462a8580cfccf9e3a0f237c514a1ac651dd5b0b27542cda6aeedc839fe60171a13d54cbd310efb560fa2bd74ed66deff38cae2684cdfbbde81daf841b402cc50a0f5e0ded9a078eb3c930996b39e2c8e28237e7e191703b427235452054c2747f63cd1bb8be14918d77929a406e35e0598380328274be54f0d3945749e87cba8480f9968e2c4d4db2bb6f4d1fa69841f0c59fdf150d2f520ce6ec7b522ccceb207e2755e03bab94e6997299c0eaeae8e631f02ab3ec8324fb2baaf4c6dae0def8c8ff7a58e7ff5c740adf0354aa5ba10998ce4297c1753359c8ff01b92f122849200fa83b2b28fcca767f12850d2e9e39c0da176d133859d6709d3b9a92b0bcb10b981ac6d887de8f85fb92cb5c5b89a469cee8183e37f3d293e4f291abade70da37856f51fb493f2165af7d748d314d3fe9b50fe43daeec796e37691fe3fb964850f874f9c1a80ba5afd8590d437bf739a4b0488f29d073e4513d30a6bd77ce09ad86997e6e648763a44bc4265ca4d6533b05d791d09eb050d5d3324a2e828c0a4b12310a5ccea63e196a5703954938d66febb93949cd454897c138ae90a6e434d50d928f90ae14d380a4295b7c2688d654ca0faca9c7cbf67a7271e33c505e7d84ee1587e9b98c0ff7178477fe3d7f3308ef909a808d6ea4767f6dbdfd53282b32e7fb87c0f39376b91b24ab0bd3182ed50fd4cdead9aa65106cc9a78eae743d67956de8d7a3d1c8a1177990ad9da6d5aea482ad2b7f12bac20fa296f8607d7f1bc2287c10cddedf855e2ff159b0ec1d46aa9868ecaaed8c07db1728d0388045e515ecf6b54addbdeeb9574d979b99e33be0cbc50dd225461bf9ceb5576f8d44734adb5587f68c45fed03eff48d155dc4743d88bcb1e4669bad0b7abf5304941ebc7361bb99eb1f492c62935b0af9ca682ad6e021371459f7076f5f69e964c61280177656d6feaed0c44e0c7e966853408ef29b1544cc3db2043db5d956d7d1f6b634ac541e69bc6ca68094c7fe899426eea70d15a385ac6603ee6458df4c109a6f36f2f5fe15948d63c379846f6d106e918ca78463ac055419cd412da8c540ff1fb80ce236ce70ee978ff6dd29a4fd3b42770464e774e48a7426cdcd184bfba4f6a8d0c113b3ebf40cd21bea35c965dafba6fffa6dabb23f3380668c6e6f003f4e48fa22a4bd1e754c8a13aed759acafad1e7846b28d859424e0ad3fcb0a48ba7f7c83d5439519e0dfbf5f797a8a7d2bb4796c126d3afe7ae1e15476d3b9111b626f98c26993ed52a6b673f0b59e103efe937975e973f3b5ee73972f198817cbaa24c2e8bc35872190c0d0b851b57e487296b23e82948d64a6344d73a68693ca9a9acdf1b4b42ba047180f796a3d48361c10c90041f0551854be90d1e0cd379894adf1f1323e6bd59d53ecdd5bbe644e70d6cbd8d694e56ae1e76533e1f96eb56c31626e5bce0e346f2e9e0c6fa8f47f4ae2a58e65a7a0c62b0db73e84136c8cfd0836c50c0440f92acad6a5b84e8f3be3511e37c38aabfdfc27bff7ca800de9b15b77f07e3f15e38d354b94b617b6fd7672a2f155f063d559a4a4369cc4953753aa6a5e17d658d9adad6ea8affd785711ce281ac12fbf868e9e36a3a8f0afd23a242f92503c3f178a00c64a04288f2048bca4c69cebb9ebf072aa8f1760359e34ca188fe227f1ca2b33af203145c13534a15fc1ecbfe82df4b2920469384aee5aed2557927a0775061587a7be9c81d227fb4309fb6c46f55e70c63a45caf1f6b678f277d2cb53e43fce8f1e59f9576306b6ed1c5bb4c784bf935d73f7faed3259d1adddf3f3bf7b5926694c27ca5daf85eb8a1845ea84467608061ac47cbb1709820f06ad38a2f6d432981e4bf792e236449b88fb075407d6d6769ca661668fd31431cb96efc07e9da0e3587edbf4e37518e151072bb81ac6e9c72bff0ae70cc2a203ca2feff441b9185caa186ccb5b6a6dede5bfaf1d1315901056cbeb80f8d39f6ad7d09456acdf961b59de2317d6fbe38d894192ad53a1482bdf61f5a6f3ad77ade707a16c9a7a76ae2449d2aa2d6d37a8fa8b3618d513eac6df7adc51a71ce8fcd1763896b3e7e3d56e5a1b0daebe2c159a98a698847f067fe54fbf7036037234a098d313fa2768eb5ea39818b5de9239e5fe78c84b1abbae660c9d53945a389c899c67065196ae5b50f3ef7fe123a52b32932d183d53dc32c195fec1acf6584200af5f1a18e84138f74edcd363658e518f232ebae6d99c748ef9c5968e86bd50a319eeda309d5c92bae01fdbaea9a8231abd82f61ff7f16bc2e03c4529e0fa6c85ff5bdaf8cb42557e0e7aaa0706583697ba135d09d2d2a6e07d440bde9d2d101c8a722d8b65f94af45efb88bf2b598daf5871b5caf09ee76fcc6f9d803796d29828faf3afbe336e68e33db5c65a0b2eb4052f7325085b7d46909c5d2358d189e518af34b5daab4745b4dfd98a14ecba5c2f3c529d4de5018dc98a2adf29d49dbe35a8f1c985ddfd201fb21c44680bf0f99efbb22974f4d1d7e2824eb87d3baa5a97973e1c2af292faa6a2b283471ee988763bd29af97aaa75f14c17bde037f5a04294ce150237c1480d8064ab2700d266b9dcd3f9a7e3ed035023e87dcd95b09a47f582bd53ed01ab0eafab28836f9bb0ff4a07864401b1fad1f15d04fd7597b21c5b23cc403493d038e4ccff2505fc150cb25697b5b681f5ca1f578da31161f6f2e5c37bc2769772fc26302aad51727d028fe49578ca1f7a3bf2d7dbc65f1e18414af21852c5923784f296413cae85157d462ac9598e235a48895b5ad0510d98fa5c9ada14f16d10096eb81913cada062704b7ddf8fa76288f382de47c5f03da674cd91adf13bcee2c5d2dd5d2e0e4f7adec2bacc28e7c314287c3dd9fbf970ef0fa15e60c2adf8d9182b75fc7ff574170a919c432397739e017529c53682ba4a35a6254432e45657405d537872d7189e217785ee055c4e254fdb5742e5cb62c3b35015d3bec99dadd57fbde9a3a90f0fae314ecef98a5c9d6b6ac98752beb3d6fe00bd44a4239ec6b5f372ebd725e5e918218d2be43112991fe916991c8898c6f61cd2390b9d33e43fcaa08fb1e5f63250eb66fac598f7fa4be70a65c7cfd1b918f3c0f3a8aba59d35896bf043ca82dcda9688ba1adef5583a53c63cb578cd96e4ab5d51d75e53b6b806d4f8f8b34974be76964cf9e240c3c87b28a0ba558a3236859f99a22463581b7f2b1d8bc57f9d8c63d9b9f140ca832c9d6aad333a458b1ae33cc890274fed7d63e8db867a368d61fb8a36017e4fe84a873fec120cb6010315ea83edf349fa7dce19f6176f36551e3014c9591c52e41552da56c56b6efb9fc19eb475fe88640d7451338423075c475d5ad97a1b03d6468afab84276a5c7ec42efc57ba7a97a2850707afe637f4c866217fc05314d6b55df1c01702af7ae8c897e4c6c35deed8a6b3394ed51bfad89e89b54560075fd405688aee1d980b381899e15d92555b9461bb72bee4cbded598246c6e90d2859237aade6ebb5cfc873cee2ded2b514b51485b5b7756b6356d9aff233a56a953b4de4e7ac475ff450309e235df322aa28d41c2e2916e8f3dc5a695b2bc05bb2369d33e44cef6c4379a42e9685b167882b57ebaaf1b5d53a2b4ed64e855fab465d66ca8f99506f5dd11edfee23ea2bc0257afabd631c8fc7fdb4fbc5f2e71efafdbaf59b310defc7d0f0c7efba93de2abeff4e6ad4342504dbb814fa11423c5f3398ceb5fe90b726c7b91a485b87acafe660aee9ed1f2820b280117feafe7a3d3a16efa0b085dcc549d21f536fb75dd9035ca88abd54677dc1f3a3da9b8fa5c1bd07ebe61ebafee8c3c5b120c61a62e8d3e3eb856bd73cb2da2f1f95df58459b95bab64a4f7eb4fe1bd369d5a9dfb9a5398f6863cf49fc2cc69a4fc5c812daf94e509e93a65d606cbbe2ded5791fec43c18ceb76221f54ed5aab5a7971611b7a8ae7c8d2c236d4ca1cd91a145dccf9d939b4b3eff5492654aab56c9e8402e8ca37c9d9b2c40d6469e1f65fc9773fac09d169bd8dd3540f4e801780d95f89ed209e2d5d393801b5a1d294a3b9b1bcbe0b6bca95bd336a6a2bbbdb9a8f5331f741056e2012dadb19c5decbe072847d227af20509e439d2a5d017da5778a05c6a2a81ab9fb6a5b92432bfb19a436adf277c07a9f686d4b3b2879db2fac907c55d63fa5e3f67cff63373bd1ff4ddb5ad97d41ed3f92ba0e5952e199e860447b0d42f582fb710f4ab3b7c3b5f7dadd7e9bd9da9ff8cae6b153b403d1cc636fa1a86f92aa2fe64393b25750d390802b13f87607722bd2390e7033560128f695ec92822bf71fc5d504e291ccb016a5b6ec01e938f39feb621b1151d143e2bcb89a0ae5d7db03785ce6e2464f857aee95f374e53e12de3f5f07a59b6be77ab71e47e92bff27ebbe431f648c61fc2a6ff7c841df293e875fb0a4686555df3956f67d07b691df905093c8e9f97a2fc1e75453c0a9cfde0a5b77fedb68e8ff50fd7d1e5601c2baeb9474e7031cdeddfa94e37ed4b29b826ae6529fa1de29fb97e256e9ee6c3796f4d6dee3b2ae34a902f97db7fa6f387eaa14314a8782697c5f040cf08f7b7b49db2c7bed9ebd16e65d77732f613bdbdb40c2fe5a7e63d278e3fd1f6abddafbb3fc2b828bd7ebe0fcfacb2b691e7f109ee15cd49b1406755b11300dec205708f65fc36e69521d125c87aa2318c90c7ab24178b65bd33ace37d661cee582725efd8a5749d9bbc4bbb69edaef23a7f5191fe1b5191fe98e199bd9d5d71fe85df3a6707cf58c848999f12d3910a5cab0e1b69bb25b484a7a74efbf16ca4cde70f64237de63f0bdc674636d2b8938c6ca4e9eb99d948f9cef313df1284848d14a6222223fdc545fa8b8bf46fc045ca2c507eb1913a81b6b574e962e94adb144ed839b7cf967ec2a6a1e03c7651a72962939e602b27e8f0ce4bea19931c06d3e85db13751fc61ebed2544d2c3f78c9b788122ab01b204d451fe35daab6d445a8e78447ded6ceac727f016c89ae708da62a62bdb98b9a8af6c50e0f24896cedf7d31ee9719bf8f68cf1dd0a028e39172347585a25af52d0fc9781966d3456d275ae97eac89436da1bc85aca0893652e23d350d71a31555d6e43055c23b120f5482d275e515b3f4f1dc1194b5a5f35e9495482cef340365d8871b2d123231f456ac3d8e7cf1cd3286f0ec14c214d136c877dc00bc3e9d150af053fabda1e51d7a0725ce32f2d077a0eaee4cb47b18dbbe8647dd281a2eb5c9b34133eb8a3c5a65df13a1048f7c51211a0e90e707cf4f03d9e3dcbe78f9ee3f1f2c0173a9bdb94002bf73c9beeb2f0f26ad2edf982b8d68489791a06237d0b6a3a6b2b1cebce704cada36541c66711cc85c8d74caca0a4ca0b0eff9e5a099ce6ab9b298cb320f4306de2b4df7260237e4e0ba98e126b4cc2336d7cc9c0212325d0b135553a699ac8c7ebe6512cd335c0bd76b7bb7ff9a61a50da3e27b2bd0ced15ab256c3030a3d3749055ec4aca26c6d5ddbe7588e17571fee201b82661463a7a94286db081848db7bd41c43a4d135a8b7cbeab6e613bd351f0bd2ced24f2f2083fef23927f3aa5d463a991bb5162b6dca32b99efb922815b55cea56935932be98fa706be96a8f8c65aea57d6b01f76c43f1cce084ad1eadc64abc7649755638cf703e0cfae29acccb401e628ac6adac812d4b2faaa8570f83ee7019bfa79b1f7d62f77c567bae2cbd9dee53aed57b9b55aeedd3e397ca6e5d5e657cd33366221e6d999c7971c5d8c296a5bd15b25be7b51b9dbffa71db7ec238102bd51118fbdf75c7617f3691b73d39d7a3beb6e613639c78e96976eec15aace78395763485ce0ed6845f840a32c428907c246bcb817f9c0f0275e308e97f6b07d41decaff758a57cadf240846bb6ce1eccafa2fae59df87fc63bf16ec7c4954fa2d5e29aec3e89cfbf7d6e3f3f3f3fb7f9e6e37d12ad0ff5493c775a2daedc27f139ba3eee64b94f22f77a669fc4d353876b359f5ab14f824e45e493e09f7e39257e3925fee64e891b7fc495bd08f6a365789ca5b76934e7dcfef1bdff4a6cf283bb907ccb50bdd7f126b2ad5f42d6f1245b7daa622ba0d105620b5eeba6541f8fb3e6237b779146b818e92e467e1baaa0cc95b641449ff4a92f24e533115ebbadf3683186b38056de4651618d9cab3be7653d472b6d8bc05741518f5236fc65b48afe9eeeb311f5f6061d37897e7c532d466dccb1d0d9ba3a1ff9537683dee6ed8d6b8f4d435d7ff7bfeec187716e137be188843664beeb97e7f5b8db8673f48f37cecfb0019f071b63d2be42abc8c9a04cecf5187920fb1c31f5ce31cd5696bd0d206a87be89f0d9d1799e61dfb9a900c9d589b8f9042b7fbc61d173e5f9d3a0db86f11aadd2d9f20599da697d3f9e8fc82f13ce9394794e9e0e5a34decbb2f76b343be062ebed05ad88a2e391f6655d8d8d68456dcb1b07d93da3a6764cfb7df2fc59d1f312df5be8cb93aefb9fef977a93715c59e9c827de09a46dfa9d5134cd217a5353db9ac6e0293bb6653e28853757990a9cf9acc9917b04533f6dacd06f18e966a82962b494c613cdbc4c43df4c6207de8ef900c7ed887c0e57eb2de553e87a2f537f1967d7c3f58174a1193a2dba66aec78cbef765ba1cc719bf16d12d838e406c09436ecdc77a6b6e199e07951293645cb355268a877c4091176c5d6ba62a33d66e5f3d3a97f56124b81b57f678d327fbfa2613e7d68f2b0cb748181c22b68791a01ecce6ebc16c0e0e65fe4ca399e8e246339153335ddaa154864fb1bd2e667dcc57767a8e5d264e7b3885084fe5784e261a19db4be8938cf631952d0664af25552837be019057648c23bb26e3137204efe0eaa725f54b93ef20fb7b8104776f1b9bd47ba54b2a736f0b15413919b890fd690c010526f46d6d3319708116faa9b4fdd57bc8bae72de3753fe8f1c0660555cf97f55586d6786f5fbc0bf8c805e580749e4701e666934e789e61df35d483b37a3d58b22658faf1e0087835d2a5b329781b57d6166e9fac2fb26e963bf0250550b5041565481f2fd29919757c42a1fd54e9ff9d90ebba314332956be7b0ff93cc9c86cccdb0ffa4299fad72813570634fc7f39cf1293ae7d67c4aedc57354d940c6975627c15aa25911747e310ad42312f09e66b84ee7a670dae42224103916f01bb7ff1adac9da85fcedcacffb414fa131902eec6f3e46cff0c521023f218f514f813df657cf39ccabf1ba8339ecbfae0a7c0339fe18f12aee931e9b8a8ceb125448479638f0a92fd6736365ae5ffb27f43ae1da86765a7ef3b133f2e7c77f49dbd3e80dbb863cfebfdfb4e3fedb8bf8ac5f7abbef1aef58ddf5669857495ee16b2947c38ae24375fa281d9d0274805b3f1d5c1b7f6f027309fd2e95d5c945958a917cce7b763982272bca515aa7530be57af97e4f337ec47e46de81f1d73c34c9ea8dd97e4e896d509ef1c78e8a5e5d0992934565021a40c2d6eef4bf966675b22391b055a51767e2b752fe6be9e89422ef8847d350e15cfaee8bb3eb7d62745bd5fb6b32fffdbbcfadbfbd3c3f65ae5d9d1cabbb41e6847f1a4f787ba4f1e8b5cbb5937f73f45e4cf6e73df72ec9e77772afd1ddaef5cbd7dd77bdb79b2d7b3bdde7dd6f67faecdbefe97db932a0e6da61a890afa8de49a1f01521133264bb5555f598426707081de4bccbcd2cbcd593c7e97bcef1ef3e649f677fa3d97e501110c761435d326fed5554d7b256e3302007e7a0e8907bd2f19d0332c40322675ef93e61ce1c66419264b5a3d3e35c510dedb97d153b0191030c7b36e74c24fb683499afffb8ac33d7fe4b3a2dbfe19d373236e2485bef0c6d7b1cbde1e4df137a2f911577dd4b3e6fcfeb3f2e1be7dbd9bbdee73fe8b3dbb7dfd3fb98188cca652e4ba67739cb6315aa275b859eb8b3f5f630dc1bf3d75cb4d88a0cee928a97dbbd407d1f217ad775eccbb77405f68aa92b9c6d58f955ab728892f9b29e133dcf9af09cadf3b9d59d957311221bb0c570bfae22df8dadb797b6ae78d476a767b11b481b244bbead9f366e7f99e7df79baaae82940c3133db3a96edc80d86a9df3a0ef6e9c6e2b1ff935ad97fa5e789ff66cc9606b2c20d6df3f356de3eb5dfa6779b631e8823988b029397dbc41855de6204914204cfc8a01fe1531401a86993d200e731d76a9e5d6bffefa364273dbaecd72febb6bff38faab7fda81fbd46269e46f7612e9b9796212faf9efc66f8dff89633f34ac920dfdacd6bb7ff8abedcec678e6fe03ed77ffb00fb68f6d8467fff057ff407b1fbbff706cc79ba58344ff9dede86ff33579cdafa05175d0e8cfff1f0000ffff010000ffff85ef6152687f0400`))) +var _ = pkger.Apply(mem.UnmarshalEmbed([]byte(`1f8b08000000000000ffecbd6993e238b637fe5526f2edbf9e692f3833e988fba24c61831b5c8d49bce8891b13969d830199f493ecdc98effe0f499617f09a4b75555f622263bac0d89674747496dff99dffb95bacfffdb2b9fbfd7feee68b6db083fff45ec2dfe60b77bddd1cdcd7f037375a3c1fb7cfebcde2654d2efbb678bdfbfdeeb7d9e6f975f3db31106167e3ff367ff96df3eafdd6e4165fee8661f4f2bafdd3dd0677bf377aea973bdd0d9fef7ebfbbfcf8db8b77f7fbdddd97bb27f775febc2d7caf6835ffcd775f0f8bf5bfdcd0bfef3479c97fba775fee8c9797c23bde7db91bbb5b2fb8fbfdffdefdf3eebfbfdc4db72e7abefb7dfbba7b8eff613cbb9b97f5ddef77eb97ed3f16ebcdd645e8d9ff07dc6dffe1eedd0572217afec762fd0fb85b20ff1f9eeb05cf775feed41765819e37f8bef9b799bfe0c7d069dbdcfdbede21f4e5eedb7394fcf7d3f3669bfc3afde8e217e3177f875ff47fee5acdfdd85dacd9e8debff8eacbf8c57fcf3d7e9bbffc337cf1c9adcce757fcd9ddef77fc3ff9cedd7ffef39f2f77ffa6b3d0489e7fffcd7b59ff7b31ffcd7bf57f83ee86fe10ef08fcfffef3d65d20f2d19aca1fbde4cbdd66717ebefbbd2b3c7eb90b5ffce7bbdf05bef3d079ecf01d9e7cf2afed825c2f7002f77fb8ceffe1ef9f78e97749fa5d90fed9e11e4551eaf20fff1f27fcce71775fee169b7ff9785ee9146f4e749b3defef7ee7ef1f1e1e0481276bf78cfffdf8f0f0e54e478bf5eaee77a1fbe56eb87eb9fbfdf141e0b8ee7da72b7db99b2dfcbbdf258eff72a7e2ff12b82f77868fefc57db9fbd3f5ffe5cd5ffec5ddfdfe7fb92fe47ffffde5ee2b7ed94df4ece1c74ef1fff1d2e303d79144013f6b833f113a1d9eefde3f76fef3e56e5c7ebdc4ae4f06f99f2f77bd96d7cb8bd76dd0e037c2bdf4702fdd0bf837d3744164f4e2ad3664bc325ad195ea70ddfb2f770a72e7f40bf5794dfe7fb489dcd767f29f93f83ff1c4fc3711a4e0f9f5a6ef2ef45d93b7bf69c49f49237eb98bc8d0fee7eecfd5bcadfc5dabc7ff7cb9f3ddadcb2610ef99f536bd7bfa53f2e837a9e0dfdc28420bcfdd2e5ed6ff4c7ff6cfc5cbbfdc28f2dcad8b5ee69b7f9edc10556beb16f7612abdd3b917984eef60dd59a7ccbb4247ec0af78f57cafcdf2edad4687351e41f1f136dcee795b9c4f31fabcc3b1da638a587cea3c0895c535dcec6d8549767ae6faacb45eefe9e7f7ce4b84497d39560ca9cbfff39b4f9f586b850efe906605f5febec54d7a6aa956ea7586fc6b293579c597548afbea9bf1fadfedaa8a64453def516dc763489024f4516b0b5b36b7577df1732fe377a1e1808aef5080ad279146e3ade498ae0a92b8c2d0df96affd80bb7110c27f7c3bece7ba2b187a6863ca1cb7ba18e0cd50c5d4b8a7c15ede13cda02db0880aa70ced3cb1fc39e1cc050dafbaac2e1e77967fcd9d7f950d5f7706d9ca070dc007bb80582b91b855bde09cd856fa10d50cdd32844fb91089047deab733f1c3887d172b8d3bfbee0df9f8045ef69aa680b6c9d732cfef07d21ef7cebb8e92dbece61a86cc1d3cbdcb1e58323289c631df7401ceff0bfa18a968e6de0fbee808002b836cebea09ce0548ae0213a7baab9fc3ec7cff14f50340f649e06f2c6b5f4808c7321ad5d4bd9f9035d746c6d8bdf3579a63dbec7ff3decc9afae25adbe2f64d91bc8df1cdb08a0da5dc7df6d5c5be7a602da816f2ff3892d1f26ec1db963e489133a4f0379e3db5a00bf5d8d23fe5e8f60e8f350554ef13b2eb3cff1047defa9b3fb615f0aa0659e3d5559020bdf5b161ceb1881785dc8587b5fe75094115c2993a9e99c6782fe022c3e60df0d7bf2c10bbb07606b9c6b99e7f473bc9ecac135d3b5a263647ff20ad8fad20bd181ccddf265ae71f819c9f57340650879279973d5d9dc0fcd9327a03d0ccdd570a02f5dd5dc3a53790f16f87b741e0e34e4e13fc1dc31d9ca3f13bf53371caaca6ea876176e682efd5e673e13cc13b9f7493ebb6a9787ea64ee08dd1dfeccefc92760e97b2048d173f6b9f678eeab8f735f0dd0503d06be6a9efdaf2ff967f5e408ae0de4855200e9dcf2607a983b96b41aaa7cf03cc5f78e90234ee6be255d3c0704706022efd4993f59dd1398ca110cc1fefb427ef107c6c13bbfec47821ff93de9f5fb60bc73adc7bd2374b7d03677ae6d482381ee25d7d2785fed9ebc5377056c8060af7b762d6febd8dad25511072c9df36d0d8d04e5e04ef9251424015812dd9727690b7afa09d8fadeb7b525b0c7eb8b35e49e6d197d5fc8677fa04530f4fec87c47e57c9e9f13a09a6747d4226f60d0fddbf3472e990f741eaafdb927e27796d66cfcf935453b10cbc26c653e99786dd8bb4da90c14ac77bccef85a723dc2fb7ab4909f80ad0958e7c56b81e717794c965470820217afafb9030379ef5a12371c182f602a2fa18a105c4ffec8aff7d7b9279a0b6821ce3be167293cd641587ee1a9339f08ca0e865d6ea86a6838300f789f016bb21bf6d16ed8d7f15edc4c04e50ca67ff99a9375f54e3c5943efe4e5c7393024a23f063ae78568070ed93dcf235f555658df5caebd3f4007ac7ba1a0fd3ffc0ed9b5f2441939ec1c489e239fb0eef1d64694eacfecdaea7b1882085cfeae44bf4c84ee0e84684d648dada32085aee591bdec84b3797c0e20d0934557357758877983f1dc09cd0d14b07e97d657ef11ef057862b283cf036503056feed81a1aaa06f2d4e3fed93257a3f9a58e68304e7afff85d7dddb1bf965c83e7c4409ea09f5c5be6e2b3fc5be677732f3443606b08863ad6ab41328727798bbf277a4f55221892bdb6cc9f4fc57f7ea86c7ccb2473ead893b927047bdf3aae889ce3f9538f11b026748e6df9e09de4082eaee6ea5a57b79a1ffa179fef05f2503947df1d8b4719b9d8d17f77c34b3981967288ed9400db3730f4e6c9f97b2858dbfc1ad233203e3b88ac0d569ba13adb815387fc7b6425f3b165f35a283305fb8ae9cedaf9b1f58363e9e8727f5efe5de9eaacbd309523762e67ef999d33263bc959563f3fb9791ef564340abddd50f523c792384ff4032fe4cae5a4f64cbad0d5a179f42d7402d6a442a6383abe49e9bb6f876a665e4aaf4bde6bef84e4cc2f7eaf818e1c5143feb77219be5a1725fe0db15500f24273e708263d4f0573e98526572ab3a744262bf60c5e67851b0ef417289a1bd0931760ca6c5f6cab187ba6275dab83cf4c2c1bc9fa97cb6f85ed78b567f11ccf2af77e91ce7fc26b7729ab89cd38ab9f9f0fded3ec79bfe89e3e030bdb831336be6a3d8b9f97f3a36aaeafb22bf2734e6c2bd7d610a8d827a3588fd7eeed789ce5e74ffc5ecc96bcb2f3f1351af26c33f242f3cae665cf7262fbe3c9520e45cf1aa5f35b64cfd4ea8fcbb52d7a46ad5ca9c73d10bae66c7528fcfdb5fc24d7a7b6c37accfca208865b6c4befbd85bc8182bf1faa68eb583e1aaa2082ea6c0ec2ee09cb965ba67fb05ee955db21b5631ae81c14b50008c5faa3409fb2eb0bec253ef0e839c53916da657d15ba77327ab2484e7a5f2fedccd86e9ce57df9c2bdd54c5f9aa6362ed703d73a125f9fb17d36ae25bd129d3ef05ff0d8e3f5c9c7234e3ef5b7d5eed9b58dbdb75e559d1f58af6ca080f5a0b962bad11d189c3718df8f4edd8bb8891ff96ac03b0b6909056e7fa143f715e749b3b33fdecf2d6ce819beef10fb9f344684d75a7455b474a95fb9f7048465468aef3df785388e10cee6beada33259a0cf23fb83dac37de5e0f5539b38992bd5dcc07adba262dcb53a733b54cce953e17b72748f153dbf5637ca9c6b1b9b629bbc401655c461bde0da4c8790737f0e0527fe775e1fe4e74e9fb2f99ad49cdff87e13ea8b2c9ea7f280c85f4f7e22e754d5384bcea60a5b729bf85817bf194d2fc63fbffa9ee84cbc3fafee99eab43faed68ace61b1cf7eb54ec572319aca69cc369d0ffcdc03b0525d5de4d32771bae5cbdc5f2a011cc82fce539fc417598c398ef96e995d371c3847c73a1e5cb57f8c63a167129fb126f7c38171f2add91f97ba9c7dee8946e00f627da82a4b47300f58cf3c15c65dbf2e86f13c7bea91f74265937c46d6c9a031ebf5f87ea86c7d122f158d3d3ed74d362ef6ddfcbffeebeeafc833be3bc17891597c7ce83eb4ca2c3e3c743989ebde7f4266f1f1b3328b0fdd074e1045a96966918db1696631737de3cca220763a5de93ecd2cd295609945a173cb2cde328b3f7966f19652cca414bd93549f125c9323941c4b40d4f6befdf59e8549b1f98f9f854de06cc8cbb51ef118893b9b8e8dcd9572f0e2e31caae8ecf7339ff7cbd3862c1ce70968074473e3d843fa1ef85e037d0945625292d0a827ca8123982b7abc2b1bd73282d8648bdfa57b009624cffac81af3718a2c63f279036defa9e6c95751fafed4fcc8cb497dba883c835d8f4d7580cd31662e0ed83a4ad8b53a3b4280a0d567e66344d332491a282832bb863d121e0a60ea6aef868a8ebc35bef73813dec6b2853f9b60f36f09057fe7da51e6b9ca99ba51d4ad226e4381dbee5a12076c6de7588738943edb0c5565077af2d6b157f8dec4b41a0eccddc57358e86937ecf37b2f9ce17b85f0fc9277adecc9ce3d076722e782be8716cfc31071cfd32e7163bd102d7ce2c28df7403505601db03bb31e59cac91182c857cda53f304f60da0d3c75b58d53a3bbd84cda416bb2f442f30c45f3e408e6593b14a77d8adc7397a6baffa876bfbeae494a9cba91416282b3d0e534b7a6247c476441d194194fd6267eb71995812b972059677ced015f0ff0de3be552c3642df0fc027bc86429f4c2ee365e5f0443e3000584dd08eace0bc708dfa7201cc13b211ff98371ec369867fcdfbefa48d380588fd1102befa9067199470b59830bf91bde8bb0af079e30fbcbd79cacab3dde92351cb44a0d5fe8ee86eee420d59b997bd584445257b1302452902e4b5dcbd27450e00dbe6643e8712a8bb8a60b601df730f4af53d1f1bcc053670ea6d27ab4907367c3dbc2753f20059a193376cb816a1ea0da958035294cc594ebfa82f7e6f8c06b93eae8677e5790ee7092f15584e9aa42fa0d52986918a23c9cdd680ee81a11d97a5bd8be2a4c5299d6c56b591bbacfa475f7f11c48494a6e209fa0c023fc2cdf1effeaa9ca2485c3e4a73acd44600e81d73bb07dbc8502b64bbb644c1f3607b52905f2c74228b569106ac3955f5705cfc8c82b4b51b4099f3ec5bfb90ea70f92d4e5c55e4d3eff98f464aac37e6698019bdba2fd9aecc75ad96cb05fffb7a5215dd15c80297f7eb6750e587f67084183307ff6ec2d09f733f9a8b2494af5844afceb1876e4354c23e67e9339d7c8e7791b45e8ee2085f4a5a933e1c87ba281bc12b9f3b13fb6c0f690bc81224a7d84d273bc59aa8dee53b3d30aaed1273109f43c98948e33b9ef4f6d6394be333d176b9e37ece5eddfd153ff343e4ff89fedfc6c782e4670a56f7cac5fec619bb351cbfc8eccb5339543a82a2cb5856d70ce55cd133dc7cc3398e67f83cf49a012df2c808371a56e33e93ee0bcb58932f63f07ec8063eb4be0c9e9f99b40a253e8aa8eaae492cd971376f7503583ebf84a2cbfb18e6993aa9e31b8ce404320344fc0929680ce59d9d949f403d6ffccb6fb15e14805fb6d536fa3662148645c01b6514756ee3e1f761626f1496a67be6d6e92b33e6f23c5f74c754f89ddd8c036c2f77cf52d0d25f2f0bf0e66d8d046a06754c9f76837a93c73df6b4394efaff6e71489cb605b01fb05cc0640a097c461883c78a1847cd53c8fec9cad5c05c52a5dfb5a5bb8c43760729e1f4b6217e3b3e0444b1d689ce6c2e7c98ead24ee427502b4ba3b02db2983d9d542f164de13cc138b27351ca399fd4d668f937b6562166cad323e9cff0228b41425398a82f1fddaf129f34c62cb0dfc3c5f0d82ecd95c0529fb99cfbb06f3f1b1712a5b47de824ff226bfe6d9979793327851c173492c100a9d34464872a387b9a71e0318ce12d8f2f8697876ace1dff80cfc71507b2a73a97dfabf697f57ce49bd7f5809adc77a1c5ac437e2bd134fce9091cdd6e7a3a0e66c6e62997b63ccafe65cbf9a2fa6bfea6d7c6ccbcfb69e88cebe6a6e7f36dff92363cf753a6434cd95c815dbad6ccf1742f86ba1ac42194ea164ed33388544a70be967f97c62d19eafb36586ec9cfbd6df8d7b9dc2b282ea35aff205b8d2329874ae2f753e4763adb352c86b514946a55e1f4df3b6e6351436c1eeb4c925738e6df057f65f6dc9a972f094b29276fa776d13e67e93ea0056e29cca81ec0db232032240729088e6604bcebb891004de7ab27bb6942deca5ba24233bf49c58c8339aa726b96a2c7f548f87ca2679d6c08f7c754edeaf44de8ae4770905fe000509c135965b93e8f8acec267645af731a4f3bf85d3225cdc6de11c73b02719f4a67b717972dabdd0396575bd05f1c5be3bcd3e312bfd7c8a2ff1ed92880d6610b42b4a984a697fb3027601d916337f6d1a6ecfacc7e3efbaac2f9f638b5cffa01822a87f5d50658ca194ce5108ac358efa7a5c025f35b9aa36ae6b71c034f34fa891fd8ca77b9f86d2f3dd77d156d63ff338707f005e54c9f3969a0abe25287900ffc6f2f7352fe3ee539b7aa44abe139ed8566e009257a99ceeb752c31fe4d662df3d72cd2bd0455e58c757376adab4b32e8190a55fc8c19cb3fa47e3bd98304e713c1b58e75ec06ef534f3497d89ef404c0c3ac1fc3e4a6e6790c2b3954950d9e133058cd811d449e6854e4e69b96cd94e8cc2a9952e2df9c52596270fd8cfec8c42d885c25369ed137274ffd2e30661532d544461a94e79135ee57efcf51badfdf54a297298d68560ec3ae5f64f622c508a6fa2673b68010216c3bb82c56d28f75e59ae8ca129d51ba0ea9dec63a7b59ac97de655fd8f22119e375f94ba29fdf7fe6dfca5c7ead32172f705fb7ef2b74c9de8295badc8bd27dab52179ebf173adce3c797ba74baf79f57ea722f3c7439be69a90b1b63d35297ccf52d08511f254e2224add3cc4adc48f46ea52ebf46a94b569bdc8a5d1ce2741ae751585fb892723bc96b2fecf25e5c8052cdb7f79204de98c1e6325e3ceaf0c6633e62e3761473ea7d7355e5e49715bdc4efcc0e5e6cacf8d631f096ec3bc2817776842e39ecb3417952bf8d1d7615ade27766072e76ca761353d6cca5fe14179ca481818a808263cb915966101614419067a406e10a582082a1791558228e44ccd3c78c3bd71ee78a1be2315c272e0567ee589dc4d0c9f1a4a5c946ca19666b0488e108dd350cd17df6b994f32c719e382c4bd7c114b4f355f344021071306444647b32879622e17bc7dc6d3c5ce79f93008e17b20e458dd6e6878ff74335e0fc817cfebe78dc030171997db78402bff5f19e1aacf6042432d022676d6243eb3c120ce487e66624ea1138f18117ea2fae6d204734782f9cedf15a8d2c5af0438a4cc89ee6574331ddb3ed78d2e8deafe74424d731601073d0122720bba634694664616a98fa2ce71096706cb075cef1ec0dc6b98227b216647e4dc6d531076b6d0fe34434b0a495a77623b89eb0c4d2c6b5cc5d4100f5ec5bdad6b58d73ec9021ec980e07c67e448a5ba41d141967828cf71949d24f2d52cfbf05d6f11b7606fefa35c7eb6a9e47165e1ba355c113b44cce21c573fdcbb5af701ee5947b341bf4a8090839ed92f305e0cba60979ea64d2a0c62fcb75f79140f32539877e6af06635ef1f79ff2ace12fa6e6d1274f19cfceac9f784eba7240172fd97e7b2e3f730245c31784c1f390729176a29e76efd5cccd242cea2e4d5280b94ca9f2f250199a2f9b89441810fbc5e676eda3a4b6eaf00d1c393b96b155d2bbf38a458270860e823d02b096c65f707017a7d3d8e97634eff5579c87a5ca698355d9f77f196fd3820eee70020e2e4d72f58d4f3993a963df317d5b10cc471685a4840009c235b973cd1401fc733984faa94fa6af532322dd0cde9d94c8b5f4e30343940fdb4b460bd24385e3007d720120ab88cf9390d448aba7b72740dce09b0bf866567070473d5187cf2ede72cd8680a3a210986eb75f9d5412ae5f6627bdd3504d6719bd8f7448e2ef8ac1755b2f28b02abe9997251045ee3d7243646be18f86d7c9546e0855a00d563731e4e25f79b749c8a397dea6500083138818dd1579593132a1bc800f22509e62230478670e2e0d8c6cb4834f62311af31b71d4fb9c3e8e9ebce57fdfb61a11f580bcef82cb0557c4616fa728d01f47142b4bd0c57e8b82a50551130b65acf71e9da16f03a8e3273d3260e1127bfdb927004596053c3f5bc0043a56b1a93be24e7dd249b445ec8a16b91f58c39e64bf47f3e319ef149d27dcef4de0d3855049c52ce8d01708a861c5bcf81182eaec9cc3f0513e54022ea05a0aa4447e54036b17ec37a90162ea21dbe27548f84a0c9b7f425b0f533589b9bac3dcde63e6bf79501b5e040438e654843d5ecb8a4cf47612171ed99968cab2147ea2c059655816ae8d99d012131aee59c9e2be328aef0ab7e32205a16b4c274bbe854c7f1368ead734dcef421393bb5ad634fee87848c69b625eff02e2e5e7a0ef8212ad787e56b2fb8f6259034bdd7509578886dae4572e6e3b92b98a37a3b971093597e29503f074869fafe899c5600288b74308b9ff50d65d63ffe69cdccfefb006d4d8a202fe4b08c2c215d93327b9e82e0aa0aed3e19747e7966569c97794071897ea8392f73a0f4e23cc07bf8947380ea2bbba7ec9c788bcd53fc1e5c368f930593913c4d9afb2d58db412ef79e0383f919e015fe37b3efbe2f64616c291b4f0d82f18491361262bad5f7b8989fe5b4b1dfe1583e4a3e5f67419bd84ed491373010e817e7d6878be155de9c7e466cd3956bd33cd8f7850cedc90b03aa2190ac47f2dda781c6a0ebad76d1053ce379ebf9f48b26a0b166b74840639daed80a342674b98ec04bc2c7f323739fc88f7c2f71a2d8b88b361b6353d058e6fac6a0b1eec3c3bd203d8a29688cacc40d3476038dfd4ca0b166dae4061a03b6b104aa1638c296f706e39d132a4b57340f8d416315d797b3239bb30967f41c4b7ff559c0350f1a53ccbede9fc4f77e5251d2c833454ecbc857f5157b7e3173b2c93982b1489f730392dd80643720d90d48f6eb03c98048e697e9d08655af3e697ecbf42a6bf09bb0822d643ce618382cad872a62812b0e58524002a28c61685dd61c2c087cbcc68cb998e967b5b87aab8e99acdae9cc8fe70704cdc959ee0901028a116167cd57956d311b4d6123a5e42cce83f56880f50f15eb7c65f3c7540e7c6c73d832371cf801613ab70c34ec0524c856c6624d9a30ab01092c3aa1b9a4894333c2cff0f0192374b79e7a44be6aaeb493bcc79f19a11241fcefa240488bcad07a56ec38d88b756931337600d4b8022a5436b32601cda64092064c1a6560bd14006120189286544b38c0eb6e9e866af734ecf9df287b7b773354e48d6349a8702e1b065932f3218c2b410d5581bc24e06c8d1732b37fb28dfde6ae2561d9dd5525e35bb19590267a741f1a21da00538f9ec33a504a3133b16b47d98477e6fd4b9223177b340d0ea39dffcd2961872c58136ab3ac6b198e2eedeb3a8052717238c2f2e5abddbd4b1b9ed12449a29bd36750c6241d796255003d7e4ed83d414be1be635dbe9e087a3d9889e949d2181f08e6a906488460a89f9ee3f5fabcf19b3b47d424968cc2e721a9c2ae6754fa01eb8ff5343abbaab9caf957f580a00f3f136ac7d6fb3aff237b5f457ea16c09d8e626cc40c8b58d17600fe71aa7efa12d6f00b1cdbc3914f1672070ad23fe771bd923f6ddc8266b5ccf16d682d19a268a0c6cfb28de5adb7b75c0af926496af9a67bf97d12db676c2e3250014415937d0332d807aac525fe38065cc5c021030025805a44f64edbaf165e6f7b9042b08d109cb8c631b1cb0f8439c74c336feaa9dde6c92547bcf3c54331694eb8c84b9204e9a5000005c53bb4213c719fd11ed9dc5d71747507658d69bec138d271d63f018d6a3ded7f56c6dee2830d4dbd1739e3f40d5e4803521df27b6d3a9aad1ea9b649cf7d4e3de8965e5cd7a652a7350e8be0e55d204357796fab6bc8182b2fa99ce96668c74758c0f57cfae669cc36bb3ac0621d7cbe16c6e2eb3b29769809ab17b2bc7deb8f804eb84385ed70758fe88bdf416199909e83ec7fc98be7f74d5acf42f9087614f5e7aa1493b82217296bc595f0e07c61e0a9bb9b35ec5e76b3c87d9672c88bd4b4028f5cf497d23d792387d592e5f973aa02e899fccaf252dbd75bc5e9f37fe9c3df733e98376fe76dd9ecdfc3edf4589024f7a017e56007bab379e9ff82fc8de77e2aa0410b400964e7c496021ca1a7f7196c47ea4ea586883ffdd46f61a3136b1bf36207bd2b990c6760d6a1bbd45f6c67187bdac5d7ff2b01faa621b462f68965cbe6f1a9e9d788d4ffea7dae620f2d63a37c467906a6ebdc12466dde203d04e6f7ea69d5c12e36ab46e4f1700a088b0451126606909a6fe39a33ffe1f1486f33f543d808b72b072fecf9f004b5ae13168a7c35ce3351e8612b5bbaee25487ac0f127db48c333be8d3fcd801012f06a0f7139d2dcd8a3a2870278e2955168635ebc6d1a030af9a6d7834958571c9fb92ef4ad6bac9fb5dad6b21fb750a8e2bb19bb0dd1740f59089af15cf5ded3bb5f0175b9c75a16b6bd8ef6d1c4b68aeab1a806aabc089f53a08611d0c85232ad53dd3afeb996aee804a7cb6cdb0e74f7d4bda513d5306ae6cebd7bdab98a0d86fb931a4fd520c69decbebf365d3edc3c643bbcdf6f9955edd04f0d6fc360cf4d6111fdb81deee054ebc17c5878f07bdf1dc2782debaf7fc7d63a63436c6a6a0b7ccf54d416f222789bcc475a404f44657e2067abb81de7e26d05b738d7203be39b67f4ec00c61cc64218e778ed03d81a9946f8317a27d6f9db6ba06a2b6f7edaff7f87dbd70d68e29cdf49f92364dab3c253b54d1d9efb33955ec19c75aca698c4567ec26602bf90007e6c9b10ef74355113d21b996553317b3aa158dfb4050e34b2812c326539d4b411b7ea86c5c2b6ecdcf122e6af7002c89b4fe1ff3fad255cd6db67578794053cecbda85917465ccf67cf28cb482c240003b7629653b43b967dafcf7b38e6bb6153d1dc335b0031bf3d88864c1e21c482aad3aa6802152899c6ffb1f3f5739671887e244d5b5f3469c345bdb39d68181bd364355d9811e6d69ef85660cdc327717cf49987afeea56f319d6935620a9781fd40222a7f83a5a651624cefc29a99ac9ae69da8e4fd194193fc9b3356019b8ae9664eb9c03d979a7ce7c46ab384ec429b257647e496b1f2a4ba11776b7f1fa22181a0728a09ddf4b5a9e46f83e05ce1cef847ce40fc67192c33ce3fff6d5c7ddb0af535d48ab9d798f24df4815bf0609708e47b0af079e30fbcbd79cacab3dde92351c8c2f69a52b1c23f942ff37717ec8bc253a3773af3a90d69acc6f3128ab590b599b049c0227441bd736242becee2a01464d0104e47c3288cc3ad6f1e90d6dbb6593d7bf3100126bbf311365e47031182edb7a346d8d44e594ca5c0d9bda6c3e3d07e74c5ba57c10243f867312f420ef369e3b163e47cc9d4fabd74457454bb72a3140f7125db32cb82acf021027692aab423fbab5d26731f1fcda2dba5463e7f1d11e5681bbaee5b6ff8474179fd1b1bc5caf37a98cd4796f206f00d6796b039f77a26b1b2f4335d8179da3f9b53743d70e10d6d1501cce49b1828042d71ac7957988b06179a2b974b10d72ba604eeb2b93e954c6efa6f8aa5e21675fe7c33eda0d551fc190d85fec6ce83fa1f19ce88a69ca92e5890665f51010e7f6be2eb08e1e2ee48d6b6dd95ca067552101ef4ab9a1f677325fa3d0ec60db16aa336cb36e478b8ad6700d83e26e959c35bc07b681f0fb5525b15ddb40b02631d12e218e6a02d96df7731eb06a527be64313342dc00e511923406e5d6a18e532e30fbcb51694b52da9635c6b364679ef0b12aa026735bc4fd26ea209d357c37b2681cec9dadc01f558295f1f2fab4dce9e3724b29a32a17d9e9cd6302a56557b17bf5f7542292bfbcac90b15a964bd45286aaff8b915ac081149e456b3beb6024357ead237ae7126a934237bf9c3751eb679cd4d13709e6319acf23c804a7346c7b7c8607eadebf45cbb04a76b552657b7c99c3401f57f840e6ed016c929b2f14b9830802a9d894d52a8efcbc6dfa26dd24ae361686c4a98721aed9926baab89bc3460faabd43fd57aa7ba6d122dc8ba9c27ee7a9e26c5b192ab6716cbc176a8f2c8579595631b4196fd82d8bb898c16ad5f86b5e492bd6290618a20cfe29238693e49485bf47a6b80e760ee0f349e8d8726e29435f90df93cca01501cc2ee2473c032be171605f7868babb866fc19614d57118b15cf2d9efb83316b00cbb032894bf2dd8f4cfc9d77afcf1f92fa2bbb519afcebf2ad927f0f92d8e13a1f9ffbeb741f3eb34b12ff78df6d9afb8b87c835cdfd65ae6fde25e9517a10c5073e93fbc30b71cbfddd727f3f7beeaf4ca5dcb27f8e1df124b3124753585f0e12611135d498fea22c5bc89e75057191e5e7b57902b3cbcc9e57448351726d6916f0deb7355490d564277704439f87aa72c26b4cee6d5d660dbd1b4dc68d26e3469371a3c9f81bd164147b83cd385315c1b1d0c6b1b408aa887b36a33dd6371591a486252e24a3b5a232ab6c666fe8f731a167d87bb281959940a6bbde9a0d24e7cb94c87b16d151f5cc3463d863dcb2e60e9fc3783fd1736a78c1014fcffcca06e71fdd6fa44dd42e9b79fbb0fbfee01e370da35b49a4a9629cd7a5d8c6f719cd26527a8a98d225bbde2ecdda1d3cf58820d6a9aa99707bbb6af75c1d09944fd84678564d269b448fb816889c138531bb16e94576f62dfd65a82ae7cbde1fd8e620255a7d937384eafe2d584f63bb15d85a007b7109281ee349a6d9cfd47ea0654a2cc3d9d35ebf0fc60b6cffb98c175a4d327c5572b3a0a88f64be76c00e0252c63f959650e076c3453daf704dc624aa92b386f7d83ad4cefce5a3f07ec8372db96dd92bac7e4fd308202aa452ba5c8f0fca9ed4f4ba6b3846b52bc2d03cbdfb3e0977ba59ddbba0d53d93e867cfb7a415542bcff70f97d146674efbf2bf6a8eea1f22a7d53d8168c94a931e752d4af9199d98ad9d1cbb849661e0efbd708bedfa0a040be280c557af5d0bbba24e87be718db15d8ae0a04989a7b2621174c73a4edac8271d6b3b1dd966cde8fdc196d011fcac280b6c2ba9ca0258c70f28856ca67b9bf4ad2af2214aae5dc1354560957c5f3cfe165cf80c4d51284fcd7acc36d0591fd447a052efd4c86e75891f45b655f4f661f3d4d4f7bdf1ddff7c7cf705d176eff975fbae0ce0d50d58e64f78ec08ad327f222f725cb7cb7f02d7bdf479a9bf870edf6d9efa63636c9afacb5cdf9cebbe23895d911792d41f5d0996fa7bbc65fe6e99bf9f32f377a54a6e193f079f56ea0facf3c3cfeb57d5f7e9d81aaac9e8916baaebf9b2e3bad5f1ddeaf86e757cb73abebf471ddf127ff70e6f3280ea71ef735ae085661f0a7ce05a5293ccdd020add0db09432a2f5000e2e308c057f4dea069a77e16e14a95d6632815b4fedeeb00cbf3f729b204434e3fd5900928d8682f4fd63a2ca46e409ca02aae61458713d560e99523597da1e0a47e458655d85d1612628bb9f6c8df75ee8073044f70ef382df17a96e1cf96d16593538f84e196910f52adcd7a5d7b2bd5a18b1e4d286162b427ebd8761116ae3f25ad42f8bc865e5bb2c12e7da7ae08447340bcd35b024e485d4862d8bcc798a1ec0e2861bdba1da3d0141c1764510ebf8928897c115768ebc45f8da46f8c8b97431beed7516697623f9fa7b917c7981fbde10dfd51d927e9652a7d32ac6c78b02c771f79d4fa0f6123eb39fe53d27348ef1b131368df165ae6f4eedf5283d3e080f8f693f4bb2123778ff2dc8f7b307f9ae94c92dca477be4a711b3515816b98b523ca9ea9fa068e2fb9562ffcb5b59d2feda0c7b199f741bd7d6b969120924ef5417e923f749ea100adb59e6af2127a3a0ef8955d1cfe00c2d5aede758c708c46bc1ac186ca1c19532999ace7916e3d4530ba7c2235795836ba6eb538fd9c6cf48ae9f032a37c88b31a58985129aabe1208e3a4e336d3db2586cb5c43a56bbe15055768945d5cb457d12068e380272f2099b80be0782143d679f4b22908f49db1dd21ae6da0a26785e2f9402c8a277d3c3dcb1a4d550e583e729be378d44f99674f11c8aebf74e9df993d53d81a91cc110ecbf2fe4177f601cbcf3cb7e24f891df935ebf0fc658def68ed0dd42dbdcb9b6219128d01a7b4c1aefabdd9377eaae800d10ec75cfaee56d1d5b5bba04afa273beada191a01cdc294feb130836a0bbf34ed216f4f413b0f5bd6f6b4b60b78afa50cbad3ec24bea56585b41e6e5b1f1e7d794440169cbba95f964122b387eb729958182f58ed73917353ce7ea33e85ae0f945690b0e70820217afafb9030379ef5a121747ff96504508aeafa3bb9e682ea085381a7956082e95d674102cfe0e865d8e609007e681d0f05b931d6186e9eb782f6e26827206d3bf7ccdc9ba7a279eac61bbfa8cb4d2f872edab702e699d540bef30d66deff02c97ae8ad7c4dcb4c2d00b013eb310a4116a5aab1392b65809bdf7c4960fde22bd3fcd0c905a9c9d23d4b4a45395b563a19d274e364375b603a7ce7c3ce50e237286691b307d3736979d75ba53d54eea9a91e95be677732f3443606b88b4673cc9c190659448f49c5660fbaa12c16cf4bea6fd8eab2adc058b57e00de48d6b619d986457f0bc9efc5ef93c346757a9c3aa96e8adb8d5a3cb3251ea45ebc7eab9a0ef5fdffa84cd196d8d6ae3b37f95c8040cbb2b30e5d1f340de7bf89c59f0f1bcf049a6e82f622bbbda33d99a40cada45d6317bcf0c653b3bfbe465aeceb1e20f5aca61d493d128f4764315db89b3ad27a2b3af9adb4a56aef6d84096f96a80252e911d25b58d337589892e998ae602d8da0ed806a2e74872c63562c2a17b376985c9f63a96c3dd5031cfa40e507dc4ef45ce824ccbdeecb5735755ce44c75ad21a58934dfd33635df5343cebdf661f267b3f96d1eeeb365bff97ac4f7de4b18601af86c1e95ad77ea7ad78f37b25b3ae43601db7ec0c24ba11df433dee9fa78739984aeb4ab95773f52adb6b5df2ee33a699be281937d30979fd1aafdd94b4a73881b88e72aa9a1b989c097241c637f347e64943c95c59e62ad51b791feebdac765e686e80a59c5bd53629ac56a1e26ce90708aa5c7aff69ae5d47fdd942ecdba2f14b7ba0ceb6c00e0e50d4485dd0bbe7e00d358a0c938cf72108cd13b024c2c2e84ce573cc7e7a799e269fb3fae6caec9a1a047e2fe3eb85337ab6aa08814c0d238d0bfcc01ac1f63aa06c3e3edbbe60cffd45ed0b5697da404fd2e7bdfa968646b62e79a2816085fddd666fd06b0bce9a3a36be6b3999263642267e92e88f8bdac41c42a6f67c4be620f16dd89e1e2d64d31362bb5c35104191f4e4e8f2baa11a041e95c91d10527d536b4f7ceb9fc6e709ff61f65b3386b7da1aa4515eaeaaae3b15ac4bedb95ad3128bf784b46efbc9522adad415b4a7b3f5b4830047da559d800590179aa4edd450edcf59acb0b09d951ac777abfcd74cecca540384cf324734cfbedadd666cfbc00b6719c65d739569394bc648e5aa8b6dde935bd3b61aa866e8d8e6c6cfa0e47e62bdcdfc1ae2b7c4b1eec0b5483b3b76eed4d734c5671d9d27e5e0a947a9e22cdfc6f7dd261c201fe817656bc2dfe64b27b65d3ea692e8f464ee9233cbc9c5cfabd607cb71aceb17375d9ed5e56c0e89ff5ca3cfb3d75ee9f47a5b83cae54da75f5dd3a4668fc511cb1144495cae04f1533afe067e71c6d728fbbeba8ef0eacc6acfa45954735d6c27368afd0dcaf2522df77e03e6d5ca7d5983a4aa908dc4f7ff38545145abfdba3373a021c7d64bf45d818f17621fb7bbcb9c91f96b16a98e82aa72f6d3d6b4c48e77a9cf9f307d97d84ad77e318dd913bea498197903093788ce931a43510f7debb84962280bfc5ef2068aabacae2de3fdd978a11980c16a0eec20f244a3f88cad95ab745cb376ed2fa797bfcbcceff9aa3566551ca1c4be8b6d08721e65e72fb13bfa8632eb1fffb46666ff2d63af94f794c7e1e9d612f3ef8996a3c4936f45cae57ecd507252877f68859293c4479e17c54f2884153fb11096ef8a0f6253905c3cc4c61cb899eb9b17c2f2ddae2866fa5fd285b881e46e20b99f1d2497d32337805c52c2b0fe1125b0f1b3e685e5afacaca80c10c7be2f297bcddcfb56f27a2b79bd95bcde4a5e7ffe92d702005aacc710b93e0d0e0e64e29ca520244a140d4212580dfc5089a0aa2c2021497d9cfb36def3d7802cd7eacca1a8ada81c3ca66bd8c3b26920182abb7c1bbef42ca1417cf9044510010ad8dc018b38d681b75e254144dfd658e9d975a0be0f22601d57de497e01b68686aa72c2f2e7dac60b7e2768293b3cb750d42442b2a976e9dc84ca66b490ffa4ba94806e43d7323760309e43d50cb1cc4155d9b9d7fb4374ade38602034004d563a68da07220ba7da04558bf517dacf07030c904e0fd17971281c6a004ec44938049000402f22cd4892cd13ce18773e6e05d3acdb564c517e7475120a4804035a77f3241827d66ee32eb7b71fdc03c53e0ac1e94059bf17bfb215a8169673eb59cfcfc53b06042d67af17e735f401b48f54352ea4880b24a556022de138bab4012d66304a4ee583ed135745fc4e0edbe3e4d825ea7cab2bfd2243614b5b56349d1739807ced7046bfecc97e56682fc2a1fc010ebc5eee9799a5d878bb2cd457dbb54672a73c09202b89e64e72895f7d80e0214acbe7f63c0aaba44f37aec19fba650f69200582650cbf4d5dc11945daa63ca8066b20616f20658801baadac6b1a4571608f46ded04084174ba973341b0642cc3811f41f51013abeb8454dd5483b26063e13b132262b28795352566a7f31cbfcbb7d92209cc55b6972a4e84d4b497caefababef2fe5b63c90dc797f00b9084c1ccb7541b0f240406d69d22f2ea40004c891b65a3e226a7f527d740d10473bb26754964c06c857b19eee179184af09a1731c24253687a86dd9de742c407495236aa8ac09842f2859827e222f468810548df3500d90478046e43ce37db54beeed08ca060e567310221a88a676f19236939036cf531961fbec7a6c1a298e7048010121a98ee01afb70d29201e38a88d01beada82f3ea4a87f39e8af76f7aefccdc24452e40bd582f3a0fbbb6b41e4c561aea976fa9ce0cf674fe3364f0d936bfa9eced40d83dc1d88e29d6838d8a0a2eedb536c4e665e7f2c5f955b19e25365d762eb16ca5e733695f4c013b31603a69534c01c801b6a3e9bce801548f12010c631b099f29e13180e1e673db085fafaf66648a2fb2fe65e68cc3d714bc7b3ab6ea16b9e681c8717abfb89d383e77df0d8e6d4269700dde29008b5f9c2db5e76625b8bd4a26063a8a7d3856e0c07b6b0d61bb2203be297afefb64a34182b5fa9c8bcfb21202f4f7b577fc7a955069667fe77ec39ad49002507ae6317b344f5e5aa8936a48a70b9ecd626471124dff963ea33377d52ef1979c69bee9013b17b36d156bf7aba5c58026ecbf28d8560d88ee15b13e4ec150893d46c79d05fb14d8ae257baf29a8abcc3ea9d97ba98d428a05f17939f3d6a4f192ea58c773bc674c186e7750f48bcf8f963a31f13d2a81fc57ba91b4f9cdbce7b7586fedc0e9309fd0331a81de616ed26641788d3643252948ac29f420e3ece37d4eefd98884bd96a0bf0ec4334a13d825cfe3e85e2df10f9b0071eae88a0810a11f2052508de75431a2b2a28eeb7d770c3cd118024b39f92a5983999b07096e1cbcff07e49e735f98cd81d0e548b1322b169dcaa5e02e672aaf5d1b20b8c8ea8c62ddcbec9cef0bda2c6a649367becdf7c573a21827c792ceb19e22e36a68a78df198cd8116c0b54ef521a2e34f7d613c6f93b9afa22db36bb33a6838c83dbbf44c8f1b6f91a63189cd4781933b2892b8d2e7ce550d3d10b3570b403ed9b3e2da872b96c9e2eb0ad6a924a6792314ff3509c5fd5777b17e6757e1a27b240d853b0f8fedc01452a77bff28099f80a6e03e9172a8cb51e4423334453cc6c6688af4fac6688ac7c7fbc72e273ca41d85c94adcd0143734c54f8ea6285227374c0518680121b7097f1cbdb8c19eb9aaa218c73602dad5370e4eaeaba41abf1ae78d6efc86bdb8612f6ed88b5f037b519797a08d9b0ae9649b35f44be25a157982166436783eeb8aa75b351a1cf632b2d7a0195d51ecccc834ba4efdfaeba6adb4696a4ab6555f98ddbec95cd3e66ed4f74edfa561a17b83c6750d9afad5e43be206d597b90e7caeb046c8415c009a9c27f545928414839ee9558d916bf7df5be69b234dfdabbe770b7292ecaf61e1f40e0a46157d7cf37d5147e652b20f86ab4bd2281437e20311c13525b8adabbdb1ae2435a1cf8b9be50e69ee9535ac5cd071e3f3666a752ec885ba23dfd290231a1b72ced82b9a9fce91ee990d6447393379a345bb638ad561459571b137b4949d63f988e6e515fcb7c0e7b663e91c2125121409cba12328bc575184c9fef07c2539ab8bbc2e505198210fd90d95e32e9e27d9e4c7f7c3bef96d9ccd995715b4d3dff59fd038b9076954fef432375731f1d0b443afeb6fada7a717da643a8ba11ac87b10935c8c586ce9dd3aed839a7a3769d6dd200fe75c60b72fbf27842245f37ca393ffcb1b460ed302cbd62d5772f1d00fc9515ef9a085b94a6007c49ef6b2c4152c2fa0a28abc33c36bf663929bd8fe2e258d687a36d01cce5435036f6d2c80a570240e504920514066531cd32fcb8988602aaf21b607accedca739bd4ab20cec93c005b611fc08dbddb91c4305b661d893634cd404fbff81afceb6e41d2ac9401aebb24d492ea8f29c2dc9b3cdbc50d979024a63315962095a50cc91fc5b4ac8c1e4aa4e37e7f34dbdd84f53bbbb6c912d2154b2a43d5eaf2a32b54f9ed3923d5d33874a823f20fbc209677373a011f2622354369e309b437138372de915865db14666dab68b69b5574cfc9b69fa9e336cb3c7b9ee192dc6de307de25ad27ad493fb5ea8443034571f91a36f60df6ee97ebdcefdd65c7f2dc32532f197e7c6eb729b99f3e1966ffcbbe51b77f360bb09ddf57b738e85f7617947bedb955ae51d1f3b82280a8fd227e41d3b9f58c52d481c692bd228efc8c6d834ef98b9be7915b72876b9fb4edaea84aec4ad9df12dedf8d3a71d0b35ca2df508065ae05bfe8b3fd0b78e25fdc0be27c6c9b1cdb53b30ced0527655fd4f8cfc3bd6a72233f7adee87527c6defd617e5d617e5d617e5d617e5efd017057f2f440466ff96705cd3746365c94e1b0ec706e994367c90a09273f34321e95119dcb826e44eb8cc40c97d3fd91dc7e712b9ef654aa9f4b9c5f7db66653aeba213994dee5de4e26742f0972ef620e3ce92677189dd92e75923297b029bc1f6823fd07816dea05c66ca9afc867c1ee5c2608ea52f812d73c0bae8c8cdec94de70716563c49f6543ccdef9656ef1dc1fccfd07966165b8dfc8773fd015ff3772d7eb67f42e37bce81e29f4976fd76d54ea76795e941e3fdc05ef741f3f11fadbe9dcf3cd89d4e2313686fea6d73776c11f38aefbd025e46bd3cc4adca0bf371ffc27f7c18bd4c9cdff06a4645a4250fd81d05ff6cc7e15f4176c1c4bda01eb58e36f27d755437f2fc77983fedea0bf37e8ef0dfafbf780fe2ebc10ad4049afa2463eb46aec1d61fb51d0df085ac4e7f9d1d032fadc52b84243686ce11a64bf6fdeb305a82530a437cd6b7c3ddbaf0daec56be1abe6b6d9b5ed21cc7979564e5ea84835709f466b49ffb874ac35efd10c764bffe2b3286cd21fa655df99b551d1ffe8b6d67fc55a7b032df24385033309f90486bca9834a7f389c1ceb806a38792a8f55d761f9aafabe60ac9fdd0b660505fd15d88510e2abde0505735caa87ab4b511a96b3c47dbe803d7c5f5f95baf872c37b34eb4bf541705fd61bcd2aa06bab8c1773b9f77c1b0d11f3c90eefe889f37167300c4dce17ba27b74e2fb6ebafc5c3951155d94bedef896d6609f9fd23aaedd595e86142abbb2ed9834c5e0418d6966231b923f9502014cb4d3cf6a67dae6af5d0682a9f7c4beabb15ef4f20851629131903ab1cde399a92717eb6cecbc3fb5aed8b0039d69173df51a207d4eed2154aa8075bdc87be0fda1298e00fef7f469ffbd925206caedeb456b7fe5e176b46fa5e5ef956d57441c939704501e4aa660007c6cbd56fdedc2fecd657e917e9abb498af175b7cf9dbd282173f67194181eb487cab94e0fde3bdf428f01f9f1294844f64037a10ef3b1dbe694a908db1694a30737dd394a0287292f8702fa4a8dc7829584eb0c3dd7282b79ce04f9913bcd025b774a06bf9bb84e1f5d321b8680dc32c7b6b1e763b4ddfa524f597febe185e9bbfff07436a0b2aead3e731a864bec23d0b85fcfa32e187515afd89afd702d2f258edb236a11a1098ac64ccaebe3e35f0f32d402ac786aab2802240a385ecc1852cc3858c9e5565eba947949de36c4b68d22d6341d22f826b9922b026d8243b81e9058c510d7867212da1c0edf372d0bdde0b82b681c2700f2d85988323c1d83be278ef88c37d594ad9165373c916d2771dad5100adc322857d95bbfb8e2d47a52dae0bd26c1353d632ecd56c1e19f36962dae139f1e275672cc02e6d739da4cfcad8f7a1e0cc296b3e35277350d681fe02457303683515fe8c23ecf942178fff3efb5c0a4b4d2a45396017b995b4b30e0c950d83e48e882e99cca1a548f8de31bc9687ebfc7392f6eb0b59c7fb9732cf3fde0fd580f307f2f9fbe211af3b97d1734b28f05b1febb0c16a4f5266032d72d6263667cf23c1407e686e46a21e81131f78a1fee2da06724483f7c2d91eafd5c8a2296592c6247a865f0dc55436db4159a92ea987ad93eb18bb350badb154746e4d29b499c8c2d430f5596edf501928586f2d4e5f67a0d083712ea54ed682cc2fe9004164296682a54c2a19669a98d57ce35ae6ae00b27ef62d6debda46b6c30349c38f48fa54222d8569a7105a810d7a94716322285b601dbf39b68efefa35c7eb6a9e47165e1ba3554a3d537979b9f695ac02c9b99579ce75d576aa8766a28c9cd315bb3f09d5a7bafb029ea1a29d373039d2018bb86e4661170410764fb4eadf14e180402076f82cc7fb129c8373f6fc229dae6c0aaf68db9509cf3f4bf11b96b4f4d6f1be586dd173618ab6a0cb97296ba5f7a0d5ec3c3dbbd06ed837778ea84971071d06dfc12e6a05533bd1730886fae9d996b9619fd83727189a1c9e57d6d29d7480a02505c58c4cf5dd811658f60db5bb752cd4b443502ffb9b0c4b36b9d750255d1d22b89043280ee70ee96694e9f041e60d11e69792b1abf877a43ca5c758608e1b87d9613d56ee90b0a8e367519d11764f70faf5314997acd0eacf052d3df813cba168049094bee075ececfe1c680808ecbf59d722f3f4e7029fcd3e3edf2387ecf9b7759f720465e35afabe6967146c7739c2638639677cdd952d3faf0154d1129ef813b08eb40309855e478e70ddb1acce76c88c6de95a465558f57a4f70a83fcb74bfa0ffe6b1ae3c404122dd28d2f6e668e22f27736ca779e111af230b698b50d45e2babfffbfa1e92ee0578acd8269bcf67a2b9c07b63a86a08aa5db1fcf70dd399aa117902e9c6d7a6f349dfb5f5b8934e624f9e813da1655784a581eceb55725d9fad1fbecee0bd5e7df71227eceea16a96767783b6c1b759b727d330337b78ebd841046dd255247a0e6794c9495596ae40f4cd9976e7ea0a84152e96ef6a784167eeac1157bedf5b303ac4ebdc667ca96c2463d466bd1f2397f19e089cb02b80e9fb3ad33448c5903d5b969a663257f2fdd61f14b27a6d93345c61daa1961d2a09874f67c5ef5dd10525c7ac4799bc58e96471072dc2ec12ce58b72b6ce7bd496f03159d1d4bdb8059eeec967d45439ed8741c4c87980a3bc709fb936d4c09835cdcc12e7916d615967ec2fa02646d8ab274be4d618e7e4f1669574b1df9d46e202c1795f680aaeda170444e41fab032a556a0f362c8c3cf7066ad1ccbdc56a6950ade3ffe4deefdaf3bcc697bdf8efd907e0c0d5c24cfab4a359f7c4b22ec36248ea118df281b5fc938e96f5aa42cf5080c2ae01c253af1f2ac066b9374ba4b59fac89ad07ddf63b62ce964d77fe2f491616aff7ee2e599cd69daace2cc6aa3db5bc01a4bf55c339d44ff121804af237f605640d50acecc8bdfa61d2f93b849b22f5c8b0f80304b7413ed5649f64395dc2467ce5035777e884e5090b6712726f2cc8f919f6629ef029f90fceee3c77db136d8075a83c80bbb3b887dff5ebd9df44932f70150da2630252300165fa2f3b92b997d1becc2e41ca1e91946ae6da1dbc9f55b2f343771d73b92ee752d1d9574f06d0af328f74f4bf668817fba82021f900eda099b6b3c3ee693bed34623f178516b679faadd939fb1733cfaefc4ce01b6b1cccee308eb63d1a41d13bf0dcffa79556f57d7c1a206f20958207aaed803d74c74f16f7ab98e870884a813776f5a016a8f04c4cea1e3780536f6dd690ea6a89b6966ae16cf5399b0e07af81caa3e333f082618c72e4af61f599b1298201bfb1bf76407dbb38531fb32f9b6030e58525c1295f89bf4ac26f34fef097aa4ac294a72270bd63dddecf8032d28f3ff2fe354195dbfa29de493eea7826b11a66b1277736c635fccaad870af8768530961bcb6e154d73a228fc625490957a65b75e0ad35ecc7e1fd14c6d73126ee4ca76d0dc1d0405e58cda84c695094159983b4cc2b742df22cc2e69c8d5356c86b03687a3b36781287c6b6420326f8c2ae976b03e558e0d3922b523ec4581a876a9faed194ca512d0335cd1d92f970acc31c088f5b327612879b6d3dd190a04a730e90e420794a7752cf7edf189a4ee5a69ce6a3c97e7b4a63ec19b6571041d53c3f63ffd3ca31206619c309936b9379a2f35a63dbbca16c82ee673e66e4adee7c5cb3d7bee5eeb3c0bafdb8f745924722fb8bea1ebca7e4c01375da55bd49b700fa9e0129f723b9df99a0f77804437d4f758ebe87b4e4ef4c7282f139dca813418bf8597efc5d118655f0d2ba7d457f9feda4ef0b12d195c9f9de70cdc95f0b98777e1c312ea1f13a14aefdc00bbbbc97eb7640ca9ee7be10448e309f43d1df25dfb519175dfb96dd2ff27f7594370dc7988b39191cea673adeaee9f8db8c292f7b4dcaa60ae685329eb69c8f62bf55c9b32d5fc4d4e2f56ca4abf272f986d2a9e4b78d60d2057fd59d270afe182cb58d4cb6e81e72b1e6b65e593eda64bd4c7c8f4c9cc6a7ff66f60bd625e7d4063916c7fc4ae7fd8dba84be6b7da79482bf8238423fa31bcde92c138b1f98e7b2ceaf9f268bbd04fbf50163bbec2842fffd978eefefb8d7de30a611d3e525b1c182ebb15f551e737cf738e483631b2f6fb6331439f0d579c676a7ff4e6d506ca7ce1aca5a4bbb3a7e7f606b5bd7d6cf39ac66dddff5f93bc9dd278335816b730b6c2d724e17cf3ac981379037aed5a01b4eba87f66fd19bec1c27b817cb2fe9a6929b971625bf8c913d635fd7bfd796d9a8f563e7e69eaa706ebdcc6f87031979211f79a25ec00c5f389f8d62eef4daa6fb954b7ddaca772e669e7fcfbeaceb364fc741282cab3a8e5cc76c686c83e2eeac4ece2f8e9f45f3ed223a631f19f46442e17119b3a88c5184b31c76ea16b3a0318bcb396da22b7c0171d8cecac493d6f0c473c0e20f047f3ae5cffe80c4424ec096378ea52392a71854601d2ef74cc373bc1ce357f077ad57f5045b9fb1ff69ac4d973cd140305b1a96f509042454959966d6bea12e7d839f4772fddaa64167c0f2bd674904ff40e211a1113982c2c518c580d1f7104c672f43a91c36b75f407affc5f394e0a803df3a36eb94f8e6f844936e77e57352e70fc6f3b1878b0279a9edca963c9760afe3fc5f0417721c2fe397be7a98133a604bd981267b86deafb57dd2a2b3242d95656bd9e4ac6c68e7b6a2e968f8be710717ae90722a7f5d51d9e7f55fe3733c59031a5f2feb5e83fdd5f5a7c4f2893d5e18cb8fcfba4acae284061d44a44e20ee9098d6fb74ca65b186a299ce631bdfba697ce70dfb97c60b387822b9a100a82427cb6a289ae8746a1f0c4084cf8d3487547f1eb48b79c907dfd236aea58f805d47cd50ec37647e9ff58378273c629fe115c4b655c6f766d88426f3703977ac3b9de05afd667273b9c79ad16a34b695c9da57ea646eee0dcc0554d1722a989554458d755503faa3fadc27da0151439e58bc4f0a6246ecfa16b884e4372936a144b7d5e1d31bd2c7bd0f3f7c8d0d64f5166be21bc6f6ad1776375025f9055a2357b5fe8af16d38f05f80d589b1c8efc41a37a29c88dfff6d9d45238fe3830adaa32b7d38b5759d75da05aac99138016dc711319d98f58d32fbf682e2d308dc329b578ddf69c193fa19d70258bf5ce5cbdf8abf74b3359285f25530ee7c5d659a932f78af18c7473019f9dfa578cc124cc08760791c5b8e5ad51590cee3c11eaac699d666754fd0626351165034598b0bfc5b228f44d6f33533553eab3ceb576168dad01bd6e194ca745a523393fa66097e29c93fe1f74c68e1eafc8a36e7af27984bdfd610c122b5ef80fe042c9df7c204bb7485658269ce82d686e0358d751ca13956cd8ab8437e3cf5b1b7c6983e8607aba45aa263332750d41a9c83d576b3231cf7be654c92fd59911f2ac2c543d15ccd325db533764e52bb341c9807accf584e96d54ec618f94a9a52ef94e295470b598bd7f2e0c439776c2fd1b58beb38172c5f0f368ee5bdbbbea39a1eb4c0a7ef4b4f54374caa31db2ada8dacb44e80fc2ec19c57c4c55bec7dd7feda1a873d35bfa66bd84793cc5e8fe0824f3b94f78defb3530603b8904d86016c606f92dada4c8c8ce4a19ce4b9ca643a8d6979ec2179a738eec57c7e1a9f14ba5b4fedeeea7c4dfa4c0d79ea91d087b35a98d1b25f81596ea9b39a536b95534436dcb31f8d3dcde0a0b3b6e6dc5b9b3b486397ac9eb16aaf26b2919585ec5a0fc344de7750ed2e1debb0787f5d1c3acc42655746ad4cafb9c654cc142d80a18f32f371722c691dfbaada6c30cecf8bda5da574795bfc3eefd62dc4aeb28ea8ea7cbbd6b9c486d8007b3277d5ee060c6a6a43d4f4fa643dabfc3b15db301f590f12db1175b883c23a1e2a9f69be3ab1499278428acbffe1f8fbdab3ba99cf2aef5dcbb8aa79afdacb4f1cea4f4ef20b1462df80b4852038d72877ce0a680329857b928f4cf22d557e99aa1c5c3b394fff9cce8c6ff43cf53faa4688f226f451bfb55daae45ac7cda7b309add3a77bf84f4f3577f8b389d0dd41caa9c1aedd0c559e2f6a7d70f947f25502a9cf0c877d74f6441379c89c3e51dbe30cec494d4ca54d3c584630243579b55881825a089683c03a60e55a3a69a188e7c2496ac3ba9ad127f5f91c69fd27a6ad23ea635a247679f0d463446c2d2140705151cb5720fb8d72073116d0e3f48d63a1ed1b6a7fc22c167cd4bb8a3d0609dd6e918cd4c6d4b10c29119cc667415c93f66c91b391c47d93319c3a7333b66ff15892168c841fc0ec60ffbcdc9fcde92b8a59cdb67354bba7613f7a7ae23aa41e130a24fe978d41c7f256b54ff3ebd3c417a3183cf93c8beb093e607d68fd457c5fe677917d173f83ca1bb3f90a5a525ecd176b7589f51bd6e180e8071a833b460ee15fa1761f148d176c573ab6c9b92a6927b164ba13cf0789c509a824a6905ba3e6715335d12327d8de9f9d6179364d6d9cb1c71339766dfdec5be66984fddaf0280dfbc1cc54e427d666b53a064be43b9bab48682db1bf85650ad85877222ebb4eb16dc4c113e1638ac07a95d537b53a768af43f9f16b20dace1dc54bbafc0eaccffe847b6d9ab887bb4d7ad646f123d307ba36e51f273ed08c7c0b5389aaf21dc220ab31f633d40726fbb615fdafb0df21971ae97ea177b9cc826fe3cc971aa66e8d8e6c6ef7d7dd1449d77165e44f50969d1b2f62d05dbae1c6882374ab0f0e6ceb5151edb068477c9e2b7be6d9058ef47ea0e92ef09099fdbc40bcdd0b5e7ed7d52cb49e3ea16964505db35e9da62fb30b5750ef4390196cf66f520b18f12734ded88bea2739bc42d41ef9019cb2c9603fe3c54bb588710fbc3b13a734d30b19fb5b9e44a2a1867e05de83b87ed21a62b16b2395b1d684ec8067bd7a2f2e70901a2e7cce3dc13b69187f5e9ba9c569bfdb16791584a666c8c578db631faba1e4d2b7c9b967bb0690b06d6a6683a2bb7cf46d3d456aaba173b572674af56dd8f622e073a93cdca7a5b4fd479606ba6175ed225e7aebbd23955ef5ab03f3e9b1e3df0d44259d9629be5229e575693b82b6e01c225b1899267475eec77977cffea5b1a82aa5938b6d194fa4a6fa30b4fe3914d79242e7807b375852c769cc5e564f33885e3afd59b94fb09ef29a9e13b4e81e547f87ecfd346391616c7277c1ad9e795f8a6599e8525e5a223354f7b1892da775a83febebc646d7ce08db98953666e18de201d4f35568287ea91f00f525e4c39c7cd437904de5bfb9b3c67e2855d9a43e50ce458c6c6b5a4aaf623d7f5da03139f7d87e43e2779052c6505b1bf37bd6a5777d5a6ce99caab24475d392f89ed4062ef0ee56acc3e8bfa47f87dd4386e58211ff13d3f8456bf46ef1c7cebb8c17a8de6dcf57ef2ce6fcb039f3de1b1193640d19f9e5ae43f67bcfee7c8c63a90d4a27f4cee9f614eb8323ec1b277cffc6e9aada9a7988da14a3e4f6271f8dd9be5303e66cdebb023d56742559c8fabe664bc6eb190e32cbc6a99c0f8850e57bfcb72515dbd430de753c1f585ed34b631a7c4f5f5997afdebdf24f894ebd61029a6e1fabb6cfefe7abce93eb86e359feaebebf9c5fbad619b09dabac1b10dfe6a3f14e40112fc188a7f13c75513598fcf74ca398be703fb61177181ba9c1c699fa93c512e2dda46bea90de2d846308bb935196735b61301d61194ef96e1e713ae2e8a6157a23877539eb7c9700ce4b84cd5eece116a39cb1ac57beb6ad7dad7a8e908bf97dfbbc0d32767beb4c2735389936d565bd030ff94e12a6f3dcef8779778c9b8b557c696295edb4a9cdec57cf49a61251b72caa43ce96683d6394576ebf5ef3379e70b6ed96cebdcaaf639c9f3aee66d3754cc042f407058964ee3fb17f3ebaaca79a8ea2f241748620db31da88e031ec7cb31a77f3e9722c1e4567d47db63977126a61cd9e63b5a100d7b72e85868e3db1a7ac2f22b94b5912daa35522238304f6086df55275c5c31dff7060ad21ad8c33964f79ca63511f9fdad9c4bf9ed127d46f41e794fbce67fe075561137548d0894c4176bd74805816b1d792f34a7f13b34c4865efd2ee13877291629e13a4f733889dec672117802ed0d908cad0cab82e7573557c35e1081851cf93d79e55a93e88d3ccc78ae574df9a767a11980c12a1b872379a204df4974b7864088fd636919dbb6f1b9c6f08d65757dd538495a4f76c13714fbac78fee2f924b8f1129c20d3f50b287437c052ae656400f0dc87f1fa34e644c27b8de0310525d77702eb1937c3a9553636a2af2ce98cf75bf9dc281c95ef20f0f03809b7bc89e0425ebaaab20314f342d601aadd80729728cc96d842d160f5b89918a4b687a281653328ab49ce62cc878a8ef2bd29f4bd179a7bef447b5364aedd633bd53b75592bfafd354e9a17c6e8f1340a030e5eb526fbda1cd7691dd750d4225f0d2ae2fe056b46c6af6c80d03db9b6f102f332f5e2d8fa4b8c47d37d5be7a84facbf384fb3e37851cfa308c50fc08e60f969c58d16e7cde3da9ccc191962dfb8dc160c48bc99d49055d7e9d0fb8b1ab60d0e50c0ba4c5ae7e7f1d3cfc800aafedec3efae16c67db7743c4531d69a5adc0a7f7434253d1c123bfda9a0ee61342d38372bae99c57affca2f1b68c8b18c4b7f777ba59f2edeb1d4172e1ed736cb4d953e8ba3b9ef44268be62cedcff27d210b634bd9786a108cf158d3d681f19ee592be46f9f67dc48723f813f0ed85d606c473455be4119b23fe3c3afbaac2f9b1dfe558fa12d832072cea675df534ea0de39e35993e45f167440fa988f5769a5b3c9621f9ecabdd13b00c2bd352907cf7235bf2ade7afcf9b0dbdf4ad7df90aeec19af389bcd46dd59b4fe21f39eef141faf8de7cbcf899bdf9b887876ed3de7c6c8c4d7bf365ae6fdc9b8fe784fb07a9d34d7af3d19560adf91e6f9df96e9df97ecece7c05dae4d69e2f298713182c73bc2b6badd65ba71dd4639ab37bfcaec52dfd5e9250133ba6dda40d5ffc4c2e7e667c3c9332967ed2ca2f0ee7eaacdd4f59cb3e761d4b53c42e997cc663f3ad63e02d0bc6899f39d0975024e6c0f7341c4153f57ea86c5c421591719dd4ee0158923ceb236bcc53a892937137cb531b725eaeeada45f57cf20c76fd553ba8d42c21f4d08e10206825749991974f9995a4c928cc10a6a650aeb558be940f7f465a252ca180dda228f35c022762215de6225d97e4d13657a40c2286ad6c86d8d5ebc95bc726adaae27667e6eee23914e6618f77c33e8f658dc2c7cf2f73776070de607c3f3a75d7ae3dd9b9e7e04cf6055e638b271425cfd36e5ce68916be6decbdf5780f545300d661ef09683db29493230491af9a4b7f609e006943b8da92b06548a0767bb81eefa03559a6613db3556bb158ee6b42fb5fd7a44d65ef2afd19c35caed3a04416144d99f1937cc811cbc0757884ad73ae359d77eacc59dac83bd1b5c0f31b43baf0bb845ed8ddc6eb8b5dae0314d08ed17d3018cc75f841e79d908ffcc1387683cc33fe6f5f7ddc91963d21812bd1f007493750f81e242d9c7804fb7ae009b3bf7ccdc9badae32d59c3c1f8c2cdab0ab9cb17babec0652e4e05253a76d8387c20afc9fc266d5f8adb59348337a00a58f7c7a6181a86ee9392adf7bd5713ea725408d36a16ae4ed2c8ed5d75121ee97ed4fa65cfcda4bcbd62eeda9441d0b393e303af0e12dc0a6adc4c5e5adf375d933a08e727c0036988f0c952cacbe75838214e9f555d97c02a3ebd7d46b1fcbc1dc266ec1da1bb2165d183e2f24fd736102c6f49d4503ee508863ea1b6ae2fc14ee62a826b03812a5a4af5b8f8d0fb65e6a49afea6613bb77a79ccae695509f636196b49f83c864370109fb525d734817cd651032629d395c6c3d0d894a4eb1ac9855fd6c6b9e07dde19ca4dc2881f0ded012269c7fb8d416faea12fc1bef2fbeb7d78f58cab399fdcc2b17fa370ec6a1f7a68b7d93ebfbe2b225b721b1694edf0dc43bba0ecc323273d3c081f1f94e5ee3f2f287b2f3e3ede3f340ecac6636c1c944daf6f1a9415bad2c3a3d079e493a02c5d091694e5ef6f51d95b54f6a78cca9668945b60d615c136e9c11dfec0e02c0ff449d2fbbb2a40bbb59e66499fd99a20ed568009778c561da82d1af72d587b0bd6de82b5b760eddf29585b185068caff47309a8113a28d6b1b9215767795dc5a4d7b58aac6cee3a33d0cdb716e3e21ddc5fa2dc69bd1f165f895286791ce7b037913f7a64b6a9da9f35ad9c332a98fc6f29de5b370ad719eff4934972eed7f96eb7919f373e177537c555f55f7a047bba1ea231892b38bedabfe131acfc93c4fd31a4a4f3402ac6b29efc3d70596efe142deb8d696cd057a5695ada716f78c4ffea8ed92f2518566c721fcf8337cde6f478b8a1e374df1775501cb86f7c0e7077ebfaafe05d5c1bcbab3b748def4833f23d8cc063cf72d0271f4fa463d985af2306f81c5efbd357ac267a2c1d5f516cfee4f8987586e6bc69904314c3d7a0ecdc1a4418fac2480b336b74e4daf9316dce95165ddca0773a1d7d5e6344c28d1fe81ef0c0852bcf9113976a63ee1fdf74c825f93b5b903eab1727f7cfc5e6bd80ba165df8d2641d8b7ecb516725a5a8b92b9a632807bb58f3e80d77bd893497f7afcdcaac4c687f78c11657e82fdc8263deb9ada0e890c55259093f76dd97716db3ae6a6494f2cc7325614b72f055069df9faf759fc9367d9b680f9a2d14356926a07b30f37b2de66ae75bfca276fe073a07452d0082f939e74f0b3efd9a7e77db645dabeb023fee0c6954972f9d899d577806958da93ef97a4b6a5dcc33496a5dd778df12517feb44d4fac57f7e570aeaea062cf9c44b12d72af9f4d8e51f795e7af8848a80ee27269f1e3b222f354d3eb131364d3e65ae6f5c1120489dc76e47e092e4135d895b45c02df7f473e79eae54c92deb443a32593f2edbf4849f37abca321166ef9aec12b9a632ab941bd72d9b74cb26ddb249b76cd2af914daaf02ce59cc7d0e437c51e5f71f767c262a59a297b65d1bb0f7267ced1b18e07179f818b8c971a77af6451b82b6f2ae91867aebec76ced4c87638fc5b17c947cbece3265619dad236f6020d02f3e5f868b385a329037bead0530f98c300bb048d1f9fb428636f1ec48f4040125e3e1d1effeeb077a499bedcbab3b7f9fa354748fc4577a14c576be92f4d8e93e089fe02b710f9f583dcd8bf75c63a01e1b63635f29bdbe3950effee181bfe784d457222b71f3956ebed2cfed2b1569939bbb9404f17ea0cb3463cfac729b94240950ed3aa5c9824af7e96a9c3717eae642dd5ca89b0bf56bb8507580bcd4cd28241e6c9244a6845a1549fc00a8063dc74285107b370365344f947f50b3858b4459d3fb5727fb92f3e396ccfb659379cf47378cd0a55d183e879eeb05cf7e735fb5cd8d1287b5cbb57358c57b9ebf97c44f705805e1332bcb4491eb347558d9189b3aac99eb9b3aac1dee51e439917b4c1d56b2123787f5e6b0fe440e6b1b9572f35aa1656e1d41c11ed88af15478272981aa8f423f72b0752bfa8117723bd77afc839cb034e84a5b507d7b99033b08a02d6f0abd5df6bcc462925f5d4b5a7d5fc83ab0f8a563e92fc03262ef34b66ad463e489c6a8fcbab204208fa0a507d8a302497bd9313bb12318fa3c5495d3f7058166b37b2ed367636fac4b2c91a70c1f07a001ee00aa6815b75b6463c1d6db6e62ca9ab9d49f620f32b5a82a2c46c796a352b8708157439ec1ae5fc8ab8b164f895543e9a9f1b8f88051e5ba948a3ef156e2315c5990d8f375ac4e62858d16f2136d65ae9d8703fd058ae606d08039fe8c2394ae42770d43749f7dae77226d8b685b0055e1805d60855218e9095bc1ac052669af194ee6d052247c6f97b6c1e5e13aff1ceaf99ae7d142d6696b27b403e1e3fd500d387f209fbf2f1ef740405c66bf2ea1c06f7dbc17072b42db8cad68676d7250d4ce23c1407e686e46a21e81131f78a1fee2da06724483f7c2d91eafd5c8a21e3cf11a892ee0574331ddebdec92bf64e8aa0d1b1b57761395fd1396b1cb92ea15d6774ebb1e79f5bd30cd5fcd430f55996363f968182f5d6e26881863c72bdb9f307e35c0483ac05995fda2a10bf0b586b7b388ddb5759d2ca53bb115cb3b6dd718be482d643bea56d5ddb38c7563df2486b53633f22deaa14d37fcfe6be4dbc0f047a9df9d4eacc2782b205d6f19b639376fd7ff19ae37535cf230baf8dd12a829149aeb54aee79aa79d566bb0ececfe0c50ddbb5a051e8ed86dfc6f3a7f87794ee3dd8fb2779eb5bfacb50d1e427da8e8cf784196d5dad220e5819afae8c269bb6a298ebfd423eae5acf16cb3924ad6e8bbdee6bca700d79ea317204e59c6993cf60d344cfb996843db39d239867a227fbe9d951d976a00cfe5e4db31d97025d72dc70d9b1358c6e147bd8e419ccbe98643c651a09f9a3cad3cec0882f3cddf45c89656ccb4a432e93bc8c9f0d5893fbe1c038f9d68c9dbb716479967cee8946e00fe2084ca66def53a19df075318ce7d3538fbc172a9be43372c6c7d194f5f87ea86c7dfc5b2a8fe6cacc249ec977f3fffab4e4ed62fdef5777b37ddd79dbdd55d2c43d6c627283267e71bb5b31cff8f1f1be05ecf5fe9f82c0899c28729f4184fd999c2bfc3df75843847d9fa459d918ab3de3c2eb9b1361771f39febe23269e315d09e6190b9d9b6b7c738dff7ad7b89d5679a7733c899893f7cdb7750e0a7cda376b46d370714f953f2e8d226a08c6e9b67572182cb3248423cb477021919ebbceda8c20366816f4d9b9f06eaf731a2d49d897f5d3d9436444d032f1e1bfc5ce2b5c9b1b4262c70e3655113d21e128398fb0f1bed6026cd0f996cef9b6d6d831762d29f442051b367c6c58b64af14e4cff29e1609917a162157bc625ef5ae214e7c75394d6756cffec649f5399d26d80e6620776ec10a606518dc35cd8872a3bc661a6bfdef5ba647b255ff66c72ad0e762cf05a20e7b2b7765f9767fdd53c99eb85fc6db6cef72dad34b855e5e056f593fb8b1cfa1f9d9e26e49b6b83f6056729e7e921ee73c507cfa40f1a4d9ffa96740296be0782143d87e68a0501bc5367fe6491dec5110cc1fefb22db9bc98ffc9ef4fa7d30c67b0e3b755b689b5897482475b9c64e97c6fb6af7e49dba2b6003047bddb36b795bc7d6962e7158e23d2c280777cad3600671a0bb3bef246d414f4f7b04da97a9cafa9ae7c23475313c8104b892de98b1c3c8e621e79467faaacd56e69399ed63481c7154d87fecc73af8ff5bd2d5f53250eee8d7d7b1a6e7488dfce475ff93a79acb8cb34b8206c3814c784988b34e3f974d5e4f0842b341a26ba7b7410daa5a4d545d14d4cae8d87c6fe9e49db0c3aa4720c44e31ed2507543c9f6853dc03af696abe400f57925c17f4d5cf8e65c12026e69904ead75a84f70a1cac2ed70aef9bc04f7beed7d4b89b1d4f3d066ed27b50e6bdb5bcf7844c2fd974de499f3d77606e1d4baae8ebde86ab415ea57657f15f415ffbefb3b4ff30e1c8b9ee8d8765c1085ceb58f39e6d6af5e51514783c571fcb55d1a2b6bdaa7f3bfb6bcc15a17623a0b69dfbae66f4c77357ed6ec0a070de0957d2932823b842fd615fdfc3502267f01ff4b751cd1c07be6dbcd03332eed156d187b735078580659d6fc2e973ad4bb2f631227a23d16d4f1cea4f387de35868eb9d32f6151d732d7f04f13954258225fdebdf2eb3f13a12e8a7dc60dc79196acc47817f63ebd4166bc2e542c7dc8e8fa38d6c27738a105c1b9af1f17c4b9127ea3cb03573b63a7cb03e68c63dd18c843d7fae545cb72be3c36804f11a687b3f44ab3667f32cfd4da24f32f7d966f9d6dea2df9b721039a286804a6cb2002a71dff46ae2fd6bdd50748f3899e25a204a60c0ea719ff6b8bdeabf5dc3b1c2fccdd43e9f98da779a5050ecd949d626336e8e6d1cb836227fb022e735de97c3811ff9ea9cc14353ceb78f3b1b77a5fdfa6be68e04e22f7bbb4f333d7f3372925babd42f294ea2bc47d7b4690ed2a26fbd2b9a0b606b3b60133b34dbe085d96dd4aea9e1b68af504969dd4aea57d9c57f4ec54361f3b27b54d3c32ba849c010dae89e7a7ba5f6e531e9ead53e91b94ad131fc4fe01b327d97d68f536ed051cba96cf7b21dbb706faffd97bd326b591365df8af4cf0f578ba2501e5c211ef078b42024cc98d28b44d4c3ca19468244801c7ec4cf47f7f23efd40a5a5214e5ee398fc341980221e57ae7bd5e974bceea7ef9595d0f034d1288cd61eac30d923137d32af030e3dfddd80da20bfce6926feba78ddbc72146666cab891aff7a83e539e8c3f358f4140e9dc523a2eb9aeed7109f9156c4133bbac5a0c3d4c3724b0550a7b066ef903393ab7ba46c3fecc4f2d47d1bf4b49757c0725438536f433fc9f54c3a50246f290e67def83c766c6ad80eb9f8ad657b0f70a7b263f6188c3af1601590f214ee53493c585d91c84dc0ae8b49a19ada39b4db1fb817958dd51f7691dc59d80cd86fb76d55783368c3f96f1b1b3cea8a78d687b3ea42f40033d60594831b718ccb276cea2a930e3ce87e3d0de421f8bd12bb3d7e26915f3f32bedba6e6a340e3febef320359e8fc15c3b5bba9beffb2e9d9721b684d89792ecf77efc79541e13f98c366172996f4dc4b3abb7f72c764185bdca36c60cfb7a34c99ef711af7ab18e1f9e75c5f78bc6b5a04d55f353be26487b0bc88268724aa2e7dde2d8959781142012e49f8f699fe4344c0e19c8de01c9ea85c85ca8f43fd3788013f091bde19941874f9550856be4988ba7879a220fc988fa788e84767c565eadad0df253b1421fb0a2c3bfb51cbce8bfc7473a32121f696a7c12fb0b48d094ad5b21bf322525679a7c998aef15c86f6622b62cb2423d5feb1f2898ce01e35bd004cb1812db22733f224b4d633c378d2191dbbcb31a121b6b3b9b889ed317b7b6ae78665081b7dd4d12559375502a2b18305873fbf382047e8784f6cd3a1fa7e620f1fdb623dd70e11ac3736e69e0ed3a4b92a17ceff22d65afb1f5ed0e3f56fa990c98bef96b3dd5ffb85cf338b726adb9756ecd07cb28a1bdbd1af8c7f86f4b1ffba30a8cd5f885b5a3d51c7a96ac2d072cfeb69abaf0a02b6e898da2f5871e5a299b24cf80cdef767b2ec26f639d249957f1600a74ad5bdd8ab9a4ed0a5073b8338df1d300e26dd39d2be35db98e79df18b0623087fa47d2a78af9184d0ac7b6622dd7c0e365c26866c034beddf7c3d03712d83ab13762ff12a3bf873966739da8c9bcffa681b6b574e992ce39706e64a2c83b82b61cf495c340b6bc9f2d23537912910e7019f4ddb5ad2b6bc86f39f3604b98867aa8c2cc4f8fd5a0ef7aceb943ec802339536c7db8b526345e52cb2f57d79e813c1ee9e24aead9d4db97f04c9bda4cfebadcb183df5eafad812c5d9ca6b683a2099025eec60db47d0aada9daf625f229e89c912e71df7d9a983f3218f61f1debfaf1841a18f179eb59837e5ead093f3de743ec34c5039125443f08fd026b536f2f91cc22ebc37666e3b04ce358339ec16acfd152e582f554298b93b5f093e5294bff4ab0c359da93ca072bda57397e8d540e59fcfe92be57a5fefdcef8070a34ce153ae7725f479edf3efcdd396337c43e9a4cbb6ffd35499e45a94fa0560c6261eb6a09e978715f269a2828142e01fc340379b84582f203f22df4f1dc5c2d433f8b8a5120edd33c434c7aa18cf7839e325425f02b732c3eabccba63e5bc58898bc9b45227ca93e9fa94b42fcc7d35751c9fcb93e938c905b9bbffb42887b46ff4d63bbf5ec6bcb2705adfdf885dad2c2ddd3cfebdfea9327e03169273669f4dbc3f0ae45435a67f892fa4482fbe41552cbccfafc29ad2bcf5f56af7638d37d85ecd1e525d737bbfa8c446e09edbf54a6cf8a766eb89e73f002d91ffc0129bcfcd6615ad71aa6426ec2373894d723d335ae273a7d3fefc19101c27a999f8053ef1abc2e67f5385cdad64f9b72fb389b02e8e4896f696f1ba672b99d92435d1b27b464dedf89dba06cea6a170ce2a4af1ae854741c31061ffa7f2c98bc3ef593c8a9cebb4b2d29beb3ee6e151786e5389c7de899f5d8a47c1805615811edfa22c22480795c613cdbc4c6fca744ac234d9f1794f39ce75094e344e6318a7c9af129c5f2538bf4a707e95e0fc734a70aadd37a29797ea55e8ea81bd5096face9a9a50ed6e634dd7aa7451969bd4bbfcb4392d676f30a43255ce53cadccd8edbad5bb8d7e9bddda2b95687b2fb69a28192b12f74079562bb14b9446e703b0aeff36f8c4459a57007b6e3f9ab993bdbe0f53998ad768ff00f14dd347212b49e9e3ed77212f09fb9e7d6e766eb0370385a1f89c3c1716d8ed54910f591d54990ba9e1d874368f1fcd37342a94067227212f04fbfbc04bfbc04ff7c2f41917cf9777715f01e511d51a02d2d43dca226de51e0f5369bd99f4bbac086ec1155d2dc1c9150811db7ab976e5738465bdb50b8490acde34d978809b42763eec8a7c38ca8dc2bb5c47d50d0ef6384b081f75653db9ac6a0f47af0de0bca01549574258c3e6685f93a47d1881bd48e0a4287a2cacdfcb118dfeb52b87207e0fda0af1dc96f2d5dda45081f45cf1cf3c36cd4b634ca594e44910fe5288d27897b8298a281adb7e32a8738eb01ccf0700ce30c3e7cc99aa25261e5e04f85f0fc3720a4a834c172a13cff0e620ad8877e08999abed725b306a80b88c84cec446b4bb6ce48e0c23da7edadbe7820f31a671341c56eaeabe9df02d2b37a0d24640439b2a03c7a9c4b54c1966501d5709a78404251b53373a6f6b5bc7a0811058a646d69b5663db4004bee2c6c413b6b4167ebea3c9e0af8c99aba5d860c93a8dde01eb584bc8a87ccf5a0cb2059e33efa59ac99b3a389b84482f2c332863a124e3cd2b537224b55ae2c53829ce5001fbeb50cb5c6ef18332c28ca97079973e5d94ab5e619e952eb03e674570b29a408ea357bcf1a592dbc372bcdcce1e6e82148226c997557eef0c2ebe27d5c90353e9a109d50da166734b2aca554c65a91fc6146f9c9774196676e57b962b3e3cf92c1195d6b1ac3b3695c43ff26af941bb447ec8050a7a9aca6ab5741d9d9ab32a0042dc78174b1a68a47f47fdb50f321a2b373b3b474cb73f513f7ddff7aacce64e33728c03b57e79e062f5f99513e4097d4ddc26ab8e88584768fe8a82850c716b15ff53667ea2e1eebc3831b685da2538c05e968ea0ad1139832efac40e2517ffc3478e91d5f2bb3e7886eeb6d90a1edbefb5f4faf0c7d24fbda26baebdb7ace70ff8f3a3f0e68a962a44b7bab37f41c417b310dd13305cccd2aaa8e6b8ef943ce15c864158a3377077564027d765241ae5119fff06c4f320efa69630bda30fbacea332fbbcfc4c0d44f97ea4a9d783c7d2474b6962e95575db3af95ebb12a3fdbfadac59a92336087afabfacbb3891f89acc31a7a8adaec1e9c6057286f2acfdaca50589bd8a463322f3fadba96613f302003b1da0d90355b85f051ef9cc27ba7a97a2850b04643c00cf29bedecbe673fa7f697e7ac865eb99c84d0f1c1ed257d60a904aa75fed54097b80eaf9623d870b76dff59fbf6a3f761ca67582bc45c78df6ba2c1e2fbfc3bf3d997463ae6cf8fcddccebf5f14946d73ed56bdcceda7e6f3e7cf4fc207d0067e60e6f667ee99ffdc66cedc0efbc89cb99d5ccf4e1bf8996f3db79a4f715096cec4afa0ecafa0ecff9aa06cbe68f9778ec73aad7f58ea76ff7b9f29753be7baa2d4eddc3ee6a56eafbef7fff1a9db79e37313831cd378ca0175c52805fb3b1254ec9cbfae275994442544e4bb4ae1067b27421ef1063d1a4b1f48740e07525ca9f8925b55ff2be6fa2be69ab5b97ec55c6fedd15f31d7eedf1773bd3de3b489a59bccc85e93fcdf47149f49dc0610f52cec04da9eaebfe72224e642ffc2edb38a902e99fd3d1532b86c2f8a907fe326e536099a70a005963124eb9d29f655197b91ad8da59f965322b36ba2460f391c447945a1ac2032d91bf4c58da52b9822434afbd4be073fa9a54b4bf25d85ffd943be08fb80c8def8bce846e74d2c9f22a60848b506645b729e8614c483dee6ed8d6b1d54e1b9c29746c721ac04bf3867ea37b468ced3164a458439a05f92731bd69d047e083c0a780f05382067d028003dc883b373a5a057cc55a02488326a0e52b4d0c7b9ad47cc152979995adf34e7eb99ec8118ed00d82d044cc6a6ea791e2098768f116a4f333c733953df9167ee07722fa6cd4532fe41d6d180e604eee3312673dedc41aedf9f93d298fa7cd0f59ab64cceb8af3e45c71e44eb385da605f7caa03ea5fb46d1a5c99caf2c413bdfe4b05dbfe83d309ca5dd25a0e3917145c1f33cdd87504f9f53a4d1484e68cb417708ba77ce7cfa153ed675e6fe217239d1a92d633e0764de586722f3b0dc0fa408e91493dfb5688915d185145c85f88584f67646a966d7a661e1419fe820d3b92b685bd4e5a332bde5a0ef927395c891d45a82fde345cc374830ab509e537bb945cb442eeb681d11f9b0b184168c250a3a1cd95340594df5ade82c0ff7597e09d8d5d91dea66ea818c87a9b757506617ca426ba5d13c54bf1449833907a7a814ae5c0652dae9046124ceb3e4fef97a4366bfb0a2a75523e5e7e8966fd7a8f8a973ac44bf069bdc09dad825fd001d5b3d98cd57182340ece8bf1e10d0fb5b1bcb700e340e4ad635dfb40d753dd2c3f54aaea3f6f06120503ff123c72344c1af87e8db75bfa711f4ebaea12c1a3faca32512940bd82101f8c42f23017c1882ad6bcd51136207640fece0ace8f2a1ce47ae4be5391baf87078d4d52f659566e5c3e466f110b8579cebd1f452d17bc0d399f4359943e2fab626860735832b10b31e82bb3c9df5ed24b3e8bd04c17337a0df823463a91a5f0f7c536882e45be7f8cfc73f5ba888d5f57da14f75267763ceee47c281e43c8b13ba340e3a82fecf960c99d850372b00da576ceb97320faaf1b60ec9e3b103b257aecc880f37417e983ceb943f7dff97941daef9c1f30164c6869096d3a3b5a5a39d57a8ade3cc55e16333cec91a016328554c7452bd1ad6ffd8ada105bb931c2a41f1f5986aa5ebc4bec6793c4ada9b77182784dfdbe09334dc78fe28761192ad5257b4ecbe1aee1126ef3f718ca95cfc46e9969f7ccbb7a7065a207b57944ce336acf05ae7e22ba5b8ccc1eea49f43993c4473de8d3be17db70711d4b219a5e0a95728356e3cbebddebe8deb59f3b067b24b476aeac9d918ef7d4ff22ee4c5d5947be47d318ae2cfab93f2b810ea0e310cdf3711efa96e7dfc81ed3f179209f3c33d0b69421455dd82112ba23685b22475073b0291c3bbdcda3c2bc6c6efe5a98ebf9b5a0ad69a461bc775f5e0b72d61872db7ec5e43f2c26bff9b13ef8eeec472e3ad19ffe9c250ecf788f1835ede973eb993df8defead25709f3b4f4fcda78707df5b9dce0706dfdb9f5b9d8a8ae824301ef5b13cf89e7b3d3b6c5a93ffdc7a169a096c1a9d8a28fadefe157dff157dff0744df1905ca3b23eefa10bb72efd40da2ea5d85779aea01690907b24a2384212efd666719aa67c91247a3af2205cf092381493570ac896d810758d0f6a300ac01dfd5f116f0828995df4cacc541df3c8e1683bd0251f588dfa0b3d764bcb30c853375fef8dd275af4691b47bddf229e7ecabbe89cdb299e39c68ae7348671ed4ae7102f383c61918c2f6e2fe77beeb48981a9522761a6ed85d5cba967f495056a82a690f228684bd21f3790b6b61e664044d5221555c8c5da70795423c77a8767c478e2d75a7b12dd4f8177f522eb875af249a4d0cbe740f8b9a061ffaf4794cb2247b91ed29f1e498ee739032ae79c5bf329d556cf54cb5fc2f886d103d296c0093abb28328002f58804bc4f71226d72b963fe2d40c2ca3c23e2956c67b53ef222c755d153d1739bc599f89599f1b274b44b2a686ff93353b29807bc7751e329fa8125c3da5a8456e9c5a65c8aa47d3b887c071207dc178b5e55c551bcd78a31c26b547ccadad6ace27b2806a40c6c9d7a54810f5c1387eaf4d485eb21d386727e91b386ec3f720e8d746897472cbeea0a20f3f4ea8b6940c2aa6864ad4ad74157dc58f209c3d9af77785752309c93157c8cd7b28db57aae1e4f0f5e2259031e09d4d4b8a9a081255bc5855b8713dc963b17225f80fbb2ba828bd9f3cbd64f6e6ee9a792e82777ddbe624f335b656e3d80c05cfd6398cb27eb9c537ccd2b6d670621df10e5a1be7a6e6985de5378bf90f387e80f0a911b9e159e2baeaced21b32fe13f59d1a83b5403516402e3756eeaca1935951219f1753e90d4b5051c6ed299e828b6ce6f621dfb2c02cfdf55dbe733321713f162192af082396771e9ea344bc60cf0de3486c51c4eddaff38946d687b4b784e9dc698a5b3bbc4fa8f3a4f99b2f99480de5629c9b50e948abccc81e2fef9fbbb6f416782bd3d54d100d173a1778ee4b11ffaf7619c56779ccb74eb3488b9ed7c3e3417fe8a1c0058e71241f211b8cf6730c72029dbf72d13531ef9fecf130de018dda916b5d016f5157dca3922acd01d513806b8f46b58778d0d7383257b300f4863717789a4e1ba4e31028b77d19c89ee706d19cd1fe39025e5a55fdeb87e3296b175b77a997398c3ac45cb47df5e0c89d2d12dc7638a729ce689ad563e96d0fadc609c755d91cf63c71d0b736e6249fcb99e86986dca2dc437d0523a2bb841c9530b686e259e968a82c11ddc64365fdbcae669cc4fb32e2a7c291ed48f99d6ef624cd0021eb5ceeeca8be5ecadb45f4bb8509dcf4e93df9952b694bbc57ac6e92c5e01a4a98c156c25d1acac370ed61a8203506b1f7da397f3d173ff7981d47f9d48e7961aef651991c9851994e397be368ebed38d208fce960ea149dcae96b1c4587788ef608594f202bcb9e6742d6350ea2483869bf13742e4ede7a4cf390ae5ee38c1a00079641fe6d4a3369e4ce99a26411f91dd9fdd339a211ccc178222e5d03ce506a870b275c34de0319c694774aa231a1ecd90f64b00de6e624233b8b6478007c43e763985d234563991d8b55f1b93be88a4d5b3f6d41eec81219db0539af07b24aecb238a33a3a474d1a4d4bef51b2861796a15c467e71d617ab9e651aeb12648a1bbbd2878c23385bf8039587645d6775d7b1b69e5b01c6481ecf2d00a6560f835e7eb573f95974da8763968dfecb1e6ffaed0512b843b662a393f52b09f8e23435ec9c9f39e5ed6bb3984b93514f03f9a582cd6ceaa7374b57ce9651a2afd5a8f60f7d666c9c662cd5c0722a9be461f765438f19859984657a2a4a5599148f1f5bd5ae65a88bb2f630da9c922b2bcb47d861c41e85c85fe8a775cec5670a7bb5b988915c5eb95e845c380e75b16953c42647faae71a6a04a6fbd01ab8d5d5d155ea3cf75f7065dcf05b61d43c5fa1dc84bb5b80c6d5ddd5a1a54a11d5c432572e18002b52abb92195984c83fd454384b572bedaf0fdacf64ed957d9f6d5ff1f3d8fa2c7b07728e5a521512d2ed7a1f2cb3bf852c1f6a53866d1cc77a54988d48f52938c7c86f4be721cd55ba30850e4fb3278193139bc46e003b889e8b0ef99fea5bc4e670064be555d394a9aa0dff9c4ca9bfd1e896a2757d9fc259ab1c9c603c379b431ceed35877057bbfa85dc4568d6d39cd83ecf9e81ea53659fb2dacfa3a531b5a233a584a6fe945fa50cc354f114cc1ae59817f9666201c5c9a41295aab0a9b25e247173a3b87e88b505d94e6ad0cdbd37f9dbb90c90d36c581e86ee17c3e0da413379a889e232ff763eea44d79559ae2ce500db30567cd6dd9bed9837c3cb7458d7fdd4fb27e94fd581387a325cd54ffd3e0e6467fbc1bc8448e8e8b9e351f619ab14f64f0e86a5d8e96f4b790955b86d2d1e73b61bf362870815b7294b38e46abdde741b70d7ec5d192acf7f620b327cfed61f27be847d9baebfc39111db7cbcdbff9ed9737497bd37adac4e0702f8c517e9e9dcbc76ba2b75744ff76ceedefe5bac057329ec53ead1ae78469889b2aff656dde6316bd2c2bdbd8b88399915158f4a91ab2955e8b89aef36bac98c62ade77bfc68b015d93d18f4df66aa99f9be8f4c567d40eb2f19b43ec34dfede366985f56bd3a6ed303f46a51787d1bfca36357b18ce7b4d7b14fc6087415aa0f00ea8072cb6dcec077cfdeeffbf65d91be5e0b918b096db5f65e2c8aadb1e9fb2c5ce7ccba75760f5556b1b2f57307ebaff4fb6cfbdeeb1b40ba047a71d9bab00d15a30adda21e2a9c7a30851d76b075407d6d6769ca661668fd71d5bebb233e6aebbc6709da50adb4536bf3f97f2cfa640d64b82214ed4a44485d5a5953dc7b1c72640d34501634ddfe105b42398239db9c89822397acdf3a3ab480978588c677cdb3882d6338acf4a3d4bbe7d9362c72cebcb93a54dfbdb0f0f6d759ff4e5ff3918c17d3a6e6a340e3c60f1f9721397bb0264b3e92b52ca959d18b1939b2aebe584dc83760dfb3957cf8a38978b474ed3c29a92027d738011688fe949983b2e7f645de0c4e1b935778336863b757d98e336a6a9ca5a9100f0e79e7dfab4f867905c3327d72e3cadaaec2dffb4f651a88e5eac3d7e1359a2a836d546b4f7f387301de99ba8b27d3526484dd4d3f4bfd3facba1d03f26be5fe2db6cb4693825ca05c1947ee933b77bb82185ac1b5e0232bf8ae5a4f4cfbcc0abedf5164b061d1f7653901bb41df3a9a05fd8fd0c073c7a7724e137f6e3ec927cb792e2e4cfdb43185e79faf17b03151ecdc7e954e5913593e3c277ebe4d5379ce90be967d7fa17a4cb53e5971f62c4274c662568a7a31c7cde3f436e658d3a6d8efc31a3f0aedafc78cc1d2d4b55d156ac21d79b40b169db5de18877dab95335bbe7633cfaf3e8358e7381ad3f7aef70a3f761dbf98b475af2a65abdac6a27358726767eab81c7dacae1e2377ce2eebbe6493c54727d002db98fff47c66533f71557a37d5c778cfd68bd70bb11750735892bb0d0c06d80a70ebbd3e25bbac4f8c7b35831c53227f6ac829cf91abd863eacba8480f9968e204d09f3e225e51639fd419e3547b2e96aef04ea08dc91af907f8796fc7b582a981650fc4eb5cd016ae31c45322272ad87bead43e98c2e9e0eaeab892f9ea9e7992d57d755e4bed9ca123d35ce7e4398ef516e4dd87489790f78ee4297c66eaea92c6b68ff01d92f12244d6f2678004553547e1ab67f12850a2da81342a9d670a3bc8c18e88ef07b2b6819c12ff2b37d2876d579ecebff5f0d85d8c4be268993d7070fcaf27c5e7a18d83ae379cf64de15bd47ed24fc885691f5d63bc87dccb5efbe042fd0420ffc5ed637c1eb1a189ed1ca3118f2214c5d530ac397c0624e2ec988a1ee4f8fb22691f3790a5a5d52f8ff365e7b27306943c181b337ddfa8161218a55c192f52eba99d4250f22c59a5791295cc57f445738137bcd30c73c3e5134681cbd9dd046dcd5c61ce8ac6fa6d3d3727a9b9e82b5bbb2c0f323bae0b32664e538d6b25e8188a82d24db5bd24373875af140a0aaca9bf3b16bd711e28af3e42f7b2e39867a68efed1e76ee87faaba2f7dd58d7fd27d427d554cf2f19e79a7bfa9914709afd88756a79690652dd03eab07a44b9b72c6d8fbfb6bebed8fd73328225072be338d6b5d1f2fd42d6d90ac2e4c63b8543f5037ab67ab86767db51c61d695aee7acb20d7d059b4ded6c69e2c1c9453ccfdedf15f0d69215cf09d41e539b6ac5f223a6dcaab1ab2d7f3cd457d9625277ee950fd6f7b7a63ec4a8664d325b5c1cf45032f7ff807ae7c467c1b27740f655ef9d68ecaaed8c07db1728d038f09bf30a76fb5aa5ee5ef7dc8b62646c6baea6ad41d71d8d8d31d9c877aebd7a6b249a53daae4a76ce9af287f6191082a7fde161c6c25e9b5b8f13d52e0e4769b4e1b7abf500ac2e1a9917af1ddb6ce4fa4a79108e3560c568605f394da8f98cebedc01f33e1899c6c651121314563bfadb3acc055b86f8dc24b560e2868734e202d6c8ef76692889da5727002861c9cf81e37397c4ac4027c8500f97dac51e47e148435862b8a6eeff6879e2994e6cc5faf85a3650ce6635ed4481f9c603afff6f215ee8564cd4bea05696df540962e231d5fc29ae78d25b4c96fea3c6f8184f63e6ce70ee978ff6dd29a4f65e9126301c01939dd39747d828d3ba268bea9df49ad912162c7e717a8392c4478cd797e7dbdeabefd9b6aef8ecce3d832862fa4ad8fd793ebd53e4532b5fafc015d650cfbab420ed569afd354d68f3e275c43c1ce1270c198e687257f30bd47eae962f1efaa51dfaf5fb5f5a6a48dae3edcdaba32b20c36997e3d7775ceb33becc4a48694e54c0be303a93eb13da3f659582397aa76bfb9f4bafcd9f13acf918bc70ce493dce12da984b936d50f4b6e97e8ab5c6c1b94e2dce4fb61cada087a0a92b5d218d1b50e5a1a4f6a2aebff9df9c91528f3746dd4b0e998d731603495d64eb3ca7ea67d265e4c41da92b5f2981831efcdaaf669aede354fb3f9ed0af4b01b3c22aba9e5e21f5ebf52181ce0e346f2e9e0c6fa0fe0d6546180d5d2631083dd7eabe3f31be48b111bce6520f31b14e09dab7359fca7885d3b44dba7f893e1daaab645883eef5b903b4a3109a9feeef296a1d4d0dd6b8c07738e10efcd4aeb99f812db9c31efa5cfc0f071bb3e53d8a0f832e8a9d2541a4a634e9aaad3f1dc049c989815f2ffba308e433c9055621f1f2dbd84058d51ff8873e57ec9403a1e0f948155b60639bbc33cc1a27c4d8a3bace7ef81245736f7ecadc8e1cc1f87e8ac8efc0077e66ec6b2bfe0fb9859b8e0fb388f3beffb6a96ff1857b7ebeaed252aa89f615ab32cfb9a65af31e4ffc68c87b979a715cc22c56b6d077580576d4ae741dc5c7f3b7edf98dbd24f3321a47f53e1d3236dcc671e61d2114c43e310afc07e4281db77820eef94c8821ab93d4cb6dfe3f35acb71023e0a43f2f1b29e32813fb47ead46bef15d367f5ce3c4eaf3bbdbafc09e877ae738c5e355d3efc59c9f7addae5af67a5833c4ea9bbd2b2e003e5dd28f7fac2fc52cafadca6d1773dcbd460e4858c715adfdcaf6277e9deafca05a7e45f65aa14afc0496fcfec7d69656ae01721ef3aedc798b742495722e145d9b8bdd77975e94d860efc018877afd4d18aba863ebbca4998d28f3608f7243d05c2d601c76691e5c981ba552367ec3039b12b027cb9919813937640ee4326d0da46d86194dee45367eca86075cd64d849fef045a00d88fa518b3f0ccb8ed096eeb8ddd3b37038de6de51b675788f9ae9cf215e535e0f6114b3e031d636dee06944ac72e3681c96a971f3453ceb03a6f925619bcbac8179755e85bbb601d7376fcc43ae820aacf47a3ac7c9739aead409a4bd23e0842f8521367ceb3b29b8d72485a12d4b17e051d0799c626f0ed73a4b3eaac8a5ef6fe9e3b9b51a1ed084622c47ac81d4a724ed51535d33c54065ebe004bce7beace7962c71d68487363e5e172b6235645f7be0a39980ff68eaac343cea8ab2a99f2ed6443c38bea8a160b7474d775f1d1fbcaffe9a217fed5a9e4dc97352ed7e093178f7d6f9381fc77871c7f954503c147e4edf6b4ba6fcd69e7a36750cb1f05157ec3901b06a2f475d51a35c1bf49e1a9527f02c55d6b616952ddb414f059f7ba99fe89e39af811f017b4322fd685f42d93fad5a83a3449e96fb72fa3f1933426e63177ca4db3ae7de1bed8bf212d9db716ec5394fb6c6cf983b82b6821cee8af3c73428d6b4a99fb64808318064c045f46af95fff36ac0ae65818d84bef8efb501f7f9d39fc1efac3691ebb0c714038eb73ce33f09d53c66aca3a0afe5da87f3a61b3a956f93269ce7a533b532661ba17d2ece145cf2cab7d60b1eb6f594b435f0e17e7087da77df30e48562f377d94251f35352e75ce579cd3896e047392c34c9b1a975a36369225dfd24f4cf996969ce888d3da3943f7e45fdeea18213b2bf01d1199efa473a36296f3383f30c415550ece6a889da608fa18635e782993724ebf1870fa7ee95cc938fc1c9d8b15bff0766c298e2ab16d2c637826e389a03647c52890f6593cdbf6017800c8b34af7267dd5c4b8128a78f472aebdd11bb5c857eec7754d69febaf8de31d7c36a199dafa44f2cebc3033b506f87ba55c4c03c055bc40d30e0e0a6f004ffb7e9582cbe93d238cdf5bc3f286f20cd9f55e78c9ea47e17d50e6e6dd07d88bd2f9dcd00933d7f9e4db22ccbf4fb045fde1670957f2ae6e8b375fe88646d67e9ed98afe6e1f679fa79c62bec2f575738177857e02c06ff81690c7ddb50cfa6316c5fd9e815b2fbb6ff693cf9818c778e7cc2e97a42e7dc9a4f00ff0eefad09e59f64c5994c8f59586f98e0c04d52f33f89fd31a9cfa8bf20da7765b5eb74cd29641f4598375b62abb9445f9643becbb8dfd3b91948202b80b769222e88ae41cee2415f69133d0b85764955de9b6d8ce74897f6a6ee62cacbf84c3992680ee9e5da6764021eba862dd0db29763930940b38a8f4ad421f3019c7832bb472d6638be611c83c26f281e664a4f85e648b47b2b541646df65fa14e1fe9f8f2485d0c7034659ce5c22d1d3ff69c4e069d35910bd372bf166b0de8951f739ff8b7a47df93e025fc186ad46f9be9852d15950232675237fde0aee093edc982f56e106640ef4698db1bc5d1f837ee639e4dca5bca594c728de33b47eb97da075d98c35df64bd84f6ca773ff4a51ad0e60fad191974e376bfa786e02df631eb521bf28024720e4cb7839ee5a13e595f9df340d2f6b6d026b280a94622942177c5145d469cb8e2bd0acf4dfa234bfb99a1ae237ebdb2bd54677dd1fb87dccb0c7aec7be6fa8efa02d83b5a7fe8a195426513665e93bb38df8269ce38daa78fa945aac6c04bcf09a3fdf24118831919fe5e3df96fc89bad8ee1e02817c649c5cfb4cb4d8c2c5a3f67f16095e6df127904635b9533ba417ecc4312db928fc14f8fdaa0be9886e89902e666acfc5a0c35decc3cb0b276015f654ff11c595a94720732eea338f7ab5e4c35ce1fbdf64d86b8219ed9542fe4339bf2ecad893d849ac30d5963f4ac557e54eca9056a0e9774aee3bcb04b412caf49d794ba76820e6f09f3fda0d74bfae68b397ce6e9fe75f6a8bf04dc10ca53f91cd7acc17388ed2374802b33f203e5b4e1e2026e8b72b156da1695f3d7ee6cdd3d87f67d5c8f986aaf67c9f01d705c7e78dc15c7b986797b5648cf35f2c5a62de3855d2197cdc9ed5e1cf45d2fe27285b3b1af7011bf50a95fb056fe0dd5afeef1ed0cb0fa87da7b0efd67b0aeb3fc06095fe3ebfd67a73805bc1f5921f6a70f7627f02a92fb538eaa381e73cecaa8907f38fa6c5b75d6d1b1a37e285b6f419c26cfdf1671c3d2bde0716e5fbc7cf79f0f968039bbaff9a34039dcf22cba1b93d8d14dd77302ee601bca85ccf7e8f2dafefe322fe1ab8ef6dc4ff257de6d973cc61ec9f843d8700f3ec40eb9d7fea8e95bbd583a2f3061d8e4d819e16fa9af49e8ec803f3bfc2c918dc7b93569af46fed7d368f175ff5aca175cbf0f75f0a2c938565c738f8e0d7823c8b0aab8d37e2e4674da9752807f1cd7d1157e0ff1cffc7cb3348f64c1ef9d289fa1087f39d165f2f2e3cae34a256330a21c3edf6ec7249f97bb502fcf7fc66e20f3d89525b29ebc643d71d41717f735affda958862f0aafbab47564cf7b25739cd299e8b3b8c8f699bb0bc9437d716dbef5689ffa0a765616b65ed673b73fe4233bcd69aa0727006c8bf0f34dc69f10e1d459fa156e8cbcdba060fc34e80ec273403ca2be7636f563fcd9956f6eaef3dc37eaafe8103d3bd12fc3ef1a9f1a1bfbc76cb56b7cf99fc61fcb79e34ba3f1a9a1d8c18cbcfbebaf4f8db9bff3f6e837671dfc3ef7edd56e7bb47f04bfdb1b7f76dacd565b7fbdda7ef9dd59affef4e7bf3b3fdcdf91bd9d6d7fdffc581f7c77f6e3b7e437bff9eb7fd997fd8f19bd78fbdbd90e3079acbffa734dfe77673bdbc75bf276451bc07c974f8dad7f9935be08cd6741f8d408d6eeacf1a52570f0f65f3b1fee267002f79f5ceb3ff9a737befda5ddfe22b47f6bb55acf42f3896ffe1f4ef8c2718d4f0d7ffb2fd7ffd1f8f2a78db7b34f8ded191af4323b34bef04f9f3f7f1604fe53e3151ed06cf2cfcf9f1a0af657cbc617fe5363b05a37be3c7f1638aef3d4e6db9f1a53df6d7c6973fca7864cde9106a92eb915f7a9f187edfecb99afffc535befc17f709fefdf7a7c657d2d8ed66e690a74ec87f7cfbf933d76a375bad4f0d654b3ef9dc797afafcb9c5fff5a9f15a78b9d08e2e8ffbf8d7a746b7e6f5a2ff63e731fca6c9b7db4de1997bfeeb5363929e0a11af9de5b6f1a5f54cde2fe934b5b8ced3a78684edf91686429eade0ffd1962c46783b0edf92a1f9efbfc842f4663f6026c8e4347e9f6e673fb6bf9fbc266a6ddddfe7ebdfb73f9cdf19d6eacd526d7c6a0c82cdfac7ee0f7be765967ff4f5cbdaa19fbfd93fe6b31d7dafaed7e1bb577be7788d2fab3dc69f1a939d8d67f1e281bfd499bd5dafe8b5f25af2f16c1b5d4d1f1cfff932dbc4efdf66dbddd5d5e4a3ab5fbcaedd3d79deff34c2d6338c0034d95f35beec7eec679fde3b9ed0a9d7b5fbae3999af7f0bd62edc4a9bfd209f35be34f8dff81648a00d742d124f6c6d0aa7f01d82e9af4f0dd7ded98d2f8daecfed46e38de7c8584f9d0be46f3c237a7f781e847c9e1b74ee08affa10bb72efd40d4299dd0b6bffb4e43c56691d73a8c36e7696a17a446737c10742ec39a2874ad9388b9ca9d1df5982b61f058007e2bb3ade5ab2761e05f8306a26756e83be791c2d067b85e832c0192125391886c2993a7ffcee8b7b573f6dc919129d67a6b1e1c15f40b9ea2ea3558249300a3276caded69fbfc1b90aed145761bd563ab6becff2cbb737889cc1721627dc16f09e9c9763faec90272fcc8301bf813ab2f5f6f2bb2f8ab39576a631206b6371292c87beb8758da1875e6efb109e9b8041ebea27cf595c5fe37ca33ebb0ee81a6f296e75a899ee5b44575a86b1b85097855829f0da6a0be5cd143c8cf45ea2e796d8d9a6216ee2dc87ebfcbb5b2cdd153c23f1672435e0573e05cab7aeac2d9df7223c56d0ff032daee7360b726b9060020e6aa4678d880d610ce1dea9fa65325ee4332ee4135ea1003fa59f1be6a244f93d1c596bb7350ce0c73bd37c7ecb437dc8154ef9328618f4f0aec8a355f6391106d5c81715d41c86397acf4fd7b6766a5f2e90c0ef5cb2e7facb03d195dcfe7063ae340e35879791a06237d0b6a3a6b2b1cebce704cada36546c3655de09a6073257239dec3f0be2cf74cff3cb4133cdd5eee4d756e6d9d5a13e971d935bfb78c8c175317e72989716f67f9a995388b5d0b5305135659a8957d2359033df749ee15ab85edbbbfdd7fd40a2faabb38a6254647c21ce0c6b29ccafa27e3bbdbd74e4ce06ad22dc5e656be7e6ba42fdcece36d44ba8b763a7a942ec7ee48b2fa6dedea3e618b078dd380fba359fe8adf9589076967e7a310d05fffd734ee655bb8c743237ea6578ccb755f26c63a46b9ca9ab9e2bf7aee7bec496122f8eac2dae6da8aa3a0a2adbde512f5d50aff44e3eae1a98104c319605b1fde8fa97b65341237f97d492d68951b0d4bbd6c23680f893d3143d5378dc7d59631d15384fbbe83c766469517c1d3377ccdee12bd7cb2d1f70e6ec0f3972e967bd37ac841cecb7b9b56aaffd36a8e23a0dcfb748463d34879e8133fd367f531a4f5279b0491fa6342798caf20c9623fd4d558d565d7c7fc6baee921c543bf1b1c3dff138f7a13f4cf90bf5f16353fa34adbbbc33cfe8e63e497f32393fee1935b5638c71cf8899360b3a8cb90a7f373f79d6675852cb9a6a431d9c65c030a98c355dcb04d5501756b7729f0087510d6ca2ba58ceecb8813935276636a6b1a77fc75c094f44ae31e165d6c7704ef22da774fdded987c9f57d52fd49e77452fb2fe16c60c403f82839510f1b90050b7134b91d53c6b39ca1fe8285479fbe6e6571c29b1fcbaf9efa7d7a16e1dc0cebc8600fc59cf3997cdc2313a6a7057c1783b9d9d42eaedcd9412ca93ff4acc0da9855f990bfcea67a7df8753645af0f3c9b1e86df096750990e1ee36d16d74f32ead7bc0771b2d21c23069eeb9a7920057cbef7c4a67b05f74aad6f65330be87e3527a240af9bce91dee1c17664c3913d0cba1dc134060724637f2484dc170cf1fdba9c0350dfa79fb02b5907d4d7769646daaff5c70c3c29b7b22be2a4507ff2f8c45c18ec3550ccdc6ed60ef8b4efa975932c057e9bae1b0c315fc97da3b1f8264ff7d6b905f95828503d2750ff1cbff5aab9bd3ea89eab884fbc22c721c6d8adf93b01c19afb8975f47d6be3ac54ded44fdf2d4305acbfc7f85e202f6181120efaa12a55f243ddfa1320ff5639c4dcf71cee4dfd640d857f833e13fa05e873cf31d650f53ee8616e207b91cfdb871aaabe7200be83109373d00ffbd1fdbaa6fe8ce91cc978671b80fd7040fe92154b95c5cfc4844596c31f41c638a53bd2bf5336966e1b43ced5a5eda017631b3cb2dd1116e51b1d7bf565325527b5fbd11d4edf38f58fef7e9407389dbf85b262d4158d081f186aa97a37f3cd80138c978e2f7ad60a72543d88454df8a466ce1785573fcc7524e781ac2d47805f7cdbb7ea7333b6b1e0fab40e9fc8bf686d3d32e7707c51deaa720e6bcd6d8403fabeb995c21c759c910b656b36c6838e7006abecec0fe035cf9365f76363103b359cfb8c5c2b6b433f77dcde8b491963bbbe332650cb175374a6de937faa16dc2bb5ef2e44ef8a70c6dcf0ba81cc1f5cd00babe505c5d3fe7a7003e93c124e1bd3ef4458bf8fd7b1e442bdf11e1d7d54a4877cf0f8c4fa4f0d6c0b46ee985847ba673cf437fadb944f21b4c37c5140d158743d3c0a9c3dd4af02e6c0706970bdd3b74a9bfca370b2439b075fd92515ba6ba13d53f13b37e061cdfdac3a2b066cee7cecdc829c57b339c496aced5d197b485230f93bdf77403938f4006a0c0a301f633bbd2047f7567f2ee8c3fb70b41f831749cfb1c7f0ac33e9a8b56c7099e7dc07d69085f90a7b065ec8c7f3f997e3c8eea0af65b1dc4827acce61aff03325b8f58fb1ebaaf9021eaf7f95f00430fa08ab390f6bd53e7ac42ea9e4cfaded2b67c746fec8180a0b0632bbfc679de3704cdfcbfd5115a3ac9313a09f389a4358e957ad73ee479cbc8fbce7918567b9962cee0396d3a692e7e7f1b88209e76eb10f8f85c77517f2d3963debe8045a601bf3f7da519bb23eb1edd52cd7c763e49474b42bcfd3da322ac272194ea5a1870246eef4fa716fc67d52678cd3edc9f057ff03388c6fc7b5fa37cc5cc635b8bd6bc5ba6ff8ee1ea61bc099ddaef425d4e5b4b4ef8de3768722f2c5e1b41bd6f6f7950d0adcad3581cf3c4b5621e63feac2775b5b57429b7ad826fb99954b555d697bc0258df18cc2dc6f595ad882b4b226a2670a0a76fae3b9a563ce96b5f3e065bc335798b3265fd7134d14942e23afa3dc390f5e7ac248276d9ccebff5f0d85d989ba8fda49f50dfbe12f9c837f91674380bf286252ed53ec6e7a907b399c1c3da522c56ed0c3221c43f0cc7391ed3812c0137ee00da37064c82f2186cf605b90e7a6b0e63e3a7ef4b71ef1d41db99907ffa9aaca7fe32956b282dad3ee4656c193186200fda5e6914171372e8b5bdd554d7a99c217f66a8381aebefbee8a5e7c2114e1b5360ccbda175f31757c65bd40de317640cfb26976afb7ec0943794d4a0c39aaa834fc38a515e4b2ee247e6e67c84ee15e7fb8c697efa01c9275c8dc75cf7dc0d7d400cb1e87bf1ca6cc010acc1ad7d0f56553d0e9430e702da5527c7850d2797da85c0b1fa413acc06ad3e5ecfa01803c9f95eab2fac7e69e027c45b4b563c27507b1fa79b7d14ef36b3ae743d67956d70046de11a433c953be72a6caed1446cdafa69690ad2d9eab1b5a90e5f4fecf3adb4dbeaca1f69ebf6b2f57e0fde2b1fabefcb21aef707e1883b64ee9978a66ac73beaf96e129f05cbdea9e0978ef64e3876157348ece907db17fbc8a73e1534ae3a07b3764e7814c7635a73756d0dbaeef0ced4196de43bd7de1d5c67bba85d75f61a33cf198d618e9da0d3aac4840be7e136ef27e23f827b9d51a07196a17ccfae071adf9cf68787597f19db6c66450d51eab982a99f788bda571727e28aa6fa39f863460691935e7bd01ff2286843ed26e0464d44ced2db1e5a6538ab3e4c373385ce1ead2846dc9b2eb5a6b2761e0b9df3bb303f7bbc379373b8a77b6d51a335c27b32df21ce19d4033b81b4c8c7b22978f545ecf8e2cb549a923e9c898dfa4af1ddb6962e09d624b28ff0ce3600576e47f953dacb818c5728e89c5973a1e9da530e2868d3769ef99dadb736235f1c9b86728970ece08c9cf047589f1362e37edd419d68ea77a631df91bd4e3e771873cc697febeb55f7eddf547b39de9b4922708539a5b9833732864d4fae970b5ec6839c7a85f1698deeaf079e191747983ffa9ce01d413bbfc9f8c278c633e4cc64f6c89d5c9aecb515d1eb3ecce4143f28b7c36c32fd66ee6a9c67f7d889cc7508c91e4af78951c6d43e0b59f370efe8f768925a971576c7e3e375d2d12ead4556b6a8a92da7098648591c6659c68b40650ad80665d7e4fb614afb10e7ca97ddf75a072dbb96c89ef7c692623ef79f999367b360647f508ebd5d9a63f6e87cf7188bf9213162a44badfa79dabc37eba6f05fe4023dec16cf99e2c756e37fa77883f085d8ee48ee3463fd47267a57559d5fad3c9b1d834ff5163b54c7fb180b1eb0f4f1ded6791e4dc4bdabf33e70fa086692830f7c41da25bdb618d6ec01f0ec29bf0426fa3ad1df73f8661f361ecc780ebad42affbec436af8b655de237cea9d589b18f892eaef6b4f174a9bd8c355552437c1f47f00eae7e5a0ee40def84982f16b18ffb22b64af0471963e17f4b5ef2bf870c64e1c40ef3040bf32be3bae182df87b18a02dc54cb5017f9b56d85e3109dd5a11fe0de5ccd58f617e57246ebbee0fb501edf83a59ade8bcb218f02759b6fbbb3ad59967dcdb2d718726f4b79c7ca759ab2b5c645f846b79f1760c8a6db325e697b4b3ee13a184cf9bc2f55e39d9ca5b973c1a42b64392e6ae1e9a4316173384f636ec41bfe4fad0578604da52ec769baad1eca729ee672d80e249aa31061be516ed5727906dc7d71dbe398f82d3ebe3cc414174d3b5a80a7d85e41de42ea7372c697e79190f67f381f6b8a533f9733e086abaa425fa29c02dddc318f30ddcaf34aead58617e172df536751c40590aabb3879941b03b844e91a4cad7536bb3a757fe00ab0ce48e0e680959170a9d09c92a003b9320cf528016a0e77a6317e1a00aff774076d7c68ed07d821b47d0c3ea2c2b577a6fc7b44f7d2fa43de9a1ce76a206d1d610a392f9adefe81824e13d5a895678cd1d2bedec3154a9e3349da1d72b3871ce914dfd4d2c7db81149fd5d17b6c75abf14d0631373be56357fb43cfd6dbc0c71e72b387f7a4f2049e1572b347dcee71cde743f9edebd4fb1470ee96ae412e96a71535e6d0e69f55db938ee1bd8b43699970b1e7c8d6f81983be822d8127765ec5f903f96b916dbc087967282e4ece39f418ce2496fcfe9f5d8bc29a574f6def3a73f846b90d72f85f73ce33e01c17372808f3cfe4984f784b6350e53229acfde79dd5106c7cd80b720a2ba8e899c66bf159c382bf52c80da8bc446be78df66d8d84d312f229b37df4cca0c3bba973be627d5c7342979e95b562d63572244c5d4d7444a97efca27efe468e8e11f2af032eac2c6dd02ad22d32b662cc3f1fd6de2f507378b60ce508fa18630ca49a133fdb2fb6f8c02f9d2b1c879fa373b1c6cb8af0ffa25ce555c835949b03407db5e1b31ecb43ce68f747af32bfde15e7fc35d71a0fb910f2b01d9dafa44f2cebc3a476e03ed4ad12aef77e522390e612fddfa66355e30ba638777e1657518607bdde193d4dfd2eca87473226ba0fd8fb4e30dc903defac96597e9a337c9f60a604bb4d695ca29ac3fcc1f679e67917d85f2b6de1f6b573741687dcb6855cf415b2fbb6ffdd0c8ee60619e2d6d2892e1a6204ad5ef7831ee45d6d5030a538fd21773a6a56e142a4c68c9c797a6b6eebed8b2b4b7b5398a679f0637f4c9a1b9ffa0ba27d57951f255ec83e8a30b9810772a5a53192a27ee3813cf4a8ace8ecc9da3105a26b481be48b9719d1b3742ed2c5aafac70d64de4381b4223ad94052804b3de2c58cf09e129f917419c86d6ce90927e4a0af1c2d5dd958015e54e9d8e84c39d651d3dde7adc7812cedadaeb8b37429e2783c3801c877f2dbc0d54f81ad1fe7140b1f708a368ef0485d2cc591578611981abf4a5d35beb65a674dc98572bf1663dec495ec483833bb50ab52b68fc0576097e9e9f78e713c1e0567c1bb72eb0aee99c6bf93255a1f04ba05fb58deac0f1ff2f2e2e7907337e477008ce578cf402c54daa3a6ba66c2ae899f75272f65f4ba93d33c6af77bf8f2a7b1bc00be7fdf9a885367053c25b2a99f2ed6442436818682dd9ec802d63abdfbf39ae858b08ffdcd5e9d92e7a6fae3a115e66c19eae7caf752adf505f70f7314eec87ffce09aa0220e5396768e12ce50b65c4bdaa70fa93faa951bc66abf7c508cba9aef32353f557af2a3f5df8807b344e633c470de22bef754fc0c47f23a15238b3967916096d61b5a8602633b90db3cd287447f207a638c6987221f59cd9c941a383d711bc68274347565e3f697ac3e48068e17667c8f5bbef8f77294dcf07916f63f1b83483851b3bec9beba368df1dcd415ce398b5b5bdf61a2d3dac41e923b675b573cd465c881a79c5a678bda0869aef0dc589e2bc09ae2ecfef0e0eaee7ae48b622a17615e5e5f4dcef8531bea7ce54cfd42e86f9588ed7320f731633fd06d1b9ca6b62036a023583c924fa5f9d848c72b62b36478e153ed8d38e36d99d85a1f1e778d79fdf2f6ac9b9e6bbd3577056f6396e468c2ab804fdf8ceb12e06c4cd55b97f905eb62234adc5df8ca21666ae83f83756dc9c02d16c536962ef06f3f177276b39c9d9aec11fd7541ec4f3300bb73879a16b9ff21c565b7b70c272ba3cea2e790ebc3cf509f05a320f243e13dc469ba39fe3662534ba77d78fddaedab47e7b23e8c0477e3ca1e6ffaed0512b84396bff01a43155f1c32dfe7e7cbf7b779abba4efe67f92befb74b1e628f64fc216c1c031f6287fc245e7c47d076445edc13d79e86bf0d7d4d07a44fe3fba564e37610e29bbf4e5ac7d1e2eb63fdc3b570cda50a6c87fb74ec51c24fff4fca674cfb520aae89e3cb45df43fcb320472eb1b10ab9dc59730ff3fd8e9571a57e05060f5b9e5a3ece66897ec97286b3e319b0e9fa3107c763702cb7489096e340da9a7a7b515d0b5cbb76ece8eac3adad2bc3698fbd5eeb2331139cbee623192f261a8d6b3daaf68e39ef5dee78566fe821f05db3f04796d88895328f9b9b86e5d9fac93303bcb50db55d8ef71a7330d5cff12d69cb6892c4edaffabb4bef5dd67cd6fcb1e6d2fca4df52cf06fed1f8babc71ed6738a74fa67e3ada72ef447e93d2a1e159519ddd775f145e7569ebc89ef71aee5547d0ce2ee9bf2f72ce4a0bd79608f613d4c1479fafd2f96f11a6958aad5e3ea7f4c00fcf93143f34fdec2ab7d6179141dad25738d41c624b4ad988f4bbffaff1a9b1b17fcc56bb84983c611d07d672069ef22fccf4e4cb43902127fff23f0d7ff5e79afcefce76b68fb7e4ed8a3e9ef11e9f1a948c5fe09b1de1532358bbb3c69796c0c1db7fed7cb897c009dc7f72adffe49fdef8f69776fb8bd0fead253cb5b9e7cf02ff7f38e10bc7353e35fcedbf5cff474c7bbf3d43735e6687c617fee9f3e7cf82c00357fdacf1a5d9e49f9f3f3514ecaf968d2ffca7c660b56e7c79fe2c705ce7a9cd753e35a6bedbf8d2e6f84f0d99bc230d525d722bee53e30fdbfd97335fff8b6b7cf92fee13fcfbef4f8dafa4b1dbcdcc214f9d90fff8f6f367aed56eb65a9f1aca967cf2b9f3c4092de1e9af4f8dd7c2cb85767479dcc7bf3e35ba35af17fd1f3b8fe1374d8efbdcea3c75b8bf3e3526e9a910f1da596e1b5f5acfe4fd924e538beb3c7d6a48d89e6f6128e4d90afe1f6dc94284b7e3f02d199afffe8b2c426ff60366e27d1cff37cbb4f1a9310836eb1fbb3f809a3fb5f4a3af5fd60efdfccdfe319fede87b75bd0edfbdda3bc76b7c59ed31fed498ec6c3c8b170ffca5ceeced7a45af95d7928f67dbe86afae0f8cf97d9267eff36dbeeaeae261f5dfde275edeec9f3fea711b69e6104a0c9feaaf165f7633ffbf4def1844ebdaedd77cdc97cfd5bb076e156daec07f9acf1a5c1ffc6b740fa6ca06b9168626b533885770ba5bf3e355c7b6737be34ba3eb71b8d379e23e3d8b3021a998cf1acaf62144ad3144bb7f0aa0fb14b4e8b80b2a20f7a21eab496627c93b5c0d6db540b9f6f7696a17ac40a31dfe8098082f621ce06883436a2b9afd433124e5bcb18ec2c41db8f02c8eef25d1d6fc989390af061d4cc9c5ec7d162b057c8a926d38ce2d8da3514ced4f9e3775fdcbbfa09d0fcc0534db4d3a6b5030f778057ceb94db43cc1d655ecf8edacb720c087ee4a395a3a3d0dad901d307d8a8f820c2bcbded69fbfc5ecd171dfa2b1dae96f5362a1589bc8ba830c8c5ecef71c547edc9c8499b61fa393986832dad634064f037927203df58cbeb220d64094d94419ad6935a51b485b5b0f3316a22c23b973b4f4b638ed61fd955716b6acedcc9417a258db16b3ebe84a2bbaf562b9f08cc4a397548766bd8c6d6c75c58b297818e9bd28cb7343d930a34acfb00fb7153d90d98212ad2ac3969f543652e678673526dad60209eede3636a9e74a97b4b7d53454ece468c760f518c3bda91f23d6ff6d945d601a4b72ef90c15fdb5f3d2742a7d90f7afcc109a6e45e01baace7765fe59cfeebd3e8dc59d9c6786f5fbc0bec034139209de75180b9d9a4032cdb4e807dd7500fceea9558b082a51f0f8e8057235d3a9b82b771e5282ba6e339f212d6911b007b0264ac207dbc486717d561cb0fb5b7ec98dc4434bfae26e4ba0459950bd14069ff27993905041e580bd2509af2e34c960bac811b0f493ccfe45ac85eb0c8de3cb7e653aaad9ea34a0a32bee091a76b297082ce2e622746817a4402de47889ea670da90fbdc5ae20a6f063c6497502d5dbb90f7aefcbc07b62a22e7284a27ef80f710d8a586c8175fc85e443dc57384e9df3ee730afc6eb0ee6b0ffba2ab04c723c99e2956c67b4e8fa894c1d305bdb8fa9ce33f5d3c6149e1f831a2fe06535fa67bdea7ab75fe535a8872a173169fd7c2607a8802843d0207d2d45d8a862796344d958b886c221812f4554ade1452a4580cfccf9e390f237c50ca1ac551dd5a8b27522cda6aeedc839fe600f1a13d34cbd310efb560fa1bd74ed669eff38c6e2684cdfbbde81d9f841ac02cc48a0f5d0ded99078ebdc930995b39e2c8e18237e7e151703b227235252054a2747f63cd1bb8bd14918d77929a206e35e0594380318274be54f0d3945749e87cba8480f9968e2c4d4db2bb6ecd1fa59841f8c58fdf148d2f510ce6ec7b522caceb207e2755e03b9b94e6597299c0eaeae8e631f02ab3ec8324fb2baafcc6cae8dee8c8ff7658e7ff5c7c0acf035caa4ba10998ce4297c1633359c8ff01d92f122449200f683b2aa8fccab67f12850d2d9e39c0d9176d133859d6709d3b9a92b0bcb10b981ac6d887de8f85fb92cb3c5b89a459cee8183e37f3d293e4f191abade70da37856f51fb493f2163af7d748d31cd3ee9b50fe439aeec796e37691fe3f3964850f874f5c1a80b95afd8590d437bf73964b0488f29b073e4313d3066bd77ce09ab8699be6f648763a44bc4265ca4d6533b85d691b09eb030d5d32a4a2e428c0a2b12310a5ccea63e196a5703934938d66febb93949cd45c896c138ae90a5e434d50d928f90ad14b380a4195b7c2684d654c60faca9c7cbf67a7271e33c505e7d84ee1547e9b98c0ff7178277fe6ffe6108de2133011bdb48edfeda7afba7305664cef70f41e727ed7237485617a6315caa1fa89bd5b355cb10d892571d5de97ace2adbd0afc7a291c32ef2205b3bcdaa5dc9045b57fe246c851fc42cf1c1fafe364451f82096bd7f0abb5ee2b360d93b8c4c31d1d855db190fb62f50a071808aca2bd8ed6b95ba7bdd73af9a2d3733c777a0978b1ba44b8c36f29d6bafde1a89e694b6ab0eeb198bfca17dfe9162abb88f85b017573d8cd26ca16f57eb619242d68f6d36723d63e5258d536a605f394d055bdd0425e28a3de1eceaed3dad98c25001eecadaded4db1984c08fd3cd0a5910de5361a99886b74186b6bbaadafa3ed6c6948983cc378d95d10a98fed03385dccce1a2b570b48cc17ccc8b1ae983134ce7df5ebec2bd90ac796e308deca30dd23154f18c7440ab8238a925b419991ee2e7019b47d8ce1dd2f1fedba4359fa6594fe08c9cee9c904d85d8b8a3097ff53ba9353244ecf8fc023587f88e6a5976bdeabefd9b6aef8ecce31890199bc30fd0933f8aa92cc59e532187eab4d7692aeb479f13aea160670939294cf3c3922d9ede23f730e5447936ecd7df5fa19ecaee1e59069b4cbf9ebb7a4c1cb5ed4446d49ae4359a64fa54abaa9dfd2c64450fbca7df5c7a5dfeec789de7c8c56306f2e98a31b92c0e63c96528342c0c6e5c911fa6ac8da0a720592b8d115deba0a5f1a4a6b27e6f2c09e912c401de5b8d520f85053320127c1442152e653778304ae725aa7c7f4c8c98f76655fb3457ef9a139d37b0f536a63959b97ad84df57c58ad5b8d5a9854f3828f1bc9a7831beb3f1ed1bbaa50996be93188c16ecf6107d9203fc30eb24101133b48b2b6aa6d11a2cffbd6448cf3e1a8fe7e8beefdf39102786f56dcfe1d8cc77bd14c53d52e85edbd5d9fa9bc547c19f454692a0da531274dd5e9985686f795356a6a5bab2bfe5f17c6718807b24aece3a3a58fabd93c2af48f8809e5970c0cc7e3813290810921ca132caa32a539ef7afe1ea860c6db0d648d338522f68bfc7188ceeac80f50704dcc2855f07d2cfb0bbe2f6580184d12b696bb2a57e59d80dec18461e9eda5237788fcd1c27cda12bf559d338c9171bd7eac9d3d9ef4b1ccfa0cf1a3c7577f56dac1acb94517ef32e12de5d75cfffcb94e57746a747fffecdcd74a96518af2956ae37bd1861276a1129d810185b11e2bc7c26142c0abcd2abeb40da50491ffe6be11235b954e4ff711b60ea8afed2c4dd9cc02ad3f668823d78dff205ddba1e6b0fdf7e926cab102416e3790d58d53ee17de158e59058247d4ff9f6823b23039d490b9d6d6d4db7b4b3f3e3a262ba080cd17f7a131c7beb52f6148ad393facb6533ca6efcd17079b32c3a45a8741b0d7fe43eb4de75acf1b4ecf2279f5544d9ca85345d47a5aef117536ac31ca87b5edbeb55823cef9b1f9622c71cdc7afc7aa3c14567b5d3c382b55310df108fecc9f6aff7e00ea66c428a131e647d4ceb1563d2770b12b7dc4fdeb9c91307655d71c2cb93aa768341139d318ae2c43adbcf6c1e7dedfc2466a36452676b0ba679825e38b5de3be91cfb14a9fa4faf85047c28947baf6661b1bac720c799975d7b6cc63a477ce2c2cf4b56a8518cff6d184eae415d7807e5d754dc19855ec97b0ff3f0b5d97016129cf0753e4affade5746da922bf0735530b8b2a1b4bdd01ae8ce1615b7036aa0de74e9e800e253116adb2fc6d7a267dcc5f85accecfac30daed704773b7ee37cec81bcb614a1c7579dfd711b73c7996dae3248d97510a97b19a4c25be6b48461e99a450ccf28c3f9a52e535abaada67ecc30a7e532e1f9e2146a6f280a6eccd056f9cca4ed71ad470ecaae6fe980fd106223c0fb43e6f3aec8e53353872f8ac8fae1ac6e6966de5cb4f06bc68baada0a8a4c9c3be6e1586fcaeba5eae91745e89ef7a09f16210a5334d4081f0510b681912c5c83c95a67f38fa6ef0f6c8d80cf2177f65682e81fd64ab50fb406acbabe2c624dfeee033b281e19d0c687ea16c5ecd375d65ec8b02c0ff14052cf8023d3b33cd45730d47249dade16da0757683d9e758cc5c79b8bd60dcf49dadd8bf0988069f5c509348a7fd21563e4fde8bda58fb72c3e9c90e1356490256b04ef29836cc2183dea8a5a8cb51233bc860cb1b2b6b50021fbb12cb935f4c92216c0723d3092a7154c0c6ea9effbf14c0c715ed0fb9818bec78cae39b2357ec659bc58babbcbc5e149cf5b589719e57c980245af277b3f1fedfd21cc0b4cb8153f1b63a58effaf9eee4211927358e472ce33602ea5d8465057a9c6ac844886dcea0aa46b8a4eee1ac333e4aed0bd80cb99e469fb4a987c596c7816a662da37b9b3b5faaf377d34f5e1c135c6c9395f91ab73cd2cf950c677d6da1f60978874c4d3b8765e6efdbaa43c1d236471853c4622f323dd22930311b3d89e433667a17386fc4719f431b6dc5e0666dd4cbf18f35e7fe95ca1ecf8393a17631e781e73b5b4b326710d7ec858905bdb123157c3b31ecb66ca98a716afd9927cb52be6da6bc616d7801a1f7f3689ced7ce92295f1c5818790f0554b74a31c6a6f033538c640c6be31fa563b1f8af93712c3b371ec878906553ad7546a75851639c0719f2e4a9bd6f0c7ddb50cfa6316c5fb126c0f7095be9f0875d82c1366060427db07d3e493fcf39c3fee2cda6ca038622398b4386bc4246dbaa78cd6dff33d893b6ce1f91ac812e6a8668e480eba84b2b5b6f63c0da48311f57c8aef4985de86ff1de69aa1e0a149c9effd81f9361d8057f41ccd25ad53747009ccabd2b63a21f135b8d77bbe2da0c657bd46f6b22fa269515c05c3f9015a26b7836e06c60a26745764955aed1c6ed8a3b536f7b96a091717a0346d6885dabf97aed33f29cb3b8b7742dc52c4551ed6dddda9855f6abfc4c995ae54e13f939ebd1173d148ce748d7bc88290a35874b8a05fa3cb756dad60af096ac4de70c39d33bdb501ea98b6551ec19e2cad5ba6a7c6db5ce8a93b553e1d7aa519799f26326cc5b57acc7b7fb88fa0a70899e7eef18c7e3713feb7eb1fcb9877dbf6efd66ccc2fb312cfcf1b3ee64b78a7f7f27336a9a11826d5c0afd08219eaf194ce75a7fc85b93e35c0da4ad43d6577330d7f4f60f141059c0883f757fbd1e1d8b7730d842eee224e98fa9b7dbaeec012e54c55eaab3bee0fe51edcdc7b2e0de8375730f5b7ff4e2e25810630d31f4e9f1f5c2b56b1e59ed978fca6fac62cd4a5d5ba5273f5aff8dd9b4ead4efdcb29c47acb1e7247e1663cda7626409eb7c2728cf49d32e30b6dd385f9662d387753b910faa76ad55adbcb8b00d3dc5736469611b6a658e6c0d862ee6fcec1cd6d9f7fa241326d55a364fc20074e59be46c59e206b2b470fbafe4b31fd684e8b4dec669aa0727c00bc0ecafc47610cf96ae1c9c80da5069c6d1dc585edf8535e5cade1935b595dd6dcdc7a998fba002371009eded8c62ef657039c23e113df98204721fe952e80bed2b3c302e3595c0d54fdbd25c1299df58cd21b5ef13be83547b43e659d9c34e59fde483e2ae317baf9fb367fb99b9de0ffaeedad64b6a8fe9fc15b0f24a970c4f43822358ea17ac975b08fad51dbe9dafbed6ebf4deced47f46d7b58a1d601e0e631b7d0dc37c15317fb29c9d92ba861c0481d89f43b03b91de11c8fd81193089c734af641491df38fe2c2867148ee500b52d37608fc9c71c7fdb90d88a0e0aef95e54450d7ae3ed89b4267371232fc2bd7ecaf1ba7a9f096f17a78bd2c5bdfbbd538723fc95f79bf5df2187b24e30f61d37f3ec20ef949ecba7d0523c3aaaef9cab733e86f691df905093c8eef9762fc1e75453c0a9cfde0a5b77fedb68e8ff50fd7d1e5601c2baeb9474e7031cbed3fa94e37ed4b29b826ae6529fa1ee29fb97e256e9ee6c3796f4d6dee332ae34a902f97db7fa6f387eaa14314a8782697c5f040cf08f7b7b49db2c7bed9ebd16e65d77732f613bdbdb40c2fe5a7e63d278e3fd1f6abddafbb3fc2b828bd7ebe0fcfacb2b691fbf109ee15cd49b1406755b11300dec205708f65fc36e69521d125c87aa2318c90c7ab24178b65bd33ace37d661cee582725cfd8a5749d9bbc4bbb69edaef23a7f3191fe2f6222fd31c3337b3bbbe2fc0b3f75ce0e9eb1709132df25662315b8563d3252be23b49bcfad0f2023153e908cf4f3f333c74e461af691998c34b99e958c54e870cf9cc0439b26a99988b8487f5191fea222fd07509132cb935f64a44ea06d2d5dba58bad236851376ceedb3a59fb06928388f5cd4698ad8a407d8ca093abcf392bac72487c0347a56ec4c147fd87a7b0981f4f039e3265ea0c86880240175947f8df66a1b9192231e515f3b9bfaf1099c05b2e63982b698e9ca36262eea2b1b14b83c92a5f3775f8cfb65c6cf23ca730714284a78a41c4d5da1a0567dcb43325e86c97451db8952ba1f6be2505b286f212968a28c94384f4d43dc68458535394495f08cc4019580745d39c52c7d3c7704656de9bc17252512c33b4d4019f6e1468984440cbd152b8f235f7cb38c21dc3b053045940df2193700a74f678502fc947e6e687887ce4189b38c3cf01d28ba3b13e51ec6b6afe151370a864b6d726f50ccba228f56d9e74420c1235f54888203d4f9c1f3d340f638b72f5ebefbcf074bc05c6a6f2e90c0ef5cb2effacb83498bcb37e64a230ad26524a8d80db4eda8a96cac33ef3981b2b60d1587491c073257239d92b2021128ec7b7e3968a6935aae0ce6b2c4c39080f74ad1bd09c00d39b82e26b8090df388cc3533a700844cd7c244d594692629a39f6f9844f30cd7c2f5dadeedbf664869c3a0f8de0ab473b496acd5f08042c74d52801711ab285b5bd7f63986e3c5d5873b4886a009c5d869aa90e0360202d2f61e35c71068740deaecb2baadf9446fcdc782b4b3f4d30bc8a0bf7dcec9bc6a97914ee646ad454a9b324caee7be2448450d97bac564968c2fa63edc5abada2363996b68df1ac03ddb503c333861ab478bb112a75d529c15ce339c0f83beb826f33290879882712b6b20cbd28b0aead5c3a03b5cc6cfe9e6079fd81d9fd58e2b4b6fa7fb946bf4de26956bfbf4f8a5925b975709dff48c9988475b26675e5c30b6b065696f85e4d679ed46e7af7edcb69f300ec4487504c6fe77dd71d89f4de46c4fcef5a8afadf9c418274e7a9a9c7bb016ebf960a51d4da1b38335e11781820c310a241fc9da72e01fe78340dd3842fa6fed80ba83fdf51eab94af550e8870cdd6d983f94554bf9c13ffcf3827deed97b87249b45a5c93dd25f1f4dbe74eb3dde139eef9f12e09fef3c7b9243e3f353fb7b97297c4537279d8c7729744eef5ac2e89a6c03f759e840e17bb24e84c442e09fee9974fe2974fe21fee93b871475c998b603e5a86c7597a9bc672ceed1fdffbafc4243fb80bc9b70cd57b1d6f22d3fa25e41c4f72d5a72ab6021a5b20a6e0b56a4ad5f138673e327717697c8b91ee62e4b7a106ca5c691b44d4499fba42522e13e1b5db3a8f1663380a68dd6d1413d6c8b1ba735e00eb658bc05541318f5226fc65b48ade4ff7d9787a7b838e9b443dbea915a326e658e86c5d9d8fdc29bb416ff3f6c6b5c7a6a1aebffb5ff7e0c238b789b97044421bf2def5cbf37adc6dc331fac71be767b880cf838d31695f6155e4e44f26e67a8c3b90bd8f987ae698e62acbde06f0b443d74478efe838cf70efdcd47fe4aa44dc7c82953fdeb0e8b9f2fc69d06dc3788d56e95cf9823cedb4ba1fcf47e49609e749cadc274f052d1aef65d9f3359a1b70b1f5f682d643d1f148bbb2aec646b4a2b6e58d83ec9e51533ba6dd3e79eeace87e89eb2d74e549d7fdcf774bbdc938aeab74e413ef04d236fdcc2896e610b5a9a96d4d63f0941ddb321794c29bab4cfdcd7cd6e4c86f04533f6dacd06d18a966a82962b494c613cdbc4c43d74c6206de8ef900c7ed885c0e57eb2de552e87a2f537f19e7d6c3f58174a1f9392dba66aec78c3ef765ba1cc7f9be16512d838e404c09436ecdc77a6b6e199e07751293645cb335268a877cc090176c5d6ba6ea32d66e5f3d3a97f56124b81b57f678d327fbfa260fe7d68d2b0cb748181c22ae8791a01ecce6ebc16c0e0e65ee4ca399a8e246339153335ddaa1547e4fb1b92e665dcc57667a8e59264e7b3885074fe5784e1e1a19db4be8928cf631952d06e4ae25352837ae019057648c23b326e3127204efe0eaa725754b93cf20f77b8104776f1b9bd473a54b2a6f6f0bf54039f9b790fb690c010326746d6d33f96f8116baa9b4fdd573c8bae72de3753fe8f1c0650535cf97f5557ed6786f5fbc0bb8c805e580749e4701e666934e789e61df35d483b37a3d58b22658faf1e0087835d2a5b329781b57d6166e9fac2fb26e963b70250550b304f564481f2fd27919755c42a1f954e9fe9d90ebba313f32956be7b0ff93cc9c86bccdb0ffa4299fad71813570634ec7f39c71293ae7d67c4acdc57354d740c697d626c15aa23911747e310ad42312f09ee6b74ee7a670dae4e223103916f01bb7ff1a9ac9da85bc77e5e7fda0a7d0104817f6371f6367f8e210819b90c7a8a7c01efbbbe71ce6d578ddc11cf65f5705ae811c778c7815f6498f4d45be750926a4234b1cb8d417ebb9b132d7affd137a9d706d433b2dbff9d819f9f3e39fd2f6347ac3ae218fffef37edb8fff6223eeb97deeebbc63b5677bd19e6d59157b85acab1b0a2f0509d3e4a47a7001be0d64d07d7c69f9bc05b423f4be57472519d62249ff3ee5d8edfc98a7194d6e9d442b95ebedfd37c1fb19b917760fc350f4db27a63b69f53621b94e7fbb163a257d781e4e4509980059070b53bfdafa5399dec38246c35e9c579f8ad94fb5a3a3aa5b83be2d134543897befbe2ec7a9f18dd56f5fe9acc7fffee73eb6f2fcf4f996b5727c7ea6e9039e19fc613de1e693c7aed72ede46f8efe1693fd79cf6f97e4f53bf9add1ddaef5cbd7dd77bdb79b2d7b3bdde7dd6f677aefdbcfe9ef726540cdb5c3501f5f51bb93c2e02bc22564c875abaae93185ce0ef039c879979b5778ab278fd3bf39c7dffb907b9efd8ee6fa413d401c860d75c9bcb557515bcb5a8bc3801b9c83a1437e930eef1c90211e1039f3caf70973de300b8e24ab1d9d1ee78a5a68cfedabd809881c60d8b3396722d947a3c97cfdc7659db9f64fe9b4fc8677dec8d888236dbd33b4ed71f48693bf27f4b74456dcf55bf27a7b5eff71d938dfcedef53eff41efddbefd9cfe8e89bfa85ce6b2e47997733c56617ab2d5e7893b5b6f0fc3bd317fcdc58aadc8df2ea977b9dd0bd4f71162775d87be7c4b5760af98bac2d986955fb32a8718992feb39d1f3ac09cfd93a9f5bdb59391721ae015b08f7eb2af2ddd87a7b69eb8a476d777a16bb81b441b2e4dbfa69e3f69779fe9da7ab7a9e022c3cd1339beac60d88add6390ffaeec6e9b6f2715fd37aa9ef85bfd39e2d196c8d0584fafba7a66d7cbd4bff2ccf35065d30070f3625a78f3798b0cb1c1c89027c895f21c0bf230448c330b307c461aec32eb5dcfad71fdf46686edbb559ce7f77ed1f477ff52f3b709f5a2c8dfccd4e223d37774c423fffd5f8adf1df71ec878655b2a19fd57af71ffe6abbb3319eb9ff81f6bbffb00fb68f6d8467ffe1affe03ed7decfe87633bde2c1d24faaf6c477f9bafc9637e058daa83467ffdff000000ffff010000fffffbb62431e6810400`))) diff --git a/scripts/gen.sh b/scripts/gen.sh index 12f6b65ab..20191895b 100755 --- a/scripts/gen.sh +++ b/scripts/gen.sh @@ -100,3 +100,6 @@ echo "Using pkger to package CRDs into go source virtual file system" echo "Applying linter patch to generated files" git apply "$dir/generated.patch" + +echo "Cleaning up generated github.com/ directory." +rm -rf "$dir/../github.com/"