From 47dc0a9aee78b3372dd104c5b930ff15b980fa2f Mon Sep 17 00:00:00 2001 From: Markus Heinemann Date: Thu, 12 Aug 2021 11:52:32 +0200 Subject: [PATCH 01/14] =?UTF-8?q?fix(ui):=20update=20ingress=20api=20versi?= =?UTF-8?q?ons=20in=20helm=20chart=20for=20newer=20k8s=20vers=E2=80=A6=20(?= =?UTF-8?q?#1575)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(ui): update ingress api versions in helm chart for newer k8s versions * fix(ui): update ingress api version in plain manifest --- charts/postgres-operator-ui/templates/ingress.yaml | 14 +++++++++++++- ui/manifests/ingress.yaml | 12 ++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/charts/postgres-operator-ui/templates/ingress.yaml b/charts/postgres-operator-ui/templates/ingress.yaml index 873cfed0f..21e7dbea2 100644 --- a/charts/postgres-operator-ui/templates/ingress.yaml +++ b/charts/postgres-operator-ui/templates/ingress.yaml @@ -1,7 +1,10 @@ {{- if .Values.ingress.enabled -}} {{- $fullName := include "postgres-operator-ui.fullname" . -}} {{- $svcPort := .Values.service.port -}} -{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} + +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1beta1 {{- else -}} apiVersion: extensions/v1beta1 @@ -37,9 +40,18 @@ spec: paths: {{- range .paths }} - path: {{ . }} + {{ if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion -}} + pathType: ImplementationSpecific + backend: + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else -}} backend: serviceName: {{ $fullName }} servicePort: {{ $svcPort }} + {{- end -}} {{- end }} {{- end }} {{- end }} diff --git a/ui/manifests/ingress.yaml b/ui/manifests/ingress.yaml index 4efac53ac..a5e6f0fab 100644 --- a/ui/manifests/ingress.yaml +++ b/ui/manifests/ingress.yaml @@ -1,4 +1,4 @@ -apiVersion: "networking.k8s.io/v1beta1" +apiVersion: "networking.k8s.io/v1" kind: "Ingress" metadata: name: "postgres-operator-ui" @@ -10,6 +10,10 @@ spec: - host: "ui.example.org" http: paths: - - backend: - serviceName: "postgres-operator-ui" - servicePort: 80 + - path: / + pathType: ImplementationSpecific + backend: + service: + name: "postgres-operator-ui" + port: + number: 80 From 282b6d2863d4d24c32e2175cd2d8d062ec39c3aa Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Wed, 18 Aug 2021 16:00:26 +0200 Subject: [PATCH 02/14] allow secrets of default users in a different namespace (#1581) * allow secrets of default users in a different namespace * add warning in case secretNamespace is ignored --- .../postgres-operator/crds/postgresqls.yaml | 2 + docs/reference/cluster_manifest.md | 47 ++++++++++++++++--- docs/reference/operator_parameters.md | 4 +- docs/user.md | 24 ++++++++-- manifests/postgresql.crd.yaml | 2 + pkg/apis/acid.zalan.do/v1/crds.go | 3 ++ pkg/apis/acid.zalan.do/v1/postgresql_type.go | 1 + pkg/cluster/cluster.go | 21 ++++++--- 8 files changed, 84 insertions(+), 20 deletions(-) diff --git a/charts/postgres-operator/crds/postgresqls.yaml b/charts/postgres-operator/crds/postgresqls.yaml index 7604e8d5a..68a6e020c 100644 --- a/charts/postgres-operator/crds/postgresqls.yaml +++ b/charts/postgres-operator/crds/postgresqls.yaml @@ -394,6 +394,8 @@ spec: type: boolean defaultRoles: type: boolean + secretNamespace: + type: string replicaLoadBalancer: # deprecated type: boolean resources: diff --git a/docs/reference/cluster_manifest.md b/docs/reference/cluster_manifest.md index 1b2d71a66..c2425d488 100644 --- a/docs/reference/cluster_manifest.md +++ b/docs/reference/cluster_manifest.md @@ -109,7 +109,11 @@ These parameters are grouped directly under the `spec` key in the manifest. `SUPERUSER`, `REPLICATION`, `INHERIT`, `LOGIN`, `NOLOGIN`, `CREATEROLE`, `CREATEDB`, `BYPASSURL`. A login user is created by default unless NOLOGIN is specified, in which case the operator creates a role. One can specify empty - flags by providing a JSON empty array '*[]*'. Optional. + flags by providing a JSON empty array '*[]*'. If the config option + `enable_cross_namespace_secrets` is enabled you can specify the namespace in + the user name in the form `{namespace}.{username}` and the operator will + create the K8s secret in that namespace. The part after the first `.` is + considered to be the user name. Optional. * **databases** a map of database names to database owners for the databases that should be @@ -185,6 +189,35 @@ These parameters are grouped directly under the `spec` key in the manifest. If you set the `all` special item, it will be mounted in all containers (postgres + sidecars). Else you can set the list of target containers in which the additional volumes will be mounted (eg : postgres, telegraf) +## Prepared Databases + +The operator can create databases with default owner, reader and writer roles +without the need to specifiy them under `users` or `databases` sections. Those +parameters are grouped under the `preparedDatabases` top-level key. For more +information, see [user docs](../user.md#prepared-databases-with-roles-and-default-privileges). + +* **defaultUsers** + The operator will always create default `NOLOGIN` roles for defined prepared + databases, but if `defaultUsers` is set to `true` three additional `LOGIN` + roles with `_user` suffix will get created. Default is `false`. + +* **extensions** + map of extensions with target database schema that the operator will install + in the database. Optional. + +* **schemas** + map of schemas that the operator will create. Optional - if no schema is + listed, the operator will create a schema called `data`. Under each schema + key, it can be defined if `defaultRoles` (NOLOGIN) and `defaultUsers` (LOGIN) + roles shall be created that have schema-exclusive privileges. Both flags are + set to `false` by default. + +* **secretNamespace** + for each default LOGIN role the operator will create a secret. You can + specify the namespace in which these secrets will get created, if + `enable_cross_namespace_secrets` is set to `true` in the config. Otherwise, + the cluster namespace is used. + ## Postgres parameters Those parameters are grouped under the `postgresql` top-level key, which is @@ -258,7 +291,9 @@ explanation of `ttl` and `loop_wait` parameters. Those parameters define [CPU and memory requests and limits](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) for the Postgres container. They are grouped under the `resources` top-level -key with subgroups `requests` and `limits`. +key with subgroups `requests` and `limits`. The whole section is optional, +however if you specify a request or limit you have to define everything +(unless you are not modifying the default CRD schema validation). ### Requests @@ -266,11 +301,11 @@ CPU and memory requests for the Postgres container. * **cpu** CPU requests for the Postgres container. Optional, overrides the - `default_cpu_requests` operator configuration parameter. Optional. + `default_cpu_requests` operator configuration parameter. * **memory** memory requests for the Postgres container. Optional, overrides the - `default_memory_request` operator configuration parameter. Optional. + `default_memory_request` operator configuration parameter. ### Limits @@ -278,11 +313,11 @@ CPU and memory limits for the Postgres container. * **cpu** CPU limits for the Postgres container. Optional, overrides the - `default_cpu_limits` operator configuration parameter. Optional. + `default_cpu_limits` operator configuration parameter. * **memory** memory limits for the Postgres container. Optional, overrides the - `default_memory_limits` operator configuration parameter. Optional. + `default_memory_limits` operator configuration parameter. ## Parameters defining how to clone the cluster from another one diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index 2217d87bb..bd51d6ad8 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -267,9 +267,7 @@ configuration they are grouped under the `kubernetes` key. * **enable_cross_namespace_secrets** To allow secrets in a different namespace other than the Postgres cluster namespace. Once enabled, specify the namespace in the user name under the - `users` section in the form `{namespace}.{username}`. The operator will then - create the user secret in that namespace. The part after the first `.` is - considered to be the user name. The default is `false`. + `users` section in the form `{namespace}.{username}`. The default is `false`. * **enable_init_containers** global option to allow for creating init containers in the cluster manifest to diff --git a/docs/user.md b/docs/user.md index 47d10e7e0..be7b41cfe 100644 --- a/docs/user.md +++ b/docs/user.md @@ -139,9 +139,9 @@ secret, without ever sharing it outside of the cluster. At the moment it is not possible to define membership of the manifest role in other roles. -To define the secrets for the users in a different namespace than that of the cluster, -one can set `enable_cross_namespace_secret` and declare the namespace for the -secrets in the manifest in the following manner, +To define the secrets for the users in a different namespace than that of the +cluster, one can set `enable_cross_namespace_secret` and declare the namespace +for the secrets in the manifest in the following manner, ```yaml spec: @@ -150,7 +150,8 @@ spec: appspace.db_user: - createdb ``` -Here, anything before the first dot is taken as the namespace and the text after + +Here, anything before the first dot is considered the namespace and the text after the first dot is the username. Also, the postgres roles of these usernames would be in the form of `namespace.username`. @@ -520,7 +521,7 @@ Then, the schemas are owned by the database owner, too. The roles described in the previous paragraph can be granted to LOGIN roles from the `users` section in the manifest. Optionally, the Postgres Operator can also -create default LOGIN roles for the database an each schema individually. These +create default LOGIN roles for the database and each schema individually. These roles will get the `_user` suffix and they inherit all rights from their NOLOGIN counterparts. Therefore, you cannot have `defaultRoles` set to `false` and enable `defaultUsers` at the same time. @@ -550,6 +551,19 @@ Default access privileges are also defined for LOGIN roles on database and schema creation. This means they are currently not set when `defaultUsers` (or `defaultRoles` for schemas) are enabled at a later point in time. +For all LOGIN roles the operator will create K8s secrets in the namespace +specified in `secretNamespace`, if `enable_cross_namespace_secret` is set to +`true` in the config. Otherwise, they are created in the same namespace like +the Postgres cluster. + +```yaml +spec: + preparedDatabases: + foo: + defaultUsers: true + secretNamespace: appspace +``` + ### Schema `search_path` for default roles The schema [`search_path`](https://www.postgresql.org/docs/13/ddl-schemas.html#DDL-SCHEMAS-PATH) diff --git a/manifests/postgresql.crd.yaml b/manifests/postgresql.crd.yaml index 652a66fda..b80f25f6b 100644 --- a/manifests/postgresql.crd.yaml +++ b/manifests/postgresql.crd.yaml @@ -390,6 +390,8 @@ spec: type: boolean defaultRoles: type: boolean + secretNamespace: + type: string replicaLoadBalancer: # deprecated type: boolean resources: diff --git a/pkg/apis/acid.zalan.do/v1/crds.go b/pkg/apis/acid.zalan.do/v1/crds.go index a95eeab20..b017020dd 100644 --- a/pkg/apis/acid.zalan.do/v1/crds.go +++ b/pkg/apis/acid.zalan.do/v1/crds.go @@ -573,6 +573,9 @@ var PostgresCRDResourceValidation = apiextv1.CustomResourceValidation{ }, }, }, + "secretNamespace": { + Type: "string", + }, }, }, }, diff --git a/pkg/apis/acid.zalan.do/v1/postgresql_type.go b/pkg/apis/acid.zalan.do/v1/postgresql_type.go index 7346fb0e5..1178dccd8 100644 --- a/pkg/apis/acid.zalan.do/v1/postgresql_type.go +++ b/pkg/apis/acid.zalan.do/v1/postgresql_type.go @@ -95,6 +95,7 @@ type PreparedDatabase struct { PreparedSchemas map[string]PreparedSchema `json:"schemas,omitempty"` DefaultUsers bool `json:"defaultUsers,omitempty" defaults:"false"` Extensions map[string]string `json:"extensions,omitempty"` + SecretNamespace string `json:"secretNamespace,omitempty"` } // PreparedSchema describes elements to be bootstrapped per schema diff --git a/pkg/cluster/cluster.go b/pkg/cluster/cluster.go index c9abb10fd..cd3a751d1 100644 --- a/pkg/cluster/cluster.go +++ b/pkg/cluster/cluster.go @@ -1077,11 +1077,11 @@ func (c *Cluster) initPreparedDatabaseRoles() error { } // default roles per database - if err := c.initDefaultRoles(defaultRoles, "admin", preparedDbName, searchPath.String()); err != nil { + if err := c.initDefaultRoles(defaultRoles, "admin", preparedDbName, searchPath.String(), preparedDB.SecretNamespace); err != nil { return fmt.Errorf("could not initialize default roles for database %s: %v", preparedDbName, err) } if preparedDB.DefaultUsers { - if err := c.initDefaultRoles(defaultUsers, "admin", preparedDbName, searchPath.String()); err != nil { + if err := c.initDefaultRoles(defaultUsers, "admin", preparedDbName, searchPath.String(), preparedDB.SecretNamespace); err != nil { return fmt.Errorf("could not initialize default roles for database %s: %v", preparedDbName, err) } } @@ -1092,14 +1092,14 @@ func (c *Cluster) initPreparedDatabaseRoles() error { if err := c.initDefaultRoles(defaultRoles, preparedDbName+constants.OwnerRoleNameSuffix, preparedDbName+"_"+preparedSchemaName, - constants.DefaultSearchPath+", "+preparedSchemaName); err != nil { + constants.DefaultSearchPath+", "+preparedSchemaName, preparedDB.SecretNamespace); err != nil { return fmt.Errorf("could not initialize default roles for database schema %s: %v", preparedSchemaName, err) } if preparedSchema.DefaultUsers { if err := c.initDefaultRoles(defaultUsers, preparedDbName+constants.OwnerRoleNameSuffix, preparedDbName+"_"+preparedSchemaName, - constants.DefaultSearchPath+", "+preparedSchemaName); err != nil { + constants.DefaultSearchPath+", "+preparedSchemaName, preparedDB.SecretNamespace); err != nil { return fmt.Errorf("could not initialize default users for database schema %s: %v", preparedSchemaName, err) } } @@ -1109,10 +1109,19 @@ func (c *Cluster) initPreparedDatabaseRoles() error { return nil } -func (c *Cluster) initDefaultRoles(defaultRoles map[string]string, admin, prefix string, searchPath string) error { +func (c *Cluster) initDefaultRoles(defaultRoles map[string]string, admin, prefix, searchPath, secretNamespace string) error { for defaultRole, inherits := range defaultRoles { + namespace := c.Namespace + //if namespaced secrets are allowed + if secretNamespace != "" { + if c.Config.OpConfig.EnableCrossNamespaceSecret { + namespace = secretNamespace + } else { + c.logger.Warn("secretNamespace ignored because enable_cross_namespace_secret set to false. Creating secrets in cluster namespace.") + } + } roleName := prefix + defaultRole flags := []string{constants.RoleFlagNoLogin} @@ -1135,7 +1144,7 @@ func (c *Cluster) initDefaultRoles(defaultRoles map[string]string, admin, prefix newRole := spec.PgUser{ Origin: spec.RoleOriginBootstrap, Name: roleName, - Namespace: c.Namespace, + Namespace: namespace, Password: util.RandomPassword(constants.PasswordLength), Flags: flags, MemberOf: memberOf, From f1055335432c31caaae5d44f6176e42db009c765 Mon Sep 17 00:00:00 2001 From: golgoth31 Date: Fri, 20 Aug 2021 15:11:11 +0200 Subject: [PATCH 03/14] feat: Add extraEnvs to operator-ui helm chart (#1582) * feat: Add extraEnvs to operator-ui helm chart * chore: Add env variables exemple to exemple manifest * docs: Add comments on ui extraenvs --- .../templates/deployment.yaml | 3 ++ charts/postgres-operator-ui/values.yaml | 33 ++++++++++++++++++- ui/manifests/deployment.yaml | 22 +++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/charts/postgres-operator-ui/templates/deployment.yaml b/charts/postgres-operator-ui/templates/deployment.yaml index 91c27fee5..8a5036fa9 100644 --- a/charts/postgres-operator-ui/templates/deployment.yaml +++ b/charts/postgres-operator-ui/templates/deployment.yaml @@ -76,3 +76,6 @@ spec: "11" ] } + {{- if .Values.extraEnvs }} + {{- .Values.extraEnvs | toYaml | nindent 12 }} + {{- end }} diff --git a/charts/postgres-operator-ui/values.yaml b/charts/postgres-operator-ui/values.yaml index c9f521464..18c30d0a6 100644 --- a/charts/postgres-operator-ui/values.yaml +++ b/charts/postgres-operator-ui/values.yaml @@ -48,6 +48,36 @@ envs: teams: - "acid" +# configure extra UI ENVs +# Extra ENVs are writen in kubenertes format and added "as is" to the pod's env variables +# https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ +# https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables +# UI specific env variables can be found here: https://github.com/zalando/postgres-operator/blob/master/ui/operator_ui/main.py +extraEnvs: + [] + # Exemple of settings to make snapshot view working in the ui when using AWS + # - name: WALE_S3_ENDPOINT + # value: https+path://s3.us-east-1.amazonaws.com:443 + # - name: SPILO_S3_BACKUP_PREFIX + # value: spilo/ + # - name: AWS_ACCESS_KEY_ID + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_ACCESS_KEY_ID + # - name: AWS_SECRET_ACCESS_KEY + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_SECRET_ACCESS_KEY + # - name: AWS_DEFAULT_REGION + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_DEFAULT_REGION + # - name: SPILO_S3_BACKUP_BUCKET + # value: + # configure UI service service: type: "ClusterIP" @@ -59,7 +89,8 @@ service: # configure UI ingress. If needed: "enabled: true" ingress: enabled: false - annotations: {} + annotations: + {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" hosts: diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index 464168ea4..21a87a31f 100644 --- a/ui/manifests/deployment.yaml +++ b/ui/manifests/deployment.yaml @@ -71,3 +71,25 @@ spec: "11" ] } + # Exemple of settings to make snapshot view working in the ui when using AWS + # - name: WALE_S3_ENDPOINT + # value: https+path://s3.us-east-1.amazonaws.com:443 + # - name: SPILO_S3_BACKUP_PREFIX + # value: spilo/ + # - name: AWS_ACCESS_KEY_ID + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_ACCESS_KEY_ID + # - name: AWS_SECRET_ACCESS_KEY + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_SECRET_ACCESS_KEY + # - name: AWS_DEFAULT_REGION + # valueFrom: + # secretKeyRef: + # name: + # key: AWS_DEFAULT_REGION + # - name: SPILO_S3_BACKUP_BUCKET + # value: From f0815fc5bd4c8e5c89dae3d16b83a0ff03d6302c Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Mon, 23 Aug 2021 15:44:34 +0200 Subject: [PATCH 04/14] remove debug log of Spilo env vars (#1591) --- pkg/cluster/k8sres.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkg/cluster/k8sres.go b/pkg/cluster/k8sres.go index c02a64df0..ca799a182 100644 --- a/pkg/cluster/k8sres.go +++ b/pkg/cluster/k8sres.go @@ -1170,9 +1170,6 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef } // generate the spilo container - c.logger.Debugf("Generating Spilo container, environment variables") - c.logger.Debugf("%v", spiloEnvVars) - spiloContainer := generateContainer(constants.PostgresContainerName, &effectiveDockerImage, resourceRequirements, From 1b3366e9f460ddfffe47b23414706ae37b46bdee Mon Sep 17 00:00:00 2001 From: Quan Hoang Date: Tue, 24 Aug 2021 14:25:03 +0100 Subject: [PATCH 05/14] Support affinity in connection pooler deployments (#1464) --- pkg/cluster/connection_pooler.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkg/cluster/connection_pooler.go b/pkg/cluster/connection_pooler.go index f579b446e..40bdd0e61 100644 --- a/pkg/cluster/connection_pooler.go +++ b/pkg/cluster/connection_pooler.go @@ -285,6 +285,8 @@ func (c *Cluster) generateConnectionPoolerPodTemplate(role PostgresRole) ( }, } + tolerationsSpec := tolerations(&spec.Tolerations, c.OpConfig.PodToleration) + podTemplate := &v1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ Labels: c.connectionPoolerLabels(role, true).MatchLabels, @@ -294,12 +296,18 @@ func (c *Cluster) generateConnectionPoolerPodTemplate(role PostgresRole) ( Spec: v1.PodSpec{ TerminationGracePeriodSeconds: &gracePeriod, Containers: []v1.Container{poolerContainer}, - // TODO: add tolerations to scheduler pooler on the same node - // as database - //Tolerations: *tolerationsSpec, + Tolerations: tolerationsSpec, }, } + nodeAffinity := nodeAffinity(c.OpConfig.NodeReadinessLabel, spec.NodeAffinity) + if c.OpConfig.EnablePodAntiAffinity { + labelsSet := labels.Set(c.connectionPoolerLabels(role, false).MatchLabels) + podTemplate.Spec.Affinity = generatePodAffinity(labelsSet, c.OpConfig.PodAntiAffinityTopologyKey, nodeAffinity) + } else if nodeAffinity != nil { + podTemplate.Spec.Affinity = nodeAffinity + } + return podTemplate, nil } From 2d2ce6197b89adda59c95b9c9be0104384505c15 Mon Sep 17 00:00:00 2001 From: John Rood Date: Thu, 26 Aug 2021 14:57:54 +0200 Subject: [PATCH 06/14] Add volume selector (#1385) * Add volume selector * Add slightly better documentation and gofmt changes * Update generated deepcopy * Add test for PV selector Co-authored-by: John Rood --- .../postgres-operator/crds/postgresqls.yaml | 18 +++ docs/reference/cluster_manifest.md | 5 + manifests/complete-postgres-manifest.yaml | 6 + manifests/postgresql.crd.yaml | 18 +++ pkg/apis/acid.zalan.do/v1/crds.go | 48 ++++++++ pkg/apis/acid.zalan.do/v1/postgresql_type.go | 13 ++- .../acid.zalan.do/v1/zz_generated.deepcopy.go | 23 +--- pkg/cluster/k8sres.go | 6 +- pkg/cluster/k8sres_test.go | 103 ++++++++++++++++++ 9 files changed, 215 insertions(+), 25 deletions(-) diff --git a/charts/postgres-operator/crds/postgresqls.yaml b/charts/postgres-operator/crds/postgresqls.yaml index 68a6e020c..4f97a29ad 100644 --- a/charts/postgres-operator/crds/postgresqls.yaml +++ b/charts/postgres-operator/crds/postgresqls.yaml @@ -561,6 +561,24 @@ spec: properties: iops: type: integer + selector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object size: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' diff --git a/docs/reference/cluster_manifest.md b/docs/reference/cluster_manifest.md index c2425d488..616949abf 100644 --- a/docs/reference/cluster_manifest.md +++ b/docs/reference/cluster_manifest.md @@ -399,6 +399,11 @@ properties of the persistent storage that stores Postgres data. When running the operator on AWS the latest generation of EBS volumes (`gp3`) allows for configuring the throughput in MB/s. Maximum is 1000. Optional. +* **selector** + A label query over PVs to consider for binding. See the [Kubernetes + documentation](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) + for details on using `matchLabels` and `matchExpressions`. Optional + ## Sidecar definitions Those parameters are defined under the `sidecars` key. They consist of a list diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index 6e2acbdd3..10e31c492 100644 --- a/manifests/complete-postgres-manifest.yaml +++ b/manifests/complete-postgres-manifest.yaml @@ -46,6 +46,12 @@ spec: # storageClass: my-sc # iops: 1000 # for EBS gp3 # throughput: 250 # in MB/s for EBS gp3 +# selector: +# matchExpressions: +# - { key: flavour, operator: In, values: [ "banana", "chocolate" ] } +# matchLabels: +# environment: dev +# service: postgres additionalVolumes: - name: empty mountPath: /opt/empty diff --git a/manifests/postgresql.crd.yaml b/manifests/postgresql.crd.yaml index b80f25f6b..1f883f451 100644 --- a/manifests/postgresql.crd.yaml +++ b/manifests/postgresql.crd.yaml @@ -557,6 +557,24 @@ spec: properties: iops: type: integer + selector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object size: type: string pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' diff --git a/pkg/apis/acid.zalan.do/v1/crds.go b/pkg/apis/acid.zalan.do/v1/crds.go index b017020dd..a8fc490ac 100644 --- a/pkg/apis/acid.zalan.do/v1/crds.go +++ b/pkg/apis/acid.zalan.do/v1/crds.go @@ -841,6 +841,54 @@ var PostgresCRDResourceValidation = apiextv1.CustomResourceValidation{ "iops": { Type: "integer", }, + "selector": { + Type: "object", + Properties: map[string]apiextv1.JSONSchemaProps{ + "matchExpressions": { + Type: "array", + Items: &apiextv1.JSONSchemaPropsOrArray{ + Schema: &apiextv1.JSONSchemaProps{ + Type: "object", + Required: []string{"key", "operator", "values"}, + Properties: map[string]apiextv1.JSONSchemaProps{ + "key": { + Type: "string", + }, + "operator": { + Type: "string", + Enum: []apiextv1.JSON{ + { + Raw: []byte(`"In"`), + }, + { + Raw: []byte(`"NotIn"`), + }, + { + Raw: []byte(`"Exists"`), + }, + { + Raw: []byte(`"DoesNotExist"`), + }, + }, + }, + "values": { + Type: "array", + Items: &apiextv1.JSONSchemaPropsOrArray{ + Schema: &apiextv1.JSONSchemaProps{ + Type: "string", + }, + }, + }, + }, + }, + }, + }, + "matchLabels": { + Type: "object", + XPreserveUnknownFields: util.True(), + }, + }, + }, "size": { Type: "string", Description: "Value must not be zero", diff --git a/pkg/apis/acid.zalan.do/v1/postgresql_type.go b/pkg/apis/acid.zalan.do/v1/postgresql_type.go index 1178dccd8..079cb8b98 100644 --- a/pkg/apis/acid.zalan.do/v1/postgresql_type.go +++ b/pkg/apis/acid.zalan.do/v1/postgresql_type.go @@ -114,12 +114,13 @@ type MaintenanceWindow struct { // Volume describes a single volume in the manifest. type Volume struct { - Size string `json:"size"` - StorageClass string `json:"storageClass,omitempty"` - SubPath string `json:"subPath,omitempty"` - Iops *int64 `json:"iops,omitempty"` - Throughput *int64 `json:"throughput,omitempty"` - VolumeType string `json:"type,omitempty"` + Selector *metav1.LabelSelector `json:"selector,omitempty"` + Size string `json:"size"` + StorageClass string `json:"storageClass,omitempty"` + SubPath string `json:"subPath,omitempty"` + Iops *int64 `json:"iops,omitempty"` + Throughput *int64 `json:"throughput,omitempty"` + VolumeType string `json:"type,omitempty"` } // AdditionalVolume specs additional optional volumes for statefulset diff --git a/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go b/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go index 584a72143..a98f6e666 100644 --- a/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go +++ b/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go @@ -29,6 +29,7 @@ package v1 import ( config "github.com/zalando/postgres-operator/pkg/util/config" corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" ) @@ -314,22 +315,6 @@ func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MajorVersionUpgradeConfiguration) DeepCopyInto(out *MajorVersionUpgradeConfiguration) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MajorVersionUpgradeConfiguration. -func (in *MajorVersionUpgradeConfiguration) DeepCopy() *MajorVersionUpgradeConfiguration { - if in == nil { - return nil - } - out := new(MajorVersionUpgradeConfiguration) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OperatorConfiguration) DeepCopyInto(out *OperatorConfiguration) { *out = *in @@ -385,7 +370,6 @@ func (in *OperatorConfigurationData) DeepCopyInto(out *OperatorConfigurationData } } out.PostgresUsersConfiguration = in.PostgresUsersConfiguration - out.MajorVersionUpgrade = in.MajorVersionUpgrade in.Kubernetes.DeepCopyInto(&out.Kubernetes) out.PostgresPodResources = in.PostgresPodResources out.Timeouts = in.Timeouts @@ -1197,6 +1181,11 @@ func (in UserFlags) DeepCopy() UserFlags { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Volume) DeepCopyInto(out *Volume) { *out = *in + if in.Selector != nil { + in, out := &in.Selector, &out.Selector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } if in.Iops != nil { in, out := &in.Iops, &out.Iops *out = new(int64) diff --git a/pkg/cluster/k8sres.go b/pkg/cluster/k8sres.go index ca799a182..263e45e8b 100644 --- a/pkg/cluster/k8sres.go +++ b/pkg/cluster/k8sres.go @@ -1272,7 +1272,7 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef } if volumeClaimTemplate, err = generatePersistentVolumeClaimTemplate(spec.Volume.Size, - spec.Volume.StorageClass); err != nil { + spec.Volume.StorageClass, spec.Volume.Selector); err != nil { return nil, fmt.Errorf("could not generate volume claim template: %v", err) } @@ -1520,7 +1520,8 @@ func (c *Cluster) addAdditionalVolumes(podSpec *v1.PodSpec, podSpec.Volumes = volumes } -func generatePersistentVolumeClaimTemplate(volumeSize, volumeStorageClass string) (*v1.PersistentVolumeClaim, error) { +func generatePersistentVolumeClaimTemplate(volumeSize, volumeStorageClass string, + volumeSelector *metav1.LabelSelector) (*v1.PersistentVolumeClaim, error) { var storageClassName *string @@ -1553,6 +1554,7 @@ func generatePersistentVolumeClaimTemplate(volumeSize, volumeStorageClass string }, StorageClassName: storageClassName, VolumeMode: &volumeMode, + Selector: volumeSelector, }, } diff --git a/pkg/cluster/k8sres_test.go b/pkg/cluster/k8sres_test.go index d411dd004..0f99d5f31 100644 --- a/pkg/cluster/k8sres_test.go +++ b/pkg/cluster/k8sres_test.go @@ -1509,3 +1509,106 @@ func TestGenerateCapabilities(t *testing.T) { } } } + +func TestVolumeSelector(t *testing.T) { + testName := "TestVolumeSelector" + makeSpec := func(volume acidv1.Volume) acidv1.PostgresSpec { + return acidv1.PostgresSpec{ + TeamID: "myapp", + NumberOfInstances: 0, + Resources: acidv1.Resources{ + ResourceRequests: acidv1.ResourceDescription{CPU: "1", Memory: "10"}, + ResourceLimits: acidv1.ResourceDescription{CPU: "1", Memory: "10"}, + }, + Volume: volume, + } + } + + tests := []struct { + subTest string + volume acidv1.Volume + wantSelector *metav1.LabelSelector + }{ + { + subTest: "PVC template has no selector", + volume: acidv1.Volume{ + Size: "1G", + }, + wantSelector: nil, + }, + { + subTest: "PVC template has simple label selector", + volume: acidv1.Volume{ + Size: "1G", + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{"environment": "unittest"}, + }, + }, + wantSelector: &metav1.LabelSelector{ + MatchLabels: map[string]string{"environment": "unittest"}, + }, + }, + { + subTest: "PVC template has full selector", + volume: acidv1.Volume{ + Size: "1G", + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{"environment": "unittest"}, + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "flavour", + Operator: metav1.LabelSelectorOpIn, + Values: []string{"banana", "chocolate"}, + }, + }, + }, + }, + wantSelector: &metav1.LabelSelector{ + MatchLabels: map[string]string{"environment": "unittest"}, + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "flavour", + Operator: metav1.LabelSelectorOpIn, + Values: []string{"banana", "chocolate"}, + }, + }, + }, + }, + } + + cluster := New( + Config{ + OpConfig: config.Config{ + PodManagementPolicy: "ordered_ready", + ProtectedRoles: []string{"admin"}, + Auth: config.Auth{ + SuperUsername: superUserName, + ReplicationUsername: replicationUserName, + }, + }, + }, k8sutil.KubernetesClient{}, acidv1.Postgresql{}, logger, eventRecorder) + + for _, tt := range tests { + pgSpec := makeSpec(tt.volume) + sts, err := cluster.generateStatefulSet(&pgSpec) + if err != nil { + t.Fatalf("%s %s: no statefulset created %v", testName, tt.subTest, err) + } + + volIdx := len(sts.Spec.VolumeClaimTemplates) + for i, ct := range sts.Spec.VolumeClaimTemplates { + if ct.ObjectMeta.Name == constants.DataVolumeName { + volIdx = i + break + } + } + if volIdx == len(sts.Spec.VolumeClaimTemplates) { + t.Errorf("%s %s: no datavolume found in sts", testName, tt.subTest) + } + + selector := sts.Spec.VolumeClaimTemplates[volIdx].Spec.Selector + if !reflect.DeepEqual(selector, tt.wantSelector) { + t.Errorf("%s %s: expected: %#v but got: %#v", testName, tt.subTest, tt.wantSelector, selector) + } + } +} From 1dd0cd96915f857ec14887d1684a7a7f8fe19fd4 Mon Sep 17 00:00:00 2001 From: Aaron Peschel Date: Thu, 26 Aug 2021 05:59:03 -0700 Subject: [PATCH 07/14] Add Support for Azure WAL-G Backups (#1537) This commit adds support for using an Azure storage account as a backup location. It uses the existing GCS functionality as a reference for what to do, and follows the example set by GCS as closely as possible. The decision to name the cloud provider key "aws_or_gcp" is unfortunate while adding support for Azure, but I have left it alone to allow for this changeset to be backwards compatible. --- .../crds/operatorconfigurations.yaml | 2 + charts/postgres-operator/values.yaml | 3 + docs/administrator.md | 57 +++++++++++++++++++ docs/reference/operator_parameters.md | 6 ++ manifests/configmap.yaml | 1 + manifests/operatorconfiguration.crd.yaml | 2 + ...gresql-operator-default-configuration.yaml | 1 + .../v1/operator_configuration_type.go | 1 + pkg/cluster/k8sres.go | 14 +++++ pkg/controller/operator_config.go | 1 + pkg/util/config/config.go | 1 + 11 files changed, 89 insertions(+) diff --git a/charts/postgres-operator/crds/operatorconfigurations.yaml b/charts/postgres-operator/crds/operatorconfigurations.yaml index 9ae7b1c91..7f2ede6e4 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.yaml @@ -395,6 +395,8 @@ spec: type: string wal_s3_bucket: type: string + wal_az_storage_account: + type: string logical_backup: type: object properties: diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 32160cf5a..2f151e698 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -268,6 +268,9 @@ configAwsOrGcp: # GCS bucket to use for shipping WAL segments with WAL-E # wal_gs_bucket: "" + # Azure Storage Account to use for shipping WAL segments with WAL-G + # wal_az_storage_account: "" + # configure K8s cron job managed by the operator configLogicalBackup: # image for pods of the logical backup job (example runs pg_dumpall) diff --git a/docs/administrator.md b/docs/administrator.md index ad424cab8..eacb9f280 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -808,6 +808,63 @@ pod_environment_configmap: "postgres-operator-system/pod-env-overrides" ... ``` +### Azure setup + +To configure the operator on Azure these prerequisites are needed: + +* A storage account in the same region as the Kubernetes cluster. + +The configuration parameters that we will be using are: + +* `pod_environment_secret` +* `wal_az_storage_account` + +1. Generate the K8s secret resource that will contain your storage account's +access key. You will need a copy of this secret in every namespace you want to +create postgresql clusters. + +The latest version of WAL-G (v1.0) supports the use of a SASS token, but you'll +have to make due with using the primary or secondary access token until the +version of WAL-G is updated in the postgres-operator. + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: psql-backup-creds + namespace: default +type: Opaque +stringData: + AZURE_STORAGE_ACCESS_KEY: +``` + +2. Setup pod environment configmap that instructs the operator to use WAL-G, +instead of WAL-E, for backup and restore. +```yml +apiVersion: v1 +kind: ConfigMap +metadata: + name: pod-env-overrides + namespace: postgres-operator-system +data: + # Any env variable used by spilo can be added + USE_WALG_BACKUP: "true" + USE_WALG_RESTORE: "true" + CLONE_USE_WALG_RESTORE: "true" +``` + +3. Setup your operator configuration values. With the `psql-backup-creds` +and `pod-env-overrides` resources applied to your cluster, ensure that the operator's configuration +is set up like the following: +```yml +... +aws_or_gcp: + pod_environment_secret: "pgsql-backup-creds" + pod_environment_configmap: "postgres-operator-system/pod-env-overrides" + wal_az_storage_account: "postgresbackupsbucket28302F2" # name of storage account to save the WAL-G logs +... +``` + ### Restoring physical backups If cluster members have to be (re)initialized restoring physical backups diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index bd51d6ad8..fb56ba97a 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -557,6 +557,12 @@ yet officially supported. [service accounts](https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform). The default is empty +* **wal_az_storage_account** + Azure Storage Account to use for shipping WAL segments with WAL-G. The + storage account must exist and be accessible by Postgres pods. Note, only the + name of the storage account is required. + The default is empty. + * **log_s3_bucket** S3 bucket to use for shipping Postgres daily logs. Works only with S3 on AWS. The bucket has to be present and accessible by Postgres pods. The default is diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 96072644d..6a66db042 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -129,6 +129,7 @@ data: # team_api_role_configuration: "log_statement:all" # teams_api_url: http://fake-teams-api.default.svc.cluster.local # toleration: "" + # wal_az_storage_account: "" # wal_gs_bucket: "" # wal_s3_bucket: "" watched_namespace: "*" # listen to all namespaces diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 806acc8da..e25b7e7af 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -384,6 +384,8 @@ spec: type: string log_s3_bucket: type: string + wal_az_storage_account: + type: string wal_gs_bucket: type: string wal_s3_bucket: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index e869498ba..d648a31a7 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -121,6 +121,7 @@ configuration: # gcp_credentials: "" # kube_iam_role: "" # log_s3_bucket: "" + # wal_az_storage_account: "" # wal_gs_bucket: "" # wal_s3_bucket: "" logical_backup: diff --git a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go index 8023864cf..5bd999444 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -132,6 +132,7 @@ type AWSGCPConfiguration struct { AWSRegion string `json:"aws_region,omitempty"` WALGSBucket string `json:"wal_gs_bucket,omitempty"` GCPCredentials string `json:"gcp_credentials,omitempty"` + WALAZStorageAccount string `json:"wal_az_storage_account,omitempty"` LogS3Bucket string `json:"log_s3_bucket,omitempty"` KubeIAMRole string `json:"kube_iam_role,omitempty"` AdditionalSecretMount string `json:"additional_secret_mount,omitempty"` diff --git a/pkg/cluster/k8sres.go b/pkg/cluster/k8sres.go index 263e45e8b..70c02c26a 100644 --- a/pkg/cluster/k8sres.go +++ b/pkg/cluster/k8sres.go @@ -798,6 +798,12 @@ func (c *Cluster) generateSpiloPodEnvVars(uid types.UID, spiloConfiguration stri envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_PREFIX", Value: ""}) } + if c.OpConfig.WALAZStorageAccount != "" { + envVars = append(envVars, v1.EnvVar{Name: "AZURE_STORAGE_ACCOUNT", Value: c.OpConfig.WALAZStorageAccount}) + envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_SUFFIX", Value: getBucketScopeSuffix(string(uid))}) + envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_PREFIX", Value: ""}) + } + if c.OpConfig.GCPCredentials != "" { envVars = append(envVars, v1.EnvVar{Name: "GOOGLE_APPLICATION_CREDENTIALS", Value: c.OpConfig.GCPCredentials}) } @@ -1805,6 +1811,14 @@ func (c *Cluster) generateCloneEnvironment(description *acidv1.CloneDescription) }, } result = append(result, envs...) + } else if c.OpConfig.WALAZStorageAccount != "" { + envs := []v1.EnvVar{ + { + Name: "CLONE_AZURE_STORAGE_ACCOUNT", + Value: c.OpConfig.WALAZStorageAccount, + }, + } + result = append(result, envs...) } else { c.logger.Error("Cannot figure out S3 or GS bucket. Both are empty.") } diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 1b9cfba96..80878e537 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -146,6 +146,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.KubeIAMRole = fromCRD.AWSGCP.KubeIAMRole result.WALGSBucket = fromCRD.AWSGCP.WALGSBucket result.GCPCredentials = fromCRD.AWSGCP.GCPCredentials + result.WALAZStorageAccount = fromCRD.AWSGCP.WALAZStorageAccount result.AdditionalSecretMount = fromCRD.AWSGCP.AdditionalSecretMount result.AdditionalSecretMountPath = util.Coalesce(fromCRD.AWSGCP.AdditionalSecretMountPath, "/meta/credentials") result.EnableEBSGp3Migration = fromCRD.AWSGCP.EnableEBSGp3Migration diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 662161053..43d4bab29 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -167,6 +167,7 @@ type Config struct { KubeIAMRole string `name:"kube_iam_role"` WALGSBucket string `name:"wal_gs_bucket"` GCPCredentials string `name:"gcp_credentials"` + WALAZStorageAccount string `name:"wal_az_storage_account"` AdditionalSecretMount string `name:"additional_secret_mount"` AdditionalSecretMountPath string `name:"additional_secret_mount_path" default:"/meta/credentials"` EnableEBSGp3Migration bool `name:"enable_ebs_gp3_migration" default:"false"` From 7469efac88ec3c4f196b911409604ae4a4c9b9d3 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 27 Aug 2021 10:44:06 +0200 Subject: [PATCH 08/14] enhance docs on clone and restore (#1592) * enhance docs on clone and restore * add chapter about upgrading the operator * add section for standby clusters * Update docs/administrator.md Co-authored-by: Alexander Kukushkin Co-authored-by: Alexander Kukushkin --- docs/administrator.md | 94 ++++++++++++++++++++++++++++++++++++------- docs/user.md | 11 ++--- 2 files changed, 85 insertions(+), 20 deletions(-) diff --git a/docs/administrator.md b/docs/administrator.md index eacb9f280..9408541d0 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -3,6 +3,21 @@ Learn how to configure and manage the Postgres Operator in your Kubernetes (K8s) environment. +## Upgrading the operator + +The Postgres Operator is upgraded by changing the docker image within the +deployment. Before doing so, it is recommended to check the release notes +for new configuration options or changed behavior you might want to reflect +in the ConfigMap or config CRD. E.g. a new feature might get introduced which +is enabled or disabled by default and you want to change it to the opposite +with the corresponding flag option. + +When using helm, be aware that installing the new chart will not update the +`Postgresql` and `OperatorConfiguration` CRD. Make sure to update them before +with the provided manifests in the `crds` folder. Otherwise, you might face +errors about new Postgres manifest or configuration options being unknown +to the CRD schema validation. + ## Minor and major version upgrade Minor version upgrades for PostgreSQL are handled via updating the Spilo Docker @@ -157,20 +172,26 @@ from numerous escape characters in the latter log entry, view it in CLI with `PodTemplate` used by the operator is yet to be updated with the default values used internally in K8s. -The operator also support lazy updates of the Spilo image. That means the pod -template of a PG cluster's stateful set is updated immediately with the new -image, but no rolling update follows. This feature saves you a switchover - and -hence downtime - when you know pods are re-started later anyway, for instance -due to the node rotation. To force a rolling update, disable this mode by -setting the `enable_lazy_spilo_upgrade` to `false` in the operator configuration -and restart the operator pod. With the standard eager rolling updates the -operator checks during Sync all pods run images specified in their respective -statefulsets. The operator triggers a rolling upgrade for PG clusters that -violate this condition. +The StatefulSet is replaced if the following properties change: +- annotations +- volumeClaimTemplates +- template volumes -Changes in $SPILO\_CONFIGURATION under path bootstrap.dcs are ignored when -StatefulSets are being compared, if there are changes under this path, they are -applied through rest api interface and following restart of patroni instance +The StatefulSet is replaced and a rolling updates is triggered if the following +properties differ between the old and new state: +- container name, ports, image, resources, env, envFrom, securityContext and volumeMounts +- template labels, annotations, service account, securityContext, affinity, priority class and termination grace period + +Note that, changes in `SPILO_CONFIGURATION` env variable under `bootstrap.dcs` +path are ignored for the diff. They will be applied through Patroni's rest api +interface, following a restart of all instances. + +The operator also support lazy updates of the Spilo image. In this case the +StatefulSet is only updated, but no rolling update follows. This feature saves +you a switchover - and hence downtime - when you know pods are re-started later +anyway, for instance due to the node rotation. To force a rolling update, +disable this mode by setting the `enable_lazy_spilo_upgrade` to `false` in the +operator configuration and restart the operator pod. ## Delete protection via annotations @@ -667,6 +688,12 @@ if it ends up in your specified WAL backup path: envdir "/run/etc/wal-e.d/env" /scripts/postgres_backup.sh "/home/postgres/pgdata/pgroot/data" ``` +You can also check if Spilo is able to find any backups: + +```bash +envdir "/run/etc/wal-e.d/env" wal-g backup-list +``` + Depending on the cloud storage provider different [environment variables](https://github.com/zalando/spilo/blob/master/ENVIRONMENT.rst) have to be set for Spilo. Not all of them are generated automatically by the operator by changing its configuration. In this case you have to use an @@ -734,8 +761,15 @@ WALE_S3_ENDPOINT='https+path://s3.eu-central-1.amazonaws.com:443' WALE_S3_PREFIX=$WAL_S3_BUCKET/spilo/{WAL_BUCKET_SCOPE_PREFIX}{SCOPE}{WAL_BUCKET_SCOPE_SUFFIX}/wal/{PGVERSION} ``` -If the prefix is not specified Spilo will generate it from `WAL_S3_BUCKET`. -When the `AWS_REGION` is set `AWS_ENDPOINT` and `WALE_S3_ENDPOINT` are +The operator sets the prefix to an empty string so that spilo will generate it +from the configured `WAL_S3_BUCKET`. + +:warning: When you overwrite the configuration by defining `WAL_S3_BUCKET` in +the [pod_environment_configmap](#custom-pod-environment-variables) you have +to set `WAL_BUCKET_SCOPE_PREFIX = ""`, too. Otherwise Spilo will not find +the physical backups on restore (next chapter). + +When the `AWS_REGION` is set, `AWS_ENDPOINT` and `WALE_S3_ENDPOINT` are generated automatically. `WALG_S3_PREFIX` is identical to `WALE_S3_PREFIX`. `SCOPE` is the Postgres cluster name. @@ -874,6 +908,36 @@ on one of the other running instances (preferably replicas if they do not lag behind). You can test restoring backups by [cloning](user.md#how-to-clone-an-existing-postgresql-cluster) clusters. +If you need to provide a [custom clone environment](#custom-pod-environment-variables) +copy existing variables about your setup (backup location, prefix, access +keys etc.) and prepend the `CLONE_` prefix to get them copied to the correct +directory within Spilo. + +```yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: postgres-pod-config +data: + AWS_REGION: "eu-west-1" + AWS_ACCESS_KEY_ID: "****" + AWS_SECRET_ACCESS_KEY: "****" + ... + CLONE_AWS_REGION: "eu-west-1" + CLONE_AWS_ACCESS_KEY_ID: "****" + CLONE_AWS_SECRET_ACCESS_KEY: "****" + ... +``` + +### Standby clusters + +The setup for [standby clusters](user.md#setting-up-a-standby-cluster) is very +similar to cloning. At the moment, the operator only allows for streaming from +the S3 WAL archive of the master specified in the manifest. Like with cloning, +if you are using [additional environment variables](#custom-pod-environment-variables) +to access your backup location you have to copy those variables and prepend the +`STANDBY_` prefix for Spilo to find the backups and WAL files to stream. + ## Logical backups The operator can manage K8s cron jobs to run logical backups (SQL dumps) of diff --git a/docs/user.md b/docs/user.md index be7b41cfe..ef3277436 100644 --- a/docs/user.md +++ b/docs/user.md @@ -733,20 +733,21 @@ spec: uid: "efd12e58-5786-11e8-b5a7-06148230260c" cluster: "acid-batman" timestamp: "2017-12-19T12:40:33+01:00" + s3_wal_path: "s3:///spilo///wal/" ``` Here `cluster` is a name of a source cluster that is going to be cloned. A new cluster will be cloned from S3, using the latest backup before the `timestamp`. Note, that a time zone is required for `timestamp` in the format of +00:00 which -is UTC. The `uid` field is also mandatory. The operator will use it to find a -correct key inside an S3 bucket. You can find this field in the metadata of the -source cluster: +is UTC. You can specify the `s3_wal_path` of the source cluster or let the +operator try to find it based on the configured `wal_[s3|gs]_bucket` and the +specified `uid`. You can find the UID of the source cluster in its metadata: ```yaml apiVersion: acid.zalan.do/v1 kind: postgresql metadata: - name: acid-test-cluster + name: acid-batman uid: efd12e58-5786-11e8-b5a7-06148230260c ``` @@ -799,7 +800,7 @@ no statefulset will be created. ```yaml spec: standby: - s3_wal_path: "s3 bucket path to the master" + s3_wal_path: "s3:///spilo///wal/" ``` At the moment, the operator only allows to stream from the WAL archive of the From 62ed7e470f4c0399069ca7487ee964b18deafc52 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 27 Aug 2021 12:41:37 +0200 Subject: [PATCH 09/14] improve pooler sync (#1593) * remove role from installLookupFunction and run it on database sync, too * fix condition to decide on syncing pooler * trigger lookup from database sync only if pooler is set * use empty spec everywhere and do not sync if one lookupfunction was passed * do not sync pooler after being disabled --- pkg/cluster/cluster.go | 12 +-- pkg/cluster/connection_pooler.go | 113 +++++++++++--------------- pkg/cluster/connection_pooler_test.go | 2 +- pkg/cluster/database.go | 6 +- pkg/cluster/sync.go | 9 ++ pkg/cluster/types.go | 2 +- 6 files changed, 68 insertions(+), 76 deletions(-) diff --git a/pkg/cluster/cluster.go b/pkg/cluster/cluster.go index cd3a751d1..8e1dcb22e 100644 --- a/pkg/cluster/cluster.go +++ b/pkg/cluster/cluster.go @@ -1006,9 +1006,9 @@ func (c *Cluster) initSystemUsers() { // Connection pooler user is an exception, if requested it's going to be // created by operator as a normal pgUser if needConnectionPooler(&c.Spec) { - // initialize empty connection pooler if not done yet - if c.Spec.ConnectionPooler == nil { - c.Spec.ConnectionPooler = &acidv1.ConnectionPooler{} + connectionPoolerSpec := c.Spec.ConnectionPooler + if connectionPoolerSpec == nil { + connectionPoolerSpec = &acidv1.ConnectionPooler{} } // Using superuser as pooler user is not a good idea. First of all it's @@ -1016,13 +1016,13 @@ func (c *Cluster) initSystemUsers() { // and second it's a bad practice. username := c.OpConfig.ConnectionPooler.User - isSuperUser := c.Spec.ConnectionPooler.User == c.OpConfig.SuperUsername + isSuperUser := connectionPoolerSpec.User == c.OpConfig.SuperUsername isProtectedUser := c.shouldAvoidProtectedOrSystemRole( - c.Spec.ConnectionPooler.User, "connection pool role") + connectionPoolerSpec.User, "connection pool role") if !isSuperUser && !isProtectedUser { username = util.Coalesce( - c.Spec.ConnectionPooler.User, + connectionPoolerSpec.User, c.OpConfig.ConnectionPooler.User) } diff --git a/pkg/cluster/connection_pooler.go b/pkg/cluster/connection_pooler.go index 40bdd0e61..5bde71458 100644 --- a/pkg/cluster/connection_pooler.go +++ b/pkg/cluster/connection_pooler.go @@ -3,6 +3,7 @@ package cluster import ( "context" "fmt" + "reflect" "strings" "github.com/r3labs/diff" @@ -60,7 +61,7 @@ func needMasterConnectionPooler(spec *acidv1.PostgresSpec) bool { } func needMasterConnectionPoolerWorker(spec *acidv1.PostgresSpec) bool { - return (nil != spec.EnableConnectionPooler && *spec.EnableConnectionPooler) || + return (spec.EnableConnectionPooler != nil && *spec.EnableConnectionPooler) || (spec.ConnectionPooler != nil && spec.EnableConnectionPooler == nil) } @@ -114,7 +115,7 @@ func (c *Cluster) createConnectionPooler(LookupFunction InstallFunction) (SyncRe c.setProcessName("creating connection pooler") //this is essentially sync with nil as oldSpec - if reason, err := c.syncConnectionPooler(nil, &c.Postgresql, LookupFunction); err != nil { + if reason, err := c.syncConnectionPooler(&acidv1.Postgresql{}, &c.Postgresql, LookupFunction); err != nil { return reason, err } return reason, nil @@ -140,11 +141,15 @@ func (c *Cluster) createConnectionPooler(LookupFunction InstallFunction) (SyncRe // RESERVE_SIZE is how many additional connections to allow for a pooler. func (c *Cluster) getConnectionPoolerEnvVars() []v1.EnvVar { spec := &c.Spec + connectionPoolerSpec := spec.ConnectionPooler + if connectionPoolerSpec == nil { + connectionPoolerSpec = &acidv1.ConnectionPooler{} + } effectiveMode := util.Coalesce( - spec.ConnectionPooler.Mode, + connectionPoolerSpec.Mode, c.OpConfig.ConnectionPooler.Mode) - numberOfInstances := spec.ConnectionPooler.NumberOfInstances + numberOfInstances := connectionPoolerSpec.NumberOfInstances if numberOfInstances == nil { numberOfInstances = util.CoalesceInt32( c.OpConfig.ConnectionPooler.NumberOfInstances, @@ -152,7 +157,7 @@ func (c *Cluster) getConnectionPoolerEnvVars() []v1.EnvVar { } effectiveMaxDBConn := util.CoalesceInt32( - spec.ConnectionPooler.MaxDBConnections, + connectionPoolerSpec.MaxDBConnections, c.OpConfig.ConnectionPooler.MaxDBConnections) if effectiveMaxDBConn == nil { @@ -201,17 +206,21 @@ func (c *Cluster) getConnectionPoolerEnvVars() []v1.EnvVar { func (c *Cluster) generateConnectionPoolerPodTemplate(role PostgresRole) ( *v1.PodTemplateSpec, error) { spec := &c.Spec + connectionPoolerSpec := spec.ConnectionPooler + if connectionPoolerSpec == nil { + connectionPoolerSpec = &acidv1.ConnectionPooler{} + } gracePeriod := int64(c.OpConfig.PodTerminateGracePeriod.Seconds()) resources, err := generateResourceRequirements( - spec.ConnectionPooler.Resources, + connectionPoolerSpec.Resources, makeDefaultConnectionPoolerResources(&c.OpConfig)) effectiveDockerImage := util.Coalesce( - spec.ConnectionPooler.DockerImage, + connectionPoolerSpec.DockerImage, c.OpConfig.ConnectionPooler.Image) effectiveSchema := util.Coalesce( - spec.ConnectionPooler.Schema, + connectionPoolerSpec.Schema, c.OpConfig.ConnectionPooler.Schema) if err != nil { @@ -220,7 +229,7 @@ func (c *Cluster) generateConnectionPoolerPodTemplate(role PostgresRole) ( secretSelector := func(key string) *v1.SecretKeySelector { effectiveUser := util.Coalesce( - spec.ConnectionPooler.User, + connectionPoolerSpec.User, c.OpConfig.ConnectionPooler.User) return &v1.SecretKeySelector{ @@ -321,12 +330,13 @@ func (c *Cluster) generateConnectionPoolerDeployment(connectionPooler *Connectio // default values, initialize it to an empty structure. It could be done // anywhere, but here is the earliest common entry point between sync and // create code, so init here. - if spec.ConnectionPooler == nil { - spec.ConnectionPooler = &acidv1.ConnectionPooler{} + connectionPoolerSpec := spec.ConnectionPooler + if connectionPoolerSpec == nil { + connectionPoolerSpec = &acidv1.ConnectionPooler{} } podTemplate, err := c.generateConnectionPoolerPodTemplate(connectionPooler.Role) - numberOfInstances := spec.ConnectionPooler.NumberOfInstances + numberOfInstances := connectionPoolerSpec.NumberOfInstances if numberOfInstances == nil { numberOfInstances = util.CoalesceInt32( c.OpConfig.ConnectionPooler.NumberOfInstances, @@ -371,16 +381,6 @@ func (c *Cluster) generateConnectionPoolerDeployment(connectionPooler *Connectio func (c *Cluster) generateConnectionPoolerService(connectionPooler *ConnectionPoolerObjects) *v1.Service { spec := &c.Spec - // there are two ways to enable connection pooler, either to specify a - // connectionPooler section or enableConnectionPooler. In the second case - // spec.connectionPooler will be nil, so to make it easier to calculate - // default values, initialize it to an empty structure. It could be done - // anywhere, but here is the earliest common entry point between sync and - // create code, so init here. - if spec.ConnectionPooler == nil { - spec.ConnectionPooler = &acidv1.ConnectionPooler{} - } - serviceSpec := v1.ServiceSpec{ Ports: []v1.ServicePort{ { @@ -668,12 +668,14 @@ func makeDefaultConnectionPoolerResources(config *config.Config) acidv1.Resource func logPoolerEssentials(log *logrus.Entry, oldSpec, newSpec *acidv1.Postgresql) { var v []string - var input []*bool + + newMasterConnectionPoolerEnabled := needMasterConnectionPoolerWorker(&newSpec.Spec) if oldSpec == nil { - input = []*bool{nil, nil, newSpec.Spec.EnableConnectionPooler, newSpec.Spec.EnableReplicaConnectionPooler} + input = []*bool{nil, nil, &newMasterConnectionPoolerEnabled, newSpec.Spec.EnableReplicaConnectionPooler} } else { - input = []*bool{oldSpec.Spec.EnableConnectionPooler, oldSpec.Spec.EnableReplicaConnectionPooler, newSpec.Spec.EnableConnectionPooler, newSpec.Spec.EnableReplicaConnectionPooler} + oldMasterConnectionPoolerEnabled := needMasterConnectionPoolerWorker(&oldSpec.Spec) + input = []*bool{&oldMasterConnectionPoolerEnabled, oldSpec.Spec.EnableReplicaConnectionPooler, &newMasterConnectionPoolerEnabled, newSpec.Spec.EnableReplicaConnectionPooler} } for _, b := range input { @@ -684,25 +686,16 @@ func logPoolerEssentials(log *logrus.Entry, oldSpec, newSpec *acidv1.Postgresql) } } - log.Debugf("syncing connection pooler from (%v, %v) to (%v, %v)", v[0], v[1], v[2], v[3]) + log.Debugf("syncing connection pooler (master, replica) from (%v, %v) to (%v, %v)", v[0], v[1], v[2], v[3]) } func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, LookupFunction InstallFunction) (SyncReason, error) { var reason SyncReason var err error - var newNeedConnectionPooler, oldNeedConnectionPooler bool - oldNeedConnectionPooler = false + var connectionPoolerNeeded bool - if oldSpec == nil { - oldSpec = &acidv1.Postgresql{ - Spec: acidv1.PostgresSpec{ - ConnectionPooler: &acidv1.ConnectionPooler{}, - }, - } - } - - needSync, _ := needSyncConnectionPoolerSpecs(oldSpec.Spec.ConnectionPooler, newSpec.Spec.ConnectionPooler, c.logger) + needSync := !reflect.DeepEqual(oldSpec.Spec.ConnectionPooler, newSpec.Spec.ConnectionPooler) masterChanges, err := diff.Diff(oldSpec.Spec.EnableConnectionPooler, newSpec.Spec.EnableConnectionPooler) if err != nil { c.logger.Error("Error in getting diff of master connection pooler changes") @@ -712,15 +705,14 @@ func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, Look c.logger.Error("Error in getting diff of replica connection pooler changes") } - // skip pooler sync only - // 1. if there is no diff in spec, AND - // 2. if connection pooler is already there and is also required as per newSpec - // - // Handling the case when connectionPooler is not there but it is required + // skip pooler sync when theres no diff or it's deactivated + // but, handling the case when connectionPooler is not there but it is required // as per spec, hence do not skip syncing in that case, even though there // is no diff in specs if (!needSync && len(masterChanges) <= 0 && len(replicaChanges) <= 0) && - (c.ConnectionPooler != nil && (needConnectionPooler(&newSpec.Spec))) { + ((!needConnectionPooler(&newSpec.Spec) && (c.ConnectionPooler == nil || !needConnectionPooler(&oldSpec.Spec))) || + (c.ConnectionPooler != nil && needConnectionPooler(&newSpec.Spec) && + (c.ConnectionPooler[Master].LookupFunction || c.ConnectionPooler[Replica].LookupFunction))) { c.logger.Debugln("syncing pooler is not required") return nil, nil } @@ -731,15 +723,9 @@ func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, Look for _, role := range [2]PostgresRole{Master, Replica} { if role == Master { - newNeedConnectionPooler = needMasterConnectionPoolerWorker(&newSpec.Spec) - if oldSpec != nil { - oldNeedConnectionPooler = needMasterConnectionPoolerWorker(&oldSpec.Spec) - } + connectionPoolerNeeded = needMasterConnectionPoolerWorker(&newSpec.Spec) } else { - newNeedConnectionPooler = needReplicaConnectionPoolerWorker(&newSpec.Spec) - if oldSpec != nil { - oldNeedConnectionPooler = needReplicaConnectionPoolerWorker(&oldSpec.Spec) - } + connectionPoolerNeeded = needReplicaConnectionPoolerWorker(&newSpec.Spec) } // if the call is via createConnectionPooler, then it is required to initialize @@ -759,24 +745,22 @@ func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, Look } } - if newNeedConnectionPooler { + if connectionPoolerNeeded { // Try to sync in any case. If we didn't needed connection pooler before, // it means we want to create it. If it was already present, still sync // since it could happen that there is no difference in specs, and all // the resources are remembered, but the deployment was manually deleted // in between - // in this case also do not forget to install lookup function as for - // creating cluster - if !oldNeedConnectionPooler || !c.ConnectionPooler[role].LookupFunction { - newConnectionPooler := newSpec.Spec.ConnectionPooler - + // in this case also do not forget to install lookup function + if !c.ConnectionPooler[role].LookupFunction { + connectionPooler := c.Spec.ConnectionPooler specSchema := "" specUser := "" - if newConnectionPooler != nil { - specSchema = newConnectionPooler.Schema - specUser = newConnectionPooler.User + if connectionPooler != nil { + specSchema = connectionPooler.Schema + specUser = connectionPooler.User } schema := util.Coalesce( @@ -787,9 +771,10 @@ func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, Look specUser, c.OpConfig.ConnectionPooler.User) - if err = LookupFunction(schema, user, role); err != nil { + if err = LookupFunction(schema, user); err != nil { return NoSync, err } + c.ConnectionPooler[role].LookupFunction = true } if reason, err = c.syncConnectionPoolerWorker(oldSpec, newSpec, role); err != nil { @@ -808,8 +793,8 @@ func (c *Cluster) syncConnectionPooler(oldSpec, newSpec *acidv1.Postgresql, Look } } } - if !needMasterConnectionPoolerWorker(&newSpec.Spec) && - !needReplicaConnectionPoolerWorker(&newSpec.Spec) { + if (needMasterConnectionPoolerWorker(&oldSpec.Spec) || needReplicaConnectionPoolerWorker(&oldSpec.Spec)) && + !needMasterConnectionPoolerWorker(&newSpec.Spec) && !needReplicaConnectionPoolerWorker(&newSpec.Spec) { if err = c.deleteConnectionPoolerSecret(); err != nil { c.logger.Warningf("could not remove connection pooler secret: %v", err) } @@ -874,8 +859,6 @@ func (c *Cluster) syncConnectionPoolerWorker(oldSpec, newSpec *acidv1.Postgresql newConnectionPooler = &acidv1.ConnectionPooler{} } - c.logger.Infof("old: %+v, new %+v", oldConnectionPooler, newConnectionPooler) - var specSync bool var specReason []string diff --git a/pkg/cluster/connection_pooler_test.go b/pkg/cluster/connection_pooler_test.go index 280adb101..9b983c7b0 100644 --- a/pkg/cluster/connection_pooler_test.go +++ b/pkg/cluster/connection_pooler_test.go @@ -19,7 +19,7 @@ import ( "k8s.io/client-go/kubernetes/fake" ) -func mockInstallLookupFunction(schema string, user string, role PostgresRole) error { +func mockInstallLookupFunction(schema string, user string) error { return nil } diff --git a/pkg/cluster/database.go b/pkg/cluster/database.go index ba4cf223a..aa3a5e3be 100644 --- a/pkg/cluster/database.go +++ b/pkg/cluster/database.go @@ -508,7 +508,7 @@ func (c *Cluster) execCreateOrAlterExtension(extName, schemaName, statement, doi // Creates a connection pool credentials lookup function in every database to // perform remote authentication. -func (c *Cluster) installLookupFunction(poolerSchema, poolerUser string, role PostgresRole) error { +func (c *Cluster) installLookupFunction(poolerSchema, poolerUser string) error { var stmtBytes bytes.Buffer c.logger.Info("Installing lookup function") @@ -604,8 +604,8 @@ func (c *Cluster) installLookupFunction(poolerSchema, poolerUser string, role Po c.logger.Infof("pooler lookup function installed into %s", dbname) } - if len(failedDatabases) == 0 { - c.ConnectionPooler[role].LookupFunction = true + if len(failedDatabases) > 0 { + return fmt.Errorf("could not install pooler lookup function in every specified databases") } return nil diff --git a/pkg/cluster/sync.go b/pkg/cluster/sync.go index 4937a2034..5fa93bdd2 100644 --- a/pkg/cluster/sync.go +++ b/pkg/cluster/sync.go @@ -758,6 +758,15 @@ func (c *Cluster) syncDatabases() error { } } + if len(createDatabases) > 0 { + // trigger creation of pooler objects in new database in syncConnectionPooler + if c.ConnectionPooler != nil { + for _, role := range [2]PostgresRole{Master, Replica} { + c.ConnectionPooler[role].LookupFunction = false + } + } + } + // set default privileges for prepared database for _, preparedDatabase := range preparedDatabases { if err := c.initDbConnWithName(preparedDatabase); err != nil { diff --git a/pkg/cluster/types.go b/pkg/cluster/types.go index 8aa519817..199914ccc 100644 --- a/pkg/cluster/types.go +++ b/pkg/cluster/types.go @@ -72,7 +72,7 @@ type ClusterStatus struct { type TemplateParams map[string]interface{} -type InstallFunction func(schema string, user string, role PostgresRole) error +type InstallFunction func(schema string, user string) error type SyncReason []string From ba6c3c39af60dc3b51d8063b0166aee98d978431 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 27 Aug 2021 14:33:54 +0200 Subject: [PATCH 10/14] bump operator to v1.7.0 (#1599) --- .../postgres-operator-issue-template.md | 2 +- README.md | 2 +- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 50 ++++++++++++++---- .../postgres-operator-ui-1.7.0.tgz | Bin 0 -> 30395 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 6 +-- charts/postgres-operator/index.yaml | 49 +++++++++++++---- .../postgres-operator-1.7.0.tgz | Bin 0 -> 125753 bytes charts/postgres-operator/values.yaml | 8 +-- docs/administrator.md | 2 +- docs/reference/operator_parameters.md | 2 +- manifests/complete-postgres-manifest.yaml | 2 +- manifests/configmap.yaml | 6 +-- manifests/minimal-fake-pooler-deployment.yaml | 2 +- manifests/operatorconfiguration.crd.yaml | 6 +-- manifests/postgres-operator.yaml | 2 +- ...gresql-operator-default-configuration.yaml | 6 +-- pkg/controller/operator_config.go | 4 +- pkg/util/config/config.go | 4 +- 21 files changed, 109 insertions(+), 54 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-1.7.0.tgz create mode 100644 charts/postgres-operator/postgres-operator-1.7.0.tgz diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index 93392a68e..a62ac5fe6 100644 --- a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md +++ b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md @@ -9,7 +9,7 @@ assignees: '' Please, answer some short questions which should help us to understand your problem / question better? -- **Which image of the operator are you using?** e.g. registry.opensource.zalan.do/acid/postgres-operator:v1.6.3 +- **Which image of the operator are you using?** e.g. registry.opensource.zalan.do/acid/postgres-operator:v1.7.0 - **Where do you run it - cloud or metal? Kubernetes or OpenShift?** [AWS K8s | GCP ... | Bare Metal K8s] - **Are you running Postgres Operator in production?** [yes | no] - **Type of issue?** [Bug report, question, feature request, etc.] diff --git a/README.md b/README.md index ebe84bf5f..a9d8bc709 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ We introduce the major version into the backup path to smoothen the [major versi The new operator configuration can set a compatibility flag *enable_spilo_wal_path_compat* to make Spilo look for wal segments in the current path but also old format paths. This comes at potential performance costs and should be disabled after a few days. -The newest Spilo 13 image is: `registry.opensource.zalan.do/acid/spilo-13:2.0-p7` +The newest Spilo 13 image is: `registry.opensource.zalan.do/acid/spilo-13:2.1-p1` The last Spilo 12 image is: `registry.opensource.zalan.do/acid/spilo-12:1.6-p5` diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index e9c10868c..e28073cb1 100644 --- a/charts/postgres-operator-ui/Chart.yaml +++ b/charts/postgres-operator-ui/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: postgres-operator-ui -version: 1.6.3 -appVersion: 1.6.3 +version: 1.7.0 +appVersion: 1.7.0 home: https://github.com/zalando/postgres-operator description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience keywords: diff --git a/charts/postgres-operator-ui/index.yaml b/charts/postgres-operator-ui/index.yaml index f76bfcbb4..5358ed58a 100644 --- a/charts/postgres-operator-ui/index.yaml +++ b/charts/postgres-operator-ui/index.yaml @@ -1,10 +1,34 @@ apiVersion: v1 entries: postgres-operator-ui: + - apiVersion: v1 + appVersion: 1.7.0 + created: "2021-08-27T10:23:17.723412079+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: ad08ee5fe31bb2e7c3cc1299c2e778511a3c05305bc17357404b2615b32ea92a + home: https://github.com/zalando/postgres-operator + keywords: + - postgres + - operator + - ui + - cloud-native + - patroni + - spilo + maintainers: + - email: opensource@zalando.de + name: Zalando + name: postgres-operator-ui + sources: + - https://github.com/zalando/postgres-operator + urls: + - postgres-operator-ui-1.7.0.tgz + version: 1.7.0 - apiVersion: v1 appVersion: 1.6.3 - created: "2021-05-27T19:04:33.425637932+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience + created: "2021-08-27T10:23:17.722255571+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience digest: 08b810aa632dcc719e4785ef184e391267f7c460caa99677f2d00719075aac78 home: https://github.com/zalando/postgres-operator keywords: @@ -25,8 +49,9 @@ entries: version: 1.6.3 - apiVersion: v1 appVersion: 1.6.2 - created: "2021-05-27T19:04:33.422124263+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience + created: "2021-08-27T10:23:17.721712848+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience digest: 14d1559bb0bd1e1e828f2daaaa6f6ac9ffc268d79824592c3589b55dd39241f6 home: https://github.com/zalando/postgres-operator keywords: @@ -47,8 +72,9 @@ entries: version: 1.6.2 - apiVersion: v1 appVersion: 1.6.1 - created: "2021-05-27T19:04:33.419640902+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience + created: "2021-08-27T10:23:17.721175629+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience digest: 3d321352f2f1e7bb7450aa8876e3d818aa9f9da9bd4250507386f0490f2c1969 home: https://github.com/zalando/postgres-operator keywords: @@ -69,8 +95,9 @@ entries: version: 1.6.1 - apiVersion: v1 appVersion: 1.6.0 - created: "2021-05-27T19:04:33.41788193+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience + created: "2021-08-27T10:23:17.720655498+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience digest: 1e0aa1e7db3c1daa96927ffbf6fdbcdb434562f961833cb5241ddbe132220ee4 home: https://github.com/zalando/postgres-operator keywords: @@ -91,8 +118,9 @@ entries: version: 1.6.0 - apiVersion: v1 appVersion: 1.5.0 - created: "2021-05-27T19:04:33.416056821+02:00" - description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience + created: "2021-08-27T10:23:17.720112359+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience digest: c91ea39e6d51d57f4048fb1b6ec53b40823f2690eb88e4e4f1a036367b9fdd61 home: https://github.com/zalando/postgres-operator keywords: @@ -111,4 +139,4 @@ entries: urls: - postgres-operator-ui-1.5.0.tgz version: 1.5.0 -generated: "2021-05-27T19:04:33.41380858+02:00" +generated: "2021-08-27T10:23:17.719397521+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.7.0.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.7.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1c5cae51bf6648db167f15f7021209ba1bc6f315 GIT binary patch literal 30395 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 literal 0 HcmV?d00001 diff --git a/charts/postgres-operator-ui/values.yaml b/charts/postgres-operator-ui/values.yaml index 18c30d0a6..6e1df31c7 100644 --- a/charts/postgres-operator-ui/values.yaml +++ b/charts/postgres-operator-ui/values.yaml @@ -8,7 +8,7 @@ replicaCount: 1 image: registry: registry.opensource.zalan.do repository: acid/postgres-operator-ui - tag: v1.6.3 + tag: v1.7.0 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. diff --git a/charts/postgres-operator/Chart.yaml b/charts/postgres-operator/Chart.yaml index 28d0f811d..2b91c8fd9 100644 --- a/charts/postgres-operator/Chart.yaml +++ b/charts/postgres-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: postgres-operator -version: 1.6.3 -appVersion: 1.6.3 +version: 1.7.0 +appVersion: 1.7.0 home: https://github.com/zalando/postgres-operator description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes keywords: diff --git a/charts/postgres-operator/crds/operatorconfigurations.yaml b/charts/postgres-operator/crds/operatorconfigurations.yaml index 7f2ede6e4..c29ab3099 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.yaml @@ -65,7 +65,7 @@ spec: properties: docker_image: type: string - default: "registry.opensource.zalan.do/acid/spilo-13:2.0-p7" + default: "registry.opensource.zalan.do/acid/spilo-13:2.1-p1" enable_crd_validation: type: boolean default: true @@ -402,7 +402,7 @@ spec: properties: logical_backup_docker_image: type: string - default: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: @@ -537,7 +537,7 @@ spec: default: "pooler" connection_pooler_image: type: string - default: "registry.opensource.zalan.do/acid/pgbouncer:master-16" + default: "registry.opensource.zalan.do/acid/pgbouncer:master-18" connection_pooler_max_db_connections: type: integer default: 60 diff --git a/charts/postgres-operator/index.yaml b/charts/postgres-operator/index.yaml index bbd762104..806f6d592 100644 --- a/charts/postgres-operator/index.yaml +++ b/charts/postgres-operator/index.yaml @@ -1,10 +1,33 @@ apiVersion: v1 entries: postgres-operator: + - apiVersion: v1 + appVersion: 1.7.0 + created: "2021-08-27T10:21:42.643185124+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes + digest: 1c4a1d289188ef72e409892fd2b86c008a37420af04a9796a8829ff84ab09e61 + home: https://github.com/zalando/postgres-operator + keywords: + - postgres + - operator + - cloud-native + - patroni + - spilo + maintainers: + - email: opensource@zalando.de + name: Zalando + name: postgres-operator + sources: + - https://github.com/zalando/postgres-operator + urls: + - postgres-operator-1.7.0.tgz + version: 1.7.0 - apiVersion: v1 appVersion: 1.6.3 - created: "2021-05-27T19:04:25.199523943+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes + created: "2021-08-27T10:21:42.640069574+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes digest: ea08f991bf23c9ad114bca98ebcbe3e2fa15beab163061399394905eaee89b35 home: https://github.com/zalando/postgres-operator keywords: @@ -24,8 +47,9 @@ entries: version: 1.6.3 - apiVersion: v1 appVersion: 1.6.2 - created: "2021-05-27T19:04:25.198182197+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes + created: "2021-08-27T10:21:42.638502739+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes digest: d886f8a0879ca07d1e5246ee7bc55710e1c872f3977280fe495db6fc2057a7f4 home: https://github.com/zalando/postgres-operator keywords: @@ -45,8 +69,9 @@ entries: version: 1.6.2 - apiVersion: v1 appVersion: 1.6.1 - created: "2021-05-27T19:04:25.19687586+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes + created: "2021-08-27T10:21:42.636936467+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes digest: 4ba5972cd486dcaa2d11c5613a6f97f6b7b831822e610fe9e10a57ea1db23556 home: https://github.com/zalando/postgres-operator keywords: @@ -66,8 +91,9 @@ entries: version: 1.6.1 - apiVersion: v1 appVersion: 1.6.0 - created: "2021-05-27T19:04:25.195600766+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes + created: "2021-08-27T10:21:42.63533527+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes digest: f52149718ea364f46b4b9eec9a65f6253ad182bb78df541d14cd5277b9c8a8c3 home: https://github.com/zalando/postgres-operator keywords: @@ -87,8 +113,9 @@ entries: version: 1.6.0 - apiVersion: v1 appVersion: 1.5.0 - created: "2021-05-27T19:04:25.193985032+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes + created: "2021-08-27T10:21:42.632932257+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes digest: 198351d5db52e65cdf383d6f3e1745d91ac1e2a01121f8476f8b1be728b09531 home: https://github.com/zalando/postgres-operator keywords: @@ -106,4 +133,4 @@ entries: urls: - postgres-operator-1.5.0.tgz version: 1.5.0 -generated: "2021-05-27T19:04:25.191897769+02:00" +generated: "2021-08-27T10:21:42.631372502+02:00" diff --git a/charts/postgres-operator/postgres-operator-1.7.0.tgz b/charts/postgres-operator/postgres-operator-1.7.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..49200267d1935829a46c3c83bbf00f3e0e938740 GIT binary patch literal 125753 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ⅅ~=Ebik*|I`x;Y)D{?490gNuN+ZZyc*+6W>Il)LY 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 agY}>P{O3RaZ~hkm0RR6w*%J}~ECT>#h#h?Z literal 0 HcmV?d00001 diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 2f151e698..24aaa8144 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -1,7 +1,7 @@ image: registry: registry.opensource.zalan.do repository: acid/postgres-operator - tag: v1.6.3 + tag: v1.7.0 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -35,7 +35,7 @@ configGeneral: # Select if setup uses endpoints (default), or configmaps to manage leader (DCS=k8s) # kubernetes_use_configmaps: false # Spilo docker image - docker_image: registry.opensource.zalan.do/acid/spilo-13:2.0-p7 + docker_image: registry.opensource.zalan.do/acid/spilo-13:2.1-p1 # min number of instances in Postgres cluster. -1 = no limit min_instances: -1 # max number of instances in Postgres cluster. -1 = no limit @@ -274,7 +274,7 @@ configAwsOrGcp: # configure K8s cron job managed by the operator configLogicalBackup: # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" # path of google cloud service account json file # logical_backup_google_application_credentials: "" @@ -339,7 +339,7 @@ configConnectionPooler: # db user for pooler to use connection_pooler_user: "pooler" # docker image - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-16" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" # max db connections the pooler should hold connection_pooler_max_db_connections: 60 # default pooling mode diff --git a/docs/administrator.md b/docs/administrator.md index 9408541d0..6bbc9a209 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -1075,7 +1075,7 @@ make docker # build in image in minikube docker env eval $(minikube docker-env) -docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.6.3 . +docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.7.0 . # apply UI manifests next to a running Postgres Operator kubectl apply -f manifests/ diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index fb56ba97a..5ccb85cda 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -606,7 +606,7 @@ grouped under the `logical_backup` key. runs `pg_dumpall` on a replica if possible and uploads compressed results to an S3 bucket under the key `/spilo/pg_cluster_name/cluster_k8s_uuid/logical_backups`. The default image is the same image built with the Zalando-internal CI - pipeline. Default: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + pipeline. Default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index 10e31c492..f7f8bd2e0 100644 --- a/manifests/complete-postgres-manifest.yaml +++ b/manifests/complete-postgres-manifest.yaml @@ -9,7 +9,7 @@ metadata: # "delete-date": "2020-08-31" # can only be deleted on that day if "delete-date "key is configured # "delete-clustername": "acid-test-cluster" # can only be deleted when name matches if "delete-clustername" key is configured spec: - dockerImage: registry.opensource.zalan.do/acid/spilo-13:2.0-p7 + dockerImage: registry.opensource.zalan.do/acid/spilo-13:2.1-p1 teamId: "acid" numberOfInstances: 2 users: # Application/Robot users diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 6a66db042..70719524b 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -16,7 +16,7 @@ data: # connection_pooler_default_cpu_request: "500m" # connection_pooler_default_memory_limit: 100Mi # connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-16" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" # connection_pooler_max_db_connections: 60 # connection_pooler_mode: "transaction" # connection_pooler_number_of_instances: 2 @@ -32,7 +32,7 @@ data: # default_memory_request: 100Mi # delete_annotation_date_key: delete-date # delete_annotation_name_key: delete-clustername - docker_image: registry.opensource.zalan.do/acid/spilo-13:2.0-p7 + docker_image: registry.opensource.zalan.do/acid/spilo-13:2.1-p1 # downscaler_annotations: "deployment-time,downscaler/*" # enable_admin_role_for_users: "true" # enable_crd_validation: "true" @@ -65,7 +65,7 @@ data: # inherited_labels: application,environment # kube_iam_role: "" # log_s3_bucket: "" - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" diff --git a/manifests/minimal-fake-pooler-deployment.yaml b/manifests/minimal-fake-pooler-deployment.yaml index 037cac0f8..574da772c 100644 --- a/manifests/minimal-fake-pooler-deployment.yaml +++ b/manifests/minimal-fake-pooler-deployment.yaml @@ -23,7 +23,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: registry.opensource.zalan.do/acid/pgbouncer:master-16 + image: registry.opensource.zalan.do/acid/pgbouncer:master-18 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index e25b7e7af..55ec6d011 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -61,7 +61,7 @@ spec: properties: docker_image: type: string - default: "registry.opensource.zalan.do/acid/spilo-13:2.0-p7" + default: "registry.opensource.zalan.do/acid/spilo-13:2.1-p1" enable_crd_validation: type: boolean default: true @@ -395,7 +395,7 @@ spec: properties: logical_backup_docker_image: type: string - default: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: @@ -530,7 +530,7 @@ spec: default: "pooler" connection_pooler_image: type: string - default: "registry.opensource.zalan.do/acid/pgbouncer:master-16" + default: "registry.opensource.zalan.do/acid/pgbouncer:master-18" connection_pooler_max_db_connections: type: integer default: 60 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 3dbe3acb9..1d4095f19 100644 --- a/manifests/postgres-operator.yaml +++ b/manifests/postgres-operator.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: registry.opensource.zalan.do/acid/postgres-operator:v1.6.3 + image: registry.opensource.zalan.do/acid/postgres-operator:v1.7.0 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index d648a31a7..333e54b6b 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -3,7 +3,7 @@ kind: OperatorConfiguration metadata: name: postgresql-operator-default-configuration configuration: - docker_image: registry.opensource.zalan.do/acid/spilo-13:2.0-p7 + docker_image: registry.opensource.zalan.do/acid/spilo-13:2.1-p1 # enable_crd_validation: true # enable_lazy_spilo_upgrade: false enable_pgversion_env_var: true @@ -125,7 +125,7 @@ configuration: # wal_gs_bucket: "" # wal_s3_bucket: "" logical_backup: - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.6.3" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" @@ -166,7 +166,7 @@ configuration: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-16" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" # connection_pooler_max_db_connections: 60 connection_pooler_mode: "transaction" connection_pooler_number_of_instances: 2 diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 80878e537..88ebd197f 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -39,7 +39,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.EnableSpiloWalPathCompat = fromCRD.EnableSpiloWalPathCompat result.EtcdHost = fromCRD.EtcdHost result.KubernetesUseConfigMaps = fromCRD.KubernetesUseConfigMaps - result.DockerImage = util.Coalesce(fromCRD.DockerImage, "registry.opensource.zalan.do/acid/spilo-13:2.0-p7") + result.DockerImage = util.Coalesce(fromCRD.DockerImage, "registry.opensource.zalan.do/acid/spilo-13:2.1-p1") result.Workers = util.CoalesceUInt32(fromCRD.Workers, 8) result.MinInstances = fromCRD.MinInstances result.MaxInstances = fromCRD.MaxInstances @@ -154,7 +154,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur // logical backup config result.LogicalBackupSchedule = util.Coalesce(fromCRD.LogicalBackup.Schedule, "30 00 * * *") - result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "registry.opensource.zalan.do/acid/logical-backup:v1.6.3") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "registry.opensource.zalan.do/acid/logical-backup:v1.7.0") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupS3Bucket = fromCRD.LogicalBackup.S3Bucket result.LogicalBackupS3Region = fromCRD.LogicalBackup.S3Region diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 43d4bab29..228342e66 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -114,7 +114,7 @@ type Scalyr struct { // LogicalBackup defines configuration for logical backup type LogicalBackup struct { LogicalBackupSchedule string `name:"logical_backup_schedule" default:"30 00 * * *"` - LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"registry.opensource.zalan.do/acid/logical-backup:v1.6.3"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"registry.opensource.zalan.do/acid/logical-backup:v1.7.0"` LogicalBackupProvider string `name:"logical_backup_provider" default:"s3"` LogicalBackupS3Bucket string `name:"logical_backup_s3_bucket" default:""` LogicalBackupS3Region string `name:"logical_backup_s3_region" default:""` @@ -152,7 +152,7 @@ type Config struct { WatchedNamespace string `name:"watched_namespace"` // special values: "*" means 'watch all namespaces', the empty string "" means 'watch a namespace where operator is deployed to' KubernetesUseConfigMaps bool `name:"kubernetes_use_configmaps" default:"false"` EtcdHost string `name:"etcd_host" default:""` // special values: the empty string "" means Patroni will use K8s as a DCS - DockerImage string `name:"docker_image" default:"registry.opensource.zalan.do/acid/spilo-13:2.0-p7"` + DockerImage string `name:"docker_image" default:"registry.opensource.zalan.do/acid/spilo-13:2.1-p1"` SidecarImages map[string]string `name:"sidecar_docker_images"` // deprecated in favour of SidecarContainers SidecarContainers []v1.Container `name:"sidecars"` PodServiceAccountName string `name:"pod_service_account_name" default:"postgres-pod"` From 9e291d0857a76e340ac599e779dd8d20148241ef Mon Sep 17 00:00:00 2001 From: Damiano Albani Date: Mon, 13 Sep 2021 18:41:48 +0200 Subject: [PATCH 11/14] Expand list of variable types supported for ConfigMap generation (#1603) --- charts/postgres-operator/templates/_helpers.tpl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/charts/postgres-operator/templates/_helpers.tpl b/charts/postgres-operator/templates/_helpers.tpl index c958a99a6..ee3a8dd22 100644 --- a/charts/postgres-operator/templates/_helpers.tpl +++ b/charts/postgres-operator/templates/_helpers.tpl @@ -57,18 +57,16 @@ Flatten nested config options when ConfigMap is used as ConfigTarget */}} {{- define "flattenValuesForConfigMap" }} {{- range $key, $value := . }} - {{- if or (kindIs "string" $value) (kindIs "int" $value) }} -{{ $key }}: {{ $value | quote }} - {{- end }} {{- if kindIs "slice" $value }} {{ $key }}: {{ join "," $value | quote }} - {{- end }} - {{- if kindIs "map" $value }} + {{- else if kindIs "map" $value }} {{- $list := list }} {{- range $subKey, $subValue := $value }} {{- $list = append $list (printf "%s:%s" $subKey $subValue) }} {{ $key }}: {{ join "," $list | quote }} {{- end }} + {{- else }} +{{ $key }}: {{ $value | quote }} {{- end }} {{- end }} {{- end }} From 458d7a11441fac68fd9d112e0e2ffeb9c795f9bc Mon Sep 17 00:00:00 2001 From: Michael McMillan Date: Mon, 13 Sep 2021 18:42:08 +0200 Subject: [PATCH 12/14] Fix malformed YAML in the manifest (#1602) The ports section should be a list. Without this fix you'll trigger the following error: ``` Warning Create 2m38s postgres-operator json: cannot unmarshal object into Go struct field Sidecar.spec.sidecars.ports of type []v1.ContainerPort ``` --- manifests/complete-postgres-manifest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index f7f8bd2e0..1d938ca63 100644 --- a/manifests/complete-postgres-manifest.yaml +++ b/manifests/complete-postgres-manifest.yaml @@ -157,7 +157,7 @@ spec: # - name: "telegraf-sidecar" # image: "telegraf:latest" # ports: -# name: metrics +# - name: metrics # containerPort: 8094 # protocol: TCP # resources: From e74b1bd359810c9020c21186f08d87cdb9670f56 Mon Sep 17 00:00:00 2001 From: Wolfgang Ebner Date: Tue, 14 Sep 2021 14:54:41 +0200 Subject: [PATCH 13/14] use relative path instead of $PWD for go:generate (for go 1.17 compatibility) (#1615) --- pkg/util/httpclient/httpclient.go | 2 +- pkg/util/volumes/volumes.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/util/httpclient/httpclient.go b/pkg/util/httpclient/httpclient.go index e7022f1a3..706f8c5aa 100644 --- a/pkg/util/httpclient/httpclient.go +++ b/pkg/util/httpclient/httpclient.go @@ -1,6 +1,6 @@ package httpclient -//go:generate mockgen -package mocks -destination=$PWD/mocks/$GOFILE -source=$GOFILE -build_flags=-mod=vendor +//go:generate mockgen -package mocks -destination=../../../mocks/$GOFILE -source=$GOFILE -build_flags=-mod=vendor import "net/http" diff --git a/pkg/util/volumes/volumes.go b/pkg/util/volumes/volumes.go index 556729dc4..5ff923920 100644 --- a/pkg/util/volumes/volumes.go +++ b/pkg/util/volumes/volumes.go @@ -1,6 +1,6 @@ package volumes -//go:generate mockgen -package mocks -destination=$PWD/mocks/$GOFILE -source=$GOFILE -build_flags=-mod=vendor +//go:generate mockgen -package mocks -destination=../../../mocks/$GOFILE -source=$GOFILE -build_flags=-mod=vendor import v1 "k8s.io/api/core/v1" From c8dc7ca871a8d1e3d651a22cea6e0653204b3ae4 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Tue, 14 Sep 2021 17:04:22 +0200 Subject: [PATCH 14/14] fix operator 1.7.0 helm package (#1616) --- .../postgres-operator-1.7.0.tgz | Bin 125753 -> 15644 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/charts/postgres-operator/postgres-operator-1.7.0.tgz b/charts/postgres-operator/postgres-operator-1.7.0.tgz index 49200267d1935829a46c3c83bbf00f3e0e938740..2a8bc745e3cccce6a8f97bdd3921fda55c5c8a6e 100644 GIT binary patch literal 15644 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 CG)f=< literal 125753 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ⅅ~=Ebik*|I`x;Y)D{?490gNuN+ZZyc*+6W>Il)LY zb);iIL+w~`nygvk`G|bjoT7i4at3u_@REYWfWU@m5egk<(j?qP%$Q#nTxh1L9In5c5)kGKg0K*Cg0u@va<~|AgQPGNb$ECdoTxS< zS|roa1|&7>j?fpDHdY}DK}#p52{&%rUx~*QF{M2n1Me|Rk5GmN=~E})U-!UiLO`nnhKagw68_zOtHkF*(*>e7h0Z8CsX zg>=?WCI3Na?`u!CX*v$0wAk2VkXQ$Cdp#M)Kj@-2toC($yqX4Y?y6rkf!ShGU@l`d zMzcd8?kw0$XY2@WAP}!vsirMi9Sk@z&%Q*~Y?0%%oGU*3)Oi}YmQ#5?HZjtXF|1NG zg#q2+Tpc^%_Jp5)XenvPh}&8%I=*O08VTBn9iy7Rn}QssBZKiGhM4{)8_vN*sG5_C zT$6|>lLkQ;N#hDqHBz1#Eo+tu=kPxK;f^M-V?UovjWgea6OXvrEw*NF=zINR^ zx^K)CqIMmpV=UT2HQ^j{rQJD$QO;tNT*d;(MG?56DOAIxKiYJV<*7dGRM~wbS}77A z`04aE{U$$!wPd6;y7J4*w{7W7zz~&OJ~W1~NxR=7STld@-$&7QLY?oWRK9HgYY^8vNz^9Mu^yDA#kUDadLP zHYllA5f#kEol(6J;D`hVozZf4sxny{ukZv;QiP2)Pxqfbbn*dJHo9Dt5W-6?g-sg9 zhk{H!+d3>9cBcwiA{A|v1Uk~Qe(ANL$tZuBRKOTW{wj2s0*6Stf$rxoHRNRoFva$0 zw&@@RH+Q)vH^iK&%wwXukH_izN}}=93Z~MwF%8`46PHl3^_zc{pg*6%25TBoP)DHm zkg_R?EitePVn&IF5(&wPvK0%aY!DFEP;7YjcydCBsNra;F_EcS7C?q21~uv$O>@1t zab2FPl=Lv`0$W^aEHiVmX{au-M4@S+gdwxmBn6DC3u?vz>4YH>W{iU%+lcT}nIcbe z(piaZBV|@bn;CdW?hPVstp?a7l<4wlmMM$s@%}eRKa|$FCIqPVMwO1kwxzbESZ0Zb zA&g)>QmkHr_!$wI_=z`3ojxC**d=%H@dHK(Rc0UYB5e;6J}t2~+@pK6@|1bV;8+>LG@J7 zoV76pV=w?4mj3jhHHc>Wu4+Vk(C~@Gm%?iW)s~^{kL=)JNx&xkT^q%OR5kR+aT%_W zW7fFzOx@SjR1895 z=KP85`3Q@WT!#~q+M9z$ca9Vm!zeamS(#)i@^qY4PBS0f8OvJoG$C+Hkxu*^(#H<< z$yhxS&FN?a36;B|*%Q>c!?}AaD$xYLT5n1JT?ROBfJK4)Kqv(&$m0aYhjx)w=1rhW z2$cjG;{X&PZln8#91S5Oo*rXX}) z5ld-9G8gCj6VuV>XoDnr^i1nC8sI$arJR3H!Lph%N;<@dmM^{o@?{~#%3>tS-@we< z(yUptc?gkQI){D2#gsR=NkOOp9KS)OnVNZ_GH_zD+|^Oq0VSY zs{5tinIZG+37)wSR#6>3z}mhl%9eJfG{o%5R%fxgdH@bK0?4eb zOqjn+YzY-w77f5#_iE>+CIK!J<6>=%1+`X$L-@4%9;F%GrIJNM@s`BBEn59&D6)?3 z4k~W^0mM7x45dl=#)`D869|wK?yj2QvnHv_PQosd~!zpdQ1XOL!g2mk|ry`1D5AF|xAJ zF&oi(PJp?yBJ=6d7D7$skAl63EWRdtgv@vV06_o0IeLlkL_;3e?StJQtf-p`K_cyy z2&2BV%v)pi^8JVN{x}Kl+eUX4m|c1#i==fah?5?<(+i~jTysQX4D~6j%T~43O4wS? zWksqi)*QYri*M4i%XMiVS@buTHxb>vqw zugA2nhS?RJq#tQgkl*Ik+jBi}ps4fsxomKPFG{;qONrU;r(|??1w!WofgKPS|kaDXnpzbx^$e;5+mRrK?N*sCA%Ap zsIUja=*w426kXAtS85bsLq3{RVmM+35~l(ITpC;3lbUXkd}06x+GR#Hky{MRr6TpB9^3^}bY7mx z2sAL?-_Y5~sSzlHdJ##YU*|cp&jcJkGQ$aLc1$dz`sI6JrbXLPbO+%NA0jUsK1D2t zl##cTgQ$RHmj1GHG%gii9jla)vSe&*Wm|b{>Z(4;Mx&m_v(z9bwaEGvp-Op??^DIL-TQy0+^=tYdya_HWiz6Uko;2P?|`1cV^X?jgn{4e`b(f2B-h%96|94x4v_3PRYOmMa51X@ zE_^Q=>8`j~*Io#ygP9ALPXG|^8q>NV7Wd9xLaI|vz66@!Z}w?CP$j>6+zc5MTIO3w zX|0w1`EE9oNXW8c) z82lh~-cRQ&)SpV{U*K5v2*ngYB^zYot02-L!Exwb*srtCMq20SIJ5tAk>0Cu8gro2 zFo7aGX-#~(!Z|btj8(3+$(do9W2yeqivi8OxjpWLX*#mma&Q9c*$A=iPNMX@&_d}8 zkLhx{C*Zx~9IK$U)5CV`o@u?3Kr%~HXNj7`u0Tq!PO6p8YD9@``giv7GFZP3;wvoA zk;vKhW!YJ&COSt&nWg@-9h*eoffJ5<)|i`?hDcZ@!`?n8iwGmH9`wyG82}dLMCO65 zkBJ15$y_Q1K!VIz-SEqu`|>XsHYs(Ca0$v8gucikq5v<6OQ-C~hhCpAc(4KuGt4+B zIct_WuUi;8y&6l3uwGR(SrIh$G(7~8Hv;$8aneuP-HoFZYct8ba`~G$HUUsVntH5O z#WNBHF34I=@2!(&99qISNjkw-`q>2AH=QU2j%OC+Eq-fqEf<58p$6+kI>;NTQZuB2 z#hAAjw82C_i^pQdqBP;d)VVh?mYR{Sm%|Ap3+Fj){E%7hQ8cUXt(7_nuhCvs8LCSg zr?e8$a(Bv&KKUnuO>g{DN-!pzR#2f_2k$5n>rMmtddfYy&8uORu@QoL8_J=4LR^qEC^;&Q-6~fR0s{!0zZv z9nM4p{;?z+ftCF#ad#0PrThD{9Pe5$*hq?XL}J3t9f+eP)*z6VaVSp6q%oM|_il^u z1((x#)<<{N6tB%t=Q{m@=-^kNGka)d>u|9pNpC1w>594;>5+ z!4M+?mp9G2bqXlDf|1JResxl%<;u?#wjZ-=qzPdC58U4*u*O)&gv=%c;4pgT1nMja z70``=xJI=IxXtHtx%Wp$iN#ecyZ0-oYoBo5^$7fwbHVx>?91mP00z6}xCa8cBWBao z*vakaxpkzjML83_O(*cFg{ZRQDHy0TyTH#0_iS2yrN$uDr&OO$`C|D(2YzYkv_sDt zHcu27)i$7Hhn&Q{p+(sJ$kFtsgQN7P=(9F2xSvqYiB4VV$Xyn;*8CG4ej5J>d1cJYzm+ZIbXPi7tFi~ZBxQ7q%4pkHp#u$`kqkPj!RF56E` z@~Q@b(y?C=tNp>;Ql{}+O6fj*$->U!uelRM>5>Pl7=E|+SS~hms7!_|QM>#qUY5Q! zv}h>YpPJ&>g|P#{hk}jy%P$#}E(|rOX!B%}Lo5YDdwm#{*89Y9!H%gb0p>FWdhY_7 z2MG@aD-0M7fQsLeao*WUhzSg2nBj{WIBt1*+q|#1+4%t6e6h|Vw;)BgcCkf%AC+H&9PRlu#&foW*9U=z~=A`R;e&s6;CLel*aq+0(L7pJn{w0Y3?{)_O2-fLQqo zeZ!y4&DYJXQ((48ESe9g;CM8=4wPVSqy`pFUlEZ16gR?|rG zRr3_O|LdMZ7GYj!WrYW^mP5=JgkHUpKFgRGZMCvtTIMv|;ts(S>BedlK1)K7UD zVpP@v8XwfPjHsRb_NvmhAEEF2H0x(XL50j0^keYZW_}=^eJp1vwbnADs z`tze(^~=cO88}bWih4Q)GHMh*DXTH& zO*PfC)2)!%Xe&&#zPZvXDr38D>Q`GQegA@7i0=X4MoC*(R}QOWzik~}tka_vL*plzIHCvwQTm?(ov!S8TU-np z@E~{qKvQ0Gx6!5!jPe{vQ|L&m9Dc27zd3ukLS(*fbs@Z!JnIl4yKtvQKaJX7V|5pC zgS-ln6A*3CGEu(5W^3a&^Ld%yx&ZP4jrpZDTyU%r7-CjWu2XUPWn?dy^xY!)Q2-R8 zI-9JfVC*|49xmUMPpk$5`wiu;OyG8+>ff8>dcB8en8%H!s>9IDINOA}Po5^8m(|%+ zEHoGe!kN?&tESMjGM*KZ`V^Y4&pl*0HJ`S};0Bb=Y~r7jpWB94t9>6z-a#Lru#fJV zTOUgBHuFImJpYbwE2Lx}+lpy$hPl4U*q}P{Og;Z&Y<3Nj{1ewH44#LtcK6$kR|NL@ zUN|{kJo`;$GI;95d3d~MY0w`fbq}0-C3+<~0#={SmJ@25J zobyYOe=y$rWXHd)UdMxS%bL2Sj06tk3n3BoDfiT#=R7p|E^C?CAK96>$%7;P=Xk8# zrjwL{EjY({R&~{hF3VSIEAfAWv|-awUHkX^rp8b!THh^*O|I*y?6lzPAMDV!>J+wN(;nQOe218Fy=*Me!{vQ@mN8raN@+q)SN{KyKlIw9ol-r7S zvN-x(u*B;z_}x>O-`MS5ofz98Gu1Am#{zTbw1??f0ZekzqB+wmNox~N#!jvx4nfs!A&@P*L2 z7%m5a+W!*N(0H$}JV;UG;NHtP>nrbdfUV5k-U61#wF>D&4{76`8yaa*K=?_gkz{nF z_p(u`&7RE2dy4;69$nJcX^WoNu3vgGMvBkDuI8h2W1(oMJp#5nt#VeVmFkyr`8eW5 zR$k`EXM{ja7|@M#`ZH8hB+WkB=d*MDdUmr|@vA=>tM8Hvk_@`F^c3i9AKmGgM}Zq#3M@_bLC z`uLa6!RAQx;?3^yhOtkZWiR_Mlg-cRJK8q~2M7OWL$Gg*#b&*ax#!Nz(Xalf!lH}3 zkOiydpz0=SVoG6KTsw#GC2o{$r{NI8FHeuw$hz!Gb#v+$NT0g4s++Eb)>gBi=}9K& znumhD^_zV=x00N8JN_(3;>$$6B9$hCw^kUnG|dmYt`D<{C5M~#zkcZ<;tpyIrUEgy zZV=-gCbW>BuCNshmK*F1Ka4wvt@~rRm+j1~Uv+K6)lG>zMp5$hQ48#-r=WDktT)ig zd^;{qE`VnhOaA^?u=Yss93c)xu$58Zvn%#PFu^4%`JQOkSVKO=lctw<48nA=K8)dn z8jWWxqbK;b(0K6%+kHt^eKqwOXy6H|HUo8Q#pFx%2Hkn~zI57`I*n>&7Fvpt&kA;V zQroAysDGK4h_-SHj;H`m>6|eUP@s#R&wLz-RvdIMW?hm%)oOgQ5Ba0#T#0yxgFl&+ zOeAt~HP8#5F5mpTavHes-VR6>{L03u`HFYhU)f(R*QE0$X%aC#-96A8c(itp{OVqp zcKO!1+{r->la1)pAQ9pbe;YH0Zj{O>uooXN672DKPYIsZ^gO*WK#nlVQi5V-!@k5A z>DSKfVCOUVh#tRvzsjiYTMxTL9BzN<7S&n+KfX>e5u>CG~#f~L?s`S+37l=);)l(|!B2DB0h`Ue_Lu&J~Gyxry=&h`&E=8hI&rnc5K zjsq1o+R^+`pQ3Tz2P|@j5~e@q<0YJ0okdJQidV;6oeO~aDKtSGD<-bn`CZzGHnr@n z*W%B zbsnEvdQkA=;NV!x)vFDsyFuFBOW526e_ZC~t-DaaQ5Z~_*&?{OoXXU5`U1XRo$vj5 z^L};xau@aj=FRbXKXP*8x^iJRrF9lU|8AyHAL`m2;*ED#XIDSQeq&KWiBNZ@@sxp~ zxrrHJO0puyDEG}a^2i+DY6M6I?QYxb*)iv%)H)~HnC2N&CXO(g1ep6%h0oy;V=+&a zUtffgnt@oR#C!`y<-`)QT&p};47fdQuwtcT!W!CRQJPx&gEIDz8im(RMuA6HqYcz= zklM)J{me23%Ax)$DrLg~3d0p@ZaMj|c@}2~2>tul2pCuFON5GUx1NcVO_c1Z;_4L~FCY{cU+AeZ`kc3aLAnw5|DhSiw8kCH`(g}2EGv05P95wZDrf724YAX$;{CFH%OY^YMpRYG z6U|{(A2HD)yl<7@rJ0&46KXi?(Aw!iJIgo?(5LQ8aIfug;-T;Jx_rEI7dDff z=NTppcv@WZqOw@+eHm5iA78Tx6YtUXWY@SffK6i|^ThP@i0pbSNbGM~9yjj&66r+8 zYcUpvbUXgmk)V5Rq@A!71;-3S{&h>XP9$-V0`uw)pw-V684_!Eg>d%_Wq7lWl$l?? zj=j25U?@F^jS^Z2(ia`cb;A!>jhdz=3|r>eb^Nx@dD_q4@3!y11EwOJ88=OYmaNhx%=eI+xIa&p_69c@@E9mGD+ zjft9A=7|>~m;@ZqjoYowWkV}875sZ!9q^R4!_@4N?^YTD`h5LLC~=c6sTSG=v?Kik zC!>JZIKbBiD&}S(tV%CScImojWlkLU2`IFs2)0SBrub9D8{COrK1z6y_=}AcXH}if zz8-=-!bZZA`T*C)VL*q>;6TUWT%X0Ke%7zWTKlbBR@yTWwJ#aPrPI=_ZR1OI^}JoN zudqJZ7ZbmO$1d<&?*Yr0hM;#1Nc~1Q_(hVZ#3bjsd9UInz0!CIwY@ikq)wXAVdfhj z#I77Qa&=mGI9*iW=x~b%iyfiC8Ob`(dL!~V^_7R+(_2DJS8KL>>}N+!PVl-5u@III zdyhCOJxA7zUpCs{KrWd=eqBu;Gv9W(Txzd4xdW==hAC44Vp7)QT3Uvi#@hkm^6u?u zAKec-IUeo8Bd?WsO`e)qhD}VpB#qjDnlS=m+BiV#vVR(q)de$FmzF*QPcXY zHqe;1Dq&a4q*j5@4ogyF^C&cYp0CDZ~N zrw5-&qD}J+)4SPHQe^Z)s=&&E}1wu zfzU1S@bwg^f5Y;L(oNB~<4o;Zdqoiy%>?a)Yh>5eO@t9`)(V|Gx+$*K^3{iPyneT@ zkeym$RjUdsdwDjp#+XZ+UR4)DP4G(>h%M-;dcY_p?4y}<(=GEwqe{nab(IXYu+wsV zcO|cEAOt^l#Nf00d-ssPg6Ibk_+hpNWUwC>MBhIh2Y!5>_Sfbv2r9n0A8qjF+>Y(> zYoNQZY}A!{T8WBVskt#A2UpQN)Wm_!4L+QFJ})2E$^G_;XF%Im-G7NO{AxbDMgO3$ zNh^6i!W*uFKFnh|7Cw~Qj2yc2-Z!!Av`3LJuSvg9Z_mT zaQ>y)e>j6DYX#mZ>N_efZ(4`9=6RH~*s)?%`|K&Tl$J6T>7UwcjQD4+2rbSYC%mcC ztgx(Q=&{Lsl^ud(s`c{Ox~W_}0%O)OR zmy$N*um!~AI+YOK=t1LGI%Y>wtylkIt))P^ni6Tw;!CDks@<5-nSeW1{-WjFeo_JATedRMu!w6;cB_|s96yo0Q7e0P^L!~WNCiD8}QlHlU z*9OPini(M?J=B^YHtN_~&iw*ap|7l+Irzd#Yr=aG=vtu-geR?zjoix1Z;6U+UV&b( zJrlpuu5p}Vi5J8*&a9n@8fxRtWi@=(i~c4Y;BjPM%Fnfu=lL_&qtk10dtz5)10stk z)MM1wWAKo2dkVS(#GK=7qNY}L>C*U0JZ&y}^;BO}d z4oh%l{@K2&=TRE?T_;5<+M;vtVOtkShaF`uA3Hg=J9P8>`b(em zS*&VOBlB+4EcdT5(uVoMx+j$r8KAhaBeTw|py_pg@5KUWMR}CZdAUq7-5RxM`(@jb z#i+00t+)P%m?TfeI3}eKjd`0X<|3-a&Lsy$IE0p+uIozR^W(a4%wg&GO>$T2<-}GH ztpnt{a?7UCIJ2xS@sF`m~ z@x(^sbX1K))XH)U%VnESvDY?jv$rQ&IJGjt9pt@+jI(0gzZiYVhxThE!H<#6Va=zV#DR5Mvg4^@Y~Ns$*TRY%El)Z%Eo9Sk%xsZ5*pdqV=rt+S zz<#g7U;RjxY|cIvJ*{6Q3T|v>^zTV=DdXfjQ?tlu3{|(mhOSzwcF2yr$P#9K0he<# zJpF`zKYjOq`}hD2zHR5CKa$^qeN&F24#0P9N83~<29g||m0Ta{Wba4 zmg5ocxBlxmepdtvLRB^Z*5NEhSsK;05gc;*iNni=h)uNZMjAKnZ_D%1#q^G-<o< zUk>o5|AM{ty{chVc{N134Lwn9Q*3Hw3M-Dbn3GmBbche@ps9XT2xtA~DXx7(oHMdp zxt9Bc#DX{_q#m*kA8j)5#pL!oXZ$pxRM>lo>xH$3A*O0B(zZQa8g3u+oB>FVW{FgU zl^jD8!CO`CvCebcO9S_AasVZ=IfnbOkqUVJKlXP9(2ssWr#l&0i&+C+GUucO#~o zVuqA>DSs(-443FI{ovW;B3^DjY1TN(>mgjYMeIXGJ!&!UFT)l4?As-b4LF!ClfTQNyuqn3d9r+5Qy z#C4a%m-a`{PA2N-Nt*ceZHvLaQjo#E!M>7r_kB>w;WX&O;I;SDAG zyqxO2K89oSvS8QPONP6>&WU)G`klbD`@fy-?VcjBRB2Y`A?oFa!Mb1S1?ro-xU)Br1cfa#mmS3qmIEP-uyK_s? zWYs?jZWZ<796w5pqsZrC2z!W;>Aio%qlERR9bkR& zn|0iE{5~PNyG>QqSez8OPdA%@TPwH0eTNbYH!rpcNH~_Jr;N_i%Q9^BK@^MEgs- z(E_}@q_l7^f@t;mQobN<%w>Y*g87{SlYc0b_MdBNtOkbs#KB;Tyk{{M{x)OhqrW_P z6WgFcyc(TI&G;zDr6~OKmS2_{9+*S0IhY{y9}d?u!xbs?0~(MX$O+UAFfj&If;wH| zQI|-EPN|=bgQVzDh%Wq*Ki{855F9d_$9~;iEu;<{Esihk%P`XpZN||SEm+27?9S$T z;zeb>J*e34g}kKrJRQ&KCir@3)+&iMJkNJ%-<(_}`nUgioi|GmArk?pUMJO|f*)

ex1PR3F~=1HQ$4$&cIZtE*)hM?tnE?{k_wgGWbwRuK6VUkzMQr{K1jyK!>AufZn!L;Jq-S8uJOBRV@ zRo~1f1Jt_qxj|MQ?`O^=kTVM% zalC_$aUALDQlzzb9pud{;(exVRrK9~8h;H<&=^z63cyv4EQ8I3*_x#|{Grhk7IoD|Wr8;g;Jg<8_^~#Oad)^9H&IH( zsDxFG5VF~h`?IRRVZeJJX5b8S<+d<^%@VMKhALTV3WJ4SK+b}7!<7CtCQvBrySGa(?6pQup(~ zZ7Du`%EEltk3-a6|IH_=KK z>(`u>l?uR4FYgOc@7Ya#w9WC(Zv0dy?dpT7Nyn^<$1E?#Pj36F5N~p}$aArel~(As zF(tJ{-%X#JfweLJ?u}x)Ehg`p#{m2hH#rcPjq)eKoGr3~BF~){oFx4yaTG?xkLBzWAn8=I~W%9$Q8gG-@cE^u>7v&nX@uGbs{RyeraamG+4-TtDr~ReaBbpr zRe%A3{QD(7WUODndcamN`t@o&vCj_i4C=<4`vM&qLCcG$;Rf8ycA}#rt2XSMWX_#D zdKOjO+3^~GGwJfC@5SbtEvi^kt0`hsWBgURd<&|keqh6tDNtm{X86G<-#1cqIFbgYg5k!qX9HL}SvH`b z|MWVVNLA;hzi%m~%Q3#~YMGc_x$pi$vg7U;Gg5XCyP?8tqhSPDjm5 zcq+>C)A6%?5}l1I(t=8+3%f+$2u=Qc5jWLe4P_cGR;vkW1%eoJiDPZ&p($MBGqijM zNWy97@?`nUBXKePkGuDs+uOZKvx+qkTHnd)7lL@H(82xG=`j3Z_^a4B{U(*#;?I*+ zA_OgiNW4#X9N=$|p#HahB!bvT+#mn@Kb)VL98ys5!#|E)ajQwCw*B#B_4G9&ozJ|9 ze|zgU=&PXJU`P4k$!d8!pQ$W=NT6{<)czemeHi?e;?&wrO_-BcGnu02oA~(CIQeuO zyI-epmt~O&Y4CglAHg#7G`d|&_im!$%XH>E9M$$M#9h1hYL{a5r0&%;|3%fhi!%l* zNIglT*jQUtbNUZMal?BvJPMgg#9jj(m|h?Ja~LJB;?Dmu7Y*)X@I6=Q>52T--!JAU z>JTh(`O-21af-E@g2+}ulJ{A%#F96o_FVrPUQH-nAwz6D&cD<)54^exPK8^Kd=XXo z>{gh&();poqIY+p%AAtlzWI=P7*C45FHgag&O}RPUkQV5R&>7`@@?F0nV*w*vNO0; z=^OTJV6--kiU#dl<>jvqQMo$n6U}q5sC~`$M6fZ9*-5&Lq`gO?A;d*G;i*Iol~% zDHomm9$a(#{0e@^+u!tU86YgRWmBUl9Z0L$iF8=7nC%y!+5~-WQ5;{v23cIe1zsQ#OjWw=WqV_q|= zdPz_{a%D<j6GBm^rJ>Rp3ZF2QNy_f*at^5WA~)i`!9{b(a1_*!V}V1 zxZrZwg?=Ch7Vh$!3g2Llzyud1(^IQ#vOI{g+JSB%2#L_a#0Ku={F4LAm7zP2G3=)G z3)l4$5EJwB^XNbJyb?IG8eFUHBCip#Gj9W#+pZ0G)$-JA%2a|TA zjNWazOoNV;p7ztAiBMO_F3{n;gGQrDrgIhaqv1^+eXa&u!A|}H9)?})13qscKkPfg zoXq+O9Nk{!pj|`%s}tm5MF~s872n30o!jZThW0>;Y^e z{FgNJlBf?;+m(_M07gK$zh@$3Pba;=L&T`xbl%09rV)3;GlAxaYIoL0qMbfTHGi5` zm1TZY(IV{kUrSnA=Z-fHdY*6IBU)TyyPgR&9-)ALh#N~1Ofe5LL_o?Lo3`QMZ}Z|r z)1=vAc$O-Lb=U)I_hGD|1}lgf`KW8HC?pBI847$y3yTPi`8uJZFt%)imFkaQlNH#M z*;4>K(tiva+{d588nm1jANYvR?|;rTioSsvj&}z!@9D?NgDn%_5j)Hg%d!a`xH7eB zYwDn|h$n+N_g{hsSd<2Y%`)7gw(S#!YZ1uwNeGb*rYBy*t9x_Df_AcR6JMo=j9kS! z8x7qN`pTw!`~NN_Q7N1MKm{sW_RS{`4y`C2(%_jZgg{?V$xJxFDDTQ1hj}8LDQg|5 z%9vN|Gkq|A_g`9xY<`1nx2jK%>x6<2||m232Z@s9?c z#`Qd0%lG1ubSX`KwV_A}s>!m@{SU!KZZ7lJ(7I?~W*1eE$c*JV`L_eZzm&hoT!)tc zFo#bp^UCLc7n(mII<4ScL&yXboki$Fj3eK#0ooyfB&7O}C{(0_yYd8+rR%Wq1hTeT zKRERcv}XSJNu=~)FMIo_BalmpZ2WN&QGM*a#RX`1Z9 z)>FI6*S(Oc8LM7Hfwi-Tpm(cbIHH%-0og#vz=Ks% zvAHKyihsNrS%gF}1bFAQ7`Dg zXl}$9OSvD$crOty+=h-ip%_RE`S>C_I#%=;iPAV> zhTQ)hkS-Up-P9c~cut=z6}RcwfvlX-WhZ2Iyqh2 zpZWmTRK(XP*oStYYL|<=+*@t5C`-?_=w@ z4aoH`*Va)GKLYr>fEmNiS%r1qYV+W$8l_nNra*=q&@Z)}yy#PB&T}fY9?FXg-4>mJ z@~qWqCnQN;7dNOjLGMRq9$ro!wqa9|gibDAGR8(IBtdUs_<#RU@ncXc$I`M_bt`&? zNQd)&|0^Lc0fU+PRmM#&`A5++PX$RM8hU$03cRZk`eMvPY2%0+hB@k=w3;En{r5o& zIrJn#LJ7@g%36Nb#mt?HDIy>bTr$e-;4?GH)Xx>U&;+fO#Z7VQlvob35RICl$3=qg zN0E~Wpou(9vFko$tzs1HKRo-`#f>rckST+TOzz5AgvY^Fhss!)N?8psaAqNlo=1-3T1(b~>|EoDe5Q+13kO}S zF$iKJ%rmjA(WS8y7F+n7I(udr&3b-jcI5Nn|_J$h2%@#!66_v{*)#261hKI1iQ?u?0!Mf*S3N52Vu2NY9bN zkVTZSWl~Zl{~#kG@u<2jas%U4i+bo6dVyd3b}^7TDuVIY-BJG~$_mWa7=*r;Y8wNO zi}$q*b_A=NXjYxZZ3)Gip9Kh}&n%T6H=&1Qr!E8DX3?{F9JJgfi$)C5DDjP&b>mUX z13J>^BmpX4o0ig)jVSPiYU!|4O!>Ma2yFxuEO2q-dqO8w94E)*+y4<|4MV)kd?~49 z(kr#mVmDkA5t-t9H9!Wldz22AsEO-TQ_h6wq1ME#z5JK?W9Bhgf1z!?JcQIPQu@sQ zgDSH|m(-cy-}wGjKoqhz5YGz_(5r#Qg3r=ooJN#tZk0nojm?r!sCh8k7Cx#hs5i=- zULBY4ibm-vEOl}g>)|FhJoJ5>HaAF^tT4v-Udf8C8m~=yzy)m_iirZ5t1QUM+P4k6 zT}NYK8H71R0C4OsaG$;RmvaW{2utypvwj~ndDT3S3><3Ki`k^I4Zkf{hr_HC$$L95 zzJpjkh3M9x5&SX}Cr(C4x~aPrus8f9MH~wbcVP~^PSL~4-bcW86+{;?oanuQA?nrx zBeW9k8FJbv%Uo^cKmWJK~DAkOe}K4KPAmNih=DZx!KTZ}f4 zDKUa29$;yq_O&@Fn4T(GQVMs2@>_e*XI{tisFb`L{0F7qH!8*0pIqDNA)GzBu&Da? zVr8rm83HarpBV7(|G=^!c6=gRO%CX6i}?94dfPGM*6T_WY{`(tw@i49eu@awNPojn z=Q8v87i@qsNN%FFz*v@+7?V#!N!pK8gwmMnB-tpLa%uR_#i39&+!Rb_o#y=_i?W5S z_Qh0jlM7%j{qYAg+PFLQ+(-2p4iS*vDpAc349(k6$P@ueNAoOWYfVdg4p#&ddds=p%DY z+gIIxzgF6XS9GKVd_{JVqTTYacW9&dU6OI8jm8cMz$Ot(je`G2w!q)q^pB|37Oo^L5F$e_65=f(}*MQM7!Z&`nG~@(EM} zLb9mNtGO@E0p^*4_kl_Uz0{dsXLKDOA1^1LIk(p&tcM)7xCvJ?y#XmT+m=uhbeCZ3 z{-2X|Dq4)ki+eY6=y(8M77ViY1+zb}fEzHcmtWyRE|Ro#!-duo`Cq`VmX1 zR>M)Lq#MW-lt?;6s!UE}p#5ngT2hsN09m$ZB|!ho&16(qvE>0*q6Ysg=J9~-(eQT} ztWCWNj3|-Nlk*idSJrORwC>FAYf}uyatSj7qI`zA(-)zlFQ(7GhiT0BjlYDTj3>R4 z!7WG9Vheqbldn^b(XP%QK_0|_k{M7_|HM~H3!OHif{+Pns2SjAtVaM%0jForjFzQT zPKuf&HyIyshuioc{cNMEyXpXx^pFR*QU!(=Z310B-_fR&D(#0%8Gq+Zz^cAd9IZgh znO&gEQSzVt;YmfB^tAMg9f|sk`s|xZKpk^=EyQ-_ws)BmgnT5xPeQ!=czm=uruq^y zRgWM5Y2RQd!eKe~YglUpDW6cVUu#H1Zh$BF6rz=F*hoPf7s?LK1d_-0D+Km`(J|5g z&@p)Qa#FY>tN+k3`SRh~59HK(yZAd=4_(nE;6HQ>`OgD2OpgD@f6=k_FaJfyDg_sB z5}F)!I85NQ<~Dhs-A&k7_2+RD6%<+);dh>IQyLmjYBowSqGAx314p7c6as%;dDAz} zP!(lggz#+kX8_nGd=J^Y4VpG|CA*=O|?Wju2{Q7Z)>-_TBA+Scpvfmy{glm5Vb zsE{yzSDB;GbBgOPW_vV?{K*?e?04#M!0vL`(Wl}5pRgp*}25lqHPMd`!T!Z(M8z z%p2+qIAe~y`=0iP+4N-|T<+X%*P#r23fkuVRufq}1Q#}$ z!KzI#j=Y{{5Nz?s$j~e7DOA+mQFX54tU@ZXh&tT|3vg6lqlOBXO0* z<|tH>w^juBR*Fdj@)Ekj1A9gynS~u+fA=q;*M1`Oul*bh4JYEHRHZCN>M^)+72GRDbHvU)b+KZEOz;41A%Ut7@S*UJ|AvcpRWXMA+Z) zJ}Ea^4qv(C33OIK&eIFQ#Bn)y4v@P-w^dY(O=T|2*R$?t=0o=cO1?e+4!fP=Q{+;o zsl5Q9RG7B7knLRM#mgYhMk;gG)e;*CQ0idry*K=cM?AgFn0eHX2+CzA&Tswlm83&O zO>a(Xz8X=z<(XoKq$U{jt*>5s%Grj6uSYpF4n3Cr=`q*Hcl{TejbE8yx@WkxAvA@% zD)R~2zjvgDeCvb3DSQ+9^ochW+JDP1$OwRsRLzAeug{ln z+-^)(#TVvgG%B@#$v)T5_Kk{)Dr#Km!sF2N>k(_$Dz-0R3J$?eF+KeE7rF0joY&iA z_B`fpO=dsr;i+peG6_ao?FD`XaNzca)$U1G*&RVy`RS%{ge=}H>6BuZPpP|mrNdA# z>mERf%MQM0x8PgMLN#MaBx!3gQ2(e*W~1bJo)igZ`XgB5X+1k`)5HiEjl*|%SC7E+ zG9M^J)$mdq;>y4byyzR&;43j=y=}rO#^vtW9T9+gDqp5dz4@IQ%l32S2d~*hOnIKD zI|2pNQ2&LDHv;5$+nex8JYtTKaRpqBKCYQMD$HZSdZGTOeaitU zZL^u1?#7`T=Cb^jbT#kzgyrnS_L*OxhzSem?~gz<67^-4IhJa#UURwt8ErfIwx1lP zL%MZ4fhz=_dA`dR!Aic!Q|_~3X>4eYh=NDbKG{Yb*uk^CJd3rI0`=O2ZUM|`0-G{l z=}!XM`T=wVo?q8CvuBv`dP)KgJ1s;eL|jQ9PAQEwy!bZBy1(t!Da;z`m^7Jzz~d6k%j4BV0tdOo1?av1KH zRM1Z1thH{!R;*#|!z-}`_3q`TKa00|^Q!pNTyO;p`6l^p@LREOHYd~(`PoHTu>RB~ z5_dmHml|nE<7-N0dU|HlCneFCbm`Z;YuIORiO-U3g2iiBXBKs7%Gf~h2z$4^7h1S5 zXORh0`mvM+Hp03DGoiz$7nKmhoJJmr)0iy6>ODjrfoQQdeZQ5ywJ6JtnpJJQHecb zD^7W~$WT*k2;JX_#R@wa=^xh=-2OC)9LmNtCbfaO((!Lgjhz;F4+X76}A*0F|Wl&*}- zh1sx4ivJaNh6T;C*z?DbmO5rOxhQde@;`fvYVy#ELNw+~16b-r5$l&kGm9FM;sizIsnxzr1R*Uc?Z z?8W4no$=e6mG@(_uLlKI;ty3Ae2BlLRyot3Boh!c3<-%WLNf0D=1-<(Sm}fiLA?`( z93#PVCZlQ;Ty$l4PEV$QqRWXBo|k!Qkxly+@78W~@b-lpKDgU^Md(@8p?m#`>=FIR z`$N>#`z?(9=~JRTPO_(*UNdt{)RjEirp^&ehd%j?F3-d^2buAp!!sT!>Yd#`rO#~6 zlqfuZeLCiZ+}5}Opc*YTkDTG5Q_Y;?RIOf^1bfOA&}e4LNSfvp3zK5!BwpQ8CNa*- zH_;i7!I>7g7Q=OPm{ilh)M7`RTsrXNTd}yMtu(lfAG!mEtY?tI-`0?%Z$v1Rscr?N z%MQ8Ck(5~_$8;f;36&&lWIf9nl`>!mY-K&UI384Koe1l|c8>1GO8@{s|G!i;MWKD* zs2ZLB1mG$-8>|idLv9Rmz}%S!@*>3$S|Z@Lu+7W8chTdA+(R(F=W}xGYMx}csY!L? zZ}domY$rvRfDoa&fWV9&KxEZqDdB1(8vqX}u_qKzK{}OwG)3BjhdloA$Cvvlx7Xw6e));L8)2miRMD0{6qJe3d~dna~be`yliB zBzf?+b?Sr+i+rJiGGpSvyA%d(bMPl0y7+yVCtoU$IrLm;msoP7RjL2OVOYai*4;RA z-yC6vvW!RhKlwNLNWwT$Cg$eR=y_w#XU#dnTb}5)vhViQQ``EX^lAA1qW*Uu4>xaj z<57tPwziPLEZHI4Ow4+Q2MKgM*-6Qp3F+2f{zN9o4@kn(_>8eOU?gDiW+XCZAqlcO zmX7lLj-cWHSN;vf%EkM;S*0{hG2x<5I!A+w;z<07(2$CgiC6UfqoG-g|9wJlN*LVh zLo8i>83|RbHJFQZFmzD`4>FgLl{Gh!8JH<_V4Ha&IEt%!&_QjsZ13ddG|yS;f)j?F zj{=18?8m~h>W_{*5$=y5tr}@akFm@-K4K4_{SlB+!lNpITu~SwJew|adwzd# zxV}#PK+==SMLB_sJRZ3SXJj!z)oz9*^hfeMmojobg~|m#n9c<_bB6x-Ws^b(rbjg= zktY`|1EwvFNnt*mv0o`<&kVO54bkgBHxcO|1dlVNzhEq&F^Eh>sEC{lBH6DLHuHaD z;~%&)Q4}t1H@0n6Y*%dCM#Z*m8x`BOZQHhOC(jvYt=;?U?zex&9CO?k)3~V4ofN6k zZ~-2KY(uo8B zwkjeqS3V>rBW9FEs#UQ+?e7E!t8)iX%~1Kn#~hnAlW>&7Mi`0_Q4#yZerMFQ!NnL^2B8CBm3d(J(*l|U3zx0Bqp2x4FKz>W*>z+N(+X$ANHXS$<=akVfI-m* z_01I(nyXMuNf5p*K^J=7Pi5U5d>u_sqyFw5JspG&4PaSAT)K&e6fxT*?|>bI1gw+P z$b_>&hB!-$h$MjZ)uk2E^LT@+lH4WrjnIzKi3u@R=Gup3kV>FcR;OPWSZu4X z3e$}k1r3~~vo2@N&5tGLq6W065Zf>#d*Ki@&vAA8D=_YL)W2VSfN1Bzsqc5$U(f`Wy@(jFj*NvF z1~>Qraax;8WlL1CNEhcy{o~JQ(hSD(gRKgqqYBil#SuI}JOEcYxzn4Nr^VqvAUkD2 z9^KFwlp&gV=R82l;J%z{7OPJu*`o88cvyGh;15SFiOBd1RGTH(8Enc-8yeLV`VlUl z$;bi|v%qn}e1w>XP>Hv7wQAvkqJYsFa>8jja|5IN)LNp-&{Ty3kutoI>~M4l#*6=z zOKJ50n6qrtbYaNo0$g#r0SlPqlE{&ywU{)v>~sYi30oJbrVMEzlci9JyZH|*POjra zmjcXh6PCx92aeSw-hyE|X+im-@D1<9XgPGw9xlkbz!Ogtp?^W<)FUk4R^qwHLX6pI!gP34^iNOEQW2B!a|lS#-n9RQDA7p@rLT$Me8VoBfDObN3v2{&!^P-# z)gaaf`AbaNw6H-~bp?Ut^a>S)9DFL!qf<~+OG|f*h2U?>mx^k+`nq38iFlkg{9iWYN4w`6hpn&X7B%AerqDSvV&A@P#Go&$fA+FHV* z4)!$`!s&2s(U}y>vi@9Z)|R<2uT-|@=)mBY0bBSvlkb(v5p#1T7&Ea55h-TJaV53# z#PIjm)}wj6lsg{)dk%8k0ZV`ez)%b1lg68kw49)5&YHuP{ZbHBN`O#;x~{rAbxphz z31*frXU2*SS!%XLx<%a!w)6Q470JpyFz#Wo(ibowW^tcqD{Ub)RS|{Mzaf{A$6|js z%^!CiXTI~0Vjef+F)+eNqN+)NYWCJ&-e(VnyMCgroT`ggIxA`dqHIgotl;L*);SDw zLXl+D^5fl~h_$tX`4ZFAif5ps9aC;3TNMIMEpF?nJp~qhY6nZ%L}WogY*O z(P-I-*=oGh#4_>NCu*#+`=h~J1>M3)sck3Vse3umxYOZ@^68A2#TW3Z3drj*a^- z=SH{z5=*dl?NCLg*7*H6h&rBSnHh7XOSO`XDmE>;Jtr+D&UU_PE~@@*$wN*Or#i@@ z+7xTFIl?KW6|es;uZ0TD`p72!j!8r-q&}g zb=YH+PK8;+07Oe-r}D;T6=Ckf|c z2@yqLRW4v2QGMTW%IL5P#a!0+aZD^iHA~c-p2gKyl2EChO*r0I$0uHHWg=OjK~-j& zIS<70`Dx&^YyK)`sx%)FesmJp z5Z^Ae^)fJvFV=EYGmn!Sll>24mlh{BwM$W_FRYCX7kGnm2G%wM@&c594V_~}ES+o$ z1|Nid$c%i5RPpP~RW)(2B2Wsf0x)7;zJ3Sf%JFj_3MILdrL(@n)1#dFAe(H!Pmr1t z8VFI5JVzEKX17}%G&O7Ey>?c<3=~E z2R86PN>?nAoO^r)o6zOm<;(zqIeT$vG24r4?15aLL1tIk=eP_Lo#ra98cX&Cnnt@s zWvp_S+UX+qsPHhXW)}_@9}G6dmi{Y#!Q5dl#UBiz)8D4>H9h{9f3NI_u{xXOY5Mp$ zv(;?>etCKG5jDITTE1phj$vjem$0|H+$AetlE5S%veh{?ZH9~AH!QLgI~oteoBJnA zj@wzv50$E08EMV}eQ5ynmU|c`b>4>0n7CB=ZY8V3WGy*H39_cXH0O}!;;X$2DDW2R`!pE}C^z1rv z>CuvWJ=~9S39Rrq&S4FdNuHT^mV7mmKSGe7aCzGMv?3n9Q=8Fpd$o~m&{E1EW@89lp-zH&XJ=qho;({-G(a~RSfEnIT# zij+3yh^KMI7#`2$?d|Q#^mY&FaucCx)38c`eu}3lpkUJ9dLP*0wXF zNGkUF|KZnB7MA>PejP}#7L>WLXy?^Gew}EgPPkP5SZ}R0v(}P-J&;nAOoGloejRX$ zsd^u1g;2(Q2&3*3tM+n~!o&BowqHy^dk&U?h0$sbdcKWm-5>6!_P*{1d!F%B-V#`f1Mvl&%E~9oup%xk`Yj9Ve(4IJ))5@35@PKjhZ2vF>FGC zW%#G$6W5M@2C4lsho_q;4rA{#_7IuylfCGcC{Rup&kWIfq#ha;Zw=yGP8oi)6f}br zquSu1xcsoF0u;89Y|13Cif3&be_k7-uhieP%jkO(pDl`O*}N?>@&w$%Oo&v5e)Qva zxiy98GEG?o2_M100!wj;6;ULsqy$N@W>Qv+U9^OO%m#>1_?U1NjEvcjEq8q1a2X6p z0wtKGphmq4utLnHUQJ^=Us_BU38Wc@XGq|V0k#u9BJbM7M!7)kUt`pSp=L0wLP~;A zy=!0#LRZ*KIH6y%nvG~1_+2=ZSlJb1vgjFSQMSO+v4q>5a1c>phAI)DyOk)1+&QU& zOSa#5dn@uz=Ox`~%Xc)LDpmoT3s4A4mnu?Y>KI#>nw1I?65fJtx>esa=Z)Mt8<_6Vr(M*WH3yX?ZSX*#|2P%gVBTgg94jO;BZ`M*Gk#5l`-bT=gG)f-%8UQk z>_hF|7b{YsfV>8>{d+HuW(1xlMPfw^0Hoo;icrYcvuC5x`)Ai7Y@@r)+s}1zp706O zp=uIP@7C68{{yH4Bm)j7d2YeenIZ)HR2WKIh)}igNIeWzjslourYn%ngTVxmD_^ch z$5#(a_V(=E9}Vzl6^e^ln#pq_(q@ z*(dX$5-0KLSGMO@_5#8>jzi|r6^hR_8+B7V z5Ij#*IbO?|-OvJ^9{#&vhcI5#>v5%t1-W%njPBiw-9mkMX~Uey`}2AK*S@f}d@Ti4 zG^s1(PdPQ7T8MyH+<++^^YLcP<6v&j+h&O&QLivk!TiI9pG}hMTF>gx`v%SK;$tb> zN3M&fR6<=IbLDM1u5HXutDF5=^@X38S6Fwd{KsypJD=~1Pp%A6$+Ju2%6sebb)R+BqYjhCwy8q61pWB^EMl_-HdWK^Br+?A6F4OIFC27@~2G z-N#V&zgh5sCxXcqV>7M-=d`ugBS#8enBmzI>9A&iHS%TGip$yyHsvbSI_sqUr%+2E zs_|1vCUYW!28p>c+|Su3yVT_(77iecCb~sSWKLHsrW{3mDX#R{6-MTekTULnD;;4+ z3-}94{@o7fo2*$TL4v;70Y&YX=fOJqj-Cp{TxTrtk0#Ed_HVOzOGqals3l3&_P^eV zE@=>_CdK9nVQ;he#QEb>a?<{MzgT*bAGVztW8Rvn3aeX3MaKZ8=>5L%^SSx>`=D|E1CZxjSGfw%Yjtbut^0BFlK51EH858kRv zoYzntFl@DB8yc_Hr06D_mqR3$rONzRG408&Lwl8CM6`hy#b!vw=k~L7rpD5EU4TWj zys{L(RYJVkD_>?MkEdwl;Ba&7&PNDXULo1h$k$NOa^wA8%=wiVJtq<|P-^fTNAdjP zdqHO@6g>j#kwg5|JQmbMjLZ5QB={k|TG&iPvAUa!k#0dY#BLGrYb7_- z-H;!>p4S0reJJwj&;O0r`Ru`vE-fQcR0zv$DaK-#9*vNDb*wwXA{|B#& zn}fA3i~KKM_d)%W$$PJY2cnxrVys;FLxua^=RFXD{>1zcOQyrUZveK{w{3ZA&gWSRXbuXw z_Bd^wZ1qN{%+fX$p0Y$!&4~9?@{=y+2CKh&qrMNqgl3CVDYR!N!la#zLtG zVhmJ5>*|ncQSYS$XBlt7)R3SCUeqTY)>1MUNUF2e$>l@KW$cyX{d(OB&2TPUce9Et zD~+iz<$RL1DlORMF!o{j=prSH8i4@)y5c0Gj^g2l?e~?haZvPgX?gLu{6cH86iJ!% zP^*YsAzPPBasNqtHR=60%{_i-8BG60lh;;f8}0k!Cg>mGal_Sv~`fA>Te^Lq(4=e zm!l#+?dXqmTj{{ARww%c`vO#Yw9=94mU@x(tgkZMT#Y>$Av)?Mvrz=i8SSD|-Ij%hk|H)rYbvrCU2U{_6eccw@YI|{<2 z!ZE)_ z%e@H3htnA^Y3WloRk%d9R?IAv>(e4(UkXd1R|EuAK03v>d`3huE!_7OXyBQl3YM!b zn%&Fi!w}{WJ@2EzCj}LXQ=^7?_Gpz|bK}R6myOv;SzXJjOpQCQaU36i8WgPJu3w8i z&=c#ox#5qVW5+R%S9b2p4iQIVrShF@ge>_SMecwni@GPxMJ7_-GNSg0q@#%)=Q@>N zG<+XJ_0H^Ngs4*;?}%hdR#)%KI+e5ZvHHEdumA@q59FS1@5hs`16jq;J#=n8F@V

n>0cskh>q&pMaX7u5e?cF``BrVh22t9lbZ|6q2!MIn0B zB_lC0k2Em!zU6~$Dqf(-B9W8SmqZw^rz?ULq$d^SSAMnNd#B44<+nbz8o#~kb#8yL z%FFt4?)I*!+>bYXx_PLr`%P=je%n{o13tEkANjq!Amu;#^^Y`LY4x=TIPN|6jy{|% zxXp>FcB)oeT#f01OREd6;pZ)H&b)5gkYtv2b!-eSO$cdZ&ufK3+4n`#4%wwy;{SRv zV;HX=2?hl$)ww;-b=MZVd@;TD!gY<%wB3##yso!wxN&>1^Kx$`c1cNF_55;%E~CE* z+49z(QmfW`cb$!4h7H;&R~WO$GnocTX`O}v`Rb%oQ&i|oFwGxwKVJ{!wyfEV^n$yo zS5`~3kzry9_GAk$!RLZCrvi6nDLV0K`=+q__Pc770z8uG?H$I4nm3#J0M?}Kz+UX|w*+O32F~3Wcbzf`^On}>( zek6c%%WnekB${LSwJT(}_mT7`YBHD`?8$lMazAPslmD=Z2f$rYd8bz|K2UG_L->U8 z+#7T=S^Cz?@F0*OIc*FBx$m&XWHQ2dDhcP7xOkQln|{&cI`#>zZqM7HXc(SRM@l@B zIE2NX6RVFjj#BX+y`Q~y?3FQ6ji1<1-<^lfP;APygZ%~Y+96K0V5T4m$p|G)WP*0f zbJfaT%)AqW9oOPM5|Jq-A>+^5icgbXzKCw$3Gqw#QZswY+zRpAjv9Ag{W|@J{ zGiHzs1tY1p#@Q*j)LI&pWNP`_)^G{{Z?|=O{8OH>X^UBI!UK<6JFlH2TJn zlgjtoZ7C|{lwZVYwbXM{30#90@Tz}9_=Gv@ck70ja{@?puek4>TtDwx+>ZY{V}qKF zp?Pk(@(ppLIW^ikPTf0{Tb)6))S|sjA+*&3Nt)>Jr#6!guAV6;Q?H2F#e;UM{`}+G z@{xC6%5PQYgsvo%m{i(PGO0wbZ%;HQ_Az)OR7k^=q^O5-95#Hc4o$C4f(;jTd~&v= zIk-#$E2@!$(VcRcLx5|Kvag--w9Kt|8u?_>4E z(u{G`grmhKB6!7|O>VdT2JlV|!4lNZiUXk$Fgc{Z$GhVZzne!V)ZSGio+2;C{hccW zsof{-#$cmGE1XU+9YMaGmY`7>YJ zp5je5ubdOwB^3PY);-|R8lxWETrN0&cu@2sM?QVQIb$ELFSE>sH=+LN?cyu!NA|dR zkcdb<5R>M;HcJ`k0@8eFhuD!!p9W#gjF@#)*XTIp({ua#FP|f@sbc7&he$Kosjiq^u$jlVzB>Fca*F1-}T(oJy#gDZ1C|Yf*On@`t(7`|)V1<$!fIkK$bYI{t z5f64xh>t8^{;my+Iq4IO5(6Y}K5n(OI z-FD5z}mIckac!hkv$E8_NR*uC^7elmh*%_e8PnuDO=DO8|yk&PuKk{xso2 zLw)jO4H-c|uv_=8q}POi^yy;ba7e8PCzr9^u*x;t(4+|{)d`!V@V^vbD_1g(;XN=A z)|>C*k$MwwcG=hj>0xek3NO#*cf!qVZW$FETudmEn&eq%H_k_cR{ooWxoLk4lc)V~ zg2R?x%D%Rav{?TSd3nQ-QLtJRL-SFZ1CnB2Kg~E7C$MQKcN?uaNDP4AnyYhlP zGS92;9_QtcMyM45XlyocNd#8mrvwnZPaL>{@=g)Y7N{H>V2oN|8YQR{mAu^)w{{@c zjF)O$qgKO*0Hy?umFU-Fso{u_SMp`Q=iE+1P|%w4wShz7v}g9^BqhJ>=sm#(^f8^q z@QJZ*sqsD1a$!RJBA44?ig{3+8tylm@qHb}W1uCnWkQ5V^r^O$B_ICs_C|z4ha?TV zbDi@@u|z5DaxtP44Gu>Be!ML_3}`zL%1%hV$tdluYqGq+hR}#i1D5G%S51<2d$d#r zY1N8MrN-Cg9$R+8c1!M*)V+innr#M_zicqW4OfcW9xv8=2_>Pb2v~afZ&5gWn_KNS z6!=vcISZ(ao-=b3)_Y$0-2l5s=RVEqCvLKkv7 z4;;TheI)3I@)WK$!a#2J$xBrsQ|rahZ0-lj7ubWp9#VfTCa76ud-h?FqFp?IlII5n zlUoP8*`r!cgqmi5b*(E@qpUZY53fS3T8m08fl@lXdHdkQ+?qrVKIDXcx;iUc26{DH zHj7$#u|_v^SwLC`m7rkyauNBx`{jJ&0bD*lXYciMzqj5wf7ZO_0Z(6cvw*KuwqF~S zxbnF?o$9a8P**Efcd=rf#c$!=Z_(d)famvJ7$v~Rm)*;U=0Pb^a)S zL~fsFG^(aLhq!M_g>38ls}`?jALy^QG^U3=3N!jd}=o70%tOn)ah(QDnT zrecb1n7e$f_IzO{Y=~c^Y8!3|j1PAx``BlUvu$-o-JK`Js|*ub%LyGOb$wQC%@|gl z+rKD#hsW{kJ@bg-t%J{e<_gR1?%-?`IME1q7!YEBIqUas@!wZxg1h&>2OCkBPvsVmohEflYQ!jeFADa$;_BCVqf_4E5OUYNFTyfy{Z9` z5VmGRYe$vHprys8^f7Sz=W}+K$FC*o{W zKT4tRH{e6C;hLVUYVG84OF`#@WM?Qf=iRI38efn^{|v>;_X_;`fu)hw;E(7+lG zyG7qZ)rXotj$2$}`@qbjo%4aVhR<@87lG%^NJp^dYfu+$nzv+|=TZ*Z*3F3xw#&X1 z0vg?+7qL%^^J{Ft(DRmdBtRWEXa06gm2DK6!meDtXQ>qBn^~bZXRa?BJzA^6vc-#I zAOuR5%-1Z^)M@#mQK%=+;U*&TwCw56qB>p(f`k`XzG((7h&K9dGqvg$Z|~0Nz`Bey z!dw>tbddptLOgXm*qvwF0J1b;U5ve}`=UvI(pV$jolQYth743`Q;DFB zr0=I)wGwiu_$t0V)=X+^H?9rjw^ZFb60=9W?bqkC*TE|tXU`!*O{gk%s!3wLW#9qn zuw>)0q=Tjq=h2y6EP9r&HI`j(f{Ltltyo2te7STZF8)@$WxnoC>9|HZupO7znjBt` z(?|7we8Kp%wn=+SJ5(&b2$)2%-rfZ8y-UK~tu1XHt zpqN_2aji@2X!mR2XRltd68dK&>Pm2sWK-su&}H2kPDpDrnSW2JV+kwsZ&kC5)^tU4 zM1Y#b>Z;uGt7cBicJ!q=j_E-9OQOT_u%jspnLE}`Dc{j-aF+hj_>tLo79IE zIyBX!Wb|QB$y2;G;jU-uybZ{PGr{P^E_2|Xw{TIdaH{s`jYTxVm>RYGU@&-nD~7#( zcYHH+$k+6YD`WoLL#JP7I<^&|ec0*IZ>J;2s!t_Wb(BFv2UPbYqiS)jq8&5JIJ9IX z)B`R6Y6*uy{Ir=0&d=Z39GCqo6aWED^c;+Agg#_^qOLy_O~@SyXo)9(y!hP1QU8KR z-dvz%cd0beJy9~xE7+TkU1nCHn0SB@ycK|5&mdPZB#^@xC|7u)#3qlb%4MYbZM`E& zPbST#_{iF@xDMwtz96b%DGQqKKI#%0Q}#IL*PWGGavO!2OT0|B)1`zw|HdN}I?2XK zzunOU)hWhnGjW6z?`g50dN*{sA$C|A8Q)jBUZ_luPML9&9%HlVY*p!`y$5Ic2DTp@ z`iR?O^l10he!zc;qFE)SU%$diZN7;EV!FennN)B3jj=0+Ewyq5W-Cy$yIv`&n|@(@ zdFAz1=G|seI{2=DVFX%Z(LsWIa4I3b*0ri#U+)Jf$L#tzK7D%tQ$Vc0-I=|gy}$M1 zcM0-&Jl*M+-`?9xJ>_@nvCh}kHlOXf1}wq9_-eM?6&A6#`H}suLV@iMJUDh)vGikG z*|0r43fQ-dLy3Decd)1+j17*)GM!TO?D53x;Vck&jvDIJMlQ(id4eJ+%kAi|)c^V5 zabE$i`R;yIZf$*)et(tk?$*zXHdxwWnDz6l_46?G-IpHR`qs}u%mKCBVxT7Iqg&Dr_?pJ~4mW7fmqZj}sRoV^N7AWGz+2xy6BYXH7NAKyPT zjzPXWj&q#ea!VzE!bjlO#Qd22pkX_S1Hwd#hEHM**$=vj=Do?VU|~dJrP}$z%LO zJTJV`-Qr@}>fR?J-Xr7?zcu=(g3f^N?C}kuCG&I8SW%5?*o31Q~P)asZK?(!`{&tpc0EpJPv@I zjik3;w*`-Hlae9N*V=qC&NUMo&&Mx$BZt>Ey$RVaM*bwb99}Pqh27oLt5-tJug_1( zpU+(~z<21yuHD1a`yO^iU@z|GogM$^Oe8D6pZ@)|$6fl~k4%r|#TY#6%kqY2emR3y z81}MKQ5-IuEx8iU*9X&Q1QK=;=lVimA)!oe2sC~e3A}hRg<*@0X`3~kTquo8%&gOu zFf-k0W|5F)f;2sHWup!Mg?Wui%`K>Hx3*1=7%G)gLS=J(JdL*{tb$Mw!v=F^=L*fQ z*vnB$)cgAiR;FC-R_h7Jjs(j&u=@!R9;Q2b%U4%55c^K+xQnqIy6a>uXPV9%gV(w$ z2Z-*Ar5px^o}1b)Ew2cf`)2mQb>C|jb)Tvj1{XrBM%cEv=IZgXBIS}*Jf!chC@FGH z)2qBi2E#G77PIVYyF!*;J3htE@%=?+xa&BQy6oYfVrZ?y+x02*#__y233Yf`@PlRv zH6uNE#g()qT*(`9`%M#cT{?GlcTe2zE~~_vs=FJ$K&y`R&eny-)||g;o=@zK`PcEv z8241N5>hVo7D8emZj0mgawQDm@uar&^&qyi&fsb}$aLX35+g9-OoUF=7~diU$>?{x z@@*tK3B*z6HCXOBJv3KF;T}#`;^Zm`{|_z?Y3-pfVa7se&lceyE)VwqA!J48}dwz0&JJB8eDg9A|)sNI=8% zF5b)}&nK523PcC0<~)V9RZr3>hw{{&F@e99VaF5y>Sdyun!;u_eCze?h0DKy7X58W zN;+~f!h_F^y}C4hsdI)q^X(UzCBo{`br#56PLga4eO%7MEMv5H9q#wX0jM60X0Jo5 zo!N#7FAS~-OYwcIPXW~NB~YiE=vF`eH^W#b=26Sxm?m%gL7qO!4Hqur7JhknGkbcGJ2=e_8rI*TITu>(V~EboAnL1Ak1_x1ixB^COCEMeXNv znw{-lZC|_@vP+=F>*5;`I$$vV#>=6nMmppzK2%s>UsN~wIl~nbz4bv@6yhNq*X!=q zdy-Tj{fMPv-Oaj(Ej*kr?_&BzH$E~A|F<5(hktdVOapRK;&5rZpq1N&I~N~eX@R@X zOMvKm2ag2e2EY4UND6SfkvES;1;LtHLlb*luJxG^RX~-atMyU+`jVM2*k>O@zbO}t48RhNTD4v=EtDQAho!7f& zH>*ZApyh*5GTH^99y7-do3;m(EEn>_3no488hP03q%O}y^%oB<^IWXg-C&1FTsi=e z_(jMcc!Ph`|BiB&UGDKBxM z$cGL^Obi;IAsd;hC6Xk;QqqXPV!)i0SV;bY#jyrS8xhI}cFaCUvDjFN9}(o?BUgR& z_wQ9ZJDlYk7bJT6)qa0gW?BMvZ@zXuZeKswkB)>uwr2+VRe`<_CDyy%!o81&>vbF) zwLW{5D*u5+=%g;acc`)VVF2Lj^X)^>QDr6_?e!_xf`* z!`Hm?8$K0m(r+b;9ceuUGHrFc^Tou`V#mv`$JTDUBs0kTygH+a8GSON!;?gmFURjT@s!}3b8qfq2O6P;HAt~22wTA2&9?*)pq2vYN*bNdgn(0@KU8mRg zw8IU>`gH(6Tet6T5jA>qp-yn=J@)5ZLhA?$(>ThV-i4c}0NO{@L48Jw2}c-Z8k{t9xC& z*~zm)d|D~CS3g=fXhlMoFywj3`x3cTi=-lXWIaAlyIbNe2!VP_qv9nB8&tnX-rOvN z{O053h(r{xJ@_f>?e#+v_4*Y5^xEF}`I%H7984X&p)9%AWA(=Fy_yg5b&FF9HFPJ5 z-nf>tj&9F65^e*Y*MslSHXG_gn9GiLumD+8dYP44_ZNv6J0uD@imm}EnXdB_v}gSa zji&GgN%ya#Iv)2={w@A(C#_w|ArLw;2pC?ievsw8N3SGq^E-4(r)BG+L& z$)tT$9+Otviu`zeO^APUjqi(ovPrlQq|WeK;0`!rjHTR;^6Ea@t6MD%D^zC?4;xG! zEcCrKw~NDn>G<^$`P}ieM^@PF-nPom!QpM#Gdtql?Rj!(GvU1*lUDorQ0Dhk0Z>h| zbFN$6^m}e_8!`vj`!)G-Y!UVt(t3&_B8r81LHgjl#=e9Ori$O6{prPgeJOnVb9+3w zUwIZzAo@*l@@YM_T5Z;IV>;zlhy94(eSuGa|I&-__^gNjjOckU$iuT{6b7ltb3yog zIH;KWtan2=RO`ulQO~<^{ruutSoob9R#<3YH>P)k58qjf@X<|i@+mXrrZDRrS~^0@ zHmqj9G&vZQ`pJMV>|+!1a^Ak$XbmtR(nK16tB>wme$fZ)?Hx~of8Oqy+>ZZzlE^!V zS9hAa3aIIFz=E^nw_%h}>hWv;a%9ENbeW*O(aa%LC)uC(7T7o~gw3xdRi<6OR2ZkTZ|`Vf;_I2sS%cE@u_CmMfaLMkVV6^hcdPm6qKlle{F+xUjzj@~T>3 z_dllJqQk$YUm=VL&Kwb{gVn#L-!Q_ov#(9(3pYE1JXnhstme|#sQk&Y_7(+;U-R7* zz^m=dL}0_#hVNb(I7=s2$gf~XE*wKMz7AVjg3QQ2b$%kyCkQ=$&736IFgQ+PszGF` zly+GTd~LcBOC=!bQd#t-EeDGZxHZ(55+$HXCu5Z{(LsY8ii#(V8*D$>gFm?>Bj!OQ zU69RQv<5m?PIIcD}$Sj%Z7NIoYESceLuwA1VYDn42=qKzDoVmQj@j2E##0$iA7)=s`JbI;^Q@-4&)cySF zvVdnRLEy|Z^^|iQMti@J&}@#(%Gq-M$MqAz`mWoCh<8sOs>?IvnyoA7R2EGzV}D<~0LJ>0}A8%Yt%CxhKTXF)@mV0MZr=_L&m-U-p!=_7>+SobmR^mGd z*_yKutmR+3bPl>g0+Mf+HUSlyCR1kfZaNFQjn5PBAuAW4Hy4Cay%n-RdD3Ecn*$YC zKx89gA#V?dC5RBI*n?V#{+IPL*v~||gd6L3#)oPvs{!fjq5^vAgd#4W8Yj&R`2SeH zqr{PL?4*P=xpsDtiRt^0$w*F=Nvqj-)N}_Y_z%Er2qw@vjqW_H1fSUsD8bG!3LB)UE3|C+ zI7n-Fez#n{E%=W9$X(SGw4P(nMrY#VUuXL51Y@33 zn7PhqyvxZk*h|Y7KAe60hK)p)evN5OHG(WiqnQzZEcT~D5|FcyA?ePC_USojSOj8XnAp!_ zDKJYcom65_Y7vLSiWw4TSwi}dI{OFYHF>i&)rN9#wOYqMZoqj$gRSE|fgZ_lLo-#O zIg8RvZ^4(F=Ao9Pi%XjG_3N4x#Snr%mVE!2a^;Eo(H?=@*6p{ZNk>faH^gz*&5=x) zXNo?Sh_nc(NERAUw-el?X0sv{+bX6mfKGA=LUAA7AE|xtQM7x_R1^KI)T8(#5$|C+ zoJS(ej*_UU8b+fcE(oMqYhhtjT zLI2p1u~trB*o^6{@!v#{9OxWJv{pR?!->qP4sXzaAV{;R2&|KgPwOU9q{!%T{TW25 z7S3&7$Kj(^dRs+^A$kIzk?I|AQFpW219m%u=5(xbgyvF3#EpzHRl>>+do+ zkCsjtz!Rb$V0|RQRY6E4hu>ysmw>mE#6TT4kETwhBFNy6 zDJZLYYJJ=mH8(u}bSUuf^2oXzCzwA-DbBM~DjN141gbf#bONF=uc07Dvp(uG?02Mb z&EK$OpGGm-4uW?7$l&QjVdA7Kq49uUeCAZzB_WLpqx8|W4RPI9{4j4nQjQ-MRtbnc zV3;0SCP9tBnl;cA05=vSZ)W80VsH~upN#ydz#Y@br@T>rx`|MgWzo^%5hG=x=9D7% zHxzVSTVA6Z_$L#L7}x;qn7wf(*wez_TTLVthvbSMV==<>n8a21`kFT%yeEuzl|<@k zkS=&!GYFMw6$Ha#xqAyJH(BKe`N3}^>b19n5Cx&C7e9*OBv32j5G9ufXd#q0#|_`a@qaM^PO;j?9V zY1QEX06_o0qjn+~&T7r&gX5><^}hoj!{Hl`G36igI*djQ{Wc7J(WY%SR`E)bVyQn) zE-gEU!cGU4JqeDLp&?$aMNj%~C)fc^ZCEg;+;7HiCGH~GE zmFtE(3)o>n^8I?KA%E#*kRof^Q}bLoL#==fPm8H&d1&})qY_5E$&IZ)UC8y3EW zCM{q_S)ybVmEDwSi*=&`8)xvLyLQJ03UlKuoh{vfaB4J=!kg)|a{gXf;=V%}kCpKX zS(4HJf8~P2ItWos{l(j4A;c_^j|JKr1b>MVseW)-lA&%luj6)QO`kqvz=DaK5Z>2+qbx*J#D)S^wzFttRNN_t!$y8gFVaIxE7^1rd* zyP1jW!$9v*TW3Xs5&Y|o)X?gWVgmk{b1d`~EYM_1Z-Tok8Ehe~n_OFqiRV-bg0TjT zjgvx4j)Bf4eG@^y7qZEB@c*6)KL4*&u(2CD>Wu|s)`QfERXRmY?DFfG%i*@K1-DNt zur*BQI-(m?*tt@n6nzIS2Iy~^ryQo0Y)3Vfwy%QXNdGSv@pe~jkjYC{dINLEQP*?- z-e?oEij)nvS@tgE4ox6~cUF=uy1ueP?Xf#?P>mc*ax>O)7hPo=HSB7PJ5HapES+36 z{OmpE;(NRV&Na{lb?FnBlX{5W`cY#Dl0Kor(f=zFG(8em9{(p1?BXd@)hj|4YBxQw z3d2-_DMdajZ@Sz4q#R>e!FC&qQDcY>xbwy~GO?yMv>qdO9sze>LKQS(Zdzx;`$fMa z+YV|g(ssY~uTE%#v!M_m(ngK^k4_j?r#^fz=Z_cfzE;l%kRy$c!@zgcOqrUm52#ot z5wl09ytFTCJBKN*UQvDR|2X!oeB4pxp+RWOF|*FE&O_H$U5M7RAmQdNwC;3?(70Ud zgANn5O*HYF;jP=44*6?tlWy8&9z3uuh$1H?Y4j{QgW&L`nO`It`H)YiuSGy{T%T4E zq0JblJm{mlaye{S$lD&pi&bjbe@ExC5;sB$Sb7hiGIhUR#Bgr&wILaLK8KM4Q7*~J zT9L~~z~(z;idbhPjN8WuRdmUXvKmfI$Sy1`S<4%sWg!m}VhR>OVNxru98><>cS?g2 zP&!Pdy^DEZ6_QQ7{QLgjGe%?EYV4%3+Zc^)v$1X4Y;4=M?Ivk#JMUR5=?CX|T{H8YHEZvm z_VH&tU&sCSumd?^9Q#JHXU(`&nZtFfYo9361#OcCe(WPqijux6mN?KgS6%dyIdfTvxXYn1f}44d@*Ar z)3&PDB#|&sxa%t6{@sORahV}>KSZ7-y6Ev0R9m?>bqNI-3uq{Of7!)|$^}U#1FLeX z6ioG=!l3a2u6b9u>b98M;;+q!<~nC7Wl=V^btOFS+O)+9QkFK`LO~ifLK*~O<{lPk z*EcqSX8Hp+F?oLAb>4|P*q0v*_k^p>-S3aERYlD-A&Nhmkro2eDGH4LkAogB?qkgKasx9+59Id$r;#shNbt_c!+!G{soJ5EK)sT&iz zJdL1Zhjl`QH|#MpT;M)UN&uR+^Nz;SF2^(k)uBVwH3qVZG+wN|X<94q-=B7yQZHzj zuP5RZxKmnF8vZnY$V+K)X^K;x+@2DsI5MhcLKS0azhI>tQ~mY-gC$&Hg?OpdGvNsy z<;@cGRiYPc6mXITC|mtpRxct#q?!b}VlFMl@)M1*z#VvG$raNh|4EClcUgsfIjco* zrGE^m;^mza)ubmhm+&X}GkJ`SyHqCoj)?JB@aOwi@TcTedFZ(FAHiQ8H9it-gnlfT z|Bs7-I>k;)VGB3h?&W>(kL2%;V<7+j@8plJ{v-J#>2aSBaxwl${&M~^`3sd}tf?~B z{X(RMysa@zngo4xRXlZfR=h)CZT5#HjMx0GK3f58*!Vz5xESPbDcv(8I>BsCv(P0M z7!@^Xbq5b$-EqqAR4bkH!4kp|I;C;_9sIqsglKG~hf89-`NdpeR>FeS)4$2R?Ff?Z z1H=u)16VSzP{Bw)T|#FpQ=dLK`x>37%qXmS%!^8Pe`1AMoKMqJuda!VCye-sqxW67 zbe^^4;KhLG_itATT*0G2x|wC{R%HNbXS7GgeEE zbkTc_4$$%{1zkn{y*Wo3j)g&DKs7%_=#27Z$2Q$o1JP-9sQKqo0-BjX`o#}H1S7&W z{fY!rFU7g(IU~#2L_R;hJ(YJ-O>4-6JJ$hQPKG+OGYeMLKCX@InW}_D(gm0f!$$KH zMRvCzIRqPW7v|?S;@^2nsk$9=9!%1L1bbiFP|V{mb|a}v=IX{1FYZ$^i*NY5^n%Fy z7AC*c43sK=-A(}YX+LO~P3l}d0R9$YnX=y9__)~@KFl>-Z&Zv$oBFhRMPFqcp5KUj zJLPN7_TKQ(FP(@mP>yEMV=x7eIn$$SAmV@`)Sb8BT~=FnKhj|z%=8n{5gOx$R5HQ( z`})8a6bH7C`i!sDfoe4O9ZFwuh(V6w?J;%FLi??+Befd>yMHnn;9BTildCO~k1(p8 zxz2;?>_8^|;aTZyGW#VZak))}6sbql!x$fjOA<4z${W!Lh`0_bTNDRi#TDJIB>Tji#S1~lJww9A=huCeU=+4cfBhl}iBIlxk!4^vR$FPiWp-Ww%;kM}rEIBOxc zk)_0H7na5=u`w|TOUR_qR+>&fWWuF)nGo~QXT=TeLnd7Dhyz_?H>F#zi>b!;H2fnI zHvW$OI#kQf_L@i409UC^kQF~}->ZE2mrMwZ-l8bMXWx9TiQpXc0!37xy(*=`blStCa1aq>=lWCg$LbRCv8JL`~d^YImVAqf4aUf=DtC z1hkO)EGsjL-@!pHMCtI?C+~Jb)GZq?68u&W4IG!)?6L;wZ%MBRk<9CJbv8VPIQ?=D z3Y$@aCWc%?!fOo}z35mlqtPVSXzuQ@FvGX$!qAFE(CF9#CUPmk|vs_w_mFCxo&X8M~RAA~%pte?t7Vp1g>}z_3 zF^m;~7Y8q&MTXscGQoyqndko8(>?NQHYy8N0E5_w&fl6kbqoX}+z!81(~n!$#%4Hr z{;IO?$HPX_A_2D<0VbM?klSe8bt^5P2K;K4KAYNvGS+|ide$gKK9P98Fmp&COH1Pm z2Db=aEmSAa>lf-M@}&pkFS(|5mxAhpX&rFA*_~~$zaic$y>&hf#mlnpa zcF)g2u482@kR8Bc!jNtCz)lEAk3gT49Qrq5Y4i# zG%25iCrIZ7&+ui6<}$FP;`n%`W=|bkA?dYy08XvzkAQRhn>)aq+w%H(=gRq=_TAgu zX*;*`?UhX4vn*Jd>!#M1BKv&*2F;28;rO0*LOYI`Z!Hqhje9Z6W zK;@)F^`U@WbY!uwtn&UwjAEu=2PK=oF9MG7LSh9?${pG>#ZcwGO>TjsNg}k358O#Gzk?iuUB+`M&{mU^xyM zVd{MD*?40~5ZJ`;nXrmI%*N_A7PWO> zF!llQa`G8ufmLIncqm$T>#&tyn$rz%8Z zP9Vimtl29-6~v=+)JG~_7d1c{Wqqjv(Zh%?UB{EaoE!jdW1{^oDoj}84bdE|&IMDK z8o5s7lR$iUGU9mZWD!U~Rm7IkYF9+iHtnu{`9$pO?z)XY~=kgMgYETkE z^cnNbUB>R9%S%H$Jx(}$@M~A3zhtphbvQiA9RgX6(}OPmR~EUkc!Jt+u~bAbHBo*E zTPo9$@T!KT4LwE+Ar>S-#-4AaMlQrgl%sVhZ>=Kuy~H-|4nK!z7g1_?4ZbBA^WAu5 zLq`D%gdvhrg&W{XkKTjMEY#>&^7};x55;1^X3r?p%Ef$UUV*6j%(7)Vq9@HNVMK~v zFkMiDDyHX268uSB&?_x~@Tr%WKmxlK*i=ZHP`saIuG9Uw_i+Apxt~LKIbO1ulv_S^ zdWk`ou0MVdJ^^jjV8pZ;^M(2l)&+fFZH{Cy$@rYEXD95sGpqge?dYI)x!*-Zj<*3w zFj1YaoU7x;uul8l1Bzzqx|$}qS?l9!`~}6n1`p`BUXR|5%1KeBJRx#{GehxN8oiMV`C@0)fD$2J{KrHC z5SJVg$=#|lCc@L~pt*vZ9UkwQs0jY|F&?cD;Q|$fu57VHdAbk-09EqLCk)sT!(ayp z13pbi!SR|R_^vie;P=}-)-YL`FR9*4um!SQ?LJny75arLYb-W?P7;F%GuEFT#(VmxxuS{FF*= z6R+-Xl!?k!uiDYJyh~`m=H7KNlqHw@)k|`@?+%>?DVO>A$q!Q;0#!4&b$8C^{)RZ|F`}(`$zvv=+!op zldUg7-ut8fz3n?Vdpf$Cz3YF!UsC_*e?j?w^uPSS^uPRf{g2~s{cqrZ(f_oh|I+{9 z)aL&~|4aDL|BC<7|K@JM<6{G6hy$bxJ0h1mbeTDU^rJeObZd#;@K=bMbeYo|j3i4# zhx)6=NOqPvAROdwYqvvHXve~hdRVTjg7)N{d&6112|%y+-jYwV6L{)_u{aw7mz9_Z zXn@I*++NcqVrCh`S42bWgcYH&wvJ1(SrkK=kV&kV(Wd=}n|+E#z*7rPL=B>?36wp%=%tK+9MMaHnQ7UBPz(VxuS><`k%F%hcsQKe%@dx#+3W`2$szCP?;+aI&t)^0PAX91NtaGnQQ{bneMXw$U^>cN)X6gx2kD z%8s%`EUmJ!=#RAOFPIZYP;xaqKotE$xF?5(W9|pn3Ud#HclcYr`UBTwbtR~ z{dT18|N9a#fa(bkB2Tl$k5~2U1Mcrj#KJ_m!TgjYwco@@J6NJ_3OIXxkv=>WYJ$q6 z;ukFlgDSzF`;~934!?Ax_3m)#U)rJ46nKefksgE)T8#WI(~yCa)2bg42NQ#L9kt?w zdB^`m{tN%p`N02({|on8;P?8sN>zOsyon)y? ze#LJ&^bf3a(Jy3DAZ7^_)~!Q?Xwz3oqPmDbeY-w*<=PMET83GewAnkXaFjgx9>ilV z5QJ{8;!{ChpW_GX0+D);_haz7kG>!Fv{40nxagid!ANg3-ngji{itu`A1O(F>rYMb z!xAB>zqdLMDUE%@T<@m>NB2UlmfW#{g_0dlGb*Pn=*-)1$*#$a?~eBG`3e6|&MbR6 zYiD$?Ky7`>&=sSQ(d|0UGjm{LfW;@h|*u?O*s`!3X}w{0INT`oRArj!a^MS3}?Nzv=(R z|BU|!{wI_BZ~X7t^d0}RE{-I>{tN$;PgMMa|84#o|C^U9Uywfh!2hn`Iq)lw-|;`x zOEhZs&u|SpqvzAT%D^ghfAGIuk;DHT|Ks|=|6Z-`dEPJj>;K08LgOE<7che)$(ieT z&=e0m~5MYK3C{rDdH=-BWh9t2@nJqS;aU zxqluTgQ>1izty`-d%&AnkvgH(7^efZMHNC9iPd+Fwznu*eduBkxr%#MQrdLp-~;~~ z-?CF<{7>R<{7=LD9sk2%To@=I9|*J%Ec^%mqbcE@ zKL?B0Tyh!;r`TWo%^tJ$5B?`WtfBZn@xQ2d{O`~=Y#eHrTgK?1lONm?pTrq7{+4R) z#VY@Z?cD7-_^n}6%h~fwYdlwBNN<5LN18doL9bE>3yIQl&qPnrin#~g0xX-2AY|dP zsvTsTBbN@Dp1Kj55sLuyGgM}izlo_u$B-&fB)xeZCRl^J$*8j9AS3d$7K4pM!4L7K z%3)U?RqF-{>uQW0$@%e(P6g~^3jJuWGj~C9X70O3dZ)tP+Y_e0@W0ey)6@9B@IRP$ z{Ey=g{)ZxOA*-K6`8WPI@(=#!cU;}~g{lUsUbMpa9sesoezHt@AqHn>|9F|I7*_4)7>-|;_nL$mPQ z^#3pTpV)1l?>qjN_y_+p60fa8{UPn*ZZuv)_P^nOPl)MSoj(e4wvyG~@jsEj@xPLH z{15ok!QGDz<6lwNf8&4WL5Abx#bu)6e7;7Zx6qhM+$7eU(ZsXd)ka=4Za!4S7;hkaKj!mtqu;Hp(H@dbI~DRW{f2b*EcwG@NcDsV z1jA7RiH2Z0hO`rg_*0vRZi~B9a~i2<#!8zFNZzUyP}&MsEhjmeIzx4X9U$^Ftp#MA zQgp&`;z$X@{dx<^pDamyR(C|}F$7vafqp)~yn<3bIA01+&!AEI?$Jsd#BPCp)%5A; z$_1-G$1>fZL{taG6G>^<>X4>uQ-CNA`KKLToFI8oy|G}NAeIsD(`5@%Ug?g!QGPw9 zDmD%^r>dr6EsWSaS;Xy0teis_LJtE{T-CCe3i`0BRrxT)mywIh>BHNNH{gXvJd?(L zm12!#7ZXqs4B+J+(3!J8X2BT&%RJwTlC zMD_t+$^s+ZUgvA0AXnQ87^PDck_r@UxB<7dp-(V_V)ytj{UX5vL<~0j$R@Pp9%OGb zrqgWI`Yw{;E~xGeG!mUpVeJ;A155_YS7+O&DHsEvM5|>nYc*<$1cHhXcfPpNqB^k9 zQ5DqT@j5@J@{S-2*WRjqCK)^VB-dlI6mX$a620e6M}x_;sx(g$@9uRwp^ajiL-F;? zs!Fr5;pdD)x+PB!E9F3zGH^9z#sh8~=*`cGbyh{e2e;_uQ6YnNt>nKAdPi^ip?%$H>Ql+;Z_lcJk#B#;DinAf0c(4D$@ zfri;nx>hX@*fF%)48xBdmi4;{x+%Icp3Z0BVm%RCMyBJ+6tN$Y4@Ifuzj9>y=PnsS zTSu8|KI@FNKtYMK7lTxR&cK%w)N7tnv|Na#3pk~++X*&opl)LEZtHK--DPMo*j~3O z^h|I#&f`Wk3h2)(^afsdlRHYW)tcy9wHWr$!Z6_V3X*?OhG=aiaqR_pK%Gi=D(mgY zEs!h3-%y_AXfL|f2=*WD?}Zt)pW3N8BAe@DrN-}3OZ`4ekBFW|N{ZA&Q!`WKfwL1JhyZVJ*xP}(`%wjRdlho8-vVeuG2)7U#GyMZbS3o`%0yCU)b?1#>)E4Je0GaCE2`2{7m zAE1ce!FX)R1vLjZ=_fi+0=L%W#Rzqi0-M%i4EpuXt{y6?v$r38L4r}Hbm zU-PsU2@{JBcFxR21GoyqpBVQnNK{AJyS7*qIsSfu=wu?hhqC(kV=)N|BkQPD4yxP& zvN?DaEUEfx%>oV9sKfVM(Uzz=Gv;&7r-bwGF2f>gwwqDo`*vV8Wj_gy%OvkL*pw6B z?%2;5)3p7CUF4)S^zL;_%MBVw&k|0@lj_sTLq)&|(Nl~Fbaf13@QVMI1nFw1iR_0} zW2Ya8C5-lVHzmI5KVtpFr_-G3EylQ(&D`U%{n28GiHAvtDA6obab|N+t=9P=38FBr zuK!?k1|Hw`HcEvw%+^ACd_JrtI?(7F>;L{o672qv1S8!(B*9m*yx#k6QNdQ#`)CiH z8&9~?d9uKDrP~ilP!9TC5_GK5*i*~3iIc|+?Dhz!vc(tf5=Bj!cWf%zF-@EAoB^j&TLrz^Eba8IjpGjo;n6h&I|N)9 zkl7lHNkM83T%s|>o9^3x-#(&qbIXgW$c~>vJ|iR(yK^~zdP7_Rw@vh?|F6J zn|Z! zw#EM4)dKIB3_jcupe%rro7C^W$5EFv`xHZD|G5$leimOOkml#WP2aB;sytvBa@)kE zCRYZEHAaYvA?9Q0noFLqigFxbnNDiPB*b#u#E7L0lqdY92TLeD6MDI!vV(aR8A0%WF@nn!Q27m+3Uvz`8!25HSCUbp&z;4;I*adcS^C^C zBGvEQB2o75ecACRTjY1vaF%O=vMy=FL!IHc>@$ZE zXYcmPP4|hdlq1w^qAX@AQVnaSogel#UcdDOHDqeZe8&_!fq#)#d~y=^35R%iX9Oko zgZMly8>RaBJ%b2^b9d_jE99qD9)%&-^~xQE`!eP?e8(j5#JU2ON}G)AYuK;W)_`pF zMZn!1{GF@J)22Rm7VqPe5AIBneg;DpU*pT~=!+0^S7K5C+>3Zdnh?XUg7yWt$!*|j zfkkCv-ST)-YiJ+XDU}C$q2>J+A|+xBC;Pg$5b>ni?9&uCs0)Qn ze?&0uZV=1o+a1%4|6v3b-WkE`#_y;c?~EX;vFk6xMKh#eFsE~$kY5y5CT@HrwZBBz z!YK*$p$b0{T48(sE(p0O9ot3MX=TqXK8nE>gODkPvs&pOtLl)wUVD0YyuQi_8jp-H zX>{YV`3J#fn7(u(J>Znvh8}9n%{gXs^T*|Hb z4@OXe=GF);^wIC}Fz%fZe5u`f@~Zrc5xlUqdOg3(eCdq(pNt@aBLz0&$0wkiDew`M9)FM7eOnPVUsd5IfvCo?4FT@vbc>{lft0r zf_NzpbLLHHl|VPL=#OD2(Y-I!k;5f05Uq~A?c#W!<-$jS~rO6J))!61enS9v&e zAd4B0Z)JRNmwle(dTs|mH6aOy-8Lz!;fUVV&3z!`3=t4dP|rhXqD7+wk%~dMt+}}J z(!=#qclPavO?zMYWK#{XWgx#o?_ST;RGNzv_0=g%kUVb~6t&Xx>V zt5rSsqz|vgtRc%rxS6j}iG$kY%hKZ7MtN(Ber!Kqfx~HxO%E{M*}nDpVPv>_mAZ)C zvzi0*lYj*)=^G_!w8G>ZHEXhEC-1rV-JVdKHnOx7J#*FTN5YjTHQD8T{&rl*k5h!Z z@|LVUn>Pd-?H0|lIjCRIej)`|!jU)L$E|@A`b32>=L-cK@2I_h^*iDy`uxY$YVG3Z zzHFq{2343ZjQU?mW|dV{7@>~`@ODdwZ)rIcGr_1<6(?DB5q8&2t(IPg$e0$g3KGfr z#5M(~Lb555HbFQf%C|(Q;MjsJ$U>wt#E)pNd6 z0ME#Ez>Al4w07p2H^Mt3sQ1nYhP^X_VH-~SOY(C_1h<7bhA2G*cJxeDd(|m|wE%OI&1mqZ@_|As&gh=|G2?>9 zD23duRJ>PH5hu~I3D2xIRZHdG2u&k!4KD22MUuU2+jiSByn8ghUKelZR}+Uj{nl1N zyTR;>g^D}xY>#05FVkg!?c~U<_5gw{!o|w9*ZSkL7s4Gv<^+IyM7|L~jODhMmEsy} zr2q9TU7p89;Eg*SOPAvz(f(JN>%Jv%V4mfJ!9C8e_=b!_FGuj?fsv{mY%qtQsoAl& zqsfv-?dH>S3h;$7!0X27hWm?h<2?(2VE2;MHFdw_YA;=3aq-dh6;O};%^|1SO0WAI-24W=LR2UIC{ps7 zyvV52i+JLgD9LENwsT8ya95Kgi|?GxeJo%*di(Wyzq`j+YB2gHJMednXsm?WY`0)U z+sgsUV9jB+izEZg9$)-WS@piMT{$lgpX>D*%gf+xzstkf_UUTvb)zAcukwkrm=cbv z9T(#kR9D(f@BO!=t;gx-S&`pP4lJ}NNbp;`{kK7l%7u$t{kw{b^q5 z_+HNZoY+q#m(eEqnd~>yL8W0%=hBseqHXT%BS-sc%5uu9lv?Tiie*9^VQ!k8cY-x# zBA9j}sYK(q-#J(-EYr1BZQdkM1_D-af(gHCDJ_FlxA8SXf2WO76fy+3kpS_*DGGU< zU&lK1VvLUS3SP71>0iHwjZ*QZI0EPH{4eSh>)MIbChOb>@i2Tto|2T)R$W~}623o`M(0R< zK|*gDufZJ};lYBbF}uJ5q_tLH8d^bS~ zG2rLL)$YN8(@K`;RPi`=PP1%&j@no>S}EM`&V>8j=@4Sk30oEh;5wl110-+DTmg_W zU0*ge^nUHd>0JNi2)>1l=Vtv-O9$Z1Dmue0f^Mm>1Mc0fpEf-!pHTt#pAqs><|K`5 z5b=ZXOI3lbLl8dFygWQvCz!!6I$O4O?C6M)K#KLuVmLI@lXmV0zur@+8 z+Y43KR*0~0R$=5Xznh`&WOM^2ui=}AVzH30=2%E$(#4wM>SmA9HG&q^L>E?w28pFa zzIuM?AZJV}na8qghXD{jmQP%;H^Ts0FybyN9tU5G3zn_GhqPj0p@r2p?dL2vo(h=r z*vqXsImgvEUjQGBAZloOMtX@7MbiIZ1kv~Tgzeb>W&~T;+uvRu&)-Vh3m*ZPGCXfi zj9eK`EjTqZ&6Ypon5Z>-TRQ#S_O352YewiVj7y22>Q9yKLlD_dfkO;%msV9Jge=1M z3-(QiH1J`ZELvPzSKMWqW;SW*ui@o;5o0L=@`h{P8NrA!{}Hl)sxe_v53Lvs#29_b zwy0<`HuPBKEGctnxflj?V;9>M@?F`AMvc0qx*(P0^qQtN>uAI@!x1leSo30mD%AM^ zUz`V>n-S_Uda_BDxItpdnKDv1xy)s1vws-Dy+4egwr)t$A4c#b_GsAK{z!nznbK-V zBHZx57(pt&BpC<4s{dpJhu;~&qR1s{!K3E(WaGDr$P$=y{;e91OYDqu7xZ)&_A?~~ z?5~*2%ffqZnU{5}x0;u?O+SM3qQeLtLplU(!S@;8Rg_O)hO>JbqEi zrxtKb0JSwOFQ9OYM$%1s9%wIWalwMvk~vq$0;rk{F1x~p`e;7YVWlEXc(( z7jww-Dnx5!YiVH5}U zEJFI$x0k)i2wH&%-~X%7&L%U94NT5CmjDXFZ^;)kv4~?pHkH2Zy^D|BwjrMTUS#fK zl^Kw@SL-3$BL6hqir@kLyM_OrDwl;II{VuJUnij0P~_viI7Pv>(?rA8Fvu zVmc%v>O|H{S6|C^FI_5b2hMEH;v(+a9-I+jA|1rNH5yu($Zn7zyPOS~Zi*QefA#G26MRujSU9dA z$L?V-DvEAfoeG9M>CB1PQ_LeZiOGbYzf^s?WTeZpDAQlP5{C=f-JnYVjv_y8idQ;F z&sQs|U}~v*3ogxao-FKFc2pw-#m76jl-ud3B$qkaMfkDJC72CLkzom{s(zI7QnWHl zWhC+jie}s$TTtc539g>mKKagcdX=Ev9K!r;V62p^P)e9nxeB*q0k<%Ccs-f=pxp?zV~2`CInPAA!B%Sug~q&uv^c4Z z*g+wMsIP(rQfC9S(-2u@Y)>3RJGvx$9P`9;#26u%lMM@V?wm)h^(Z+vOyx^c-8Ga+ z#1g6n)C7AW*I>S3Q}i`$1LZnoRY8=t$f>7pq%9&o_qHMIN(>iHAhmDD@6Z+%|jkSu~ha zuEvu6^uEWM!YXHA}e_ ze7M{;l?KoT0r?OZKD_A87q3arNI>e_o88NzF`tuXB;T#p4Idw1^_mZ0I39eLIxtHy zc{cCC1JXK<-IhCTMaio}&#TWj=;iU&7(3U=3rO?0oju$QYCP|J4zT9G_iTL5wB~>C zyF2fV-cbMQI#SCAGsrKi+bY4Zg^eP(uoz^n?1f^XZPT`Ad&B~| z89ID=rf3@dlH*tvh^W-ReZd~HzG)B~gm)KH;L^hxW0H>Sc--SUwP4TbGPI72qjTBy zCCLiLgT*$5JSWkfWqTUq)_3XP813k))$ngfaAMAnbDgU7D$a=Ib?woA%_O;cI^N#z zp&tqwHc+bQ^4ge{q{F()pY=#y&R~_*2AU>#rp+npv_NuJa}sZgMWY~&6o=10D*#QP zkBQb4nI#q2F|ju1)1V8Vv|ya&S!*n&&?8J z>rf&X4ykV11~h-+aG`mGAQAi8{IrKe@-3BhjGjA|F^X#Qik5kr3O{(|Z{yZeQ>`MC z>L)&yOLdDJ2Q*;rtkE3kdg)bDVIVE+S>w77im*c5*{HE@oZAhP#tvLTI4%Vju|{ak zb=3y_1|QTH%6q;+@tHQbvh#KEpyaCPIoC=>9l7ydMFq%fj&>p+XTzZd;QhQVrzO~4&CG14Dl8w$SImLlswW%3?q2o}aLvA#e!Uq~`OvVh@3x@PyDd1kfU0SM zL4F3^Z=yH=@oo#wYmt1|f{Z#Jw%}W=h$F|m*PNl9Y1RBn!3(hROu)d>iFvum47O6a z6l|SZYlowFPvJgN7TF_TX|2>M`Rh%l!z17QJ^bFe*8v{)F2Fs0KkPT)rg?vp_|RB{ zp{=sV5erY4dGhfx(jrl#a|K|LYtc@EK~aDH5+-rcTe$SI z-dVx^8AAnIp}$zcn<=mM^umJkQ4DRudCHA8d6ek~ZvMboRu1X)78Zn70ZZ+~VG_de znI8JBkjeUp0U1^zpGjL8<$8r|lNNop4$Ilo@(D{{W|LtGC<@l}&fi>YfR!xjw_3WG z;gTCNbE$#YhH@gEz4{$itgwaidaL*xqw&NOh~G~c?WuDK#a0ay9l=plf$EN&=?F%Q zY`;Q{sF8I&L+s;6+1JfGf;PR5z$?8TIo{gu?OyC&o;PIHf8{^gSpy2KssN+cSzJ-- zCX47R%+}9*4u0+0=sW~+GtN!=AFg2fyDP}YyRc#vB;Bqw(x^UT9@~o^*7cOHR38uPufnv|R?YVU!q5fPAwi?SIJ z*tJOnQBIvkBw{7=5;<4-bGJS{GalYQR}Qm2u@8Ih|KgZNDG@mRMKXb!GZobt5{^^? zH6Dx^fjT>%&!ZN7&WB5%vy0kG0Fih9bSp5m3gcSIcLNXcy6E?+EO2i#)ih~Ml?h{+ zx9(33;=3%RmX#e?($93(7-T9cchQgc%6fu0zHawcbyFkF_qz zYbVV=oGrf|>hBv*0ySkO_mS4mpQ{I|!Wl;Rf4a*+f!yD+}3;qux^?s-Lq>IfT z&2HZ5uL&T(u2_n{lY|WWi%p5(`UtOK<0R$<%oq%bj{Wo(M@Px@*#@nC`W-l)o;2&t zl6d$t0hdJaG(K~0F5eXm zdLzPd{#qZ*HS^=%a_v3w^Q%y|Cm^Q3(<>RZ6QFsuSy}w{+A@@hkeNgI&{_=#xU)Mc z6TQB^N88MV)P_2n{GApMxyG-rU0$A)`qbu-EKe(PS0!*|MBLw7>6J)?L>$DzuC8Wt zlY3apkh3FeuoZkIEZH~?n;g|UY?EJcX*jVdTCi&or|^Z^7Mfhoq2U%1Z#-e-RP`v4hBcyW^p5p|>MMOQ;o$7{@8VqUcb@&k$E#L=2Ht2}HPKW9^5 zd>rTf2sbWj;3mxmNCyKM3`cR=mIO_wPB-U;FMe9=6y~2hJ2W2aFOhSu%=HZ#UssMR zo|Z73j(N|@pO%(V)5TMn+V{LKlC%|Uhi&yCGq^*E8tZtDExd5*pI)y}=F`$aDte~g zK7*{PoKyW6Kg{B$rnm&dzVb9 zD!=iKUM4% z=~k%hQn@DQIE|g(B=^tg?W!v z_v)dQ5wFgT0`d*2*X%oQj3LKw?EqdP8_XFGiit(3Vutfs8>r9R)}b|8vu8EiN}feS z{P;ig5#BPaQ*bGh+{Ia+BgY#ckfz-f+BZ62n2>67^OJfv^h-&TEc)^cF2!`GRx&s< zBPIt@K5J)r8pu`C@y)g0A)GnnnDSd;5y&JeB3MwXE?_Rnu-WG*@GEg}v0W`$9MuwG zp1G*4SelDlBX68%vLd}Wc$=^KO_IladjK<-@2^p$JipjKGMHfS(iks2u`ns#+U z?dFoBh7;f~RWOx|W=7CchiRQn!v%PPGw#PNW+mQYVZfc37SAyCGdFFWO!%{PPt$xv zfmbxi&glOKRj?31Wg`E5_v-mu$H^25!>@%r-5}5I#0;3Zf<)`|R3ER{1TF#Y&cEPBImkO&74TI5m-1*k>&ET-Ba{xNcbgD}RzBjrCu4b*0m zzojx@O9fBG?MdcS_bu=UZh|nS?|FfPT$_nw;t!4-E%_iV;t-7V`HHs zB)Ri;aPmCaxLz4if}0;@X_xtU-{!0I03v-$!<-7uO;mt;<*GqGO_EDq8SRn~8t((n z59gPI@=?nwJUpvgJc$P)79o?Z&*?TYGwAzUOZFc7OIp|r#MuLU^+HN#N1coZzY$E( zCGKb=?7rynq+g|mkZo3Wc5=5ry*=HSQQ{pFrfbvqF>3y&EBN@~3f_O=_pFK7X0UaT4B|y`a;%2`U=6|??j0i=J3~5Y0iT}8Qu>W!e9gk*%_RKq! zsDvC^k9o$4{>v2h4e&Xt5+LJ7dp^+#KJ37SKOBw%0B}8=HZe1OYI-olb_#^4T*P}lwa72CCXlawFHyEjwQX1{ihOL z*7k24_5Cb9W4z9se7&X*E=j6)64ySUQ&S0FByh#&k^c*o?fEvApdT#aF;1apk9TSN zJmy2K@B0xFZV_zRV2O@@sQyQf+F~C$t=GG#bl=9$H8FJZb)Wxu2UIkek-3|cAJR4? zZeQ<>L?rsaZ_rr$-2$KEPY+skWtCy*TvHGLITKcC6S|uwrjS7){zV3 zD-?5!YNACEuXP_;-E_PB^SbGOd^^Xvuvji@`(W(et|PtDW(X$&qY+0au%i9BKYg)} z-AJ($LuwQC2-5=H%^yDpc*!!y&}zwQzx(%*-s5K67YCZz z`3Y5|xzX$dkFyi0=xdJFriq8*JHV4borq;nniKgzr;WJ13m39;ZhTMKuWEKyPbSE> zp>xY;HTB}*$Z+@Pgu-pR>8>O!Rbj|tC}unxW^f8Y^Gn z%-p?VlOQXT1Bg8rofXfDPpDgcB|*H5<4!e@P1$i=t zI|CM~6SP1%k2HyzqHW6($#m@A+B%iMM}jW*CY6N5J^RU_Q7t5}iDz}UOLKjkJ19yBs2*u7zFS^ewJ(Bac zFuJ5JeOhgs54_k<S@m&i2a?u1e5lKNTySCk|m0Oa-5ex9|XP?4Y@;YT4EECJ78hRwO3`CHO zvI=!xA8%)@lHHZa3>QNftmde=w{z+FNc0ux1-t>7Y~^t}c_doNon6}GJ1xh&+f_k) zxZ?Fj_5{^UnYm^w<746W1>dgkR4)(w1+g%Z=^*v)|NbepRDzJXCX#9awvjOYG z$vc)@N)2AdH?P{#QmRbpWN%o63SKT+37KGLoxH84&+tIRiH!$4bk!Bm%JYo%vN0G! zO4QfaAb^1=8Kv|3bt`d{e*E2u{R_enlyf&hn*dg>6xTJmIGYCa_UUsDB`Qu%l4vSM z_Am`ymb-ML{nxb487g!TaCV{RWwY}#N-i0HeECAQUcDe_C_FO32$6c%J-kMW`Hnvq zQ%RKM=9yegg&qoTVurHJ{wo*VSs#*vuCK%Gx+R%+$c^1ayLZ%%n2oh%Tn-;hkQhPe z51ikXH6EhY&(47!zSc7sUO<80Qy!w=p>Xcsdf`@Q_P4Sx)Cp+T<$7SJ2R-@rYMkN+ zChg@ZTBVIR^f=#E{zJ<&y*ksU9ZbDn1Y>IZbb7* z=0id2+$0LkB0lPm})mtVE6$7@X>H2rh-r9CW&wF zo)rK!!85PvY756O4~H|&+axX*yX}9eJ;>=~hW_Ahs<%f5MzlOIvBpxmq>I~|@cx9N zX;^6q<(plW4!PHS(!^xd(rG&;3?V|vWRwg0!vho>^5mK6myq;rs({RK(M5Ftty8w} z=2qwz{V^@Xg~c;=8u1p5>;A?JA5$w!m9>hGi!O6pV7Wlh^_KjQ_^j# z(LKg`w;G;f$p}uQepmm5Ge0F&I5~M*@}2I}FjW=ROs~|8tR(Wf;_lQXQ8U~d zgv|8(EI?K&9L=!6#IvA6&l41?z;p8A4kWva3NICRC~O=x>ME9I0abHM;6&Q>kiIFT zhPf)~$u(+l63mq|rjFv4$6b)Pm5x__p(;{Jp}mZs56+i}8O@hmNH=cDtSk)|01d4K zdgy+>Jnm!82#McWM4Yy&}61ORv`HW!)Xd<($rO+Apzb_(0bhYj3 zg5C1p%}E0V8t53F+i6M{-@$OQvv_DjGJ2#=%4(Z*7I5`*=)Di952oOC))G zYzQWyZUwr9%tNzG*GYIfG$)~jsvecD+DaVUFC(}n&T4m5tgaYtB>KXLVb6`o<3Q@kr-r&(XLDBUZ1 zCAPTorl)K&!Mfcxc@K}}oRXCDZ$^y`tAUTORCFq`;7_B?pEI$6?xOyN8_}nM!U zz^{8gX@}`Kx-Go|%)IevR98p>6+PY)onL16+<|(M`jKnwS-v2H0<aCf~9IMb=2yexS$lL1hX|ztlYC9EEEqd|f;A z@u9OE*cr(M6E&VrY3&|QuWToBFsKkbwr(qdm_63w4MTX1*Lbga&d+rGgNKDPf7732 zwnBAY!NbjHfeMtu{hP1`tN7+Vs-4J#Jp~HW*Ij8z6s46;t{K#%O=`?sS(gj%XNJ{R zLHtGfQgA!f5sWOm_b6c+>6wr%Ma^n^M_cY;>z2P)Q;I>w^iy0T8`P9$p-*_qvBqf2 zW-si0SCF(diX>}=!3LSQKBad9{uInn-EEGeQ&zARnHWqQhq!n2*Dh7&aQmW7Yq2bY zyI2u+G1ZhZbV0BU`F$8f65rwB-VUa)wI9X>$5tN^%2h}(zFlZ$Mj!yH!ImG%BU=%j zGK}m{fxR=Qc~xFFHu&NfB{S0)eciZUsh?x_lxKiWu_80WcJE@_6`YZC+PDJrAN9az zF?sD9M}w35T9G9e7y0uNerv^W6%EtmKJjUT(H@;s>Zoq2(8=XRWamlai2Ig+-sYf1Ha3AM<)+hSba`a`_%n#6fIH;CcF;_nLvqV(O z14XNuCKE<@e&xR0lV>xc0~f!Qbir0-q8!|lfmV<(mV5gSZ*U5yJRcL`Ql{jC?Vv-^ z9{r+gh!T%Fl__e|>C?Tq8^NRhef#V%g^kNMNdJ|zJzk^K4-+DTf- zW61=D1_&=fk^mRE%HBNOH{fY={J$<$UO9h2Bm@{Og{5GYYGV}a5$Xt0P&tiai({WWv7|ae(nX~6xDgqDp-O6d@H0on?hs6 zOL5V>U1`69bZc7~$5~Z2UBruzq@0r)X#S)5~^J7R6gN-qL(#m&mA-aZa zQK+Axv(&OcGwx@I-Z}nBlg8UFKKO;DY zC$t6=&DL;tNS86kg?pZ!w?a$oVLyS#8{#L^(eo}VQ4|~p-ZV2HI=^o;6z$LXqHOdV zMV~t+d@ap7^47ZJtheP9fsx+n@p}I4TIqiyeV55scISx6&Co;Z~{Kfe_54) z&N4R)FtRg|;5w*8s7UXD_1V0gk6~`bfiNHSC9m9;PJGTsV&Xdt8L@Hw4#8mh5f{zq*+ivFU?Yfg00BKn>` z*xE5fBU}stZVpKjujv&hz!)ta*X~mYi_QgN5XGwerVM zoTX&h-V@jHH2MoAG$i?lbe@^>bH0JT);{Y&a6^4&S5lt#owDYh6e=vNL@a`Ex1?P} zo!&b0%UwZNMLF4Ex=v3alt5EH!_^a76G3=Yp;d8dY_o_x2x&P)==do<*VWQhv{qNalIB| zP;yv|HQoXr1C8mTgJxqnu-PT&firseVMAb4%gBA-&1lM5%5|(|O!BwTCz}O$tGx!n z#BaT}lss|{Q<@DqvX~l6K%&OG?jyp~WzwD}eE0_IiXyd-_-6mz>P zu2eX)C@Jb_LzS%(CPDH`ZqT-wyG&O?%El~IO&!C*GXLJs~i^l$Bn;84<3PP zYqgYI!~*|KTMi*^ehdE4+yD+m1aru~OOLWlxY-Vr_IhDi(#j-(h)@ zA(j(c%xegrY)!8|P{#V|JKEt+7C^4_A@N*bT^ufN(2{Atk&(1BWt_!*hXSAPXZQP9 zT>2zVk+Gg)N8)X=DoKXDHNgKiSAx?7Z2Nsq3_CTs)SjZp3R%pit`u6LOLJRi`>e^X z7;J6e9#L4)DPmPR$M34I&0}^H7t5(*z(QV^_lrxDcL&`oNBO9^(XCnDVvf#KSWR8k zOkDMNMw#Y_^ED*&@}t|5sQhF72QmAdonpl0MJ`mcQYz=T4sYgNTziH#u|@@I5&!4j zscc-5l2A?kwYzY2BOOE*g3zGn1@#wHTU8?c1C+HoTzy;9niFX1qSW64+V3Eh@@`wD z$o;oLH#(|@<*#JV!>wd+`+4%WI#1Q2HkXvldnn7~F7g;i_HQ>)H$mtk>Xf1g;#w%W zUJ_ejskz9kX}0YMq$+)!nF2iR6(G~0HtM!X^0@-C69}~B)J`1U>oK@afRE<;N}JHS z{z+aI0dGbXpPCe|0L+k0k=$Al!F>&Tq@`iy=cTl{p)H@3q7%Dm7#x^ee`LI!*;S3o zvpkk}1G@9i;ng!quTue~I0N zU%%qI_+xEWLu9*(N?&*!S<64z{8s(0HC@xiS84A+&u9O}nf*Q6JR>ONGy-4FPm#`E zP~cweL{wmE!eHwcU!0M*;ajk+zAI*%C_CgVViVWcrkxJHB0B>`8Z4YrAw3$R`z>{z zLdJNQw?h1S+8#!U(=BmRA_)j27uKHMv!uiY^m7+T0cTWe@sqMiA&>grres>*hIX}% z{nD`J=^nqMBkxvV=zFs&2dRlsOcKbqAYbS^A2NIXS!w^a=1F)-sg0{-Oww7Qh|Jm* z&2?N-@MFv8E1UNX3G+PPV)ri_&KwJA=REf@P7Eh&sP>SX6STz%90v;vgAqs#dx`ak agY}>P{O3RaZ~hkm0RR6w*%J}~ECT>#h#h?Z