From 4ba111859495bcc4ddf642c5483aed7846f826c4 Mon Sep 17 00:00:00 2001 From: kelseiv <47797004+kelseiv@users.noreply.github.com> Date: Mon, 6 Jun 2022 18:04:35 -0700 Subject: [PATCH 01/13] hotfix (#4097) * hotfix * Update content/enterprise_influxdb/v1.9/about-the-project/release-notes-changelog.md --- .../v1.9/about-the-project/release-notes-changelog.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/enterprise_influxdb/v1.9/about-the-project/release-notes-changelog.md b/content/enterprise_influxdb/v1.9/about-the-project/release-notes-changelog.md index ef1d71d57..758b6f325 100644 --- a/content/enterprise_influxdb/v1.9/about-the-project/release-notes-changelog.md +++ b/content/enterprise_influxdb/v1.9/about-the-project/release-notes-changelog.md @@ -9,8 +9,13 @@ menu: parent: About the project --- -## 1.9.7 [2022-05-26] +## 1.9.7 [2022-06-06] +{{% warn %}} +An edge case regression was introduced into this version that may cause a constant build-up of hinted handoff if writes are rejected due to malformed requests. We're reverting back to InfluxDB Enterprise 1.9.6 as the official stable version. If you experience write errors and hinted hand-off growth, we recommend reverting back to 1.9.6 or upgrading to 1.9.8 when released. +{{% /warn %}} + + ## 1.9.6 [2022-02-16] From 3c679c704afadb94c1eaeb87a9268bb9d7629e4c Mon Sep 17 00:00:00 2001 From: lwandzura <51929958+lwandzura@users.noreply.github.com> Date: Tue, 7 Jun 2022 10:08:55 -0500 Subject: [PATCH 02/13] corrected the default, removed incorrect info (#4099) --- .../v1.9/administration/configure/config-data-nodes.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/enterprise_influxdb/v1.9/administration/configure/config-data-nodes.md b/content/enterprise_influxdb/v1.9/administration/configure/config-data-nodes.md index 1ed1d8fd7..311fb123a 100644 --- a/content/enterprise_influxdb/v1.9/administration/configure/config-data-nodes.md +++ b/content/enterprise_influxdb/v1.9/administration/configure/config-data-nodes.md @@ -742,11 +742,9 @@ Environment variable: `INFLUXDB_HINTED_HANDOFF_RETRY_INTERVAL` #### `retry-max-interval` -Default is `"10s"`. +Default is `"200s"`. The maximum interval after which the hinted handoff retries a write after the write fails. -The `retry-max-interval` option is no longer in use and will be removed from the configuration file in a future release. -Changing the `retry-max-interval` setting has no effect on your cluster. Environment variable: `INFLUXDB_HINTED_HANDOFF_RETRY_MAX_INTERVAL` From fa549eeb5200ba9096be18215fedceeff0965b25 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 7 Jun 2022 10:25:51 -0600 Subject: [PATCH 03/13] hotfix: fix syntax error in task example, closes #4066 --- content/influxdb/v2.0/reference/cli/influx/task/create.md | 2 +- content/influxdb/v2.0/reference/cli/influx/task/update.md | 2 +- content/influxdb/v2.1/reference/cli/influx/task/create.md | 2 +- content/influxdb/v2.1/reference/cli/influx/task/update.md | 2 +- content/influxdb/v2.2/reference/cli/influx/task/create.md | 2 +- content/influxdb/v2.2/reference/cli/influx/task/update.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/influxdb/v2.0/reference/cli/influx/task/create.md b/content/influxdb/v2.0/reference/cli/influx/task/create.md index b50ebeea4..0286fe155 100644 --- a/content/influxdb/v2.0/reference/cli/influx/task/create.md +++ b/content/influxdb/v2.0/reference/cli/influx/task/create.md @@ -45,7 +45,7 @@ export FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' diff --git a/content/influxdb/v2.0/reference/cli/influx/task/update.md b/content/influxdb/v2.0/reference/cli/influx/task/update.md index 8ba6d5216..22a654cf8 100644 --- a/content/influxdb/v2.0/reference/cli/influx/task/update.md +++ b/content/influxdb/v2.0/reference/cli/influx/task/update.md @@ -50,7 +50,7 @@ export UPDATED_FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' diff --git a/content/influxdb/v2.1/reference/cli/influx/task/create.md b/content/influxdb/v2.1/reference/cli/influx/task/create.md index 3d1e9bdac..e01306f18 100644 --- a/content/influxdb/v2.1/reference/cli/influx/task/create.md +++ b/content/influxdb/v2.1/reference/cli/influx/task/create.md @@ -45,7 +45,7 @@ export FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' diff --git a/content/influxdb/v2.1/reference/cli/influx/task/update.md b/content/influxdb/v2.1/reference/cli/influx/task/update.md index ab6b1807c..44b9fbd7c 100644 --- a/content/influxdb/v2.1/reference/cli/influx/task/update.md +++ b/content/influxdb/v2.1/reference/cli/influx/task/update.md @@ -50,7 +50,7 @@ export UPDATED_FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' diff --git a/content/influxdb/v2.2/reference/cli/influx/task/create.md b/content/influxdb/v2.2/reference/cli/influx/task/create.md index e1822fa84..be8c7d2a8 100644 --- a/content/influxdb/v2.2/reference/cli/influx/task/create.md +++ b/content/influxdb/v2.2/reference/cli/influx/task/create.md @@ -45,7 +45,7 @@ export FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' diff --git a/content/influxdb/v2.2/reference/cli/influx/task/update.md b/content/influxdb/v2.2/reference/cli/influx/task/update.md index 682b9dcdb..e47e261a7 100644 --- a/content/influxdb/v2.2/reference/cli/influx/task/update.md +++ b/content/influxdb/v2.2/reference/cli/influx/task/update.md @@ -50,7 +50,7 @@ export UPDATED_FLUX_TASK=' from(bucket: "example-bucket") |> range(start: -task.every) - |> filter(fn: (r) => (r._measurement == "m") + |> filter(fn: (r) => r._measurement == "m") |> aggregateWindow(every: 1h, fn: mean) |> to(bucket: "default-ds-1d", org: "my-org") ' From 0f3ef0d9ca8f4eac0d8ba950e5ef94b7cdbe71c6 Mon Sep 17 00:00:00 2001 From: lwandzura <51929958+lwandzura@users.noreply.github.com> Date: Wed, 8 Jun 2022 15:51:12 -0500 Subject: [PATCH 04/13] comment out passive node until 1.9.8 (#4106) * comment out passive node until 1.9.8 * one more Co-authored-by: Kelly --- content/enterprise_influxdb/v1.9/concepts/glossary.md | 4 ++-- .../v1.9/features/clustering-features.md | 4 ++-- content/enterprise_influxdb/v1.9/tools/influxd-ctl.md | 11 ++++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/content/enterprise_influxdb/v1.9/concepts/glossary.md b/content/enterprise_influxdb/v1.9/concepts/glossary.md index b63f54818..cd7d2e5da 100644 --- a/content/enterprise_influxdb/v1.9/concepts/glossary.md +++ b/content/enterprise_influxdb/v1.9/concepts/glossary.md @@ -181,10 +181,10 @@ Related entries: [server](#server) The local server's nanosecond timestamp. -## passive node (experimental) + diff --git a/content/enterprise_influxdb/v1.9/tools/influxd-ctl.md b/content/enterprise_influxdb/v1.9/tools/influxd-ctl.md index dbeccf681..069edfef4 100644 --- a/content/enterprise_influxdb/v1.9/tools/influxd-ctl.md +++ b/content/enterprise_influxdb/v1.9/tools/influxd-ctl.md @@ -169,8 +169,8 @@ Resources: [Installation](/enterprise_influxdb/v1.9/installation/data_node_insta Optional arguments are in brackets. -##### `[ -p ]` -Add a passive node to an Enterprise cluster. + ### Examples @@ -196,12 +196,12 @@ $ influxd-ctl -bind cluster-meta-node-01:8091 add-data cluster-data-node:8088 Added data node 3 at cluster-data-node:8088 ``` -###### Add a passive node to a cluster + ### `add-meta` @@ -1097,7 +1097,7 @@ cluster-node-01:8091 1.9.x-c1.9.x {} cluster-node-02:8091 1.9.x-c1.9.x {} cluster-node-03:8091 1.9.x-c1.9.x {} ``` -##### Show active and passive data nodes in a cluster + ### `show-shards` From 85fdbc439fadec852d1a06f65d953ddb5f6e0a82 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 8 Jun 2022 17:02:19 -0600 Subject: [PATCH 05/13] InfluxDB 1.8 backup/restore revamp (#4095) * WIP 1.x backup/restore revamp * WIP backup and restore revamp * WIP backup restore refactor * WIP backup and restore rework * added code-callout shortcode * finished out backup/restore restructure --- CONTRIBUTING.md | 13 + assets/styles/layouts/article/_code.scss | 2 +- .../layouts/article/_html-diagrams.scss | 4 +- assets/styles/layouts/article/_lists.scss | 2 + .../v1.9/administration/backup-and-restore.md | 12 +- .../influxdb/cloud/organizations/view-orgs.md | 8 +- content/influxdb/cloud/reference/regions.md | 9 +- .../cloud/visualize-data/dashboards/_index.md | 8 +- .../v1.8/administration/backup_and_restore.md | 947 +++++++++++------- .../influxdb/v2.0/organizations/view-orgs.md | 8 +- .../v2.0/visualize-data/dashboards/_index.md | 8 +- .../influxdb/v2.1/organizations/view-orgs.md | 8 +- .../v2.1/visualize-data/dashboards/_index.md | 8 +- .../influxdb/v2.2/organizations/view-orgs.md | 9 +- .../v2.2/visualize-data/dashboards/_index.md | 8 +- layouts/shortcodes/code-callout.html | 4 + layouts/shortcodes/latest-patch.html | 4 +- layouts/shortcodes/telegraf/plugins.html | 4 +- 18 files changed, 687 insertions(+), 379 deletions(-) create mode 100644 layouts/shortcodes/code-callout.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc7ae1118..04a4ae736 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1114,6 +1114,19 @@ Use the `{{< caps >}}` shortcode to format text to match those buttons. Click {{< caps >}}Add Data{{< /caps >}} ``` +#### Code callouts +Use the `{{< code-callout >}}` shortcode to highlight and emphasize a specific +piece of code in a code block. Provide the string to highlight in the code block. +Include a syntax for the codeblock to properly style the called out code. + +~~~md +{{< code-callout "03a2bbf46249a000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} +~~~ + #### InfluxDB University banners Use the `{{< influxdbu >}}` shortcode to add an InfluxDB University banner that points to the InfluxDB University site or a specific course. diff --git a/assets/styles/layouts/article/_code.scss b/assets/styles/layouts/article/_code.scss index 8bfd7b09c..3cdb58fd5 100644 --- a/assets/styles/layouts/article/_code.scss +++ b/assets/styles/layouts/article/_code.scss @@ -64,9 +64,9 @@ pre { border-radius: $radius; overflow-x: scroll; overflow-y: hidden; + font-size: 1rem; code { padding: 0; - font-size: 1rem; line-height: 1.7rem; white-space: pre; } diff --git a/assets/styles/layouts/article/_html-diagrams.scss b/assets/styles/layouts/article/_html-diagrams.scss index 824bb43e9..34bf6fd47 100644 --- a/assets/styles/layouts/article/_html-diagrams.scss +++ b/assets/styles/layouts/article/_html-diagrams.scss @@ -15,7 +15,8 @@ li { position: relative; - margin: 0; + margin: 0 0 0 -1.45rem; + padding-left: 1.45rem; line-height: 2.5rem; border-left: 1px solid $article-code; &:before { @@ -24,6 +25,7 @@ width: 1rem; height: .25rem; margin-right: .55rem; + margin-left: -1.45rem; border-top: 1px solid $article-code; } &:last-child { diff --git a/assets/styles/layouts/article/_lists.scss b/assets/styles/layouts/article/_lists.scss index 6e2528b8a..5f9c9129b 100644 --- a/assets/styles/layouts/article/_lists.scss +++ b/assets/styles/layouts/article/_lists.scss @@ -3,6 +3,8 @@ ol, ul { padding-left: 1.6rem; margin: 1rem 0 1.5rem 0; + + ol, ul {margin: 0;} } ul { diff --git a/content/enterprise_influxdb/v1.9/administration/backup-and-restore.md b/content/enterprise_influxdb/v1.9/administration/backup-and-restore.md index 8d2d139d4..0428cd4a6 100644 --- a/content/enterprise_influxdb/v1.9/administration/backup-and-restore.md +++ b/content/enterprise_influxdb/v1.9/administration/backup-and-restore.md @@ -27,10 +27,12 @@ Depending on the volume of data to be protected and your application requirement - [Backup and restore utilities](#backup-and-restore-utilities) — For most applications - [Exporting and importing data](#exporting-and-importing-data) — For large datasets -> **Note:** Use the [`backup` and `restore` utilities (InfluxDB OSS 1.5 and later)](/enterprise_influxdb/v1.9/administration/backup-and-restore/) to: -> -> - Restore InfluxDB Enterprise backup files to InfluxDB OSS instances. -> - Back up InfluxDB OSS data that can be restored in InfluxDB Enterprise clusters. +{{% note %}} +Use the [`backup` and `restore` utilities (InfluxDB OSS 1.5 and later)](/enterprise_influxdb/v1.9/administration/backup-and-restore/) to: + +- Restore InfluxDB Enterprise backup files to InfluxDB OSS instances. +- Back up InfluxDB OSS data that can be restored in InfluxDB Enterprise clusters. +{{% /note %}} ## Backup and restore utilities @@ -40,7 +42,7 @@ Most InfluxDB Enterprise applications can use the backup and restore utilities. Use the `backup` and `restore` utilities to back up and restore between `influxd` instances with the same versions or with only minor version differences. -For example, you can backup from {{< latest-patch version="1.8" >}} and restore on {{< latest-patch >}}. +For example, you can backup from {{< latest-patch minorVersionOffset=-1 >}} and restore on {{< latest-patch >}}. ### Backup utility diff --git a/content/influxdb/cloud/organizations/view-orgs.md b/content/influxdb/cloud/organizations/view-orgs.md index 3134f3609..7c94364b5 100644 --- a/content/influxdb/cloud/organizations/view-orgs.md +++ b/content/influxdb/cloud/organizations/view-orgs.md @@ -33,9 +33,11 @@ Use the InfluxDB UI or `influx` CLI to view your organization ID. After logging in to the InfluxDB UI, your organization ID appears in the URL. -
-https://cloud2.influxdata.com/orgs/03a2bbf46249a000/...
-
+{{< code-callout "03a2bbf46249a000" >}} +```sh +https://cloud2.influxdata.com/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} ### Organization ID in the CLI diff --git a/content/influxdb/cloud/reference/regions.md b/content/influxdb/cloud/reference/regions.md index 5049dc568..5c2932b18 100644 --- a/content/influxdb/cloud/reference/regions.md +++ b/content/influxdb/cloud/reference/regions.md @@ -26,9 +26,12 @@ To find your cluster URL, [log in to your InfluxDB Cloud organization](https://c and review your organization URL. The first subdomain identifies your InfluxDB Cloud cluster. For example: -
-https://us-west-2-1.aws.cloud2.influxdata.com/orgs/03a2bbf46249a000/...
-
+{{< code-callout "us-west-2-1" >}} +```sh +https://us-west-2-1.aws.cloud2.influxdata.com/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} + {{% /note %}} {{< cloud_regions >}} diff --git a/content/influxdb/cloud/visualize-data/dashboards/_index.md b/content/influxdb/cloud/visualize-data/dashboards/_index.md index aae075528..a06dd2f76 100644 --- a/content/influxdb/cloud/visualize-data/dashboards/_index.md +++ b/content/influxdb/cloud/visualize-data/dashboards/_index.md @@ -22,9 +22,11 @@ Use the InfluxDB UI or `influx` CLI to view your dashboard ID. When viewing a dashboard in the InfluxDB UI, your dashboard ID appears in the URL. -
-https://cloud2.influxdata.com/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/...
-
+{{< code-callout "04b6b15034cc000" >}} +```sh +https://cloud2.influxdata.com/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/... +``` +{{< /code-callout >}} ### Dashboard ID in the CLI Use [`influx dashboards`](/influxdb/cloud/reference/cli/influx/dashboards/) to view a list of dashboards and IDs. diff --git a/content/influxdb/v1.8/administration/backup_and_restore.md b/content/influxdb/v1.8/administration/backup_and_restore.md index 542f7306b..dad545509 100644 --- a/content/influxdb/v1.8/administration/backup_and_restore.md +++ b/content/influxdb/v1.8/administration/backup_and_restore.md @@ -1,5 +1,6 @@ --- -title: Back up and restore InfluxDB OSS +title: Back up and restore data +seotitle: Back up and restore data in InfluxDB v1.8 description: > To prevent unexpected data loss, back up and restore InfluxDB OSS instances. aliases: @@ -12,392 +13,656 @@ menu: v2: /influxdb/v2.0/backup-restore/ --- -## Overview +Use the InfluxDB {{< current-version >}} `backup` and `restore` utilities +to prevent unexpected data loss and preserve the ability to restore data if it +ever is lost. +These utilities let you: -The InfluxDB OSS `backup` utility provides: +- Back up and restore multiple databases at a time. +- Back up specific time ranges. +- Import data from [InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/) clusters. +- Create backup files compatible with InfluxDB Enterprise. -* Option to run backup and restore functions on online (live) databases. -* Backup and restore functions for single or multiple databases, along with optional timestamp filtering. -* Data can be imported from [InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/) clusters -* Backup files that can be imported into an InfluxDB Enterprise database. +{{% note %}} +#### InfluxDB Enterprise users +See [Back up and restore in InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/administration/backup-and-restore/). +{{% /note %}} -> **InfluxDB Enterprise users:** See [Backing up and restoring in InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/administration/backup-and-restore/). +- [Backup formats](#backup-formats) + - [Specify your backup format](#specify-your-backup-format) + - [Determine your backup’s format](#determine-your-backups-format) +- [Backup and restore requirements](#backup-and-restore-requirements) +- [Important notes](#important-notes) + - [Time-based backups](#time-based-backups) +- [Back up data](#back-up-data) + - [Backup examples (portable format)](?t=Portable+format#backup-examples) + - [Backup examples (legacy format)](?t=Legacy+format#legacy-backup-examples) +- [Restore data](#restore-data) + - [Restore examples (portable format)](#restore-examples) + - [Online restore examples (legacy format)](?t=Legacy+format#online-legacy-restore) + - [Offline restore examples (legacy format)](?t=Legacy+format#offline-legacy-restore) + - [Restore data to an existing database](#restore-data-to-an-existing-database) +- [Configure backup and restore services](#configure-backup-and-restore-services) -> ***Note:*** Prior to InfluxDB OSS 1.5, the `backup` utility created backup file formats incompatible with InfluxDB Enterprise. This legacy format is still supported in the new `backup` utility as input for the new *online* restore function. The *offline* backup and restore utilities in InfluxDB OSS versions 1.4 and earlier are deprecated, but are documented below in [Backward compatible offline backup and restore](#backward-compatible-offline-backup-and-restore-legacy-format). +## Backup formats +The InfluxDB `backup` utility outputs data backups in one of two formats: **legacy** or **portable**. +Each format provides different functionality and support for other versions of InfluxDB. +The major difference between the formats is that the legacy format can only +be used with InfluxDB OSS 1.x. The portable format is "portable" between +InfluxDB 1.5–{{< current-version >}} and InfluxDB Enterprise. -## Online backup and restore (for InfluxDB OSS) +| Backup functionality | Legacy format | Portable format | +| :------------------------------------------------------ | :------------------: | :------------------: | +| Back up single databases | {{< icon "check" >}} | {{< icon "check" >}} | +| Back up multiple databases | | {{< icon "check" >}} | +| Back up single retention polices | {{< icon "check" >}} | {{< icon "check" >}} | +| Back up multiple retention policies | {{< icon "check" >}} | {{< icon "check" >}} | +| Back up specific time ranges | {{< icon "check" >}} | {{< icon "check" >}} | +| Back up remote databases | {{< icon "check" >}} | {{< icon "check" >}} | +| Restore to **InfluxDB OSS 1.0–1.4** | {{< icon "check" >}} | | +| Restore to **InfluxDB OSS 1.5–{{< current-version >}}** | {{< icon "check" >}} | {{< icon "check" >}} | +| Restore to **InfluxDB Enterprise** | | {{< icon "check" >}} | -Use the `backup` and `restore` utilities to back up and restore between `influxd` -instances with the same versions or with only minor version differences. -For example, you can back up from {{< latest-patch version="1.7" >}} and restore on {{< latest-patch >}}. +### Specify your backup format +By default, the `backup` and `restore` utilities create and restore backups in +the legacy format. +To create or restore from a backup or in the portable format, include the +`-portable` flag with your backup command. -### Configuring remote connections - -The online backup and restore processes execute over a TCP connection to the database. - -**To enable the port for the backup and restore service:** - -1. At the root level of the InfluxDB config file (`influxdb.conf`), uncomment the [`bind-address` configuration setting](/influxdb/v1.8/administration/config#bind-address-127-0-0-1-8088) on the remote node. - -2. Update the `bind-address` value to `:8088` - -3. Provide the IP address and port to the `-host` parameter when you run commands. - -**Example** +{{< code-callout "-portable" >}} +```sh +# Create a backup in the portable format +influxd backup -portable /path/to/backup-destination +# Restore from a portable backup +influxd restore -portable /path/to/backup-destination ``` -$ influxd backup -portable -database mydatabase -host :8088 /tmp/mysnapshot +{{< /code-callout >}} + +{{% note %}} +#### We recommend the portable format + +We recommend using the portable format unless you need to be able to restore +the backup to InfluxDB 1.4 or earlier. +{{% /note %}} + +### Determine your backup's format +Use the directory structure of the backup directory to determine the format of the backup. + +#### Portable format directory structure + +{{% filesystem-diagram %}} +- backup-directory/ + - 20060102T150405Z.meta + (InfluxDB metadata) + - 20060102T150405Z.s00.tar.gz + (InfluxDB time series data _(shard)_) + - 20060102T150405Z.s01.tar.gz + (InfluxDB time series data _(shard)_) + - 20060102T150405Z.manifest + (Backup manifest) +{{% /filesystem-diagram %}} + +#### Legacy format directory structure + +{{% filesystem-diagram %}} +- backup-directory/ + - meta.00 + (InfluxDB metadata) + - \.\.00000.00 + (InfluxDB time series data) + - \.\.00001.00 + (InfluxDB time series data) +{{% /filesystem-diagram %}} + +## Backup and restore requirements + +- The InfluxDB service (`influxd`) must be running _except when performing an + [offline legacy restore](?t=Legacy+format#offline-legacy-restore)_. +- Both the source and target InfluxDB instances must be the same InfluxDB version + or differ by only a minor version. + For example, you can back up data from InfluxDB {{< latest-patch minorVersionOffset=-1 >}} + and restore it to an InfluxDB {{< latest-patch >}} instance. + +## Important notes + +### Time-based backups +When executing a backup with `-start` or `-end` flags, InfluxDB backs up +shards, not individual points. +Each shard is annotated with starting and ending timestamps for the time +interval included in the shard. +If a shard contains any points in the specified time range, the entire shard +is included in the backup. + +Since most shards are highly compacted, extracting shards to inspect each point +would be highly inefficient and add a significant burden to the underlying system. + +When restoring data from a time-based backup, you are likely to see data outside +of the backed up time range. + +--- + +## Back up data + +Use the [`influxd backup` utility](/influxdb/v1.8/tools/influxd/backup/) to create +a backup of time series data and metadata stored in InfluxDB. + +{{% note %}} +`backup` ignores WAL files and in-memory cache data. +{{% /note %}} + +Provide the following for each [backup format](#backup-formats): + +{{< tabs-wrapper >}} +{{% tabs "small" %}} +[Portable format](#) +[Legacy format](#) +{{% /tabs %}} +{{% tab-content %}} + +- `-portable`: ({{< req >}}) Specifies the portable backup format +- `-host`: InfluxDB bind address _(Only required if creating a backup from a remote InfluxDB host)_ +- `-db`: Database name _(If no database name is specified, the command backs up all databases)_ +- `-rp`: Retention policy name + _(If no retention policy is specified, the command backs up all retention policies)_ +- `-shard`: Shard ID _(If no shard ID is specified, the command backs up all shards. Requires a retention policy.)_ +- `-start`: Start time _(If no start time is specified, the command backs up data from all time.)_ +- `-stop`: Stop time _(If no stop time is specified, the command backs up data to now.)_ +- ({{< req >}}) **Backup destination directory path** + +### Backup examples + +- [Back up all databases](#back-up-all-databases) +- [Back up all data from a remote InfluxDB instance](#back-up-all-data-from-a-remote-influxdb-instance) +- [Back up a specific time range](#back-up-a-specific-time-range) +- [Back up data from a specific time to now](#back-up-data-from-a-specific-time-to-now) +- [Back up a specific database](#back-up-a-specific-database) +- [Back up a specific retention policy](#back-up-a-specific-retention-policy) +- [Back up a specific shard](#back-up-a-specific-shard) + +#### Back up all databases +```sh +influxd backup -portable /path/to/backup-directory ``` -### `backup` - -`backup` generates an InfluxDB Enterprise-compatible format with filtering options to constrain the range of data points exported to the backup. `backup` creates and stores the following in a specified directory (filenames include UTC timestamp when created): - - - copy of metastore **on disk**: 20060102T150405Z.meta (includes usernames and passwords) - - copy of shard data **on disk**: 20060102T150405Z..tar.gz - - manifest (JSON file) describes collected backup data: 20060102T150405Z.manifest - ->**Note:** `backup` ignores WAL files and in-memory cache data. - -``` -influxd backup - [ -database ] - [ -portable ] - [ -host ] - [ -retention ] | [ -shard -retention ] - [ -start [ -end ] | -since ] - +#### Back up all data from a remote InfluxDB instance +```sh +influxd backup -portable \ + -host 203.0.113.0:8088 \ + /path/to/backup-directory ``` -To invoke the new InfluxDB Enterprise-compatible format, run the `influxd backup` command with the `-portable` flag, like this: - -``` -influxd backup -portable [ arguments ] +#### Back up a specific time range +```sh +influxd backup -portable \ + -start 2022-01-01T00:00:00Z \ + -stop 2022-02-01T00:00:00Z \ + /path/to/backup-directory ``` -##### Arguments +_For important information about how time-based backups work, see [Time-based backups](#time-based-backups)._ -Optional arguments are enclosed in brackets. +#### Back up data from a specific time to now +```sh +influxd backup -portable \ + -start 2022-01-01T00:00:00Z \ + /path/to/backup-directory +``` -- `[ -database ]`: The database to back up. If not specified, all databases are backed up. +_For important information about how time-based backups work, see [Time-based backups](#time-based-backups)._ -- `[ -portable ]`: Generates backup files in the newer InfluxDB Enterprise-compatible format. Highly recommended for all InfluxDB OSS users. +#### Back up a specific database +```sh +influxd backup -portable \ + -db example-db \ + /path/to/backup-directory +``` + +#### Back up a specific retention policy +```sh +influxd backup -portable \ + -db example-db \ + -rp example-retention-policy \ + /path/to/backup-directory +``` + +#### Back up a specific shard +{{% note %}} +To view shard IDs, use the [`SHOW SHARDS` InfluxQL statement](/influxdb/v1.8/query_language/spec/#show-shards). +{{% /note %}} + +```sh +influxd backup -portable \ + -rp example-retention-policy \ + -shard 123 \ + /path/to/backup-directory +``` + +{{% /tab-content %}} +{{% tab-content %}} + +- `-host`: InfluxDB bind address _(Only required if creating a backup from a remote InfluxDB host)_ +- `-db`: ({{< req >}}) Database name +- `-rp`: Retention policy name + _(If no retention policy is specified, the command backs up all retention policies)_ +- `-shard`: Shard ID _(If no shard ID is specified, the command backs up all shards. Requires a retention policy.)_ +- `-start`: Start time _(If no start time is specified, the command backs up data from all time.)_ +- `-stop`: Stop time _(If no stop time is specified, the command backs up data to now.)_ +- ({{< req >}}) **Backup destination directory path** + +### Legacy backup examples + +- [Back up a database](#back-up-a-database) +- [Back up a database from a remote InfluxDB instance](#back-up-a-database-from-a-remote-influxdb-instance) +- [Back up a specific time range](#back-up-a-specific-time-range-legacy) +- [Back up data from a specific time to now](#back-up-data-from-a-specific-time-to-now-legacy) +- [Back up a specific retention policy](#back-up-a-specific-retention-policy-legacy) +- [Back up a specific shard](#back-up-a-specific-shard-legacy) + +#### Back up a database +```sh +influxd backup \ + -db example-db \ + /path/to/backup-directory +``` + +#### Back up a database from a remote InfluxDB instance +```sh +influxd backup \ + -db example-db \ + -host 203.0.113.0:8088 \ + /path/to/backup-directory +``` + +#### Back up a specific time range {#back-up-a-specific-time-range-legacy} +```sh +influxd backup \ + -db example-db \ + -start 2022-01-01T00:00:00Z \ + -stop 2022-02-01T00:00:00Z \ + /path/to/backup-directory +``` + +_For important information about how time-based backups work, see [Time-based backups](#time-based-backups)._ + +#### Back up data from a specific time to now {#back-up-data-from-a-specific-time-to-now-legacy} +```sh +influxd backup \ + -db example-db \ + -start 2022-01-01T00:00:00Z \ + /path/to/backup-directory +``` + +_For important information about how time-based backups work, see [Time-based backups](#time-based-backups)._ + +#### Back up a specific retention policy {#back-up-a-specific-retention-policy-legacy} +```sh +influxd backup \ + -db example-db \ + -rp example-retention-policy \ + /path/to/backup-directory +``` + +#### Back up a specific shard {#back-up-a-specific-shard-legacy} +{{% note %}} +To view shard IDs, use the [`SHOW SHARDS` InfluxQL statement](/influxdb/v1.8/query_language/spec/#show-shards). +{{% /note %}} + +```sh +influxd backup -portable \ + -db example-db \ + -rp example-retention-policy \ + -shard 123 \ + /path/to/backup-directory +``` + +{{% /tab-content %}} +{{< /tabs-wrapper >}} + + +--- + +## Restore data + +Use the [`influxd restore` utility](/influxdb/v1.8/tools/influxd/restore/) to +restore time series data and metadata to InfluxDB from an InfluxDB backup. + +{{% note %}} +#### Cannot restore to an existing database +The InfluxDB OSS {{< current-version >}} `restore` utility does **not** support incremental backups. +When restoring data to a running InfluxDB instance, the `restore` utility performs a full restore. +To preserve existing data, the `restore` utility does not allow restoring data +to a database that already exists.[{{< req " \*" >}}](#note-offline-restore) + +If the target database already exists, the `restore` utility returns an error +similar to the following: + +``` +error updating meta: DB metadata not changed. database may already exist +``` + +There is a workaround for restoring data to an existing database. +For more information, see [Restore data to an existing database](#restore-data-to-an-existing-database). + + +{{< req "\*" >}} _Offline legacy restores can be used to restore data to an +existing database, but overwrite all data in the database._ +{{% /note %}} + +Requirements and commands necessary to restore a backup depend on the +[backup format](#backup-formats): + +{{< tabs-wrapper >}} +{{% tabs "small" %}} +[Portable format](#) +[Legacy format](#) +{{% /tabs %}} +{{% tab-content %}} + +- `-portable`: ({{< req >}}) Specifies the portable backup format +- `-host`: InfluxDB bind address _(Only required if restore a backup to a remote InfluxDB host)_ +- `-db`: Database name _(If no database name is specified, the command restores all databases)_ +- `-newdb`: New database name _(Required when restoring a database that already exists)_ +- `-rp`: Retention policy name + _(If no retention policy is specified, the command restores all retention policies)_ +- `-newrp`: New retention policy name _(Required when restoring a retention policy that already exists)_ +- `-shard`: Shard ID _(If no shard ID is specified, the command backs up all shards. Requires a retention policy.)_ +- ({{< req >}}) **Backup directory path** + +### Restore examples + +- [Restore all databases](#restore-all-databases) +- [Restore all data to a remote InfluxDB instance](#restore-all-data-to-a-remote-influxdb-instance) +- [Restore a specific database](#restore-a-specific-database) +- [Restore data from a database that already exists](#restore-data-from-a-database-that-already-exists) +- [Restore a specific retention policy](#restore-a-specific-retention-policy) +- [Restore data from a retention policy that already exists](#restore-data-from-a-retention-policy-that-already-exists) +- [Restore a specific shard](#restore-a-specific-shard) + +#### Restore all databases +```sh +influxd restore -portable /path/to/backup-directory +``` + +#### Restore all data to a remote InfluxDB instance +```sh +influxd restore -portable \ + -host 203.0.113.0:8088 \ + /path/to/backup-directory +``` + +#### Restore a specific database +```sh +influxd restore -portable \ + -db example-db \ + /path/to/backup-directory +``` + +#### Restore data to a database that already exists +```sh +influxd restore -portable \ + -db example-db \ + -newdb example-new-db \ + /path/to/backup-directory +``` + +#### Restore a specific retention policy +```sh +influxd backup -portable \ + -db example-db \ + -rp example-retention-policy \ + /path/to/backup-directory +``` + +#### Restore data to a retention policy that already exists +```sh +influxd restore -portable \ + -db example-db \ + -rp example-rp \ + -newrp example-new-rp \ + /path/to/backup-directory +``` + +#### Restore a specific shard +To restore a specific shard, you must specify a database and retention policy. +To view shard IDs, use the [`SHOW SHARDS` InfluxQL statement](/influxdb/v1.8/query_language/spec/#show-shards). + +```sh +influxd backup -portable \ + -db example-db \ + -rp example-rp \ + -shard 123 \ + /path/to/backup-directory +``` + +{{% /tab-content %}} +{{% tab-content %}} + +Legacy backups can be restored to a running (online) or stopped (offline) InfluxDB instance. + +- [Online legacy restore](#online-legacy-restore) +- [Offline legacy restore](#offline-legacy-restore) + +### Online legacy restore + +- `-online`: ({{< req >}}) Specifies that the target InfluxDB instance is running +- `-host`: InfluxDB bind address _(Only required if restoring a backup from a remote InfluxDB host)_ +- `-db`: ({{< req >}}) Database name +- `-newdb`: New database name _(Required when restoring a database that already exists)_ +- `-rp`: Retention policy name + _(If no retention policy is specified, the command backs up all retention policies)_ +- `-newrp`: New retention policy name _(Required when restoring a retention policy that already exists)_ +- `-shard`: Shard ID _(If no shard ID is specified, the command restores all shards. Requires a retention policy.)_ +- ({{< req >}}) **Backup destination directory path** + +#### Online legacy restore examples + +- [Restore a database](#restore-a-database) +- [Restore a database to a remote InfluxDB instance](#restore-a-database-to-a-remote-influxdb-instance) +- [Restore data to a database that already exists](#restore-data-to-a-database-that-already-exists-legacy) +- [Restore a specific retention policy](#restore-a-specific-retention-policy-legacy) +- [Restore data to a retention policy that already exists](#restore-data-to-a-retention-policy-that-already-exists-legacy) +- [Restore a specific shard](#restore-a-specific-shard-legacy) + +##### Restore a database +```sh +influxd restore -online \ + -db example-db \ + /path/to/backup-directory +``` + +##### Restore a database to a remote InfluxDB instance +```sh +influxd restore -online \ + -db example-db \ + -host 203.0.113.0:8088 \ + /path/to/backup-directory +``` + +##### Restore data to a database that already exists {#restore-data-to-a-database-that-already-exists-legacy} +```sh +influxd restore -online \ + -db example-db \ + -newdb example-new-db \ + /path/to/backup-directory +``` + +##### Restore a specific retention policy {#restore-a-specific-retention-policy-legacy} +```sh +influxd backup -online \ + -db example-db \ + -rp example-retention-policy \ + /path/to/backup-directory +``` + +##### Restore data to a retention policy that already exists {#restore-data-to-a-retention-policy-that-already-exists-legacy} +```sh +influxd restore -online \ + -db example-db \ + -rp example-rp \ + -newrp example-new-rp \ + /path/to/backup-directory +``` + +##### Restore a specific shard {#restore-a-specific-shard-legacy} +To restore a specific shard, you must specify a database and retention policy. +To view shard IDs, use the [`SHOW SHARDS` InfluxQL statement](/influxdb/v1.8/query_language/spec/#show-shards). + +```sh +influxd backup -online \ + -db example-db \ + -rp example-rp \ + -shard 123 \ + /path/to/backup-directory +``` + +### Offline legacy restore {{% warn %}} -**Important:** If `-portable` is not specified, the default legacy backup utility is used -- only the host metastore is backed up, unless `-database` is specified. If not using `-portable`, review [Backup (legacy)](#backup-legacy) below for expected behavior. +#### Offline restores overwrite data +Offline restores are destructive and will overwrite all data in the destination database. + +#### Must be done on the same machine as InfluxDB +Offline restores must be done from the machine where InfluxDB is running. +They cannot be done remotely unless you console into the machine InfluxDB is +running on and execute the restore process there. {{% /warn %}} -- `[ -host ]`: Host and port for InfluxDB OSS instance . Default value is `'127.0.0.1:8088'`. Required for remote connections. Example: `-host 127.0.0.1:8088` - -- `[ -retention ]`: Retention policy for the backup. If not specified, the default is to use all retention policies. If specified, then `-database` is required. - -- `[ -shard ]`: Shard ID of the shard to be backed up. If specified, then `-retention ` is required. - -- `[ -start ]`: Include all points starting with the specified timestamp ([RFC3339 format](https://www.ietf.org/rfc/rfc3339.txt)). Not compatible with `-since`. Example: `-start 2015-12-24T08:12:23Z` - -- `[ -end ]` ]: Exclude all results after the specified timestamp ([RFC3339 format](https://www.ietf.org/rfc/rfc3339.txt)). Not compatible with `-since`. If used without `-start`, all data will be backed up starting from 1970-01-01. Example: `-end 2015-12-31T08:12:23Z` - -- `[ -since ]`: Perform an incremental backup after the specified timestamp [RFC3339 format](https://www.ietf.org/rfc/rfc3339.txt). Use `-start` instead, unless needed for legacy backup support. +- `-db`: ({{< req >}}) Database name +- `-newdb`: New database name _(Required when restoring a database that already exists)_ +- `-rp`: Retention policy name + _(If no retention policy is specified, the command backs up all retention policies)_ +- `-newrp`: New retention policy name _(Required when restoring a retention policy that already exists)_ +- `-datadir`: ({{< req >}}) Location of destination data directory on disk _(See [InfluxDB file system layout](/influxdb/v1.8/concepts/file-system-layout/))_ +- `-metadir`: ({{< req >}}) Location of destination meta directory on disk _(See [InfluxDB file system layout](/influxdb/v1.8/concepts/file-system-layout/))_ +- `-shard`: Shard ID _(If no shard ID is specified, the command backs up all shards. Requires a retention policy.)_ +- ({{< req >}}) **Backup destination directory path** -#### Backup examples +#### Offline legacy restore examples -**To back up everything:** +- [Restore a database](#restore-a-database-offline) +- [Restore a specific retention policy](#restore-a-specific-retention-policy-offline) +- [Restore a specific shard](#restore-a-specific-shard-offline) -``` -influxd backup -portable +##### Restore a database {#restore-a-database-offline} +```sh +influxd restore \ + -db example-db \ + -datadir /path/to/data-directory \ + -metadir /path/to/meta-directory \ + /path/to/backup-directory ``` -**To backup all databases recently changed at the filesystem level** - -``` -influxd backup -portable -start +##### Restore a specific retention policy {#restore-a-specific-retention-policy-offline} +```sh +influxd backup \ + -db example-db \ + -rp example-retention-policy \ + -datadir /path/to/data-directory \ + -metadir /path/to/meta-directory \ + /path/to/backup-directory ``` -**To backup only the `telegraf` database:** +##### Restore a specific shard {#restore-a-specific-shard-offline} +To restore a specific shard, you must specify a database and retention policy. +To view shard IDs, use the [`SHOW SHARDS` InfluxQL statement](/influxdb/v1.8/query_language/spec/#show-shards). -``` -influxd backup -portable -database telegraf +```sh +influxd backup \ + -db example-db \ + -rp example-rp \ + -shard 123 \ + -datadir /path/to/data-directory \ + -metadir /path/to/meta-directory \ + /path/to/backup-directory ``` -**To backup a database for a specified time interval:** +{{% /tab-content %}} +{{< /tabs-wrapper >}} + +### Restore data to an existing database +While backups can't be restored directly to an existing database +(except for [offline legacy restores](?t=Legacy+format#offline-legacy-restore)), +you can do the following to restore data to an existing database: + +1. Restore a backup to a temporary database. + + {{< code-tabs-wrapper >}} +{{% code-tabs %}} +[Portable format](#) +[Legacy format](#) +{{% /code-tabs %}} +{{% code-tab-content %}} +```sh +influxd restore -portable \ + -db example-db \ + -newdb example-tmp-db \ + /path/to/backup-directory/ ``` -influxd backup -portable -database mytsd -start 2017-04-28T06:49:00Z -end 2017-04-28T06:50:00Z /tmp/backup/influxdb +{{% /code-tab-content %}} +{{% code-tab-content %}} +```sh +influxd restore \ + -db example-db \ + -newdb example-tmp-db \ + /path/to/backup-directory/ ``` +{{% /code-tab-content %}} + {{< /code-tabs-wrapper >}} -### `restore` - -An online `restore` process is initiated by using the `restore` command with either the `-portable` argument (indicating the new Enterprise-compatible backup format) or `-online` flag (indicating the legacy backup format). +2. Use InfluxQL or Flux to query data from the temporary database and write it + back to the existing database. + {{< code-tabs-wrapper >}} +{{% code-tabs %}} +[InfluxQL](#) +[Flux](#) +{{% /code-tabs %}} +{{% code-tab-content %}} +```sql +-- Repeat for each retention policy in the temporary database +SELECT * +INTO "example-db".autogen.:MEASUREMENT +FROM "example-tmp-db".autogen./.*/ GROUP BY * ``` -influxd restore [ -db ] - -portable | -online - [ -host ] - [ -newdb ] - [ -rp ] - [ -newrp ] - [ -shard ] - +{{% /code-tab-content %}} +{{% code-tab-content %}} +```js +// Repeat for each retention policy in the temporary database +from(bucket: "example-tmp-db/autogen") + |> range(start: 0) + |> to(bucket: "example-db/autogen") ``` -{{% warn %}} -Restoring backups that specified time periods (using `-start` and `-end`) +{{% /code-tab-content %}} + {{< /code-tabs-wrapper >}} -Backups that specified time intervals using the `-start` or `-end` arguments are performed on blocks of data and not on a point-by-point basis. Since most blocks are highly compacted, extracting each block to inspect each point creates both a computational and disk-space burden on the running system. -Each data block is annotated with starting and ending timestamps for the time interval included in the block. When you specify `-start` or `-end` timestamps, all of the specified data is backed up, but other data points that are in the same blocks will also be backed up. + InfluxDB handles duplicate points added by this query as it normally does. + For more information, see + [How does InfluxDB handle duplicate points?](/influxdb/v1.8/troubleshooting/frequently-asked-questions/#how-does-influxdb-handle-duplicate-points) -**Expected behavior** +3. Use InfluxQL to delete the temporary database. -- When restoring data, you are likely to see data that is outside of the specified time periods. -- If duplicate data points are included in the backup files, the points will be written again, overwriting any existing data. -{{% /warn %}} - -#### Arguments - -Optional arguments are enclosed in brackets. - -- `-portable`: Use the new Enterprise-compatible backup format for InfluxDB OSS. Recommended instead of `-online`. A backup created on InfluxDB Enterprise can be restored to an InfluxDB OSS instance. - -- `-online`: Use the legacy backup format. Only use if the newer `-portable` option cannot be used. - -- `[ -host ]`: Host and port for InfluxDB OSS instance . Default value is `'127.0.0.1:8088'`. Required for remote connections. Example: `-host 127.0.0.1:8088` - -- `[ -db | -database ]`: Name of the database to be restored from the backup. If not specified, all databases will be restored. - -- `[ -newdb ]`: Name of the database into which the archived data will be imported on the target system. If not specified, then the value for `-db` is used. The new database name must be unique to the target system. - -- `[ -rp ]`: Name of the retention policy from the backup that will be restored. Requires that `-db` is set. If not specified, all retention policies will be used. - -- `[ -newrp ]`: Name of the retention policy to be created on the target system. Requires that `-rp` is set. If not specified, then the `-rp` value is used. - -- `[ -shard ]`: Shard ID of the shard to be restored. If specified, then `-db` and `-rp` are required. - -> **Note:** If you have automated backups based on the legacy format, consider using the new online feature for your legacy backups. The new backup utility lets you restore a single database to a live (online) instance, while leaving all existing data on the server in place. The [offline restore method (described below)](#restore-legacy) may result in data loss, since it clears all existing databases on the server. - -#### Restore examples - -**To restore all databases found within the backup directory:** - -``` -influxd restore -portable path-to-backup -``` - -**To restore only the `telegraf` database (telegraf database must not exist):** - -``` -influxd restore -portable -db telegraf path-to-backup -``` - -**To restore data to a database that already exists:** - -You cannot restore directly into a database that already exists. If you attempt to run the `restore` command into an existing database, you will get a message like this: - -``` -influxd restore -portable -db existingdb path-to-backup - -2018/08/30 13:42:46 error updating meta: DB metadata not changed. database may already exist -restore: DB metadata not changed. database may already exist -``` - -1. Restore the existing database backup to a temporary database. - - ``` - influxd restore -portable -db telegraf -newdb telegraf_bak path-to-backup - ``` -2. Sideload the data (using a `SELECT ... INTO` statement) into the existing target database and drop the temporary database. - - ``` - > USE telegraf_bak - > SELECT * INTO telegraf..:MEASUREMENT FROM /.*/ GROUP BY * - > DROP DATABASE telegraf_bak + ```sql + DROP DATABASE "example-tmp-db" ``` -**To restore to a retention policy that already exists:** +--- -1. Restore the retention policy to a temporary database. +## Configure backup and restore services - ``` - influxd restore -portable -db telegraf -newdb telegraf_bak -rp autogen -newrp autogen_bak path-to-backup - ``` -2. Sideload into the target database and drop the temporary database. +InfluxDB OSS {{< current-version >}} `backup` and `restore` utilities execute +over a TCP connection. +The default IP and port used for backup and restore remote procedure calls (RPCs) +are `127.0.0.1:8088`. - ``` - > USE telegraf_bak - > SELECT * INTO telegraf.autogen.:MEASUREMENT FROM /telegraf_bak.autogen_bak.*/ GROUP BY * - > DROP DATABASE telegraf_bak - ``` +**To customize the TCP IP and port the backup and restore services use**, +uncomment and update the +[`bind-address` configuration setting](/influxdb/v1.8/administration/config#bind-address-127-0-0-1-8088) +at the root level of your InfluxDB configuration file (`influxdb.conf`). -### Backward compatible offline backup and restore (legacy format) - -> ***Note:*** The backward compatible backup and restore for InfluxDB OSS documented below are deprecated. InfluxData recommends using the newer Enterprise-compatible backup and restore utilities with your InfluxDB OSS servers. - -InfluxDB OSS has the ability to snapshot an instance at a point-in-time and restore it. -All backups are full backups; incremental backups are not supported. -Two types of data can be backed up, the metastore and the metrics themselves. -The [metastore](/influxdb/v1.8/concepts/glossary/#metastore) is backed up in its entirety. -The metrics are backed up on a per-database basis in an operation separate from the metastore backup. - -#### Backing up the metastore - -The InfluxDB metastore contains internal information about the status of -the system, including user information, database and shard metadata, continuous queries, retention policies, and subscriptions. -While a node is running, you can create a backup of your instance's metastore by running the command: - -``` -influxd backup -``` - -Where `` is the directory where you -want the backup to be written to. Without any other arguments, -the backup will only record the current state of the system -metastore. For example, the command: - -```bash -$ influxd backup /tmp/backup -2016/02/01 17:15:03 backing up metastore to /tmp/backup/meta.00 -2016/02/01 17:15:03 backup complete -``` - -Will create a metastore backup in the directory `/tmp/backup` (the -directory will be created if it doesn't already exist). - -#### Backup (legacy) - -Each database must be backed up individually. - -To backup a database, add the `-database` flag: - -```bash -influxd backup -database -``` - -Where `` is the name of the database you would like to -backup, and `` is where the backup data should be -stored. - -Optional flags also include: - -- `-retention ` - - This flag can be used to backup a specific retention policy. For more information on retention policies, see - [Retention policy management](/influxdb/v1.8/query_language/manage-database/#retention-policy-management). If unspecified, all retention policies will be backed up. - -- `-shard ` - This flag can be used to backup a specific - shard ID. To see which shards are available, you can run the command - `SHOW SHARDS` using the InfluxDB query language. If not specified, - all shards will be backed up. - -- `-since ` - This flag can be used to create a backup _since_ a - specific date, where the date must be in - [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format (for example, - `2015-12-24T08:12:23Z`). This flag is important if you would like to - take incremental backups of your database. If not specified, all - timeranges within the database will be backed up. - -> **Note:** Metastore backups are also included in per-database backups - -As a real-world example, you can take a backup of the `autogen` -retention policy for the `telegraf` database since midnight UTC on -February 1st, 2016 by using the command: - -``` -$ influxd backup -database telegraf -retention autogen -since 2016-02-01T00:00:00Z /tmp/backup -2016/02/01 18:02:36 backing up rp=default since 2016-02-01 00:00:00 +0000 UTC -2016/02/01 18:02:36 backing up metastore to /tmp/backup/meta.01 -2016/02/01 18:02:36 backing up db=telegraf rp=default shard=2 to /tmp/backup/telegraf.default.00002.01 since 2016-02-01 00:00:00 +0000 UTC -2016/02/01 18:02:36 backup complete -``` - -Which will send the resulting backup to `/tmp/backup`, where it can -then be compressed and sent to long-term storage. - -#### Remote backups (legacy) - -The legacy backup mode also supports live, remote backup functionality. -Follow the directions in [Configuring remote connections](#configuring-remote-connections) above to configure this feature. - -## Restore (legacy) - -{{% warn %}} This offline restore method described here may result in data loss -- it clears all existing databases on the server. Consider using the `-online` flag with the newer [`restore` method (described above)](#restore) to import legacy data without any data loss. -{{% /warn %}} - -To restore a backup, you will need to use the `influxd restore` command. - -> **Note:** Restoring from backup is only supported while the InfluxDB daemon is stopped. - -To restore from a backup you will need to specify the type of backup, -the path to where the backup should be restored, and the path to the backup. -The command: - -``` -influxd restore [ -metadir | -datadir ] -``` - -The required flags for restoring a backup are: - -- `-metadir ` - This is the path to the meta - directory where you would like the metastore backup recovered - to. For packaged installations, this should be specified as - `/var/lib/influxdb/meta`. - -- `-datadir ` - This is the path to the data - directory where you would like the database backup recovered to. For - packaged installations, this should be specified as - `/var/lib/influxdb/data`. - -The optional flags for restoring a backup are: - -- `-database ` - This is the database that you would like to - restore the data to. This option is required if no `-metadir` option - is provided. - -- `-retention ` - This is the target retention policy - for the stored data to be restored to. - -- `-shard ` - This is the shard data that should be - restored. If specified, `-database` and `-retention` must also be - set. - -Following the backup example above, the backup can be restored in two -steps. - -1. The metastore needs to be restored so that InfluxDB -knows which databases exist: - -``` -$ influxd restore -metadir /var/lib/influxdb/meta /tmp/backup -Using metastore snapshot: /tmp/backup/meta.00 -``` - -2. Once the metastore has been restored, we can now recover the backed up -data. In the real-world example above, we backed up the `telegraf` -database to `/tmp/backup`, so let's restore that same dataset. To -restore the `telegraf` database: - -``` -$ influxd restore -database telegraf -datadir /var/lib/influxdb/data /tmp/backup -Restoring from backup /tmp/backup/telegraf.* -unpacking /var/lib/influxdb/data/telegraf/default/2/000000004-000000003.tsm -unpacking /var/lib/influxdb/data/telegraf/default/2/000000005-000000001.tsm -``` - -> **Note:** Once the backed up data has been recovered, the permissions on the shards may no longer be accurate. To ensure the file permissions are correct, please run this command: `$ sudo chown -R influxdb:influxdb /var/lib/influxdb` - -Once the data and metastore are recovered, start the database: - -```bash -$ service influxdb start -``` - -As a quick check, you can verify that the database is known to the metastore -by running a `SHOW DATABASES` command: - -``` -influx -execute 'show databases' -name: databases ---------------- -name -_internal -telegraf -``` - -The database has now been successfully restored! +```toml +# Bind address to use for the RPC service for backup and restore. +bind-address = "127.0.0.1:8088" +``` \ No newline at end of file diff --git a/content/influxdb/v2.0/organizations/view-orgs.md b/content/influxdb/v2.0/organizations/view-orgs.md index 6b52faec7..5efb54dc5 100644 --- a/content/influxdb/v2.0/organizations/view-orgs.md +++ b/content/influxdb/v2.0/organizations/view-orgs.md @@ -41,9 +41,11 @@ Use the InfluxDB UI or `influx` CLI to view your organization ID. After logging in to the InfluxDB UI, your organization ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/...
-
+{{< code-callout "03a2bbf46249a000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} ### Organization ID in the CLI diff --git a/content/influxdb/v2.0/visualize-data/dashboards/_index.md b/content/influxdb/v2.0/visualize-data/dashboards/_index.md index 5b9130da9..f133e8bdf 100644 --- a/content/influxdb/v2.0/visualize-data/dashboards/_index.md +++ b/content/influxdb/v2.0/visualize-data/dashboards/_index.md @@ -22,9 +22,11 @@ Use the InfluxDB UI or `influx` CLI to view your dashboard ID. When viewing a dashboard in the InfluxDB UI, your dashboard ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/...
-
+{{< code-callout "04b6b15034cc000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/... +``` +{{< /code-callout >}} ### Dashboard ID in the CLI Use [`influx dashboards`](/influxdb/v2.0/reference/cli/influx/dashboards/) to view a list of dashboards and IDs. diff --git a/content/influxdb/v2.1/organizations/view-orgs.md b/content/influxdb/v2.1/organizations/view-orgs.md index 145accf5b..020015b7e 100644 --- a/content/influxdb/v2.1/organizations/view-orgs.md +++ b/content/influxdb/v2.1/organizations/view-orgs.md @@ -41,9 +41,11 @@ Use the InfluxDB UI or `influx` CLI to view your organization ID. After logging in to the InfluxDB UI, your organization ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/...
-
+{{< code-callout "03a2bbf46249a000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} ### Organization ID in the CLI diff --git a/content/influxdb/v2.1/visualize-data/dashboards/_index.md b/content/influxdb/v2.1/visualize-data/dashboards/_index.md index 790289ae3..656ac082c 100644 --- a/content/influxdb/v2.1/visualize-data/dashboards/_index.md +++ b/content/influxdb/v2.1/visualize-data/dashboards/_index.md @@ -22,9 +22,11 @@ Use the InfluxDB UI or `influx` CLI to view your dashboard ID. When viewing a dashboard in the InfluxDB UI, your dashboard ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/...
-
+{{< code-callout "04b6b15034cc000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/... +``` +{{< /code-callout >}} ### Dashboard ID in the CLI Use [`influx dashboards`](/influxdb/v2.1/reference/cli/influx/dashboards/) to view a list of dashboards and IDs. diff --git a/content/influxdb/v2.2/organizations/view-orgs.md b/content/influxdb/v2.2/organizations/view-orgs.md index 060580044..ac8b8d216 100644 --- a/content/influxdb/v2.2/organizations/view-orgs.md +++ b/content/influxdb/v2.2/organizations/view-orgs.md @@ -41,9 +41,12 @@ Use the InfluxDB UI or `influx` CLI to view your organization ID. After logging in to the InfluxDB UI, your organization ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/...
-
+{{< code-callout "03a2bbf46249a000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/... +``` +{{< /code-callout >}} + ### Organization ID in the CLI diff --git a/content/influxdb/v2.2/visualize-data/dashboards/_index.md b/content/influxdb/v2.2/visualize-data/dashboards/_index.md index ffbb62080..c760b1e4b 100644 --- a/content/influxdb/v2.2/visualize-data/dashboards/_index.md +++ b/content/influxdb/v2.2/visualize-data/dashboards/_index.md @@ -22,9 +22,11 @@ Use the InfluxDB UI or `influx` CLI to view your dashboard ID. When viewing a dashboard in the InfluxDB UI, your dashboard ID appears in the URL. -
-http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/...
-
+{{< code-callout "04b6b15034cc000" >}} +```sh +http://localhost:8086/orgs/03a2bbf46249a000/dashboards/04b6b15034cc000/... +``` +{{< /code-callout >}} ### Dashboard ID in the CLI Use [`influx dashboards`](/influxdb/v2.2/reference/cli/influx/dashboards/) to view a list of dashboards and IDs. diff --git a/layouts/shortcodes/code-callout.html b/layouts/shortcodes/code-callout.html new file mode 100644 index 000000000..92827860d --- /dev/null +++ b/layouts/shortcodes/code-callout.html @@ -0,0 +1,4 @@ +{{- $regex := .Get 0 -}} +{{- $code := .Inner | markdownify -}} +{{- $codeCallout := replaceRE $regex "$0" $code -}} +{{ $codeCallout | safeHTML }} diff --git a/layouts/shortcodes/latest-patch.html b/layouts/shortcodes/latest-patch.html index c7eb25fbd..9aede5526 100644 --- a/layouts/shortcodes/latest-patch.html +++ b/layouts/shortcodes/latest-patch.html @@ -5,9 +5,11 @@ {{- $parsedVersion := replaceRE "v" "" (index $productPathData 1) -}} {{- $productArg := .Get "product" | default "" -}} {{- $versionArg := .Get "version" | default "" -}} +{{- $minorVersionOffset := .Get "minorVersionOffset" | default 0 -}} {{- $product := cond (gt (len $productArg) 0) $productArg $parsedProduct -}} {{- $latestVersion := replaceRE "v" "" (index (index .Site.Data.products $product) "latest") -}} -{{- $version := cond (gt (len $versionArg) 0) $versionArg (cond (ne $product $parsedProduct) $latestVersion $parsedVersion) -}} +{{- $versionNoOffset := cond (gt (len $versionArg) 0) $versionArg (cond (ne $product $parsedProduct) $latestVersion $parsedVersion) -}} +{{- $version := replaceRE `\d+$` (add (int (index (findRE `\d+$` $versionNoOffset) 0)) $minorVersionOffset) $versionNoOffset -}} {{- $patchVersions := index (index .Site.Data.products $product) "latest_patches" -}} {{- $cliVersions := index .Site.Data.products.influxdb "latest_cli" -}} {{- if $cli }} diff --git a/layouts/shortcodes/telegraf/plugins.html b/layouts/shortcodes/telegraf/plugins.html index 809e55e52..14628d6b4 100644 --- a/layouts/shortcodes/telegraf/plugins.html +++ b/layouts/shortcodes/telegraf/plugins.html @@ -24,9 +24,7 @@

{{ .name }}

{{ if in .tags "external"}} - External - - + External {{ end }}

Plugin ID: {{ $type }}s.{{ .id }}
From eb34c798dd3dc831eb325025340f6cc4d9a6187f Mon Sep 17 00:00:00 2001 From: peterreg Date: Wed, 8 Jun 2022 17:07:27 -0700 Subject: [PATCH 06/13] Adding InfluxDB University course links to relevant areas in docs (#4102) * Adding InfluxDB University videos to various docs. * Update content/enterprise_influxdb/v1.9/introduction/installation/_index.md Co-authored-by: kelseiv <47797004+kelseiv@users.noreply.github.com> * Add edits from kelseiv * Adding edit from Scott Thanks! Co-authored-by: peterreg Co-authored-by: kelseiv <47797004+kelseiv@users.noreply.github.com> --- .../v1.9/administration/configure/_index.md | 2 ++ content/enterprise_influxdb/v1.9/concepts/_index.md | 2 ++ content/enterprise_influxdb/v1.9/flux/_index.md | 2 ++ content/enterprise_influxdb/v1.9/flux/get-started/_index.md | 2 ++ content/enterprise_influxdb/v1.9/flux/guides/_index.md | 2 ++ content/enterprise_influxdb/v1.9/introduction/_index.md | 2 ++ .../enterprise_influxdb/v1.9/introduction/getting-started.md | 2 ++ .../v1.9/introduction/installation/_index.md | 2 ++ content/influxdb/cloud/api-guide/_index.md | 2 ++ content/influxdb/cloud/get-started.md | 2 ++ .../influxdb/cloud/write-data/no-code/use-telegraf/_index.md | 2 ++ content/influxdb/v2.2/get-started.md | 2 ++ .../influxdb/v2.2/write-data/no-code/use-telegraf/_index.md | 2 ++ content/kapacitor/v1.6/administration/configuration.md | 2 ++ content/kapacitor/v1.6/guides/event-handler-setup.md | 2 ++ content/kapacitor/v1.6/guides/socket_udf.md | 2 ++ content/kapacitor/v1.6/working/template_tasks.md | 2 ++ content/kapacitor/v1.6/working/using_alert_topics.md | 1 + content/telegraf/v1.22/_index.md | 4 ++++ 19 files changed, 39 insertions(+) diff --git a/content/enterprise_influxdb/v1.9/administration/configure/_index.md b/content/enterprise_influxdb/v1.9/administration/configure/_index.md index 436442772..5b83007a1 100644 --- a/content/enterprise_influxdb/v1.9/administration/configure/_index.md +++ b/content/enterprise_influxdb/v1.9/administration/configure/_index.md @@ -9,3 +9,5 @@ menu: --- {{< children >}} + +{{< influxdbu title="Configuring InfluxDB Enterprise: Best Practices" summary="Learn about best practices and optimization techniques for InfluxDB Enterprise in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/configuring-influxdb-enterprise-best-practices-tutorial/" >}} diff --git a/content/enterprise_influxdb/v1.9/concepts/_index.md b/content/enterprise_influxdb/v1.9/concepts/_index.md index 8e048e741..1021924f8 100644 --- a/content/enterprise_influxdb/v1.9/concepts/_index.md +++ b/content/enterprise_influxdb/v1.9/concepts/_index.md @@ -10,3 +10,5 @@ menu: --- {{< children hlevel="h2" type="list" >}} + +{{< influxdbu title="Configuring InfluxDB Enterprise: Best Practices" summary="Learn about best practices and optimization techniques for InfluxDB Enterprise in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/configuring-influxdb-enterprise-best-practices-tutorial/" >}} diff --git a/content/enterprise_influxdb/v1.9/flux/_index.md b/content/enterprise_influxdb/v1.9/flux/_index.md index fa15e8668..f769e55ae 100644 --- a/content/enterprise_influxdb/v1.9/flux/_index.md +++ b/content/enterprise_influxdb/v1.9/flux/_index.md @@ -33,3 +33,5 @@ from(bucket: "telegraf/autogen") ``` {{< children >}} + +{{< influxdbu title="Intro to Basic Flux Elements" summary="Learn the basics about Flux, InfluxDB’s functional scripting language in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/intro-to-basic-flux-elements-tutorial/" >}} diff --git a/content/enterprise_influxdb/v1.9/flux/get-started/_index.md b/content/enterprise_influxdb/v1.9/flux/get-started/_index.md index fd4703967..88e9a2a0d 100644 --- a/content/enterprise_influxdb/v1.9/flux/get-started/_index.md +++ b/content/enterprise_influxdb/v1.9/flux/get-started/_index.md @@ -110,6 +110,8 @@ The Schema pane allows you to explore your data. The Script pane is where you write your Flux script. The Functions pane provides a list of functions available in your Flux queries. +{{< influxdbu "flux-103" >}} +

diff --git a/content/enterprise_influxdb/v1.9/flux/guides/_index.md b/content/enterprise_influxdb/v1.9/flux/guides/_index.md index 0cb506e17..098e2d409 100644 --- a/content/enterprise_influxdb/v1.9/flux/guides/_index.md +++ b/content/enterprise_influxdb/v1.9/flux/guides/_index.md @@ -35,3 +35,5 @@ data = from(bucket: "db/rp") --- {{< children pages="all" readmore="true" hr="true" >}} + +{{< influxdbu title="Intro to Basic Flux Elements" summary="Learn the basics about Flux, InfluxDB’s functional scripting language in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/intro-to-basic-flux-elements-tutorial/" >}} diff --git a/content/enterprise_influxdb/v1.9/introduction/_index.md b/content/enterprise_influxdb/v1.9/introduction/_index.md index 566364853..cd518f467 100644 --- a/content/enterprise_influxdb/v1.9/introduction/_index.md +++ b/content/enterprise_influxdb/v1.9/introduction/_index.md @@ -12,3 +12,5 @@ menu: --- {{< children >}} + +{{< influxdbu title="Intro to InfluxDB Enterprise" summary="Learn about the features and benefits of using InfluxDB Enterprise in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/intro-to-influxdb-enterprise-tutorial/" >}} diff --git a/content/enterprise_influxdb/v1.9/introduction/getting-started.md b/content/enterprise_influxdb/v1.9/introduction/getting-started.md index b5fc29ac4..544170238 100644 --- a/content/enterprise_influxdb/v1.9/introduction/getting-started.md +++ b/content/enterprise_influxdb/v1.9/introduction/getting-started.md @@ -20,3 +20,5 @@ After you successfully [install and set up](/enterprise_influxdb/v1.9/introducti - Find [Enterprise guides](/enterprise_influxdb/v1.9/guides/) on a variety of topics, such as how to downsample and retain data, rebalance InfluxDB Enterprise clusters, use fine-grained authorization, and more! - Explore the [InfluxQL](/enterprise_influxdb/v1.9/query_language/) and [Flux](/enterprise_influxdb/v1.9/flux/) languages. - Learn about [InfluxDB line protocol](/enterprise_influxdb/v1.9/write_protocols/) and other [supported protocols](/enterprise_influxdb/v1.9/supported_protocols/). + +{{< influxdbu "influxdb-101" >}} diff --git a/content/enterprise_influxdb/v1.9/introduction/installation/_index.md b/content/enterprise_influxdb/v1.9/introduction/installation/_index.md index 533102d72..e1cd21109 100644 --- a/content/enterprise_influxdb/v1.9/introduction/installation/_index.md +++ b/content/enterprise_influxdb/v1.9/introduction/installation/_index.md @@ -18,3 +18,5 @@ Complete the following steps to install an InfluxDB Enterprise cluster in your o 1. [Install InfluxDB Enterprise meta nodes](/enterprise_influxdb/v1.9/introduction/installation/installation/meta_node_installation/) 2. [Install InfluxDB data nodes](/enterprise_influxdb/v1.9/introduction/installation/installation/data_node_installation/) 3. [Install Chronograf](/enterprise_influxdb/v1.9/introduction/installation/installation/chrono_install/) + +{{< influxdbu title="Installing InfluxDB Enterprise" summary="Learn about InfluxDB architecture and how to install InfluxDB Enterprise with step-by-step instructions." action="Take the course" link="https://university.influxdata.com/courses/installing-influxdb-enterprise-tutorial/" >}} diff --git a/content/influxdb/cloud/api-guide/_index.md b/content/influxdb/cloud/api-guide/_index.md index 93387f500..818fd9e69 100644 --- a/content/influxdb/cloud/api-guide/_index.md +++ b/content/influxdb/cloud/api-guide/_index.md @@ -25,3 +25,5 @@ that work with InfluxDB 1.x client libraries and third-party integrations like [Grafana](https://grafana.com) and others. View full v1 compatibility API documentation + +{{< influxdbu title="Building IoT Appls with InfluxDB" summary="Learn the basics of how to build an IoT application with InfluxDB with this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/building-iot-apps-with-influxdb-tutorial/" >}} diff --git a/content/influxdb/cloud/get-started.md b/content/influxdb/cloud/get-started.md index 85bd3e7bd..f17a43c1f 100644 --- a/content/influxdb/cloud/get-started.md +++ b/content/influxdb/cloud/get-started.md @@ -145,3 +145,5 @@ After processing, send the downsampled data to a new bucket to store and view it 3. Enter a name for your bucket and click **Create**. 4. Click **Run** from the **Preview** dropdown list to run the notebook and write to the output bucket a single time. 5. To write continuously, click **Export as Task** in the upper right corner of the **Output to Bucket** cell. For details about working with tasks, see [Manage tasks](/influxdb/cloud/process-data/manage-tasks/). + +{{< influxdbu "influxdb-101" >}} diff --git a/content/influxdb/cloud/write-data/no-code/use-telegraf/_index.md b/content/influxdb/cloud/write-data/no-code/use-telegraf/_index.md index b6e9d771a..b05d94fa6 100644 --- a/content/influxdb/cloud/write-data/no-code/use-telegraf/_index.md +++ b/content/influxdb/cloud/write-data/no-code/use-telegraf/_index.md @@ -36,3 +36,5 @@ Telegraf input and output plugins are enabled and configured in Telegraf's confi You have the following options for configuring Telegraf: {{< children >}} + +{{< influxdbu "telegraf-102" >}} diff --git a/content/influxdb/v2.2/get-started.md b/content/influxdb/v2.2/get-started.md index 5a96a089b..4228a4280 100644 --- a/content/influxdb/v2.2/get-started.md +++ b/content/influxdb/v2.2/get-started.md @@ -57,3 +57,5 @@ See [Visualize data](/influxdb/v2.2/visualize-data/). Monitor your data and sends alerts based on specified logic. See [Monitor and alert](/influxdb/v2.2/monitor-alert/). + +{{< influxdbu "influxdb-101" >}} diff --git a/content/influxdb/v2.2/write-data/no-code/use-telegraf/_index.md b/content/influxdb/v2.2/write-data/no-code/use-telegraf/_index.md index 1d30ce406..39ea66060 100644 --- a/content/influxdb/v2.2/write-data/no-code/use-telegraf/_index.md +++ b/content/influxdb/v2.2/write-data/no-code/use-telegraf/_index.md @@ -34,3 +34,5 @@ Telegraf input and output plugins are enabled and configured in Telegraf's confi You have the following options for configuring Telegraf: {{< children >}} + +{{< influxdbu "telegraf-102" >}} diff --git a/content/kapacitor/v1.6/administration/configuration.md b/content/kapacitor/v1.6/administration/configuration.md index 182aa41b2..9bbdc3920 100644 --- a/content/kapacitor/v1.6/administration/configuration.md +++ b/content/kapacitor/v1.6/administration/configuration.md @@ -1063,3 +1063,5 @@ curl --request POST 'http://localhost:9092/kapacitor/v1/config/smtp' \ For detailed information about how to override configurations with the Kapacitor API, see [Overriding configurations](/kapacitor/v1.6/working/api/#overriding-configurations). + +{{< influxdbu title="Configuring Kapacitor" summary="Learn how to dynamically configure Kapacitor via API with this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/configuring-kapacitor-tutorial/" >}} diff --git a/content/kapacitor/v1.6/guides/event-handler-setup.md b/content/kapacitor/v1.6/guides/event-handler-setup.md index 79b1207c8..98d628660 100644 --- a/content/kapacitor/v1.6/guides/event-handler-setup.md +++ b/content/kapacitor/v1.6/guides/event-handler-setup.md @@ -439,3 +439,5 @@ stream ``` The setup sends `Might want to check your CPU` to the Telegram bot associated with the chat ID `123456789` and API access token `abcdefghi:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`. + +{{< influxdbu title="Event Handlers & Node Alerts in Kapacitor" summary="Get started with Kapacitor Topics and Event Handlers with this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/event-handlers-node-alerts-kapacitor-tutorial/" >}} diff --git a/content/kapacitor/v1.6/guides/socket_udf.md b/content/kapacitor/v1.6/guides/socket_udf.md index 301d9ae96..c44cce2c8 100644 --- a/content/kapacitor/v1.6/guides/socket_udf.md +++ b/content/kapacitor/v1.6/guides/socket_udf.md @@ -655,3 +655,5 @@ If you want to learn more, here are a few places to start: * Change the mirror UDF to work on batches instead of streams. This requires changing the edge type in the `Info` method as well as implementing the `BeginBatch` and `EndBatch` methods. * Take a look at the other [examples](https://github.com/influxdata/kapacitor/tree/master/udf/agent/examples) and modify one to do something similar to one of your existing requirements. + +{{< influxdbu title="User Defined Functions in Kapacitor" summary="Learn how to create User Defined Functions and Tasks with Kapacitor in this **free** InfluxDB University course" action="Take the course." link="https://university.influxdata.com/courses/user-defined-functions-in-kapacitor-tutorial/" >}} diff --git a/content/kapacitor/v1.6/working/template_tasks.md b/content/kapacitor/v1.6/working/template_tasks.md index c24bb9b3a..deeefc8ed 100644 --- a/content/kapacitor/v1.6/working/template_tasks.md +++ b/content/kapacitor/v1.6/working/template_tasks.md @@ -430,3 +430,5 @@ kapacitor define mem_alert -file implicit_mem_template_task.yaml the `dbrps` field must **not** appear in the task definition file, e.g. in `implicit_mem_template_task.yaml`. Doing so will will cause an error. {{% /note %}} + +{{< influxdbu title="User Defined Functions in Kapacitor" summary="Learn how to create User Defined Functions and Tasks with Kapacitor in this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/user-defined-functions-in-kapacitor-tutorial/" >}} diff --git a/content/kapacitor/v1.6/working/using_alert_topics.md b/content/kapacitor/v1.6/working/using_alert_topics.md index 529557f70..5379eb00a 100644 --- a/content/kapacitor/v1.6/working/using_alert_topics.md +++ b/content/kapacitor/v1.6/working/using_alert_topics.md @@ -234,3 +234,4 @@ Now update the handler and only alerts that changed state will be sent to Slack. ``` kapacitor define-topic-handler ./slack.yaml ``` +{{< influxdbu title="Event Handlers & Node Alerts in Kapacitor" summary="Get started with Kapacitor Topics and Event Handlers with this **free** InfluxDB University course." action="Take the course" link="https://university.influxdata.com/courses/event-handlers-node-alerts-kapacitor-tutorial/" >}} diff --git a/content/telegraf/v1.22/_index.md b/content/telegraf/v1.22/_index.md index 9dabc5b84..5d01cee17 100644 --- a/content/telegraf/v1.22/_index.md +++ b/content/telegraf/v1.22/_index.md @@ -17,3 +17,7 @@ Written in Go, Telegraf compiles into a single binary with no external dependenc For an introduction to Telegraf and an overview of how it works, watch the following video: {{< youtube vGJeo3FaMds >}} + +{{< influxdbu title="Telegraf Basics" summary="Learn how to get started with Telegraf with this **free** course that covers common use cases, proper configuration, and best practices for deployment. Also, discover how to write your own custom Telegraf plugins." action="Take the course" link="https://university.influxdata.com/courses/telegraf-basics-tutorial/" >}} + +{{< influxdbu "telegraf-102" >}} From 15351ea20a3e3b996a6aa3d463e7b9623d29826e Mon Sep 17 00:00:00 2001 From: peterreg Date: Wed, 8 Jun 2022 17:29:40 -0700 Subject: [PATCH 07/13] Draft for DAR 166 (#4104) * Draft * Updates from Kelly Co-authored-by: peterreg --- content/influxdb/cloud/organizations/users.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/influxdb/cloud/organizations/users.md b/content/influxdb/cloud/organizations/users.md index ee4c53b66..06d2f679b 100644 --- a/content/influxdb/cloud/organizations/users.md +++ b/content/influxdb/cloud/organizations/users.md @@ -24,7 +24,10 @@ By default, each user has full permissions on resources in your organization. - [Resend an invitation](#resend-an-invitation) - [Withdraw an invitation](#withdraw-an-invitation) - [Remove a user from your organization](#remove-a-user-from-your-organization) - - [Remove yourself from an organization](#remove-yourself-from-an-organization) + +{{% note %}} +**Tip:** If you have multiple users, we recommend creating a system account for administrative purposes. For example, if you have applications writing to InfluxDB, ensure the applications use the system account credentials. +{{% /note %}} ## Members page Manage your organization's users from your organization's **Members page**. @@ -68,6 +71,10 @@ Accounts can have up to 50 pending invitations at one time. ## Remove a user from your organization +{{% warn %}} +For security purposes, once an InfluxDB user account is deleted, the user (and their token) cannot be reactivated. +{{% /warn %}} + 1. Navigate to your organization's [Members page](#members-page). 2. Click the **{{< icon "delete" >}}** icon next to the user you want to remove. 3. Click **{{< caps >}}Remove user access{{< /caps >}}**. From 9e061213ef91ed396bf7ec9cd558dad8c8714973 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 9 Jun 2022 06:24:05 -0600 Subject: [PATCH 08/13] Updated Grafana to represent new Grafana form (#4107) * updated grafana to latest, closes #4042, closes #4105, closes #3346, closes #2416 * Update content/influxdb/v2.2/tools/grafana.md Co-authored-by: kelseiv <47797004+kelseiv@users.noreply.github.com> Co-authored-by: lwandzura <51929958+lwandzura@users.noreply.github.com> Co-authored-by: kelseiv <47797004+kelseiv@users.noreply.github.com> --- content/influxdb/cloud/tools/grafana.md | 198 +----------------- content/influxdb/v2.2/tools/grafana.md | 197 ++++++++++++----- .../influxdb/2-2-tools-grafana-influxql.png | Bin 0 -> 73053 bytes static/img/influxdb/2-2-tools-grafana.png | Bin 0 -> 68608 bytes .../influxdb/cloud-tools-grafana-influxql.png | Bin 66434 -> 76017 bytes static/img/influxdb/cloud-tools-grafana.png | Bin 40616 -> 71786 bytes 6 files changed, 150 insertions(+), 245 deletions(-) create mode 100644 static/img/influxdb/2-2-tools-grafana-influxql.png create mode 100644 static/img/influxdb/2-2-tools-grafana.png diff --git a/content/influxdb/cloud/tools/grafana.md b/content/influxdb/cloud/tools/grafana.md index 71eea89e5..d84f1f126 100644 --- a/content/influxdb/cloud/tools/grafana.md +++ b/content/influxdb/cloud/tools/grafana.md @@ -14,200 +14,4 @@ related: - /influxdb/cloud/query-data/influxql/ --- -Use [Grafana](https://grafana.com/) or [Grafana Cloud](https://grafana.com/products/cloud/) -to visualize data from InfluxDB Cloud. - -{{% note %}} -The instructions in this guide require **Grafana Cloud** or **Grafana v7.1+**. -{{% /note %}} - -1. [Sign up for {{< cloud-name >}}](/influxdb/cloud/sign-up/). -2. [Sign up for Grafana Cloud](https://grafana.com/products/cloud/) or - [download and install Grafana](https://grafana.com/grafana/download). -3. Visit your **Grafana Cloud user interface** (UI) or, if running Grafana locally, - [start Grafana](https://grafana.com/docs/grafana/latest/installation/) and visit - `http://localhost:3000` in your browser. -4. In the left navigation of the Grafana UI, hover over the gear - icon to expand the **Configuration** section. Click **Data Sources**. -5. Click **Add data source**. -6. Select **InfluxDB** from the list of available data sources. -7. On the **Data Source configuration page**, enter a **name** for your InfluxDB data source. -8. Under **Query Language**, select one of the following: - -{{< tabs-wrapper >}} -{{% tabs %}} -[Flux](#) -[InfluxQL](#) -{{% /tabs %}} - -{{% tab-content %}} - -## Configure Grafana to use Flux - -With **Flux** selected as the query language in your InfluxDB data source, -configure your InfluxDB connection: - -1. Under **Connection**, enter the following: - - - **URL**: Your [InfluxDB URL](/influxdb/cloud/reference/urls/). - - ```sh - https://cloud2.influxdata.com - ``` - - - **Organization**: Your InfluxDB [organization name **or** ID](/influxdb/cloud/organizations/view-orgs/). - - **Token**: Your InfluxDB [API token](/influxdb/cloud/security/tokens/). - - **Default Bucket**: The default [bucket](/influxdb/cloud/organizations/buckets/) to use in Flux queries. - - **Min time interval**: The [Grafana minimum time interval](https://grafana.com/docs/grafana/latest/features/datasources/influxdb/#min-time-interval). - -2. Click **Save & Test**. Grafana attempts to connect to the InfluxDB datasource - and returns the results of the test. - -{{< img-hd src="/img/influxdb/cloud-tools-grafana.png" />}} - -{{% /tab-content %}} - - -{{% tab-content %}} - -## Configure Grafana to use InfluxQL -To query InfluxDB Cloud from Grafana using InfluxQL: - -1. [Download and set up the `influx` CLI](#download-and-set-up-the-influx-cli) -2. [Create an InfluxDB DBRP mapping](#create-an-influxdb-dbrp-mapping) -3. [Configure your InfluxDB connection](#configure-your-influxdb-connection) - -### Download and set up the influx CLI -1. [Download the latest version of the `influx` CLI](/influxdb/cloud/sign-up/#optional-download-install-and-use-the-influx-cli) - appropriate for your local operating system. -2. Create a CLI configuration that provides the required InfluxDB Cloud **host**, - **organization**, and **API token** to all CLI commands. - Use the [`influx config create` command](/influxdb/cloud/reference/cli/influx/config/create/) - and provide the following: - - - [InfluxDB Cloud URL](/influxdb/cloud/reference/regions/) - - [organization name](/influxdb/cloud/organizations/) _(by default, your email address)_ - - [API token](/influxdb/cloud/security/tokens/) - - ```sh - influx config create \ - --config-name example-config-name \ - --host-url https://cloud2.influxdata.com \ - --org example-org \ - --token My5uP3rSeCr37t0k3n - ``` - - For more information about `influx` CLI configurations, - see [`influx config`](/influxdb/cloud/reference/cli/influx/config/). - -### Create an InfluxDB DBRP mapping -When using InfluxQL to query InfluxDB Cloud, the query must specify a database and a retention policy. -Use the [`influx v1 dbrp create` command](/influxdb/cloud/reference/cli/influx/v1/dbrp/create/) -command to create a database/retention policy (DBRP) mapping that associates a database -and retention policy combination with an InfluxDB Cloud [bucket](/influxdb/cloud/reference/glossary/#bucket). - -DBRP mappings do not affect the retention period of the target bucket. -These mappings allow queries following InfluxDB 1.x conventions to successfully -query InfluxDB Cloud buckets. - -{{% note %}} -##### Automatically create DBRP mappings on write -When using the InfluxDB 1.x compatibility API to write data to InfluxDB Cloud, -InfluxDB Cloud automatically creates DBRP mappings for buckets whose names match the -`db/rp` naming pattern of the database and retention policy specified in the write request. -For more information, see [Database and retention policy mapping – Writing data](/influxdb/cloud/reference/api/influxdb-1x/dbrp/#when-writing-data). -{{% /note %}} - -Provide the following: - -- database name -- retention policy name _(not retention period)_ -- [bucket ID](/influxdb/cloud/organizations/buckets/view-buckets/) -- _(optional)_ `--default` flag if you want the retention policy to be the default retention - policy for the specified database - -#### Examples - -{{< code-tabs-wrapper >}} -{{% code-tabs %}} -[DB with one RP](#) -[DB with multiple RPs](#) -{{% /code-tabs %}} -{{< code-tab-content >}} -```sh -influx v1 dbrp create \ - --db example-db \ - --rp example-rp \ - --bucket-id 00xX00o0X001 \ - --default -``` -{{< /code-tab-content >}} -{{< code-tab-content >}} -```sh -# Create telegraf/autogen DBRP mapping with autogen -# as the default RP for the telegraf DB - -influx v1 dbrp create \ - --db telegraf \ - --rp autogen \ - --bucket-id 00xX00o0X001 \ - --default - -# Create telegraf/downsampled-daily DBRP mapping that -# writes to a different bucket - -influx v1 dbrp create \ - --db telegraf \ - --rp downsampled-daily \ - --bucket-id 00xX00o0X002 -``` -{{< /code-tab-content >}} -{{< /code-tabs-wrapper >}} - -_For more information about DBRP mapping, see [Database and retention policy mapping](/influxdb/cloud/reference/api/influxdb-1x/dbrp/)._ - -### Configure your InfluxDB connection -With **InfluxQL** selected as the query language in your InfluxDB data source settings: - -1. Under **HTTP**, enter the following: - - - **URL**: Your [InfluxDB Cloud URL](/influxdb/cloud/reference/regions/). - - ```sh - https://cloud2.influxdata.com - ``` - - **Access**: Server (default) - -2. Under **Custom HTTP Headers**, select **Add Header**. Provide your InfluxDB Cloud API token: - - - **Header**: Enter `Authorization` - - **Value**: Use the `Token` schema and provide your [InfluxDB API token](/influxdb/v2.0/security/tokens/). - For example: - - ``` - Token y0uR5uP3rSecr3tT0k3n - ``` - -2. Under **InfluxDB Details**, do the following: - - - **Database**: Enter the database name [mapped to your InfluxDB Cloud bucket](#create-an-influxdb-dbrp-mapping) - - **User**: Leave empty - - **Password**: Leave empty - - **HTTP Method**: Select **GET** - -3. Click **Save & Test**. Grafana attempts to connect to the InfluxDB Cloud data source - and returns the results of the test. - -{{< img-hd src="/img/influxdb/cloud-tools-grafana-influxql.png" />}} - -{{% /tab-content %}} - -{{< /tabs-wrapper >}} - -## Query and visualize data - -With your InfluxDB connection configured, use Grafana and Flux to query and -visualize time series data stored in **{{< cloud-name >}}**. - -For more information about using Grafana, see the [Grafana documentation](https://grafana.com/docs/). -If you're just learning Flux, see [Get started with Flux](/{{< latest "flux" >}}/get-started/). +{{< duplicate-oss >}} \ No newline at end of file diff --git a/content/influxdb/v2.2/tools/grafana.md b/content/influxdb/v2.2/tools/grafana.md index 04cf6cd78..cceb37e08 100644 --- a/content/influxdb/v2.2/tools/grafana.md +++ b/content/influxdb/v2.2/tools/grafana.md @@ -16,10 +16,10 @@ related: --- Use [Grafana](https://grafana.com/) or [Grafana Cloud](https://grafana.com/products/cloud/) -to visualize data from your **InfluxDB** instance. +to visualize data from your **InfluxDB {{< current-version >}}** instance. {{% note %}} -The instructions in this guide require **Grafana Cloud** or **Grafana v7.1+**. +The instructions in this guide require **Grafana Cloud** or **Grafana v8.0+**. {{% /note %}} 1. [Start InfluxDB OSS {{< current-version >}}](/influxdb/v2.2/install/#start-influxdb). @@ -46,23 +46,39 @@ The instructions in this guide require **Grafana Cloud** or **Grafana v7.1+**. With **Flux** selected as the query language in your InfluxDB data source, configure your InfluxDB connection: -1. Under **Connection**, enter the following: +1. Under **HTTP**, enter the following: - - **URL**: Your [InfluxDB URL](/influxdb/v2.2/reference/urls/). + - **URL**: Your + {{% oss-only %}}[InfluxDB URL](/influxdb/v2.2/reference/urls/).{{% /oss-only %}} + {{% cloud-only %}}[InfluxDB Cloud region URL](/influxdb/v2.2/reference/regions/).{{% /cloud-only %}} ```sh http://localhost:8086/ ``` + + - **Access**: Server (default) + +2. Under **InfluxDB Details**, enter the following: - **Organization**: Your InfluxDB [organization name **or** ID](/influxdb/v2.2/organizations/view-orgs/). - **Token**: Your InfluxDB [API token](/influxdb/v2.2/security/tokens/). - **Default Bucket**: The default [bucket](/influxdb/v2.2/organizations/buckets/) to use in Flux queries. - **Min time interval**: The [Grafana minimum time interval](https://grafana.com/docs/grafana/latest/features/datasources/influxdb/#min-time-interval). + Default is `10s` + - **Max series**: The maximum number of series or tables Grafana will process. + Default is `1000`. - {{< img-hd src="/img/influxdb/2-0-tools-grafana.png" />}} +3. Click **Save & Test**. Grafana attempts to connect to the InfluxDB {{< current-version >}} + datasource and returns the results of the test. + +{{% cloud-only %}} + {{< img-hd src="/img/influxdb/cloud-tools-grafana.png" alt="Use Grafana with InfluxDB Cloud and Flux" />}} +{{% /cloud-only %}} + +{{< oss-only >}} + {{< img-hd src="/img/influxdb/2-2-tools-grafana.png" alt="Use Grafana with InfluxDB and Flux" />}} +{{< /oss-only >}} -2. Click **Save & Test**. Grafana attempts to connect to the InfluxDB {{< current-version >}} datasource - and returns the results of the test. {{% /tab-content %}} @@ -70,7 +86,13 @@ configure your InfluxDB connection: ## Configure Grafana to use InfluxQL -To query InfluxDB OSS {{< current-version >}} with InfluxQL, find your use case below, and then complete the instructions to configure Grafana: + + + +{{% oss-only %}} + +To query InfluxDB {{< current-version >}} with InfluxQL, find your use case below, +and then complete the instructions to configure Grafana: - [Installed a new InfluxDB {{< current-version >}} instance](#installed-a-new-influxdb-instance) - [Upgraded from InfluxDB 1.x to {{< current-version >}} (following the official upgrade)](#upgraded-from-influxdb-1x-to-2x) @@ -103,7 +125,7 @@ To configure Grafana to use InfluxQL when you've manually migrated from InfluxDB {{< expand-wrapper >}} {{% expand "View and create InfluxDB v1 authorizations" %}} -InfluxDB OSS {{< current-version >}} provides a 1.x compatible authentication API that lets you +InfluxDB {{< current-version >}} provides a 1.x compatible authentication API that lets you authenticate with a username and password like InfluxDB 1.x _(separate from the credentials used to log into the InfluxDB user interface)_. @@ -161,14 +183,6 @@ Provide the following: - _(optional)_ `--default` flag if you want the retention policy to be the default retention policy for the specified database -#### Examples - -{{< code-tabs-wrapper >}} -{{% code-tabs %}} -[DB with one RP](#) -[DB with multiple RPs](#) -{{% /code-tabs %}} -{{< code-tab-content >}} ```sh influx v1 dbrp create \ --db example-db \ @@ -176,33 +190,109 @@ influx v1 dbrp create \ --bucket-id 00xX00o0X001 \ --default ``` -{{< /code-tab-content >}} -{{< code-tab-content >}} -```sh -# Create telegraf/autogen DBRP mapping with autogen -# as the default RP for the telegraf DB -influx v1 dbrp create \ - --db telegraf \ - --rp autogen \ - --bucket-id 00xX00o0X001 \ - --default - -# Create telegraf/downsampled-daily DBRP mapping that -# writes to a different bucket - -influx v1 dbrp create \ - --db telegraf \ - --rp downsampled-daily \ - --bucket-id 00xX00o0X002 -``` -{{< /code-tab-content >}} -{{< /code-tabs-wrapper >}} +{{% note %}} +#### Repeat for each DBRP combination +Each unique database and retention policy combination used by Grafana must be +mapped to an InfluxDB {{< current-version >}} bucket. +If you have multiple retention policies for a single bucket, set one of the the +retention polices as the default using the `--default` flag. +{{% /note %}} _For more information about DBRP mapping, see [Database and retention policy mapping](/influxdb/v2.2/reference/api/influxdb-1x/dbrp/)._ + {{< /expand >}} {{< /expand-wrapper >}} +{{% /oss-only %}} + + + + + + + +{{% cloud-only el="div" %}} + +To query InfluxDB Cloud from Grafana using InfluxQL: + +1. [Download and set up the `influx` CLI](#download-and-set-up-the-influx-cli) +2. [Create an InfluxDB DBRP mapping](#create-an-influxdb-dbrp-mapping) +3. [Configure your InfluxDB connection](#configure-your-influxdb-connection) + +### Download and set up the influx CLI +1. [Download the latest version of the `influx` CLI](/influxdb/cloud/sign-up/#optional-download-install-and-use-the-influx-cli) + appropriate for your local operating system. +2. Create a CLI configuration that provides the required InfluxDB Cloud **host**, + **organization**, and **API token** to all CLI commands. + Use the [`influx config create` command](/influxdb/cloud/reference/cli/influx/config/create/) + and provide the following: + + - [InfluxDB Cloud URL](/influxdb/cloud/reference/regions/) + - [organization name](/influxdb/cloud/organizations/) _(by default, your email address)_ + - [API token](/influxdb/cloud/security/tokens/) + + ```sh + influx config create \ + --config-name example-config-name \ + --host-url https://cloud2.influxdata.com \ + --org example-org \ + --token My5uP3rSeCr37t0k3n + ``` + + For more information about `influx` CLI configurations, + see [`influx config`](/influxdb/cloud/reference/cli/influx/config/). + +### Create an InfluxDB DBRP mapping +When using InfluxQL to query InfluxDB Cloud, the query must specify a database and a retention policy. +Use the [`influx v1 dbrp create` command](/influxdb/cloud/reference/cli/influx/v1/dbrp/create/) +command to create a database/retention policy (DBRP) mapping that associates a database +and retention policy combination with an InfluxDB Cloud [bucket](/influxdb/cloud/reference/glossary/#bucket). + +DBRP mappings do not affect the retention period of the target bucket. +These mappings allow queries following InfluxDB 1.x conventions to successfully +query InfluxDB Cloud buckets. + +{{% note %}} +##### Automatically create DBRP mappings on write +When using the InfluxDB 1.x compatibility API to write data to InfluxDB Cloud, +InfluxDB Cloud automatically creates DBRP mappings for buckets whose names match the +`db/rp` naming pattern of the database and retention policy specified in the write request. +For more information, see [Database and retention policy mapping – Writing data](/influxdb/cloud/reference/api/influxdb-1x/dbrp/#when-writing-data). +{{% /note %}} + +Provide the following: + +- database name +- [retention policy](/influxdb/v1.8/concepts/glossary/#retention-policy-rp) name _(not retention period)_ +- [bucket ID](/influxdb/cloud/organizations/buckets/view-buckets/) +- _(optional)_ `--default` flag if you want the retention policy to be the default retention + policy for the specified database + +```sh +influx v1 dbrp create \ + --db example-db \ + --rp example-rp \ + --bucket-id 00xX00o0X001 \ + --default +``` + +{{% note %}} +#### Repeat for each DBRP combination +Each unique database and retention policy combination used by Grafana must be +mapped to an InfluxDB {{< current-version >}} bucket. +If you have multiple retention policies for a single bucket, set one of the the +retention polices as the default using the `--default` flag. +{{% /note %}} + +_For more information about DBRP mapping, see [Database and retention policy mapping](/influxdb/cloud/reference/api/influxdb-1x/dbrp/)._ + +{{% /cloud-only %}} + + + + + ### Configure your InfluxDB connection With **InfluxQL** selected as the query language in your InfluxDB data source settings: @@ -219,15 +309,20 @@ With **InfluxQL** selected as the query language in your InfluxDB data source se - ##### Token authentication - Under **Custom HTTP Headers**, select **Add Header**. Provide your InfluxDB API token: + - Under **Custom HTTP Headers**, select **{{< icon "plus" >}}Add Header**. Provide your InfluxDB API token: - - **Header**: Enter `Authorization` - - **Value**: Use the `Token` schema and provide your [InfluxDB API token](/influxdb/v2.2/security/tokens/). - For example: + - **Header**: Enter `Authorization` + - **Value**: Use the `Token` schema and provide your [InfluxDB API token](/influxdb/v2.2/security/tokens/). + For example: - ``` - Token y0uR5uP3rSecr3tT0k3n - ``` + ``` + Token y0uR5uP3rSecr3tT0k3n + ``` + + - Under **InfluxDB Details**, do the following: + + - **Database**: Enter the database name [mapped to your InfluxDB {{< current-version >}} bucket](#view-and-create-influxdb-dbrp-mappings) + - **HTTP Method**: Select **GET** - ##### Authenticate with username and password @@ -238,11 +333,17 @@ With **InfluxQL** selected as the query language in your InfluxDB data source se - **Password**: Enter the password associated with your [InfluxDB 1.x compatibility authorization](#view-and-create-influxdb-dbrp-mappings) - **HTTP Method**: Select **GET** - - {{< img-hd src="/img/influxdb/2-0-tools-grafana-influxql.png" />}} - 3. Click **Save & Test**. Grafana attempts to connect to the InfluxDB {{< current-version >}} data source and returns the results of the test. + +{{% cloud-only %}} + {{< img-hd src="/img/influxdb/cloud-tools-grafana-influxql.png" alt="Use Grafana with InfluxDB Cloud and Flux" />}} +{{% /cloud-only %}} + +{{< oss-only >}} + {{< img-hd src="/img/influxdb/2-2-tools-grafana-influxql.png" alt="Use Grafana with InfluxDB and Flux" />}} +{{< /oss-only >}} + {{% /tab-content %}} {{< /tabs-wrapper >}} diff --git a/static/img/influxdb/2-2-tools-grafana-influxql.png b/static/img/influxdb/2-2-tools-grafana-influxql.png new file mode 100644 index 0000000000000000000000000000000000000000..b04901c2e26b01f0292e90ac6e5a007264334f68 GIT binary patch literal 73053 zcmb@tbzGF));>NMqv8Mx($WG7(k0E%NVjwe3@tF!P|DD$ARs*;ok~hS5+Xfx4k$Ua zbi?n)^E~H0?>Xm<@B8`j53}zbYwxx9UiVtpweB!A6*)Xy3S1Bfgr^`ctpNhvgn~f0 zuWnxlo_u^v?F#%Ohs(TxYdTrMJ5V;N<4u z=4Jz0u(^6U!p%I{99-p<(IjLg=PDvg~ZdpzqK|%h% z`YJfO!p$5lEdP>g1IYceFYkZbS4hgm(hTn8qUGdd|JNB%gE_&STwzYHXt}xAxoICO zn_1X6UOjnowL^bfu(YL%jl1PbSr;b<+TSV`viUbt;Dnr_V_T>O3!*O*!{^7j*^$0kGS3m!L{(-{ZZ;+)U zaBW}*AT=c|nF}OuczA-di*IC9Qe9mqi$-8oRohzP7e&Ol%)1Q%mzuz! zci+eM+}z*9maUxm@ON~K9$1L7vGcx*O+RrFyu7>=OWbN}8y0n*pr&Qy;T0x&K%Sjb zKEdZ+UjD};X0{^-p_;B={{9g<0TcR$mJW`dWaQL2xs}`1y-rd6^zzXJUU}VYk znBCUS&HSZ#)bXO?7&O5OEyTGkBSvQJnZ8`w%7~E3al@>FDDZdNRMBkeDqbA{87O zr~AT8N?I{FCI59m>g z8-8fTFDUVdk(H2$6e{%`X5$)~Sbes=&&4am#Pl>TugVJ%WSg`f8<*kfiTs#dZW=a0 z$7^`v{*3RLsJBlrCzn7^&$NP)#>v@*$g9z(Y&^7d%*Q7e$iTN}=NC|&H>aKg6bu5( zuL}n68~-qPdjYgNI+2xE@y}e6fKNVV;V3I>8o)Q~!q?{#(>dQeeDfv>fe2z_<7H>( zi-<_9Y#M;FP<3}tiPO<^c20c%KHk+e+0il9(9qq~)cg8P)a%!gfBey3U*FZzGQi5t z$Iih|Li#WzwcvZ_cu`R;!aF1bRT35!-_|z7#LU*%)Z5xRR8#Yfn@{-ln@9m6@izfc zGIFXF6)oo%mny2dKE7cA0a5Mk!|GZFHi^HUD{6XshkPJZ5G7;1Jij>oLq18x7V`v!y26_3gm9)z-QZ`;3Bqz1*kQ=2`P_wvgKg4AYSE$GvmP3^Ni_J;MQ(=pbY z1sXZEX=4`1*Eg*1DB>zy4?4j#A*R9w8~S5h`%-yatwgFjetZ_EA?)8xHF5oB-PbX@ zynHNr7X$)#Y;CiGK!2b>AhHJ_5b_$xRPA4i5a7l854HbVd=16t~m^n0lP zx(L1r0{uhnzZS11_1929?O$`e8u`C20xS5(+J7$AJs?dK+f}lWy54LJjCh?G%fp|O zBmV%zi3PzP`+mDicoPIku9C=5c(Wq{GDSmiwG=DK!mfe9y-M3WHkle%EopDEcpY0l z!Ud7R)vk@;`zAeC2gX9)!*=t(U&a9;t?t2`ZEV0nep}wNQdz(nhHek{kqUTvhcu=B z@V*iTLrFwYC~mx$%cA!8>z98J0SI7Iz7Lbke4dq4z?Hu=r4@edj~4>4w-SxG@r3c2 zuyFBsNk*XSw@*;fYi#@Mhs!zAMj>@1=hY`6QaGl?6vM)?6}*)w3+aE>} z244Gvj2GsAtrw+M+oc(r#{>vXhMtnb5J4oQr>oE>-(u`rh|lmrE_P`98x+}Sa7VgW zkc*xyi!hVPCLz6!mKmGDlY#|-Yh-(2cX$;t+uL)(E>P|5c#9E=TGn#v zjlUSZw(k;2d7Bd(N0dLI5%p&5pz;)%Kr(gufFPH?(%vhqb)oU*8Y1LUchu9Tt1^E_ z&i*7_gcUv7H9NSYHrPV4U(ec|dnEStKJ4%w9-_a|igC!AZ5*B8=hk_iXeH2p+xcV5 zV}95#`98=LQ*iq!O^TM#ZDcx;Slx0pf$Kwe&Q;&~eJ{5v-7d||=NAk-ioS1M_0~nZ z&&NfjcwrTnSz#%{+@&M~$h=x@vq}m$?X{{_ZHE5$A$`OIS@e5`I~b--Yp)t3n4Mh_ zH8zATl&NuQbLXsfd<3%-C|(1$LAy`6TMLxTCR!kIotI(XM(9uOAF@QMAQN(FLf?yl z+3+Det`=(d>l3vVG#u)DUeg@R4|}ZDzZD?$&Jdcd`%1Bwb@4@IUOgI*CF>@+?%i!X z0oF)Kq!mSHlHV>obCs4wvI=_2q)2j5>tUcxBHX7&IYTv`XJj?I!P;M(JYeXFSqMk$ zE}D~eR$y%LMp4T?Q+ODZy4ygm|Eh6i5>C;gHin{NY;Za`5M^ ziVaD3%rCONaIvEWCgJ*Tyd|lQ!EF|q4BDJF( z+Am2dDxu!P?gB23Y6{rgI~!|AU4v1h#&i-dGD|QU^%n`n5yMQ5Lu)jSRv;7k@M>DY zR&{Nw8M>(M7~{?0H0V^#$ieOw!h)|_19ng|O2#J$fwC1TT~e39v-N!SN!i?A)wkqx zV`=HtPCH#!svVCGUY`y#Qx2Dx=7FF7^tS6G>4B}yqVi}eeHyT^XT9Ey3>qwiZl>-d z6+c=UWoVp4oDrtYo#DN`ccUMva2VDs%_rpG_$sTGu^;`+^)6s-xmDO#yt=-u%rf*{ z42_!7jgK#B`qc)pRo>&*%qeZkO=$SOf%~xwm4hVAS87Og-+iMSm`ec#kw@)DPWUqG2#!heh@sQJM?6i46`~-^2OKi6! zI>h}{Wz0;NWqS3jC2KXZ{{#=A#HRglXmCO_cy;o!NK zd6Nu*u6*hbn08`KVjSfrasIkum@mBbyM80m@q@mjJ13!C^St0U9o5ra+pQHU)u)%^ zr@0<>gBMwo!zV3%kiyupsWL`<&m7VF{&kVNl<=_U>CYdkrHs1RhIyxo)lBU*F@6oN z{I=HEVgo6>tW;ib4;pxh9)#i!BbF8)>I8zxDrIL2qnKRj3+|p>z`>0lhA%%c?l-!J z{us6I$W@RV|Bwcys%&$I=LtqcT`b0>Et)V#bxx*luB#M|Eb5U}cIS25AqDbR{8`qq z^}3gX9|Z=2w5U{f_kgYWOD?d;!tD}9En z8+$fl%T6#7Y*byeN+t@M}Yw;Ee} zFVFiXJAN3cgyUIvf~#h~EAZxBbRG*SB9jLt;IS$(yIQ3;$cF8O1w5;4ikiP};93l$ za+)Nnj(#thTuWD$9j&05_sl3>rq#;O!y_cGZdkkPrUM2mJ>uyyA3O8v`D)5WO?MX* zqs%O`K{qop8ibd-WU4Qh0FLSdT(^Whhme9$qtEP*B6c;EpvGf)>HL{1Psv|oq&p}% zMVA}UU9TxwX9TJUkKjnjs{bVYtacokl*Uqysh#jP?RL?l@jb9&bPRHoz zBUi;9>>_ncI5DiobAXYtMbACGG5MoJ!dK9PI1>s^n;T6|x_0i_?K&^ixN#0Xm-RgD zPOV_3eV#jM^SJKf+scBQj3bUNv0jySThcnDZXtjpQgm$X-Fx-81iiyM6=$yxVoUQK z_R`(+IV6Mx1rAg|q&}aKt z;a<$urEH&2d90D#(B3Urd>fA&yR5IcN#)bKRa#DqWZ!n9=VNQd!65M&3!iM29_~jA zt-4lOt`zXrOHPpS4#Z(K1zrv*dFZ2R?9RXNpjTL?(sA?LE8Fypiv;ebI;*O(5Kezc zGe^TpH0|#1Ug(iWLX}N|(rxV$%Wwt1qwENAoX}s6nq(by$g04-+34Wm{ha=WY0gxz zZ{LPnrHV3F683=>);Vbwr8^SLa~3O1{L5WAv0;~+ZS|FI&&W3=Ey-l;D|Zs`hD&|v zs#&5{lowCl<;pXYt!qWPi5TtPHcwR=S~-_DBSCfQc}&8{O}K8a2NDCkTY}jewn{d) zeFJEbql|MGAmnD*l5vo_m6}t?$sR6X8hqGUC6N&Qw~muJnqhU-Jr=RX&xf;_csi!M zVUp00F^>7zH6jK z*3YY7YKR6<5ZjWmTE=vy99}S6KTM4)O;RM18>w%M6ypKC(Z_4GN8en5)bSV~sTG~n ziVzlI%YE#&dx5DlZ`2eqxPirZLKu_#rg~GOWhS%hdpN%yFJx*y;%C^mxO)S^YAgw(Icn2fmUFd?h0`SZVE+JOD;MyZ6L2ZJklc!+P6b!O4?PIbxzKoDq? z>XHvU&I;-#9>be=-p`;iE4CW^YMEE41WT=&Z7hHFeku`c(R}(Xt|0Wta((z$Jp!Y zzT9CkK|Z|6<)?1@w3Zyhud*QlK?p`MCC9Bn`K+h+^NPgab}V(*R;8vyT8Aw#(EaagAB61; zQBV)*M+!q{j#aHiOz%WI49mz~iRSAJd}gKlQh&E(c_v=%aXg`Z$$FV8P0n-Ata*pu-F%=Vzb z^+7*;ReWD~qaqeRb1Gr^k(;Wr9XhJBSN*Odrp^sr&XQ%LA0WBLxJFnNgn6SWhf(A< zEXAu6FQ6>yN7X@S8dv=(o)^+{;Ht)qfRM6rt2iLpH_(#o0vSSFwhik~KDlE1IZ`~> z`WY*dpH3;{8GR_>*se}SC|HzH!<*8`ooTIMC5cnPnQj#UxDy!(CO2R+gR}MRWl^k(w})wVE;DffwHPvePnFjHtDTx=u(%Dy5XQwPoL(7e;$a|! z?7MG6F#+0{K(#9n2(hd1_8js|$@iUHxq>1UJ>(K(yCYAj!2m3TK3lW;5UB+of0`kLrC(?;&pyFK?|jKgxK~Qi^M_kCt~j_N%rb<5nKt zzrgYff=A-Qr^|!;Q9|VzKTdqhJ5afhOPe6=ExQ<1orOvEpCyXQT=_{GV&4GIa2VC^ zN&24TkV9=GPfQ>#;s~#{qa|y$9g84 zdW_Vj(mtFVrmAMnH)uxMia%5BoW7^*gl0o%w>|NdOY2lXScv6#3XkCmCyzi=n2{+ne*t8!@k&_4*ueSI1K-Y^#=7C&Y`zC1_;or?k^tSDo$J z9^#bCu0T}@f5JC-vrKaiPy7YeS72A#cstrwMT{4tv}E7Evt761S?0pSGGb zd7YmJDHHZe4)NLZqz>eT8du7t^iem@L3{{~A%(i)h|1OV>9qrdtXm6=CqG`O!zE#8 zRA6Bkr64_BRq}bbD%xDB+l`kAziuESgYk(|HAd91vV&@EA@EBdGNG>NbMWJN{8;T=WYqe7^`5l3G zM-FmCmPhQGzO{Xt(FDmt3mV@|yx&Q(d9X$bArqLi1M6;{4hH*Wp$)ZxXrS^mG~ST? zUM zN^zv0HzzpFePq_$;0HNr^QVE+$H(C|#z^;vySA{zJpY=Q@Q92137Gr+k?#F6L!lyj znI7doI>{lnqB|^~nFlmGlQ+EQV^U`_7d3t6P97fz?q}2Qmi**{of7vyDQ>o)+T&2fzf~U{lLSVz=%;OaAGTG=L99w0? zq%$%+#1PS9FZR!Ly zl54&Nad7l<+@g%%fPM^2;LDiywi?MECU!6|ekxK`$&f;nKD=Z2vr`bqHE@{U|NPfl zLT~4mfp6Ba`OgzJfdG8J6$Q8JtJ7|tXVlbIH^|^H0559$h?i3>qZo1hQL>rKyN8tU zr$Zz!1aLtNt*9r&nHOG?l&NaGRT{j$nz051Cl00kYI=EA)3beBIJDxB$+z4On=$=Og(2K6WXgNY+C=Hv*!{+usgzOwX+-M9(*?utBNChatrZg`LFzVp!Q zc_IZJ0qvg^ERsAVbH0RZ`$rYe28YLjpY98)Fo zVT1en$ue{^7}XKv3ExV|br}?hGXYq#8{G_^WZaDtQHpmUQ+x7Z&HIyYed&xThnG8p zorZ7;Ko;Yuoa~re6%w~-pI|xiIk-m zFIM5se@SQ}2!c$S+)G{}-@cIakur}yf%Y+S7w8N;3_HtH8HPka$K>c;;q(Sb{;|>0 znfwK@rZFyT^yK76;RP>Q{KK8J>wlp1p71(&8I#UY680Y*&Adf$IfO~$y8I#^B-g6@ zg~TD>3sgyc+f?iVLFhA6EN12SECYaQxTIo+0>?n`u;f`cBG_^Tofz^|Ee0xXQ_f0J zl#)DCSP-*<4u~*UtDoJHOF7@k}vKTbFPb8R@ zrk{z+HNkBssQh@)sCV0T_zptF=VJpCPoj?ftgYRIkcEldY=h1Ye#k;cHDjdTad3&& z6&B9c&n(K}hn4zC1TG=74&N455+VD1x0jnNa=3e}wHm`OO@DW|sQKq(GjuE6F#@`o zUC)pPm;BBP_EmK}n*a2)XY11$IDSi<{Urpko#ND_PJEkLbvGVRywsC^RzfZq{u1GK zW&0LS`w`75;TPU<`x^MHxn4+i=fi<$MNy>|)P~SyRG8K&Uq0e;`{ujvlse_mj+Ag6 zRe!V`mCqsod3|~!=ek-s;H63u( zh33?D;{#+@{w|RPx{OB5=ctO}AtK@3K8TE0F)Ww0zuxjFwTE$Tg8=b@cs@}-I?Pn7B7Tydhk0DI znFp5Q*m9gXhT;?C&ENm5X}!vWO}y`~7+ac=^W+W)iC-m>q4?$mGMOK~-5eEJ^oty> z@yJD6Hi2Ph`OyK#&iD?m2f-d7C%(g~ z6gnF!JyTUY+15t=la6dpFpqGAoRh<1Duj9AbJ022cWl#kiwmn?-^>DVCtu$$hd@!l z$p~;+sG+KcGNcR_Y2~fz46`CzSQ@R~k&jKh;37kkj9<@imyLwl?F}?ncW*~Sr7rI| zgTK~;H_jX!mn3jrbJ?hMmp)+YT_IXLbLDCL*%y}G@hHCc*(BjWkf+695rHkgVSJ`( z&}txWslz?6w$z4z<4hH;Ii#@bmmS=-Ioc-&D(>f@^3{`%t-@Ew1-axg>sxc2Nnwmg z-g*cEQz;zb2{FvU!ww@OXq?)rhI&mn8)ZEpEhyVJt+!YnQRTty)54{#bWg2bxaXSf z?B!oN;9Xfdp{((r{DG_pBDbhPn<@l%uK%l5QRefa1M4?^;*n>gl*o(GJ^7Q#6-xh6 z{%wJGp%d%bn7{|42@h)uCGhl<7l!L}`bV#4tgGZzlQu{fQ?y_DtMc?n$ z@KzD*c2vNvQQgt;(1BCCjJP8{Sv)Obrb5JR;e#T@kX@kd;4y$D0}i3>hT}TG(Q#s5 zKl9fa5oB*g0ld?#9`*iT&jFH+3{Ly>+~MU}q4X}Al3=A7{~!6hzlgOz$v>d^Ki2+9 z(fvgY{`=y;Vf(;~y8lAo{r|w`{Tq7nf1LmSyqteC|0_X%F7{8x@jn%*$f};)Q3X_m z%(c$=V3Qa4saH@Fr3TnOJxu9^+bVIIt->;smlm z^!kIzi`xWUC5g`DfH8Le7ARHBZt82Nu0EibR`?#k^|_23y~De2gUI%xqs6yK3M6>z zc-?#(Umb`tXr^eH%PAG-FL7V{1IC-bmph(V0;TDUs;Al4*Rgn~q}<Nr zHfb4TI#}y422R#G&t~E)mZ6^-?QT=lf+ddqkbn|sO2}3hj5^Y&jr1u0hefR zTbJCCq(YAN!S5b)rmA&KZ5n9(c(ME3O%}O%|4zE5Fm)IciIx|^qo$>->k{c?aI12t zOqOYeQkf$(dCf*rKWEWPv@qguEwN~IV0>p$xg&u!#MnSguoGn@w7DMp)vo)$_W@#Pgu9q5)%;$o|`v_Vm^{H~WjNs7HK$0h8D^>R$ClkM+Mk5{T^F0!V0;q;F%=L4l7xQlFG* zGHunO@M*I&6Rr?r;r$DHf3WX>o^x0EOJ~tsfnsiOV`g;i&TUaS9NHL2^5DlNeksxX zT#FGxs!(^T@?uQ-0i81^E0Tl^+0}CDRt9AoQsD^4Z83BOeb+@!-aL)0;L#S>!uRbg zFZIGhID)_%@#2Z6kV1jsuWUq8I1)1yyuSYE)qsEiHYP9C!p-P{-Ujh@t8)o+wSph? z&CrtSea5;>7X5zhTd&W!u}#twqG`|+txE>s5?iTOTkF|2#R*DyGK60kcwO&psyCw8 zuXI!fvF+Mai9z#P#A=0p(aV!8B%3u$ix*#}tf$`mgoo(ngDHZM?C{Zke(<>#g*G2U z?<@U79MDcDs*n=f6A3;yfY(`9Am_*r;e!kApkU?>HDZtup>=unP{7G0yBuA$1%eqzeT zW4=kZKg#j*88M$L!BwT$gR^`dCYzGJnPxU64|ULM5$=4Sf|3mmaFvi~)K+e_OIBQz zn1&t???s@c+lS2U6+C^)-IxgR#pt-%ewkaZ8(7=xl@-X-cLvm})d(zOX5iqC+4|zv z!62)yljZm{^BPCCKt0ltRT~Iypx#bM5=SaVHj_t)OF(3cd$a4A)(`)=U1H8iA0VwX2@1{C0OQY){UAeG z6t-0TsGxrjAFuG1n*~~&TuBs5qY-}V^-lq;xL6eeE#9R@kW2?wHVD3aCl1bGyaNix zpeFXMx=N`lo2!o^xd4$gNUPFYBh=^JmoZL2hRFm<^K?E=wv#z31Ez0~SFJ*Iv*BYh6AUfUbq6j!<0MSFISUD+}3@+ zW}l6z2Lz7rM=W(?D>7?VmCkl8Faen6NSlQz~#SZai!!wRCrxCpCHaJx78yUby?wWG3>KwO+!u-_PWlEJ0HKIB$YnALwGp6?M`fH z6ugTxCZ*@*MP3L|zPXqiq48l&@<0AsgrlA5WvM0{*3Qd)SeE6srv zuA#7UM>?xXaFvH$!mZUG7lCK|u)TFs*9ff~E!zhO_0qKDW7#S^gx7a4TVEmMGR-8H zY|o(itk0m`%TaA$P5?VhF4x$6Sf*2xoWmDpsi@k(fA7sIBOj6nrg{FTyYAEKx)5fM zsMIOZB;n*_BN|$?wx;Z@DdT%?(_N=-;uOA=x3-q@9{LgROoWaF6Hg$v?SaqQ&hH#M zpzo}@HL|EpbXRA*u+75_`m$+%oKz2g0hvtECchXFS0={RT%4<#_!bHD<4q1>xnN(- zjqLJ$JS0QgEeCnBV5fr^_2XL`*%NEo`lGutvdGCNx~Z0L7LT4n5Hg|Fgcwh_`Vwxc zhGLKdT2pd*Foouxd99_cVg|X`1Ky-WVcuneYvwWi#sP= zb|I31M-gwEn#74^%gZ@IditaobeBJ~GCnLw!=JjVn|rQYPX~(<;DaG2o!FC+cqg$l zJ|*tUbhWm5JyeO_K@D8_RWhMdVo3J*lvmy@`JAxEvzd(evY7RBzlfAMT>!pqIxkOq z`p)2CMbQQ#FuxoR(NSz9b^}RbO&oARtA@I~KdN6>AQZb>rD07R9t}(c&ATUwY;^`6&)PX zi0#!B{j$<+E#*FU?6jjCb}Bsa3K59ng@ZtKGd0FGz3n6JCurdeC*oD(8N)9IrEE`& zN9g)vTUReIWH2;O5O+oWC$HP!w8VI*3<}!3e_GZDq_C*O`v;UNSK$e%8{^cTxzSy8 zl2x{!`D)@FXjG{aT{Jr;Z;|Bk!SvMDd=^ddCSCPMLb^EQ#)ksle?t+E1%7~aZuJok z#V&k9B}_N>?pf)7HgDG<9%DDtB8ntLc5%8Yh=}P0lb3`1r}wV0J;;(TiQ5#hP8AeD zqXhGB^=1j28;By%r@VVtD=q2M8-sBVi#zP0d z$-T9n&4sn^N2TXpn4^>POx3ibJx;p3&DClf3va$!gL+${SXRG?n`x2pva}f+J%^8f z;KXLKTmM{BEqhP~Np5Z;`BSe<9zOIf3BS?4U=?dQ+P71iO4p@08 z_R&&rw+Hf@;zOh{PxHVMKnc3y)k$5X4)r@t?pw8>;-#>?yqrk>f}P{anFTVfi})`~ z0{LfeWu`MYDIhGw<9yn3SsBculi)O##OTB_4jW`2@tn&ho_=aP6zR?5yLM|ge0K)L zr#^-1$K7r?OH(vxA0*SN3L`D}v75FSwe80$DQdLF8q$qgJ_GaZ-y@1MM;jkU)nWx; z5%&yg#py2b>MG?0z-#=o`4kwvsxSOzYI-MxH@A;ePXj;D#P~C~?tH^A0(8<&lE(|g zup+YQH)!OqS;28%Nc7OjNZX4T3(zy4#{r>S?VOYUG58 z*bzBsZaPWBt~>67UN#MqztdHO&4kk88>$duk`w%B#ifA=nVwGHe<%ZBwlb^2 zzpb}gN}_&RK>g3V0Deh|Dap!hbByE6x1Cl)Q1vCr%*3`I>0U5sqb}Fty=JR+Mo}S{ z>IR}6-Dd_(o9d!;=Dk9{X3Z(Jz`0xbPh^!iDm>53Vs@5yl9{>djl{v)7!fDZ_q|&F zW{D{!;ZKX|I^NG)Lh5|x+8D=%XKxZYJx9upr1mdsr8ZV2o)YbhqpV)L?M=jQPP@x# zJ$_*H`I{yIMU08|?4^I5?dEJw;Q)isZaKwPfvwEQtD^#2dQ7)eGKRe<9B_5wCNo!@ zfI~Mwu@Ug1?q|ojuH<PTIjuexSZoQkC?f!A}Xmj!a_ed6G z^!q%Yr@WZC#n~=OA#syX@^7g`Py36iWMe>&C!e-GD5{yVk&1QR#l@H@sK#l)2fdzZ z)M}>J8kN6GA(G92W{k!yEm;mFJR&~v_dGwQ(Li~fzmGA~hUM&L*On*$^qq8G4*U3^ z0|zOljXb!_79#5X2Hj(jRw`dWZ>^_*=yR(4med)g#eqQy;3uSMgriNtUo3yW2 zcXk=(FMI=PiVk^Vo+8EkTyNaj>us~CO7IVp#JToz=RbM=-6)2~xOiUut3HCD8_r_9 zgqyR>-t{M9yWhF7^RHl!D!dMy%cG0cg(@z5cAY zxOOaiP3swjHxZy1aBr{4OFu}4w!VVQ^ntoijd|Xzq>~N z?t4rc8#RVSui@2J@>`-7S$aF_X3@2i#h9_ql2Ji}s2FMdLnpMV`$l8)(M8X--1HpGY6Y|+T1#h37w8rbQtIitC zdqvc7q&Mrh_^8OIVIkH(V+d6A40rmPWSf)$fLW>FW{Z z&Z*;Yp8MsCclVq5VeB@1iD@m( z>O(m3#V#>bMqgysD#0b{^adqtrPJec6nkElOYX#;j&QakU6v~5kI?wH%WDD6t45#3 z!-F8N=bEXq__a@Hi@dwmPzm=E!Iwx8X|)ShwmueRjH3$^_wSy zCrmtj;1<5EOLTXLLW^qei-L}zf+d<>^ZdAKsPR6LoTo6_U3HfV=@-j+EGV2BRXuT9{M{5yWjFdv6eqWPgr&=HZY5dUh7ula9q0$m z3W5Nn&<_Zrhq)R8)>h`+n&>uuzvA`{#n{(md-0b3SV+4`#d|siDjKM@_}T%T-?&ax zAKKU}%-p#c>9Eb7(LHjwP(-n{wf92bl5#KA2lJAnh%&ve48*Aesq18T-m6~EDEu8& z2r@LUc#+#33psga6~29{phwzsjoH52{(8bkSR-JwRZ)R?J2)&n|X=s<7@XE$=951h8mD~N5}V}h|)-M z{P0dXyYiPk4|{4c3jEl)?0&U2AnOH*pCd4IV=ExeU9}HjRG28?0OK2D%NSG_^kVyq z2{K^2^FtN`^KwEDS!!=$zJR7-N zAY|ccSLp<`)g#Ki&n{;3)b*NvR!F~`Gd{~iTQ34j&iq2BlCEzk*8K@zRIG|9)+x}F ze*#tbx$Bf%WjpHXHt@p~vMSz2FKCJP)R`g+5$!K_E&xun^n-sDHy8gCBy?5*VxS=! zIY0>^h?3wa_QA`$q@6k1h7mprrdz#)Ig6OrnC(xSSbKfsk=zHtx<*1mb3 z_2FJU&7qx|HrB6~9~Mkj*{8S6hh^)3%RGe=KWIQ&sA z@a9#&A-1$aa8g%c<7@O9N;5@ZC^Xd!&0|FTk|? zChRZiOaY2>-jkU^Z51|?^+|)AHh-Mncnx*sYjvro$k|OfG;G~?C8g$o&KZzyJ(_is zIlM_W>`0wF*$gG^lCg%{=DorvG*v6vsz=biw_!!tuMGy)YUWKqE0XaF%h*0A6@ENd zN-Imsa*E+8ZfeYqzD(Vtv(JzWagfPe?+40WKyF8D@103yXCa~b{lK=w?4Dofw3^lyPNw`maBAu9)A|cssu@M^17jWQOE^k~ zhzv?0x5%}KJ3nSVg`9Y%*e%EAW2&iP=#GxGjXEGjWvP#TlGqI~JnNBnjm>3E+>Ytl zUFI)fycosQjzyIwAgu^^rNjrYD#$PP(OIuh6Xou&8!WHHdD$j!{E^0#VQ59bOhDwj zPLd`HTd6kT9(visHT3N~PN?o1=OqQ8Of z)tnXQyd;rxtls+l4>hnNLei?jLMYcM>UygfkQ(uQ^{#b5H!tu`zAWiEd*1fu=<~`S zE2bzJes#D}c*_P(t1M3E#os*fF}Vsit8*81T?$CL%{x}JI&D7k8e z*?eW8{9a18do<4~Q@7Z}(Uy1%utF8kTm4Um^!AD#(p2~GY%GIXzpJu)*V&XT)?WuP zOrwbK7tX%y3pj)rPl>!bpK(SE5dpbu^8DD31d4rWCo-tLKGT97d%=$?@$`-RNbl2%KjDxI0o=sj48awe{uhjn zbLE-=F7oen`~%PqEE6E!f4jj~5d2>e$Th(Eg(TO2jYPe7dOS*U3kxlMe6OH+JODFs zm}0*{-E`tcSNqa|(A>p6@yqAMUvkzS@MjYT4paKaGeBa+fIa$DvgeM-nKUCBTU(4b zDQE;^disg<`x&C?5I7l6DJtn%+G=yS0kk;gTVU$~?iCl%Q3;*01W{C%^J7;WYtM^~ zZjr1f;HE_YtN``{KbD0q!2sYv!|r|dW*Kl+W2qzoNCPz2OZ3di34eDX>-dX2gMi7^ z?!XTK;l4nz2Qa{1XzTnY<8QeFt7}qBN5hnS&mBt3V?1?3SFR|AXgXxq+ua{oj@l8m zS(w20$t9&w6T&Q+Elz{b?F6?8eDzi?IvxGd2uVZN=p*^iP5j@pd=IU6u$$SGw?J!B zBdKFqJ-Viy^$-Lr9~-dL8qfEsuLuo`E>!t1%pkW(6K}VMS4kv`qOBcs4o^N}rJy>Y ztM~BxG#?!cMym9lInnRt-6&FRztVdh!)xGrex5WaYc?;letpmj^N_TSO}d;QQd70p zPgmMdA6rl!ZWp2VG|R7&< z<=pw&`F798u<)9Dqzz!I7@!FQp>xAAEnz_m>Ix8f$l;j$v29%pl^i6S21J`Fk_{ix zx9%jGqq$7g*0Ol9ByrQLH$H~jvnix(C6 zCfQrb)BBIXz5Yo4Q@lF0F{H}y3JaZi96*RhrkM1SEnNiGexA2^2C+3wR% z210Sb`DnkoAagXp0OV;c>=ef2$pKj4@Rau9_~Oxw>f%mTj7qxZP+106AC4B4)Ol*!RKyz1I^7{iR@+72hDk3*H_!2sR&5skX5ES@cQ@Joqr(6Kv+Xn;r?%KGw{Ov_pQ+{`x13`Wo~?zE9~z7*qY~n9^K(ke=H$}yVt#=b7eOugiP>3 zUY*DHgnTB!z7K8NGeO7Lew`aa*M5iL{~9v?(}(|8Vfa6X{r_)P@6W`a|0BuzzmR>U z$N!X8bn~B!|3}%s4eZ~i|2O#IpNjt**&xub1qemLjfGa6Y=e{WL>v$qD_E31@XMmn zJ!12g`Hm?W(Ed%FyWR_8V?-0yidIeiGS^;zHbdhLB3K*mMm|_WLhAPH|7iIzZ5`x4 z&?U=Gbd?xLu64G=S4sqmG(w8aoc%$2cVAt&_IO)MxJuO#KB3a=L};BknWV0ZctKM9a2iVVQ3h-8y@Lq=o}Cb7>1ITJ{zC6zVG+EpYxvIIe)>dz1Lo` zSKQZqUH9650*2RzoB@R;vD*NU@`L6*M5W*Y!x+mJ*)7aD*A;sQFiq~mj(eGl_imDn zkY5K}0_#+7vD1M)h6JUZ(4ep$y+;7d>k5FvK-M@5aIy)ihxN+9&6T|9A%g3OY(~e| z}jGWf1jVS)7DbejRqHb$mYb|M+WJ9XR zDgbU;vsC~oHz2I-hIS&UH8h&M0k@YtxP3crSyRX)wr-g2 zqF*>wH=e!r4D`rS2Ri#GzKT~e=#zsiV~|z#&d2W_dM=-Q>_`d z$d-TckV<6o^@oD-OxNrH=s^#hK)uA}Gv2T<(g;7_K$Yu0%ypcQ8KIW5jD2)8%Cdc= zVBc0Dc68LNIftlBPBlL!tsU`7#9MLBlyKHM2a_(SPHypxZ)jNXP14S8h(|oxLMZWA z9))r>;fQ8UF z$HQ9%oj}5F2?)Aa9UgNK!qx`hu6=|S+Hd(=C}H+nniEV+*~R9w8Z1-uey(!}{8av; zldq?DJlA7uILPcc_(9tVgcGp~TI58mBj??`iCeHa0bOVAUO3j#a&N9_s#j>-1CMR7 zU2UC7#mZWtE4ua2h1d*0C&7~Eqq&Cdmrzg{BA>}empP|G3K|rL#Tg;zmjd8C3*#Rl zn4h+R)r;@PeA1!h&d=OBSx&UvLRJMhhV1`*4?e4}Y)*>>(Gzj1^*DSWu&BP-a#gJ@5B^&M!JysrYLtq7>;gvI8++ zWF-GCbJoG#Z-NZzi{VHz7xWD&- zYVFu6kPVn9+)CitYIBADD+(9!w@5vbD&~Bb7RNt9&H4DMBHed%qq65b)Q?P#^c(Bx zw#F@<1hb~j8|gFwg4G`J63rRef_z8vN3NT*gKmBwWUz{4t!151J}^v6imI!iT15Fb z?g!c~oSTCE5670&svDG;B7L@P_-=3N^)u8k#ZyGt7}JjZ7;3c55tLvj0}Ylg$aCcZ z8wgodE~gQ);uGm%iQ>~o#1g52h3Z4_Sp?)Lm_Z5FUopKh%Ku>gAqd-P7-X* zrHp3lJ8x*^B#iN`+u^6C$fNfjJLUYlOuk-9ybmZ zs1EOfYxzx^?{j`^D)^&uV5nB8A~_CoTvgS>_d;oV&{>0ME;`~-++xCcgvZ#Cd4*;{ zS6PBJuFXSEbhgzoX4?E*$VFYRe2(N1uxWRkV6iZ#yl8F1;;`H?K_<}yJS>ig?AFX9 z0xjp|BD`1wSl8h%8o~WJYi+lblGlp0*=sgKi(|K7B6*M`FYtt$p--S|DefPn&Ut!T zlSb94(c!jZAYpTN(nYcy!}WmT1qV}Y-;kULdk{5>U>OH!C-pE~&9BZ>bze{yko5Ih z(wwP*lc@2xcPLR}2C!ozQJ--}EFF^sh~wPp4U@$S2V$BHVPTWQGnUU+Z! zSBKgO>64XbFj?B%hvBuT%<3F^LJq+ph4FAw zn1Lhqxsx+jY$!kOhlM>g3l};V9c4RRlVL*zbtgPpub=n9NY={a9Nl#W9+`T9uyy>E z$?QNy+2S&BHFmWTGSUKB;G5f(GTh*}U)5Qvw0yXVE+v)i^(#r)u7JtAI~q5NbeYq?(a3RiQ(m{G(uDJZ1@^(DhLfu}48fjY zQc=426eOrR@#Fo#@jMX=u8^0YZ710}MKQ>^N`^&U&jN7vMYIwD!J+xCfX3GnC|TAq zald&6Y%)hxw*gOBMd`VR)OD4IoV-@%Tc9o`xp-LBcTCob<|~_!R;}ebjfUlIG5Zm6 zx7}#e8BSO+WuhVYwsrlXS)~R>Lw~TNrMWCGsuMllI2nE#B6n4<*Jo{}TufoNq@;MN z$}eJ3ImZt|v4mjdxw_*cNY`PVz?IV zA08OH_p_2*VpPL`JJzBMx{8Wa`r8!IT5Fl#QPQ zCc+*m3>)!DGdU&om)iY@BO%0*KsYLzSnF>j{;xkFq_0-OtBHgjkdwPU6<8Wdy)ctj zVjMM|iUYaH;5sZUc^;e3!AOVuste~TUPk^fVb<5uO7)5}I;m>wpRD#g57I16UE1z3 zEO$n!7zQ`nN!hXKv;&4IBNJ0UqYbAmJ3EZ-(M!*Z&P@E`^s(2k&)@w<)=9n1|4^0Q z_{DA@HLUGEH@YP%%5MJZ#=r$#emN)p$2GwD1z2P6AODLk70B{$m;Z-s^ymH+q8fGLWta#H=Om;+B5(?OdkAi=C*@zE7!atXOlAm`5N*J%TW zMp_9}Y4~wcNj*Q#hCt(M+s27jXl;R8!~#V=wAe}P@%Nnax5(WqjFwt=CbZUjuk*rvtUolwug>dv$jS`JZm!w0WGK)i^Zbr6DFk%cTk3PfB*>s9 zDr0cjhRt?i%1nBwP4&d2G}0bf%z1W^E3C)Yq8qeX-()l?L#sPOtj_2a659-QxL-a| zY@QmNAPIxEUbkVlRz|maF8S}8C=Ut{P7b^>q@IIIncZ$s%)@!@KONgnW?qZuqD`V6 zv=a^`;btDLgK&l6z^=eBx`QT8v>e*Tl==TcddS zyyK-HzqnTQg1svkgR1i@g?tb|I2b$Z{NuTiSRgg`BRTb%B z>Gc(T0qAnG)!``|YZv=}y=lv>?3i||lp(UYt({+rgi zVY=(#Hd{e6sloOS_5!@>8Lq|b(R#Ezwa9(jHHuta=VXcM!)3qEcd<)ef{wOH5W2oN}+Z>gySnRtk*l1 zoMv;_+tUNPLw)KuCs^*CU^QT^g1EC?^!}&>Lf%^-DY+Wn+J`GO4sNEO4 zl)tmrbh2%0?l<~OY*^2*It8kW8Nfp%!-$T))Vt=G$n!16ynbz1y`h?Y7&kp&9)&k1 zkIBUIMl{oVbrN%1DHV$QkR1jj``2YA#mxRFw;m%IpNq<762r~P%~Q0%0iU(GK}5$u zmo|j9Etx5&wIZ;q9YVsSt0ES5koS^*E9GlY>WkL(y}G6c4>fiY4!>jVeW+~W6Sz$5 z-M@+&S$|Iw)UhJx_aaJHE?qIgL94U>!-f87#bYd-bZD`n+UX1Xl8KpS#RsQpc>UF+ zA@jM1n_W(h<(Q6oH8v6Ejt{%$il{u@Ru2VDSfTM};3q{e9dHiPa^)2Clq!7ZfRUjQ3B- zpN%MSaY_AY@r0~OyJ5f;t`w}=KPuXL(=&Bk;KDV;8k( z&JoVfy5rfFF=n@lyEcx^$Ev=qC7r3%pF*0oL-1<7l1W@2ydTOorD~a-OJ=Yd_Jb-U zU)99Lt(upqJOSymbp#S`SrG)kT=2pRR$uLamnMAYy5h2vn}U~4S7(-XtiZmA0TAAy z|2%sk=zZ!y-<`SVZmE1@G<-qAOe2rhIZ@$N7q3xYofW6ThXg*}3Y>$-X`mcsE-@BK zebVvyN@11$A4V$Zg7P0PTMcV6PRnzkpVP-c`mt@@!AVVdQ*hkemrNDh`CfCU#9IYK z%jEtd(sju?YRwBB6Qxjo(`&T7=jtYos9y1K{E9 zDh>)!qX1$_Z1qrqDQ4E$@H;>)5a43g8DVlxx}OE*DzW1^p!l9cs$I=^7{ofWeOv6% z9Rifz4PQB`-rWen>41-MOiQa+ntuYK&w2?WTcV!A1oo^*{ljr!ypqD7+t-Iu zxd+jqG>xgnh{-?lw}RAgXOl^Rr9z%qy@aS+P$5|(4uqobFu2Dn_INhp6_%;8w#W6s zZd2yfWxOG6H@q}E3@Q}~9sY1Pj8h*Mp&NtKdY~94N=56+)s-KMKb%VS9 z!czhfF7Z{-pB5$k&ol_f3ZG1Mtq6-rn4XDKT`^pxi#f}rBIr(qU%s0*R@QhXjkc^e zBaiWI+0smX7e(5xGP1($WB6z}RGSoWpA-ED-(if_hfj)I>>!0%E+Zs^V%Ftm7yNaD zCbZ&tF?8{fG1nO>$HVObZC|98Ezy;PTe=(MOf)y?_|!1$IF4rGqx#z@Lo{)PK|qps zcf3TkqIcqiwQb+Gw)6b}o6uGomxfkMogNp{)h7g<;Hf{xdMxN};2@lHVUyP+u+OBy zZG_5`J<28Hg)5s(nDu<_4x&K!+n|pN;1+{F?0q11C_rl`tYB#q@z*qOF;&7LjC63+ zY*DPSE8eGor5z7+dBqpJmi#IvSe!y~Sn8W={i^jkHQkDy?hJNy%G6gZnk+Eu$u$^7 zS5*sPy|Fw~IApGXcZzz! zS6AVdN!pmrXzFq`-8F;Y8MRTCOG6hcG#pqvjFbGjN1c8BZo{@p;U8| z#hTy-!+vfwn{Le0EbPG|s+NIAsoLd|wXeMM$yV|R7KyjoloI& zYs@G1t7j`gpXQ?@>(c^m8!~=A3RDf2c_pcKB=d!hKt^L3JO72sVOwq63tY5Xeir&J)hg^gckCJ>faBTzRAI4dmKgY!K8iXRQeuQn>TVY;7Wi^v zT~C`pK7J7%89p)$8OVhNY7UPo;o8A`c&eF_+MG$aMXyh;&stLg8`!S)u18ezDX)Al z*i2l>9wXd@ET{YlN{&0;Ia$1WYPNiqtGrYl={tC+lG7$kAJBc!yHwq%7iP6Y;MwT7 z`=!?Bk!l2y+?U1+z4a{~%O}?k-$Z^@VBZ1xGf=9Ct~%3pww^MbLHY+y57;fhXTHYD z30xozra&+K-a{ff^1|ONT@4v-Le<7{^38lGEdOfK-_g-c(|+U48)5nXz>qf#%WnvEllpgp z<%Yic+g&$2%Hy$R7&5;ulwjqgU_QDJGmi|`2g0& z%!5vge5C6^iOunXkIC3p?DC->C+m@X4?MVlJ z`LnMBIUPf*+XC(PHUK{yGeffZW!D2CLTV!7?OOzve-cJ`(3v7*zdayxwt4=Das5g> zxFfAVuEq-%ciu$&IJX}z7XzJAkAQ~dstH$?KBRo%Dr5kot7&C};fP8X9hv|%6)j{o zRvknhy2fXjU0G=|7 zOCuxgYYIl^-zo`?{dtRzSFgh6MNSYC?*+aTCi^zcNhcf4jKQJoV7+PHCqD}jiRq1 zJ@?O_>eI`zcW}?!74bAgdAB;`l8(>Hg^U3QvKh9)eHCa7a2p{W=ui8YIfME}mdLss z#n-mF?)VRE?vK>_`8)nFidgWTv!B6mdDr<$Js(Lrtr@UTV_QIM;$G$8;s<;C`WA1aX3)SSZ*SRK9G^$=uw2Fdhd+71-bI)@{|tjts=N-LAb6I` zGF8m|o5m zU3RgK!N1tTYWkf%6|IN!=^PyyCBEZ6aSuG1!4iDxOLj$fz6EK$ylKH(^A zAHXN+KU=LcFHqO#H09o8D&Ft%RQ26ghdqj{g|K=v$k+BIcgDRw(F4VPGI3lHD46`g z)BZ~W^$wGZ2TSZ&wR_@ddZe8q(_y$>9bFRiD>e9vSSDmU|d>e;BJl`M)*b602F z5H3fDv#Iv5D`DX$hjE9qpQL|$Y`Tc%&A<4yFg9oQ(S0JehA$TTQt9D>cimy zfjz7w*1~N~=%iP|xKN;8XO{iMeFc*{G%`sybx@!gka4&6$&S}s*AEamNNXpY9RiA- z*hdBI4HU&TLK;*t#VGccNKG$eV$Kv>z5w;7(Bby`rLAgMgw- z#(f97-EwSHkL9|EBQ)TsA!qSK zmLt|JLl8%NJt4ZY;FZo`0tnYEJmXatJnaGT;n`jN#A%d(!o@u#Vns7>$9iS6iYHG} zCn)AEPTcvyvrOsDbZLFwJ8Ukb2wvZpC+=plo`YClr{+fE*_uCOM4u(A=aIPajS=CF zy;UZBCClSKU^!xkv=Ff525WTt+RlH)-<16l592iV&Rten;bW-(1HYh_8sT7NQUhJB zH`#DFTd=;R@oj6esLEzga>!Lmw}`t!Ik>+O7lVsEQnA$mCI@4BiyM`gK^jzv;6-Mb ztW?WS2GjY|9DD5fQoZBV_27<0buM(voh;ZzR^HrP4u@xzgF<3Gq(NGg-KZv=xtzcaa2%S1J zy8*e!^N^KQiu{oFuy^x1Nsd2CovcN)jqF!d% z72FFVk79k2sij$(o}e#sRAF#cEEA2eqXgu2MZee-d?%iGPPc?Io>u^sMv#hZTYO!N ztiqpSsVb(N-1wxz^YzU&Bv`>8a5rxBOg0w$p67cRcMrIt^6`w-Ra$?e?_zcWNPw2G6B20_#nb8Wx1w+}g z^Gp+!&eyG5OIBMad`mihuYN~cM~@UzcaGkZsQ0lm_`AqyHv00c7h-d~B}R0y#mo<3 z6Dst*tT1ad>Ur2g`h0e8zzDhBu(A*YMznmGSZ+Xp<#j8@CbJS-B5Swp%hEHH+_Zb| zO{MdN)~+ScP0;#UO7i&$1WaPlSt5TKYG_6B=F54QdwCo|m#rBm(xsa!yY2&lBiX_; zJ=~T~SFXs)$)CgHM8O?Y7M%XGP%{>hojR5X=;GPc@t@XjdVF@uin*KgG%2%=nN0eGklzUYAzpA#if11w)(|4O)3-aK3hVhzRwtjWFylR8dsBN`o zX}&({fz}5P3|M=?$AyO9lc`HZ=0Z>MHmk4T!iPOiR}Xlp>?YENrFmRSU7~r>uM13C zg+*RuRl9mJZ|GRP=zqIp42tcWH|0_8Iv}f(+0^ls8gkl~sh&ft+Uv<-ViYn15&h8ayWRr%tt46|0K9MDFYmUE$ti2uF z;+IJ-;+N^Q=lP>*q2cONWNHmh;XyFPv6ZlRA_d!LP0$m%c@tO_$6|}el2Y?mt>f*N*?F=)_6_tZ2beaM zlN1`-o-%Sjx*C_X1?sG(+ABTSY%gK~jwL9zO&?g5fKAN(D~I2K@x1<0{Fr7eWnH6u z4>?m!FC-qEQ8Hkbh*UmF%cZL16D9Ob&EunhwM|!DE2@eg%q&-aoOLt9OxStX!@@`v zw}Q>XH7Rva>{nG`lWxOYZVs~tUTY-|>%B$tr9L|*#!Sq*pb4LG5V<0*y!EKY`_`hy z^s-%%&9k~0U7u+L2h&~xBxkSqbgi=x@27^28J+Lheg}NR)c0bnWmoK*PE*t6Cj()c z^ZJP?$mxNo!$2C*HGJ@WJ+0!n!hRov&aN7Ci zV(2CxfD4f`MaYkra!zTVTbH#4;Qsen^NVMC3cb8^I_ z5n!&*JKt@Xsxd5fwsz7V&wr9wRvqypS}VcD*yz68(s@h@AkoxSe8`78oj&(mo`X`E z)4R78wyD-Ps)t76W9eErM~Kt+)o)6!@8l+SmdaFN$tgD*_w&qR{3D`j=WciEY?es%-{ zL@W3q*D$ck$r+w?R3E8&GVX3B_J%Oi1eeCszJTl=y#x zng3O@_}68CUA%e7Z?5w1oTV}Y?AQ}_|6Rqs=1cV5Tp*f1Qk}dc5fvUvQdEr#qy9{Qi9#^yCp5*1N# z$#JO?VXOpD$!jm-sYmya(XLl4)9b8H)w}icIJ6Yc*uVnq z;90)qANB7mcCs|}v>x60?K`lX0in|0jU@?0N{_3TJZ@H`5dfOf3Gak>NWI+PdUC(q zcC;kO*;#_a{E2ExnsQf8S})n5#`E`17+Hnsm6;78gGA|+oA`NHoCOjkmXcV-O!0u@ zBd60n(s!L%X`B!b@8V4UNXv0Sn{L&mXelB^{eoax{PUFVLK~b;z!P&**4a+(4_&G# zYtMtEM@ha}HlsCl5zqtmrMsQs-E+~-{E;7Y6IG+_kSDmn?Oav#RuVzqyo4#~2Lw+2 zZ8p>(>q+FF?V6Dxz;`Q@z3I4RU}sWN?T#yC&1tfzmeHpiOe=+k)d6F*SW2x8`2Ai2 z)3aX7QjL=$0s^*aPst&D60CIihDi^Seo0Cl5rr=(=HS%w8Ilco;4f}yvDu$udyk=G zn+wSU_1BMUK&cM`rvxa++)7UAeY@b_{I9L;v8g%10(T*dt0$A}B6!Q^>Cv2=`X-0M z(beaCfrp(XJo_n@?iLFI@3bhuX%1f-vHbG2@&Fcf{Ebn~{rPXntcE(CR_{IbCs+D8 z(6JKBi1{r!n&-ZVxRH$G@x{X-*l_XLNd^|?r(LQ0wp>$oMYXjK5a4@{_62n zSW|~@Fs~Mjx%QG?Y#|9WMkZP)7qn7>SEL)v4&7`#W%TuI$YkS=kV^&@WnmSvz)GqVQ;-e%i96(DAe1$wUC0X1drlC6I{Wf3FFTW8v+NI> z?9Y}uHkzgi@e^}|Qn@SFZsjNsIg=eqZVOZ4OxkxQyNfAP<8fAGjr5Xns~nW33sl!! z2@z>Ci8oNurfWIQd0py+feB+dPkQ=yuUu^c=eK$|&}bzaGnT8obgz1l0*#QTk^?2@ zU4xKR&Ou>cQL1Rg!!@t5GOx_m0Ar$B8IABn5!920CY?0$hshv?CY-9BuX%=rRo3d< z4L@H;n<1-Z`|a{d5qX_v#Liu$&dN`AvqmEtS9=AlB--ofA|$~pnzSxGl1Ndr6kTQW0hB3;}mvuF&RC@7VKfuS4p!_lIX1{NAAdy;bCPhaDBxx=> zh9h6mySmDFZ8<(zB4U<8fo2G(p>|@Fs;gJ})kF6R$?ABVe#B*WE_4wQ4PT|1Q%o8IV}55eFr+%1fr8SE1bjJxawMuhYils4Kj@{=zT3&$i2>ou#rh} z26S_+Q1MTpP+>JQWPi30Vur|fQ~<|e(dS9L5t77C z*+e-g6;agR&}38;HLCZFME%i*3X4Xi-Jup($B{jszII2%pTly1H_P5lUVp+dCKgR3 z(rKhEI<;IO+0*~5ssIct;f^392p)J{u#zFX;W|>};9=9qJH2ofea7oKe=R~zwp$ry zm<3y|a$tcWbS{Q)m;;~|sn974$%R_t1OMr_Z&16s?C3fZq_P>L0XZ^wHOuj7<5QZ+ zW4XL?hbU0kMp|Ai{a}mR37>zpAQJjmZ`%x&BmnHP3INmV8_@B?hYYZQC5{e6YP>%K@WA zQ^UVAZ&J&Wtx8FcU+M^E9Hek2<&HgT+v;;@3hHA=5AdOTtDsof&@pQCVlPZrQxI)# z;*=Zw7`8?^__&YP^6f(@u2mj%d~k=qVhGV}Q0?IGYv->o`C)x;_U5|{8HYP7S{Z)>orlv~GhV z8H|s~^#nfi=}-K6Rp6ecW{13NXqOHQK_q!Sv!hXZzE{8VitoGuH^u=e7Zzqd*rY_C zbflmfsdcDQi1_oIprK#?bzE@ASJ7@b))vQ|cH9^!EG+DN%f~yn*94j9fQ;Y**?F6| z&=gxnj|y3m7ioPZ%h^%dp#iH;Ykck{~2@T1o_uKoUQvtE@dwT8np6kIz{HBr?ynY z*AK(_wXRBUZ{DRp{Bv-sbRg^3x{gkI^Jp`abAyZ(wonE+o8--})E>PqSM*r@!)849 zJoz)qx@fGgaFU&NQKk8%Of94>U}+;&_D*$A z7rR@JI>&>}z`}?Qu(YV8G6A|r{YO9n@9&5lC#>Hl?7tFBHx$zE;G3J!+<)Vr{*nHd z{O(_~0Y>6))9cnvejwl9)qL!ipyp#CX=uO()vpUu5KD&`#ql401x_BndqPj+IgcaC9aaUm*J76|6+I(LxlYk-kAjO#ISzd+{mp&(N@maUABjS{4f8U$}GdrB~biaZ1D2{_%HiIZeZ{ z{eID2WE`4Adz%Lf)md&Y5-bl+PmB5wvc*B0BZ>(6+nS!-N+<-Om{{tZx5_ULPB_7g zJGsMNJvO&L)>|WK&FP~siVd1bI8y}WwLbsxuRX3fXpXpV>a~iheKe$r=vG29NSK-S zmr}i56swRb5^e(c?8TT>26KsgBRx@n-JoGy6sw!gZRJe@D&|TSy_VZyU2nei=R9{l z2G66!wIxR7vix$f)P;j|Hg}-h5$-!){I@+S|7hgn{p) zLF(AH`+lrCLS}*2@V11M+ly~3zQk1E^G#rVc=TP5puFJOORV27KyfFCSqvC%z<&RW zLl?fxbkncSdR{D-Cstu$jz8F}6V^)|^RR$%3u2KBIW)9bQy$#9cw;|o8b?we>r6Th zyLoC-3f@|%A{kHRLC(B={2VOz*|own$gX1Z*Uhu@wRKBfo)#viwh8i1=IThq8&C*t zp9V^kRcY@`T$?ci@!z*#I&HR2Y1+nvj*I!8u~C}4QC7%&5qY|sSF2oUaMj~t9-&dZ zD_wfUpJ0zge%>eayWsFJI~gT0Stq5mGY8r(TJy(e8!HXYY8y+tcCdwEVs5%&+a;hU zQ@AYm7_Wk}=B@=d^>){igbfV-HWB}esNa9G?f;mU|G&(({~XXeAP)=h=D3RpO<>#d zkZG}Ot^Ir`<^AKqzQl;oCn)xJY8y@Zp^MEzOYM=>PN}qKN{@R9h^uY|_Qp;0Ee+^? z@sNTQJj8!`B-u;wBe>1|4j`Z&`Vo}1s5{d3JS3zxT?m@?B7vUWGJ{vS!jvc4{$$@n zjj(HzR_QDK!_^01+4};Ocf(J#b$SSXJOB$Apx+l;8;_~{{b$eDi9zR>Cs&g|p^ssz zI_xii5{#8)vHxXJ21efRq?|usQS`vFom2HzdH){hpW5r2g=HXg6d$)cGjdce_H}0Y zyQjddbieOTEzU7}sX6o|qTC29oAyFf30U6*f^dU6=nm+WAoye~0x zQ#MjtTPGmPz$sC`knstdhOw7{gEKMkw7!9x8V+@h;)kLu@Rjs;HtfC5s>&PJ9SiPI zhseOeqbp?fFi@?7;3eEyRv&d_qhM|@+>5-PO^OTek#VbKpK~9|fG#;c-`N+XT<~TUw)|T_~%~ zQ_tQ6eVh5&@Ry9ik`Q<`0`@Rgq9?s8u6{mChHg~UYC+zX(DP^@t~0L#-flo*-(zX=ERc!ziyU&39QcAr;14;q zI3cE5(Lw?iS)>r7WE>76}YDevraK z)9G0wALkSwq4%QU(?u)!4!9==I)<1#7rTEI*HNy2Om*8JYvBzEXgi9{u65przLu$I zW$^fXQDp$mc&B-+YI9rIUCnY7)a*dQ&3!F7Wy@{(tZqzi_)YyeESqNyq7tu} zHs@p0?XF&B$am-BzT|EWA*V?A;Fu2q~Y^Hf2xyRg|d7W?1}4^r3PPwK@2O zgal%2KA{eR@ySa55!O)5O|vqgvuSD*QSyZ^#b)S77CM(V5UL+<8a{UzHV1ci)b4_x z?ynC#&KDs-MBNn6n~y+vXVwfxm>v_g9&JQh>=vpz8&dX+X{q}dx@x602rf%!8O@NP zz9JAl{eIKNJOmm^*qyHXaVZJV_Jt93As_c=Z1F2Ocf#M1fb^+5f>E(ro2vD zKXsZc)Icx3K)A+-8lm$}js=QHE0C9XHRv1qI<#!)oV!J zX;QBhU^AQjA>LK#ymImI$e~OyUK`}HI-Dpea1X+Nf}jDWrXyIO&T4GtfU}*>Y`efn zImn{Am2R+1{3`2uYru`Odr^T*y(?jPEaxPJ{D4#P(dN*2uV^C*6gD}Dz}IZlim&|< zrxc}0`3HcN^0mT}cZLjg8dh=;wj-QiL<1_lkWW8a9g@LmGyZ0`wfR`LzM!}{?j)?w zZHMzCuchP9uX}~_tlIRu91?=fixREsP4+{spSGCt+fgS6x=&^)Pi?3mJ2lp%c z?3A?xEi1GG=q9OvdIo7}PA`X@%E_5DeTZd2hsAJZwipBrtFP9tL>`)ScwJ7m!oyvW zDSV6vUD7qsT1m)C5|W6bf0NQ$n2m?&thY!G!<3c)DZ?V)hUY@{>j${=1$~EJ!aVkm zhOiLSK({_1c7A7*%W+**B3*F%)8A=)%?D8$joH@qi+nGC1v8}v^a!Bt=pf;Ubxqo7 zKRS9-W$&(QZeJ^R3|sxa2|p;-Rd6ClV0j(8yjf{#7ObI9@Z?$IUtO zdbWOQ)O)W)F2J6W9jxu-9%rJg#mWW245f2T{iPVd^Z@%;k&c&w!l0LiOG5_Px@fVI zj)F?piS=B?mR}?*RNVY%VX$}>AbKKIK^or%Rk-=z!@96z<9@}E9^#VR+tE5Z7wZb4 zMDL{B0l74*Bs#PVaiSj;2Ffsh1tX>%d&aZOl&5It;OG0K3D2EGpu2MJv0m|P5=aU z0$T;kBHVEEY@DA&s%gIVjBE@ZFmh&;`bC;@mew+-epjr)?cG(z!fWEHQDK?Awr0>C z!CWzT@R++edled*05Y{qCtnMvYkYRG^-u{6Vw`;9K1}06`=213QH<Own)|mF?ymWoT-P;32$yVE@IS;qycvP9O7hYc^ zeRjz=o_yV~=A8vu%nj_)e}70rQtVoyGeSqLF_l6yMOzC*d8x(!UM;M#fJK;OI-dIv zrV#ZPzz}**Hs0sg%Xcu~h@X@f4szYxbMIOUWK8g?9A<=WBi^xS0vo7e8(cXDr11J&BX!VsNW;pLF)K_p zn4%r@vQ zHUZQfpv(M08m+cud#4)iRy!0PXU_SJ+Oe^j{mJ+!Tr}86{^`~Jr&DgIC+3!p4kMfGYeu9F6uZ#1U_R?cY|KF;e*diwR@+G zK0<$6@k4{7QKaEVCsNNNODG8)^I8{m{ifeNys@EyEex=sCr6*RhrF}pHXdc`m(3W( z5AJH)Gj7-ZjS#*-*A1*jXuGNt?-R%TE>DkzB^nFJ{GTlUzv$5afgNaXjQkrNFInVETpZngs-aqbIcZEf=XZD^wGkf;T=ksj?!OXk+Df6>2xMPmAEKb^OFwrX+^0a!BW-ux}OA%TKe8lUc!2av}FJ7=_U+7DjJ2E@y@ zlNUbvvEp9-boP~-*rySoA%vChVpt1kbY2FbfM&+sakad0@3ixVvQ_#wWFWGw67?%_ z5y^>LH1KH3YLg-de$0seO|>q&OVQ>#;LQ3@s2iXM6>T#9rdn~70D1Zkb#q{ny8i61 zmx3Cw{IVBXUS)*U0r#A z6Yn0#0cuzqM_bIG=Xz>+l1gR$tY(m<|8~*mKPw{kLjh50 z9Ks&iWd-UXl&X^yl*)&&NrmJPW7widDEheR>7&YfhuTRTdc2`onJgc`E@DJlrZx=i zpL1QEYK$VmOMt(Yoob_{5&lc|=SIiG1|@t=U@=L)ovxI=fn3U){V~1Ie_}<@8n~(wN}Q`7F1Mwr*fh0ND|cJHO^=BlE?p}fqr^|?E&px zYv*I@L?5n`g?+IaBU5^4)y(h6*C1_DY+8;H)FLFQ;&lP*3Vn&w)G$jQQTo%mBbFKo zogt*Rl{bZ?+M1{64)A^yu-ml6A%9q)_4V!)=chsFe`bSq))@0cD!@T(HwHm&t`~;Z zZVbk@8=SAuEEptXoFH~bg_J1yLrU&G$-Jq52cmSZwF|2Nd)Pu+&V2uQ3lR&;_{E)M zkkQn#ecSW{=#WD;6HUoTvhWD8BwXEUn?H&eu%(N(NkTxMjIM>tnHVNr2lY_oi2un0 z0oKfav!=i!k}Y;`zax#`%HPyqnes{(vMejl9(wO(hGKUqPr1bU5(|pSZOY87K-*!} z)n}cK=1cp1-A%?jpQj1*5@@-)y*I7l#zl#BZW&LZ=r10E6j3G&?Oh9=`EOYagTUG2 z#dFU{&-ZP7;inTKfkmTA&X7F= z_agOMl~^9-B$KL+3#qC`Y_Oh#THUX4%3OA+gda|xkw%6KiRL3&SAJ?$fB;jzbz2?T z!+_$e8`X-gbtqpS&3APfWuD8cT(TzhX74h94iE^c>PLN%)jmp3Iw&6HcGiKpOe0Z0 z5<1uUAKUOe4H4A|0xxvc=5k%(u4Qr!8~>wd`pu${rLkkq2cC-s1FH=O<7&tF>HOGV zYfemyPc;&0t9iZvU`C4q)3Wqv0aaKTvU2Kf;vX zwNqCZQNFd3+7#wmLVaYFs>$qpF7Lfw&AFS`kZ|;eC{tD5{<}>VB3R~r`W=9+8Wn&Gd@8>iXXV#cUWO73PPYT~S>R5>I$%l2mc1#IW3Hd#tPGig3~{WXE@FhoTsl^|hiltG|`-mo!k3$o74= zI{PZgS1~l=t{|4##*oH0eRRp3Ny(9)W!$J{9Z4#olcSKn-U(=O=(Q%}stI=9sL~0} z##2;znw<{}Q1cpF5W-j%!t)aMHu{Fdu$~Xj^3L}S2BBm9x0B;2KJ@gCC?3hlm(4z6 za<{`DtxaxPO*=3oKQ@b6$dwwhnOsdGlu&r*BjgTgY|L85Ev>dhwyDPEBPe~UCsA@mVS{BcofcwCs>eh>{aC5^^kpP? z!Qcsw{$*dSK3Ep@Wq^wsJ7SP}I-V>oH0#~?JOzzT(}NCYEVZ(g`+0)GbS~ZhFh180 zM7Goo*SQrl_7c~~n+UgTnBXWUUJt4l^X?GXH>Cy!`cDpM(eiV^=@Ogx7%Q)1g{8)3?Wxv$}I`a{~ zP`ED9o??+g`mwKnV&i(4Yt^wLeN|&=q)x?C;^XHbYw7vpBma=RGNM{uGjt*i5b`SN zgr&iFd}^V%Qlhtau*l5A^;wO8gIdF@4LzYljv6pUt%Xk84?4|CF_3^=2<*L3#Pr%> zeBhT=tN6uDJ7u_Vp7G>KClao6anTB_UZzn0#|sCDE^h9n({qicmB)tZ;Ne+j*v(kJ zI7gq-=`VY<<;IS+wy3s7Vg`SE5x4UbnhH4FDwo*?$=Ak>add8zH#)#0Y!cC-Deh0jr$$Bx zExIK>#3c+lY~~e~9l40!25=^){q(lZOCE6OsONf^N5kBUtTVMbfy9c&uJSQwEc%g& zT5GIclJVJOa4rnDIEuohE2#x3)^**4FP`dVujhvgD{}wPoG$VC2JE*0+1HiijQxwj z(MNigbPdchx}BrO+?qJKw+;aN*T+Hx#A8i@OSiN&aq!%gl2+@i%%NpTcOkpR8@oK1 zv0!Zio9a@dAo(lV{EnB6#fyR(qn9_1*=K$RnR465EW5UvVAf#!x;L!)=#TF?c5Ja z`ns9pA6Rdo6h_4Rqg36cEb9^H*|c;vD_KO~+|Qu$OD+a5!G?j)O5t__q<^Y?&^7w{ zY$Sh{jiV!%6!&jO(m%uO;26q33ZQ>yCFmquG&N0Ga;S>D4HKYzdW`klie@RGnE}*G z+jzjN5}Ek;X<70u$Y0qH!Pr6qk=Eme@12wh$ba-$;M=hr1@X;E)quaPPQ_O|zz7z& z{PP>2d!J_rh+sbQ=3@z>G{H?#IL#L@Gg$wsQe$i=(U$L~a=#FxDzf%kjyeXoZ0Kj; zrhvz-*Z;=jb_f}sZn?W#NH0OGW&`JkN749{dw>|91rm31k`*%Zh3Q6L$twhhKGW;4 z7cMaesj0)uk{z|1ZELS+JE%#clStpcR(oqJ_^{#k@DvLW*cvsCe1WR{jtf%++!kjM zaoJ-yUD>7m=f9@|JqwV$zr&pdh6J1SzgS*aW$u6ZB=S<_MwDy{XwEp1fadH^)8ViQ zjj+tdKRibo36JF#da7}35h%dz3hiF960gDVjweUhas4#*@ul{T&zh6E|2#aG=fG7& z(ibx} zOu9;<0FBo&i35z~J#`Cm{CR^UE1HXu=!s`-ZH06u&@tA5M3_=J>lpcRfL8S}bn14O z++=r?D?i<-ka^!%NZ7ES)W$z9HgYb%-MMpm{PKPae@!Tl8lo{6pj**#&r)ubVL6J> z6S$&ei7>yt^#kS0h+s+#yMU;@V3`Z>v0K`BA(H}jge$umUj;Tlm<^v?`^acCItmAu zulzQq3Fy4(ic^8zrQL-Ehdaik0D*~uvUvkN zy-kKYNW#02zT3}6rzc`M%xgIt)j>J>xfsRTA;=6jxQKQrcOQ^L={4Z4bJAc+$5_@_f4Vuc>!AR-xKm?`y* z!S!VMHZyddEw=mC%Y$}<+b{j5c&j&KEMvGeGUU6bN{Bdy8N-=YyQ(Ck2NFDr6HdhV z@`_t>o$I2Nla+24M&S(cfo7C%5Y^H+QCA#96xxW;slpq_4?|DO8%^(lv>W7@k6c_v z4%!8q5>tevC$(jg=MThBysFXMH*&x?mQq0L`SB(%O$_Q_P2%H@)LrXXw@5m{6>YQS zI>0RlK>oChxR;KLFL~LFo|tX40*FfTP0foOt`~4HbC0|D!%z_=-DPv|znrt-Bj_?wlUTVd*KOT zJME=9@ilGGnaT`c?eRg^gO2|5vzZY?fjr4M|Ku4Y@it6`_Fvu84 zgdv=kzhaV~2d+2)TXB6=H{;|O_(3vJ5zN)r83w@Y3Z1Bzt=+Lrqzb|Q`Xu2h0~wqj=` zkoQl5z;4`_lIMMV_~nbAO|#b=2rQP zco(uMqJ&;+x=~W1!moVpe8!^EION1Vc(`ww5a2G3m{iieWt`q3Gif&5^4cd593>>R zqLu4a@Wl)*ITt4+C+L7aFW0Lj zMtSR3w$-WE(_6B(fwfk}p&2V&F^iKuDk}z%;l{hOj#(jKsXKa<=@aFm@U5>>7lo?+ zq5aC;D|kfu8R=P41HPhdfJ2v@l?D(HDk;`n9ZH?6J9eWZeU0PLowunhtK&r}b%oHx z4;OF1n=Ak81uT8~Fn9E9%b9BnCpaD2{n=#T59uqhFQa|fmrTF(!|YRRKo%HLk%uoP zveX@Rftg(Gpw<%7my0Sv|5{AeIk@4zlI{^!&e<^^)RV(Uvf@$~c-U;AW(L2r!t40pN7rJsJvZ*Z}VZ{$v$t z1%>XdZbm(4Hj?6;SM_fKrs-ceHy~g+wzhQFcp^;8x14zX$Q+H6tWwd~3_Ib_e+%w{Y&`yq(z$Il ztuZ8~uO0{j0MQ3ZK;N4se^-BxG|xvtR`)EG;Mn&r_ctWD!sE3}`Nm_|FJIGxCYSyX zq7_mfo?V5jc3)Z|{;w8`fECZBiQ+3ux;WB3T=)@*S8A4S`~|UkX;(H!k${-{GWrO0 z-0=F#smS5=E7K)lJ<}wL1U*xl#}Avf`Rd?+s9!AtlugxG>pjo+@R<ttZ- zG(>f;590xz$*VsS{_~OL-F^m`3@uv}z!-Qf)Dfd}^f>ea?8bZl?r*$n?{3iv{@)@Y zR}hV>x29&>gV-k%Lw7m-+Hi(JR-gXzG0Fo6XFscyIv~j!HyOytoNmWKD}5SxBeg=g z7fLJo?rgx$*8*`GW6M7aQNNF$tg{*pDP zg@7}S5oFkS63{(yBP0C`b=*SB4>IBzm;@vrQul^B*zE?b^cQ|5*E2@AySh^FW1X0E z;>^^s{7Z)=XJXN{c&5DYXE&U`YDi~*OFV#mJV8Yt!LcGL zx3yZ3Q^4YFSIz6sQY}*GVrwGUzzYvroWb(P-uu+c>4O~GdO}1yc&*_STnt7e*b>t3 zwF2(|nt-Na+KqW&d^!9!<0j`2#}L}5*U7BexV)&;*DV3O8t9qHvnQ$CmgepHytXk5 zOb3%bBBq@hS`@Ti#a|K-c1?H5jknRK&!c>|B9Ku=^pAPZUjQgx1RLt5=t!45e11dP zXE*8Giave=$og>1$$&?_Q*K*trZ^Y zustNf?7k~BED=nRizO}i;jg>uc+SpQdeJFlJpuND_!c>!OEx>3y;*E^jh~>TD#fQf zU*+tLyfkH)J^~y27N(mxde7v7iyA7PNO-Mo1rpQlN9N3KbzS$WxyMWKJ_v^>KhW(C z7!`DA3|B{esxwizb-S}UTUtCeMNB$XB;2IvWW%^zMzM6lI!{T&%lHjmJUprPgl|fS zm;S&JPEWc)IV-c*vn>tVey(uR8?igXno@3eZ8vo+K^K02VkAE9)nZG??G z%Madif*lqi6??bEns=`fe^P{RvEcDnZY(kI743iZ9mPE zjO8E4vNr+;T@t{F?XfqaioOtGveM^YHXOyTXdWayjFJ-Mx3Pgw=f#uweQ_^f8upc! z>ryE9UiJ+}%H20Nm(QFNupTOC9q?EZvG%Cf5|YH(e(U7%`l;=Nnij_C*ouThHOL&S9nLqiJ44CjCqOI;5pwH%vRNHsTJJ`yW$O}Fc~ZoxX;W1a zzO=8R3a`b04Md5|;>+s*PxO>}r~IQS1(&=5%5v^MG|%#_8bqVBGU>JG1gCBTA=OB* zvH3nb48)hdN)OwRq$PzdZFB&HwSzW@4{Vj-;WtO1nug>lDqgpm7L1WCD6TVJqPE9bT^-I-eVobwgeB2S zuT9tp^S2N6d>(?o3^96>yC94e@^Z?BCCInBQVZT~rykOb1n<#Y44#5~0h=6JoKd|# z6THfL1bbhjl9V=0A1oioM?C0wko6X1(phfz{!nIoz-7ihQji#R{U_J<7a(x!wg7LD z5seT-T*_wm;anC{PW_N&vY`{KaI`lwA|{J!f%`z zS1RN*_j6mmhVz;7Inu%w@VC`%K{=+8AFmnA8Qv< zB0f`+JnjKCSh@LntW^C72a6Ce#n)8oLZ?5Oy=xgLn(;IQ5!-}W(CjM1hSWxpcXld| z2JWT41)FqzdJ2S)@Av>!Ne~1?o1{mctCKRaT#Y#|YS}wX(MJn3f+%ABFYFwu5VCKs zbXszu1%*LizFeS?p+djZsqMynFe&?$_y@!AfVrX#IYx(IDX&Q_S7 zTK4KQR)b0Ou8XR`H{wNnQX3c)oZzUfmoX`uF3){2DSwJeIgG6ZHBZ%_kp{9uH5a`1tSjCUnRn8v zOS`R%~WZr7}=`X$#VNODZv+0hV|0HbH>n1 zx$5vTFJE$~UfNsmOj~MJfr1?y1o4X>>tjb|87A~C|7lWjh=>)D?R-+~gMz932GP3> z2pYMpp~*ny~1wiaXgWZe-Pg=zKJ^(N9J)90L&r_+xc)nd~?P<^c+<0+oQqZsSrJz^(xRSU-ObbJigJs5E|5}UM0ynJ$I=AN#KlNvPpER zuM-{n`7LB-9IbuTafMDrL*tKv2qnBm&g`FfV4ss(R5Ca}*gFg}VoiC-cu><=XEqvt z?Vx7Rc6GHMvL$bsKIE-!4O6VQ3gCJa)oEKVl`D`xZt|II(<0E~8}f8uQp-uDwQ(ZX zBCxLGyi>jj)ppWX!?_Kyz|*%iW%FAALdAj7Xsep;RV2&I)ct9ULU8`USRH;_zJ4?t ze3sd3l3cf;3yRoLa=AjiEAhtA4czdlI6mR}RS0q{>LaC4-f`tzNMFf4%%sHb?y{Ok z`L>n%JCOWQr5R4p+4+RGWmC6cfB6F)fTZIIv`zEOU!Frw%0r%IOEvWWg{5;tmgu!l z-~4a!IAHOupa2L%&CbrEUu3Py2Tm?;9#Ap~1Cr27p;=G2DnXkZ3)|TMB9Mso(pE(# z^&xUEqLok zEg|wt46eoq#PajG#Nf288pFx}5Yj3K-;%a^ep7U0lUPRw35H6^5(0*W9rSWq|1w2E zq5sGeQ3R-g=)2tz=>o}X@qly^g}_NCKjTxoGT#dF-EG%3;jQOgJNMwxR}bEoCj}Oi zP@4blsgGj||L!dW)bl?Nf#>?COVGcaiSrQpw?iBm`9ImT``?TB(*x-*lbC9_PBhySm7>&pN1(Q+Lfs-J@bE-I>lU^B6cCwpy? z1{8k3)$ZT-Y~uXUP+*b!g&AZfg~R2(9;YRX+>%aN~xNbDX{NPdsoy z(83uGWiwb_H5^#4A*XHiRvLg%aSQ1j1Lik@3-+jY>$e9iYg}xqCr_{qv_tc$lQXlm zE~Vmwwu~>_Zrct+8<$2Nfbiei2s0nHt@d^QFTvkbai;-(_60Xv3clzcG4TBX`^-|zM@Bx2$);Ma*2q+ ze*WMU7fRvx=PPaW_xBjLQEOZ8S4!jw^nI71>U$T{=zJ3YnCA8sIOTknRv(LZv+Ea@!ac&#bHJu;OpyvolNI|> zy(uElzOe;+c=`(r{nM~1P?5^P@5wJjwmVR_k=|TQz};)xN7D%|hj=QQ(b~#$%A5*u z9@`3ctEuj*-d`A;RGv9t(!*8$nN82sb%dGPu;j622goA!g4#e7^0dNYy4uW4Y$(aw z4Wn-70B19>-&q@>GFHw8GbV(CeHEvg#9^8D7-MsX1y0Lk?M(6yWGY>%Ssl=Y69S+J zl)sR>e+f?r*Zk8fM9GK~4N|Hw+T8@yd{A5KzTP{-T6P7uSzbCiLf%r^YjI$zlh)4$ zaqb(>+kBermTHMOW7u9_0}+$t^#vP&DhHMHLE2}pcgzFNzD_a#!?qAZJ-;mAT=$$n z^VZ&V8n2BiqGY!^VXVALNpHmPCq`;-=4$_sOF(z|G1Q7$ZPV<2p0ron!mx)?A)Kiz zG-Yit_M95410WUDQ+WwRdlYXci-(Q{&CvHlVon`}bgZdvTk9mq4N0UA{RymH#~FQT zQvQCi;y(70tGDa=MPAbguDV;Gvqjfa7MpIHEm89N>B*#D2Q1-;F>3XcB_PrsJ4MKi zGGZ9pQ~+v!A8;3LQ_!rzG$`e?AZ^@FKG0UE{OqElxMATiRbMoxeb64_ljSeK*wE_N zQad>j4^G*0bCdOHYL<5g3T3t3vJ0bgZMi#CjxkOI`>Tp5ZX|kFdJ)06Mv+sz%95!7 zqm_Sc280wW8}PQEbxj=16TRP9%QRIdBwVHFDEyQt+1DFz^FA(S9!cSIz6ZF+wXkcD z`~D;r9f@;whfaXBdk~9687euq(?DnPfHU)5U7m?`V#JTz7A~j%tg@LPSWc}NU zw62dgGne?V#@Y3WlwoF~?aB;CT}8zv72tR#?|Y!0#wi;h z;ih{j!%y-A{w(JU0Z;Xc5yh7&q4m#gM81x+yPwkYAGn#R9G`luUe_J^s+RVCDE6y1 z1xP#Ru4Uy!rq+`_RF!;p`U47=XM<8YM|9n{wLZ!c~sqAc))tF!=Gh~vT}?# zvh^zkG3KkwNZn(Yh!rHR9i$bYiJ5?T9pz2(5E#JpXX(UF^C>#C;b842KAT~srHoOb z^9%x@GhyK>ogQ)h`@99~y1z=f_7cG5j(yZxm5AHz>;B=;N{TC=GC`GWX31%?7ivzU zd@fnFl3N9p`!BYUwC{`YCklCIgyK14F0>L?8?;}mA=3R^A$_bdI-`Ui*?NR0O&*<0 zv;i+VP;tdRL!**lB*Xna;4w)XrY9~JkCewUunU|GqUd*jHtbp}$NP#D-8%T(xiz)kbrz8TZc}9(O4qZ8mG%l_kwQDUGR701j?%@Je?b;w)Vd0NDY_(` zB>L%>v<6MOfAb~AZx=HKgWU+1K0%YxqnheQ#FI-{u<<72b}>FkD*I`ki{U4qyz5Xy z26mzmZVW>iwn`#TaTC{4TY4i`?~#bqM(rP}D7(Jm$Z+S;{j;A8){RvqQU4!lV!2>S`4hJx_w=hXa9^<(GPg3t^jTMUr@yVCrdQ2)Ta@^gGlJKyMDb{eCiu* z*JrB#m2xW@`pWsJb;;obLGig~HAM~{6oFzhy6Y1MUw%X=xlOFhHgm|i2w7K~*`?Wi z1$c2A?ckA@&5r{1odTtf?9T|s5q}cc!NgWphm{^Ov1#{fOA;`Zsr#vEs z$3OvGmi++mizEhQoR_CxB~nzl6#D`qHP#sbl`1NHL(bCy;EdxIb)1h3P+lCK;bOq?5g#z~g`RNS(ZJXv(D%Ii&&^MScLc1-j-Iws1vle2ND7^6{4q z_a3mYq|J2{`AR>?EqX9Su$89)Ix`Mo>tZ=I zuER+_P2yU^5SZOT#GOiQC>o|GN(jmbyM4}pcne;Sk|2Gpw~Pj&WohR-%}5v!*MdXp zMm8jmtkhr(%b=Oqw;y$q;v6hrR=67{WhX z>juH)U>N#p!{uegO?i>Zr^FaoM)P*j2CtdA6fu8(kKhT+>--^1@>WcjO@slJJx&+*KcOYK9s7ucJ;X*9_7u+?6(A-B6oCoKN_(9U^JR8SarMj zI8|5nwWb_F(vgKf-?l$XktrRIKsdUN@;c|tjGmlHS}k_F>LZ(SeI=nhF1<;NaT~k8 zPErq^4sJZkWAMTps3g}fRi|XHozjo@5Yk?_gV79C&`%H;lmMGh!G`j~V5R!qF&EHH#CsXVh^gWsr#km%`F%Y3H>H0v}8&*iqV7Cq;?L#xE+Ue(`><#pnK7Ohzz`w_W|aDpJ>!I)0;sso=^3$Pac! z6%4z{PgMwd%QE9RVJ)AkT1oTbRhEX~P#tva#tPNRDP%`^ZCyfCrlco-U#GeS&-dv* zwtsqR&$|$5y6NqnMMtR5dC{)YIMFxd@1kO%g=SUU8`-4QD^T&Qb1g*HNs)|Q)HdvW zAES3?G~3t}+W)5VtNr9yu#)5W_k)r<6GM|+Ey9(XTn~;v_#jVCZ5jW3}VkTQVA+VIrXbPNDk3H5-Z0HUDJ0+2`ZwjhT7X zrzysX+D9av3zIDGY_@5yvs`ao2&tQE&Xj~be04s0oIfqdev|_Q zzp9tE*L1-(y0PTrJY#}%KyTCQ10a^Pn#uD1*AYJfqb$X4roM(q7fl_-G-i+eS5*`h zO&aC&i~y! zdTeFmh^CjF&+vPs6ErdM?k@LE@3~Ej#H-9)CaNSASmG}z?AP*(0hRt>cCWy(oJC`% z+Wa&VrVgn`fq2?04g!2LMtJcJn6Bg7rmQ^^W(6PXwo~=Ctt?!58b|0=47E^Aq^>%3 zn-Mleit8tKZE1K7eG}e^rt_k@o$cB?Pe^ym^rkjmQ}O0qk?1-1orUT=`1&Se3QTM7 zt8z!{T)w0a+@*^9R8ZiH$ROZia`R0~^*k zhfQ7T>PnZ8S&t6>yUy4gOB0~ZzL#}g!1EQ0$0tU735-CRbOfDiyu5h(q<8;T(*76Y zbeEAx0Yh+Q?y*ynCHFlEi7)i{@lDQ^-l^L=Vz+GjEJf|y9bp_orCL;inTn*YUu!&K z>e|S8t&?f6$+u8t{Zy0VC)pMj{BKq49_5{CZ+_i5*q4A_#JxXpSuX&>zaGNh+9OglibzgGd#~+{HnQ)dV1M?uzP|s7iolR9CV5i=!?=p zfzYVcld2kl_Z`BrjOp_fuTzq}f#<*P8~EVjG2Xf$*y7`x4hb=?(QzhzV*|bo6&9?D z7-F6PrX~wnq)nJ&3RszwY~XjbB*1Rq7wt3Vea%F^{_c2TVrRM7oV(JjfKOpWRYT%4 zX$Zxb;kof}xFJqiu21V_uq-yxSZkmUtCfNYV5YN!8!h|k(alRK1$^#)65rE)8cSNg zmv|9tuDSb5!I-HkzeYF2(RNAq#Wslyx|dAL6V}<3tHZ()gd}y1c&0%|;aX!K=KEYz z{w8LEJ&G(O7717(zv{i* z-;y)?s_iDHS^6=r{r;ou>(jSnJnm?^bc95pub7_r4p$ZMMDH(0Jd<@AS;pp_>7oU~waNw@H`jy)2kZKuZ&3VG?=oKHfT)NUn&H z&c1!l*J{E5X6tH-p`?W#R^m=~TeH~5ndWFx4;2mf(mIWXuQGTN_Ql!Zp5~UxG}*rm zU{#f^6k3fK1qHmKH@tEm>SqcTZOOn5xq9Th=K7p_bFidP)}41*?DMj>$1_WZB>`p1 zgGH_U`dCHoHNAk9!S@C0;GWYlJo83&Y}r^9<~^i)+rZ|940zrTu}yXC@qghP7fNA@6m|Pnba2{DkRDD9*Q6eS5HDc z7DFU|o$tu9_RBA=Hu;$L`kHzKRNS~F%3{w8=4T%}7`1x5Qf@O4jy%q^S;StP>oCSh z1>AyC;mM-&kh*a-_c*jm6cne2e)hw)8IpST>m?tnBk@jO_a5p>5R&lN0tX>{6HrkA* za`;E~kvARGV6YLm-#RED=g@7-s4&N$?86+JCtlN+w?bX_bg|kS#)ht@AF|&h)-f`8 zfrExEnM4MCU@vNo8y&8Mf9hJ(JwXVMYy`_Q@9b&Ci#imqhu^Kw44xm>P2kin8NFCa zr4T&E<^z$eoeL!Hp@uk4SVumEW~Z}QQ~A!Qt=xp+gT>C-f3ZVgbzMac&0WjaudTZy?LzL%JNX^*3Hfn5ZD4TZ9);S9s3qp5A~eUs&u*8 z3Aq-q-3V6u>-sxD=ChlMH$NcX10UcTQe2@A|GMPP-M2gJbf<&A=XpWCtDAlEkOq}A|PfzNtqfX)c<0`a&WaZ$m%uS}8G%-u>}q-+{H z7E^o%|1xqS3U>qh-4$KE0d731hvo@wrbw=HStEMME0A^<5AJ%JSm{{MyXnX4{h3+l zPXC_L!Yv(1jBn&ASXy;|-^~*LNDo_xfWM;Lq_dqmVJm>t(dZ8?O^1BZsdG;S(B ze~*0r{GYGCe@>~R-Ngrm@N1W1okDMdec$ezOBuWYQJ3E`*tFKjT3DrueQ;;}O0?OjC; zoz{6xLh*&%7{EXqHjU8H`f7UyxXcDC@M;7yhF?D9WpOwZrJ%~Y6$q3J8VEx{IoBct$2)2b5RS7^<`Ax(1-DOXUfWAYokuC z5tMG*Z=eRVFlDqycthJ%d8}MgTYg_tDaoO@{bob-srDQr4`DfP7o!VsSB)2Ff_IJ> zwC_6wB^qsRqM18c^4=tk&>6S41>Ug!;9@BF<0*=+?DG@-3u>Bu_L%e(E& zj+~?1wwG2djd(43E6QwF$wtotR4;N?Ajjqd)7si|6@e}VC`!VZUuW9hLdcW?)W}!) zm*gg_zkbP~la0vPo$tkki0Yz`9ChPrXSqd={_x4LbJHG1%v&apBM%x$uz{u{wJmN4 zq|)vWX}z(R+I#OrMEs>GoeTE;L|?yus?gL_s3YhX|326b+#Hq^#{RjNa`%IxM(q2@ zc(JyxGU@^aJn$cy=R1*PqvU;-`i=*KQL7nPWscE%6zFvX5SU`i?soXs4%h(E9z+8c9?~g*fEAby>6o_#kKwFYSJcD(k&cakt<(WHAyJ zWNon)=${E093_MoAwx@Ie!szE{X9gj1qnqkT97L@&#htAqGWr_A$oIrY?v_s7rc}2%w=UcA6f8A-9SpVTQ#k2hFi>qZ`JVoD`aM#crT#{s%T(CM z`ql^D@rS`I4@t9=k+4^XuU#EJ6h_2POfAZQ`4>AG4Nx(K2GEALwA~N_O)jjd)Xh6 zt5cCxtSAy*T{!qjP8#6ehMR020<$XaKN;!2|M-u?f1U7O(t*o?EC0&KPDRQ}FrY7I zFN`!8@QDJS{ElRnMpF_b4-ekRkk$KZvJ*DnTkZ&=+`FpAjOS2;n>T@p=kFQwuQ~L8 zPN%q||4jL3vi&RPKT7y7h5nbM|DTsSB#Un(W(g~4gY<3GePI@AGPSC9pzE0k3c<*t zujSXAR1ZBY`R#jfSgT-Mi$sQsCHw0WVvG_j92W>Te_o!Zc6D*fa-$LDL*ICkIJF>= zYl+$IXViSBjcuEbb1gcL_z+w^_z|aqu6`(Hsn7zz>S1W(I17ACra&l@g`EVde z$oIg!rtUU4G>;rVjn~6}8Z8YTo%-rzb~ZL_>hMbkf!wh;=`I^3&S~4+uu(w8)y+5_ zZ_q&w6z!g=F|Rxa_jOKj>2q2a8>Q}kt$O3FjFzg4qRFf-X(-5@szaXp-v{b!b@TY$ zq(p6efUr67sHTh^-7U-;eVy&i6&qmu80n)O*j4SJFV(6lM`M1mM}Fegg`~ElcV4io zrhd9hF8F4)h2WsZZXq2A3)wZlDCwbL74rzn6_WeKbp4`JU*8NY-`@G14S!Ech4TfS zyI;re>8_s6eRB5J&a}jN=!u87NB?ALL&81An(y9+Kgii7U)-&@@6l4(QIOlz__msq zG@z;oc^qO@Cmpa_PrO855X&23 zd`JR>9}RJ?_ZtlCYRIw>lFv2e&@cBoiWL;ME67U)KH2-zig3;yxZz9B{nz3l#}u#Vq;%ylsafPD`5dy5TwA=_&Ww?v!M z-s@|8jQjD-8LYh*X^HQK&?z7ZfKBZ3jpBiQxwmh(2$Q*nov%6*dfouqazcPwa%i1Q zK@zX}E>Q~Qyh$tcTfbFnU!+xcYA0}^iAhCn40iV1`S%0t4HCk>(B+8AA`bN zdD6c4#tNEnG+O4~CB{Sh-nSQ~I_T^8(Q@Po!1j(`Yv5&n!`}AaY z2&oWa03%8d9lsvS=@-D04aA#*T6Y?z#Qmr=CFy+v?g{p^6ynZ1sE9wlvii_OeimOy z{*D|q1(gs>UWM-(S=c(|v;uJ5(|{2{%8GBDS;B1DkEbN$rPS4Y)iu-y17MJXiroIT zCGuTzy+`F?0HHtL`IL;+D*)CCdM<4CSVx>Bcyn-Y0rtX6>{j5SGZLWp&C^Gl3iuHc z+-vFIhu$MO-92IhETb4CYSEH85S85zSAl1In?lQEcUcwL_kqB6|JOlD)OyZM&g2);rI5M8H$&j*NX$0_;N=rDMn_EN zrxEKmrz_%b6v9fd@|cr{^$v^BNxPuafP`S*x-;S)36;Tn?vOZwJWbZ)D#1m|N{?(S z8I!YA@(w(qrjmKO6VEe?gx@+qy&|cGtc7_Ckf+yOK+&YT@5K&Nv+B=0cUDC^yOs=3 zC(qqgFQ7;59Es^CJ@x|Gnqx1}=8(a~K>zZpj6Yhtj$00~OmAfusaQ-#;KQMIQTJ%= z(*=c-ki^HCssh!5g60yr!N`lQ{5_!8Zv{~Lm|B%jk;8+$PJWly^C8EhAcyfzCL)J; zd%7cNT+u1!7q!aXX7c%nF~^kwbx!9O%G|2b7??iK^%RC#|2bZBA>U^yR6p7~{dl%5Uely>?1FeqD=0!*F&c8Nbb_;!l9eUV#|R`dH=&4oxG_gDItdFW_~*7Ia4Swfn6 zr;fyHJ+j9E0+x@S;p!)gUc}et6lmh3UWyle2XJZt45|>&O1e7P^Du!=AMV_5j=QBn>O0ADfA7qJ8_~f)vVqV$yr(N%8d}_{8IVxho<|%`B(cMDc=99x%Yr-YFpbz zReDiGq*x#-Dpe5aEioXXC`GD(fJz4ektQXeK|!QRmzp4kUZmH6igW^@ci8mMfV=vDPUMcU((zld5d= z*R7VUdqEOHsOin9s}p!J_}1~n`iqH{YuuCVKetP?;|MFEqV3Yf11Hc$x3f$ZtYB_X zi>15h>liLl5My|bbQ1~@%-Kuqu00W-*8od{=L4om+dR=wt;L7X;2FNv57WZ(D?A*S z=Slb6vj&}yJ@Hs_7s|Z$=#ss-{ivkk!@Nv)1F40$^UL|vUhj~+Xs7lccPuhxwu_#P zh~!*(vFk=iEW6*Ye>)tU)7LciHX-%4)-24sXAe#?lk4vvYM|W z_ARtI-IpE@6|VF`_$1~(gz6QPM0&0xP*F5u&}p+_`)mr!*r#)8c0O>8J3?o8r?IBj z{gJ(e@Ydg4-cP?v4!o9OZr%iyZf>?Im>!KrV6}O1kB2geN?2jAT88ci$H;|=)2nd{W?rx8kmfwihokF~WkdjHA-?W0?5e({ z#Rq7H%EnWUam|wwFSN5>ry$ov zVcoDZXX?PokFZD8lIwwC7=?vKu$7jXqgK_<#jL~3XbtX-hkGBV{#k%#H^`7257xpnqX`)IE=HlQ6% zC%U;i5;A%xXW*@`woV`XdY_SSOSiIkuI>%+^fYzMH(m9tY3ga}K6ed?pRpt6N2HT2 zUFI3TYvji(%cXXXE%Y&$#n)M0hk0DNk;Ko@iaCU7q!?#uR$II31&cM0S4{Q&nYk7pFoze#>7Oa9u3nxSw2tu6 zwycF00{{Kb{=yH<1fjNx7r~43Dj$`_q{D z!O$Re!{%YA3p!QjTw*KNY~9tntF;hrbk3l2|4X8!MO#I`cfXE`A{5KG`aYHD-S?<; z_h;bdmAh6DQv`obSKAls3zB>|OBfh;WJlESg5bgZTJpcmrs6->d4p|4$unbf7QRYa zc7D)uL#AC#B6tL!TX}?%i*DpMMy$bxo!1GPzS}=ex!7eWJdWl0tdU}u9wxQOx&5q$ zS!L60EoZZ*zPerS&No)CD;v+hs4h1o3W);R4sA1p~U zKuTIPQx3LKS$xa}^EMO7Ai9ELsZ2U|O6L5QNtCPO7)hPfefcA>aMMH2#VNY^I~~ik z@h9I&=PkciL=Mj$yw2;DPHvZ_usj|X^K*KJ`sr>GzVj>{&M+uFFu&AB57H#iT?YCvG3?HfPNcUy|pCn{G7 z`>I&$X?e5x?9^?9HgW-EO zXG^6Z`5<=(zSax;7j0T$V4Keu>MU&7_RZO&+iS$1S&8`K=FZW0>~=e?h}?hqaA%H* z%OB7gWbxbB2Pd-tyf(0R|EWoM|N1aYKdeYImJsnxLGBl?b-0@!1`o9f|N409A5ssr z4ZnyiAo0}i%7=q|HW>^?hSJd>i^ZgXe!cHctr@B~sEvD!R(H8_nUwh5P9WFk{2Mw> zl^mfl)_F~YwP)w@E`Am)eq2~g?ZE%|^zb^X4Rm?;Bl{1a^C135e#eLZ4d?;PeCwIb zqz9Tw55kd;`dajof9NImeuLjQHXEh#PLl(w1s)62EawH@PeyA#ygJ1e%X%6b1mGP8 z;2#JA*yjNK9K^6j)BhgxUsHc&28#V&_OQSoW&e_zRZnf=vNm9d=!`Q7J8Q=pHGn6zZ{*ea89gdzCOiGx+t;IYb?$*%M7IF^M6e z@$2&k1}BpLDu=s*BFS~!n0)benqXj8HtJ%U#c&&|GuwXo;vt?BunEwPYG|p!BwEXq zy8m4GWdOn9vi1uDG9{!F`!u;t)5_Z;8z_;>je()a^51VBU%4$IZyp`LDwC$0tNjbI zs@r_gZd!??KZ7kVwQbt;@u|Sd@=H671X%vwNF`&8mr@lQVgC zeIAG7{Z+37*kN|yg>k~g`i^JTN%Ee$1-*ANbg|1Z*X$GD`vZd;=--5gW#G-?fx$JU zbh*io#qo=~`3Mnv%dIygmj&ZEeo3xhK=+(vUp4(*_N6{aJW5qinHDkBfLGgm`s=GY zjE1n%Vn`Cz3FSrw0Uk7%VT{gj=b;An#IN4Fs#~d8*IQm?PB8_23Er9UIz-CpG`|4+ zVJ!!0wm%^HA>MDec?j?SOX`101BWsHlQ`gD4;5MpSogo5+=H!BI}k$#;E(N%mS7-2 zdqArpr{K`G6o;J_6`OrhI6SUPg|e7 zDgQtVAUFV-j%LP`fFnR>hnJe{ITR{+cC;_`bWxI)Tj;)2_GCb zb-Y*wyQoI(kc^aH>6W=j05pT}EqbUpMk)WKT&LrRndw<{T}jR5vKJN}rtac3)c4f( zJO)Ihn)Er_g%@q%w_BA`uemRfxuqG+y$Q;6K8a?!Cr!vNM%SHDRttHeD>|Y+m0vrQ zSN7H?R?Lgmt->};k&|trfw$q(!W~StXwns+KipWM$@kP8q7(Nvo)i*tj$4gv^?0pP zN=ytRvJ9-|W2}sr zo^tWPk7=LSuDzy0$lL2%8!CrWw-1{M&7^4Ia^roB&NI#?2Bt71cbzNhAIZv6+6duP zP8}0%&K5p#UDd>FFa+3BOq8|0t&2A?yczTVG-BBkJkHvEt!TZd`jN?`a4f{KjUFY^ zf^kN<%XW;PB~tv0Y?DoVWXnpe83e1>{Mcz-&_O7FtH-hf#>pAZ=btwkC!Y?YPp2X% z&q%3H;0wz+^R%-k6e43gA z6G!3>GmUo0`?R&|VWSW*W-kHKl1x@T?ZO8RWL-bl!%GFG*xN||#&CM@n zBaQ~YX+;$|M?Nnv%A9&NIvT6@%~{3s`I^T%@^u6%RV(b7(1+cQM<3qq+!zkIwS{`C zq^wpe+EIhqPi9 zN5?b#=@=e!%p>Gr<2RXpmcG!nkj5xp)gGHVw|uFovdYt?Y~00QL@jw3 zlV}+tdprD=CT^baqPrd1C7>2Mpb0a{^5VrAcsax>d@7>DG|bP>&aNQR0z*WZLvL-F zqU}yNQb21RN_N!O_=QFs0~3v~ckUVvtzKev)@@8#QntqU)21+>9|vZ&t+4i94Cvq- zL+><0iO+3k=zk4k>4dw)6}B5Isamhsztkoxbf?%&OxzdT9LtF#3c9t*=4BTM=*gRA z30d(7s!!-#V#)4HZ(N&tNJ{)aRtAF3j&m8 zX)ro=feMwe@_t-sAn>Mi8->J(>erNFVRtj@_0UbQ_JXGiN#^mH_EnPMio3YVi{r8H zqzff3dn7d!VDGnsMjsRR_-w^DEXwz9^Ox`y-QH&%vPEP>5pNNSI0&F+54HAN- zS57h%k(0kN*O|u(5%X~_R!_BrG?LxcrJ+~ZgxU?a>Sw- zT;p0~EkWeHnRnX<&y94x$s}X#ALCeDXM6WlVKe|b6!poAq;yG}+GU&s^!qNG!gAa>rFc(ATWUBQ)Aadxk0!QgM znHlm1qVAN>Ff47Jl-jBpOVu*GuT|;CeDFIfLg|KBEuDCA*HGF1Veye>(+Uoqi7d_U z&4c=uMhFi1&t5iZOo1ZCc00}C{VnL#=9Ql*{5DX2*YvM6tNPD2Iy~{Rh;-NlW2$&N zGYmLtfx}gU|8mJ*=+iKHsB2CaJ*m9$+7B%F2IH zf1|LH;#bi4QQ(TA%ZyBE-}jaD+7})bm#=2V2Pa%#FIfzNQ$Q>oqL}a4i^}>hH|DJ` zMeHaC4CaVaZ4t1^R^h&xhB9o7@i`xV49m`mDR%}a#ekvno>2sE05)bZF&G(xlJB0K z4ZH5P5LW!S%)`0Mm;AN1NcVDi)YwLB5*5DT{^ap6P3-#=PxVM?TFLout2LG$Rdp_! zEMymcSE*A&qTZ`k=PSo8*J*~%Kj&Le?jLqe#h!$X?bT9UbaB_w#h&t1fsOg}Ujz2% z#rx3m2ByWCg`AOkzSzOE#NrNH&Lx9~&qDLjWr;CkYS+5TtJ|+6S7lk{`>tQ|IN@75 zW|SEotq;OQG(k&)nBwLZWj)TgE-r<1e4br>DDfj{-4jZiAX-!5QJ$i419Yi~f98ZR zBI>OqtCNqH`|fAV>*Ca6lrNMxcG_4vy1lAF@-DqvvY^d$7@#%(uD#Wcaw}wA+}azq zN{LUdLw{N8A3pA#?AW8oU^J7``dRcsl0eG zoz<#s@j30!naGHv)@h=l2P5^amR&0H#)U`c>QFf34lZ1D{;g6XCWPd18?CaHmf)U# zM%iGd(nZaB4CXO32AV>D{~9wVwy|t2p66=)@pE~5lJDaTKmGT>rY>Pgqpq*t^@@qI z`MPbZW_FibZIzQppkn&o@|h0=gMdd|U!Gm~cpz3ua~uc&e*y6T^!#`6;4i6w2=Gf_ zIK=;lBEf%4{ZrNeYAjiz|NmY>a&Wy(hEHs!a%@)9B(Z8_3Gy4bm38SQZx5YSz8I~o z3!pfMjh0JHB%c<(;1WWVSnYE0E0DdKIzVkZfXDD2up=e2Z?<;0A^mTViiTJ)?A4dq z&4v1K$=~I_U*>1PeE%KV9U!#>WOtYh#Qq`g90I@pO#K7d{RQ`35fJ735Ea$K2qo&x zY{6i&H=Nu$yC1p~U7C(MekD=#XW+vaWeJez+TLza?K*BtcON4eKVjj4`Fs_D_0Kp~j5*7x@% z%Xy=X95@_#`5$Pq>t;zh!?WY@YPYokhX}V%LQH4ho%5KJP_c1=cSQSn#2XHKs?C(Z z1E@lIq&2gk?Uz~I?m?YEk>ecmgq76RH+tmf=t1u?n+GOm_;9Y(d+BO|xP|;{HX7f< zyfxV5*D(x&`#(bQQ))Z;Rptl!heaqnL4+~9wrN{GjirU;wO;QbTZLx$6~Wn5(| zakRQ#=53}O$-SGy*j6mBjBR|}8e8MdCILJKl4^98NpkYJ08r5tY6m5)`N)upDQdkX z^hyfgYhwRUoRNE8pnAe@l-}!t4u`iPLMjnPvEA8nbL?+!jV_Q=(ee;rw7#(5>mv@= z&|7>oCDjN_din%ituwm5b8M~&+Go6+%N3Brj7A1dW6W_Cx!F&zWsX>oacD{WFf`48 z&=JNVAxDkb5FJZIvc**OKh!#?VeAohQKc-wo3%vbnMa!l&LQvd+UV4KB#6Opo1Jd+1t|Ma!NJL zLm<<~9;|tT79IU05z9-h2&hk{sW;uq;rKfPX{{r^P=wT{*!O7(2VF2T*+aG#cQ7*7U|^T>wls!H3%VIj2q>gWCIp-1^}cM1e@byp8i>jENGgav z+a>F=28M3DcnYV*>tRhuTN(Ir>umOtxyY4AnkNZA7&hmE27*3Q|bx&vNEVlQRXLl28aEdUN}a zXY@ul!nbm#k*W$xPCtZIw4PoS(7;YjO?~494=(*MiIQj@y28)F_yP4+ANz%6aN@m@2+j-Dk!UaPaWB40%%(Hp?h6J79$)~?O--MIX2^KcG`V?A zfIArl-#zjgi5+=^Eb@m8aQg=oZw`O&V3m+s#j};HDl*FH)ZU{)$G9lEFfX3+qPqz! z&?SXPBe08eh7iD7Xi5S*EW2)sn0`U%gGHf@4-v_(>e{`Sk4RafmsHQ!C^eMisgkB- z7Ox*Xr{umrQn-jiGbGHV%q=ihwLQ8cO4Z(C8QY+Fj)4@GyW*C_yDshLn4Xe7;hMA; zh6pBd({CmlAzZ=@+<0PFF>h1Av~CQF--qtMK@#~h!BKY|f*Fl+I%5%FyO$3;ugey1 zwxn{hQRn5w<|UH)6N~Z5jGjK2!E*UYAFYWXf=9*mT3P76YVEo$%1W%RswoV5JXKW& z6n$VC>Xsf1Yx@M3E3T>h3>^w{!9GIAU&wU%3cK@=MSt@{NmTw_yC_YLARP21rg764 z{L+X+gEkM@Fy16Z@3Y$v4LkC z_7_AQdfJ9aGwVG@S{vFrqdj*sQlzRW!OKfYdHtN7e)#HPff(?Z$f=glWM6EK=H)b@E3a4=S=#75P4#!l>}61EUAa35W=T&nbun_T_ant?#!*3t7i%D)0bf~ zM)dlR+O#nMcHB(~CrkL4j11`BTr0>A1KA(8?f+rZfA7dYHPnB0%-?$Xu-}!m)U-`C zF7WZu9l)cK5ymP-Y3Tx!e{H@@a;}SSaqG2@TUz5|s4lWWv#J@rHm4ebnbPcCEFH3^ zshbcf9(0cBJe?IV7P+zM`ot9h6xfFDrb|ik(H1Vi5K`zx=NmP23}k|Np+n>QeQK1W zAddeEd!>-mV$670RJyLr;G2u$R=tafP_^V*x|B$8jeBEAK5ypNGtI$x=6~4^s({IH;xI!plE^A^?z5pe5t4Sq( zLh_o+r=b>5kq-#IZmvG2ss+7KbF-RLs_hca29>?S)rC11mgh0Bk*pb$@SDuir|^p9 zaeN=kx#j#H%tb6_Y_OO6%e?q*{-&&)^5Dr+O@?-yan!THEiruf8%ieVrBtMe9NXDTejKBOtFiikvqOI`j2eCQS-wX*^WIL#Ehr)(zbTftCMvRf zBDR!3P(vX5bZE~_EYhjRLZn;Mz;Po_bS%u>t_LB{)Z5K;QZaRJ*7R)?W;L|#FVw5AM|$a^YaM>sm;usOf~LfZzeL5O!x_T zvg#$d&*%S*ge@tQFF z-r1=v4q52wfk48H1#sWAnz^0B7?Q;hvf5Un8ww>H(4E3`$19nNLJPJ1^i@{`aSWc# zMQ`fTWufBHUV@~X2;{WogDkNk38kzA?IwnU%3wqQV>mpQ>S3)u%@|t9MCB0zfJ4?Q zHfT^)6!PtDY*qD1SAY4Q9>BTkq7mXuLv;eDuFrV~%^h8m?oMQjr88Va%B=UsZsq0m zDveclHVO9&y&iTjjV0=_Q;a5(Osj!PLQh$^u3tWF1Q>qVhuD0#mW|`(B9G<|*R0%>370g1VRaS0C@#k`8j2i>?=QR!4+~>3!kL?-rHEjuYOKIYF)2i@%!I$Zco?ktk-CJI+lzOR>;cZ6( znm7ySXnGx}$E>=HwHzRw8q}~c->PJGUB6pB3U$a1pDyjZt_)#r>5TXJ?liD2#^DJc zjb?g>r*o6Y{hpPubI_bIwiv<=lKpAwuppCn@aD9rLvc0!0aRKQk}e^tY)0^W8YEk< zOR4E*hm46pv3CslUFWvO_c%w}rl?Y}AE~YUdg#!ZQ^cH@^OribOz(AN5#-{f09h?i8!`-kTo*q+c89%Mwky>MpNqV)xT4 zx7|5nNszYuCtp*9H8NF!69w?^Z8R=qRGLwH6&$Jp{~|^Mpa*#UO)maR>fglZgRK8j z!XAeImijjl+@1SCX>{z#y>mteEq}u}->NRWDLbw8JGihp%2<|uY<2ge9)L^oZv-E5 z0p}RG-j?}L8=c$*ThWLC0EhNyw6^~LU2EhCWh!!i;l7716VJJTPXquCpsiKZ!3xVf zGo&EA^A~5bH5TI!AkPxS;Eg87WRyx~AY&_iiTdqSpDJ#IqpIQqEpTF%12{2A^Whv@ zY!)A5D_{vsn|d&!*k~*{YTd-w55iG2G*Dm7Klp?H_dRD5E_6sh_#a58?~%k-Yh;0O z&%1F$Y^sjvtvDjhJ^hZ{^IRq%na4Y=k-ydAyr2y$NzU@D(fpP)Xs@-YhPPd%l|@pe z>N3OK_Aj5<9Zg7EVZPG{xOW&ucwg0B%-h?sy5r#X97D)s5t$Y!}(Z%Nab?C#$@#5N1V@2;Dx$|C2qRc8yEQ*67qhk?k;nu@gnc@ghy5&IKzjvU&}d!iQI;YMe?HZG)E+j z*YOXqb?KoaoU*6cU48jWnuQ;gx-x#AZug2$bwMygncAzE)xt0EKVW2%8xsbFF(gPC zit=#Yvdf7%D{5RO$e#Z*MNj^Qut%V3e?n=DW{cY9ZN<5obls{D3sw1ym@3rjIq8Rx z>-EQ~FX_}RF4yGq|2OzDI?DWZS6(r_&d3Aj%f7&uA4xo0tJNi^(Z zH&Oo&)N+cfV`SC%Syd@@)16$YWg`Xv4rEwmU9q%N=bW zUzGAHx9C7u@6yettV#1VBh1fRXCLue=($q#0wH8m;T0-mqve>b+Wb|QU7mI_B(Z09 zQqyDTVrEp-{N=FQ#{4)lG};yR$`#2IRQuS#BS1;0{Z2`HJ^&?)fnQ9I#sqfHBC4TH z4I}SBy<*Q7XVvym*D?0J5AW=L+b7M0Pr9P=6W~#2S^+)Lv`&+!D0bI;9;^|R#&?sFEMbZQCOmR&&hMq1e0!X)3dP_DS?6wC!#&(MDTKR?5?LzM zQA5cF&$9kfT5VM2BRyrspi~Y5xDIM)8*6l?F}>W-&V62f;S)Xc;Hs#yAK9x+i5M~_wWrp*`nMM3>qY>XD9{3; z4hk=D07+nXcgsey%HbN%=Y4XK9WP^^FTW_?luVkF*%9pjehUC7yHau*W46^Y-xrF^ zu{G|eTr4tL0JNn@PPp#49P*aXakhWM}r~C zsW&f2ax!8{m!y?a&r@GfdjcJZFPwy>Am^hKkPz!1?1Y3$52NL~fN319B|$)*Sd5VY z&NV;-B%iG3ggmq~eUgb_@MDyzC zz3BEV;?Ci!z;Tv$NddaMr2I*vY`JaV;hjE}o&CfvzT~2~?mCCL#m=_zy&HyY$qM-q z$m$u}a~63PFX91pPsX05MNSp|wbn$|rfeRY>pgzgKH(at4%7EOoN|el{dJPoqQ^s1 z#!9ZAP5|7?1cVQ`6cZN(X!w#)U}H*8wv~LTq#F0Y{9s^OoO4)QOlW2G_qmNYt3{WY z^7OWwrB^@lXZq$R9MCQxb4*{s*+Kn+UfYbNmB#te1-VXdcGq(0=0|qKfdOy6j*KC( z`43t+4=*>Q@E+jeiYh`bsgzSafNq$J-`pXEeEw-F4uXt$Yd2UB$L}%KXu5WrJd>bx zv+^vE;2$x(K4NlWbu|_t9C^X!TfA1L_5`4ceLqun>2y^VT`Dl8#Yxl4`tQH&=9avs z2WtO}9LYs8W$U?>u@l@X4bwCgvb(BRZFOeDO^Oy`M>~R21W9G_At1-_GmZnufDFt! zh|c6wFS|ICUhZ+U1!Tc7y0Wo&U<<#q;LZSF)I2Hc;_XCX+A4a9J_queY#c{fk7f~b zKb(|v8~vmeUMUXZ`egmth2^*GJ4ki;Jxwl z6(yP^esop(;tDg)Y(s436)`w!%O`_eQ!0N73UD&&Zb~jS6B3*@>qR{PHpO;)*WN$k zV)o^E-ah_y3>D)gR)Dj?;$I))o}8^!y+e!mKluhA^uJ^y{w({8t5_U{b6gK>7hf<_4n!nO?UxD8{XKO0XE9fTGz;QZEFb+3`la?G${szp8ao*?1AK zp%I9oIk27iy8+GNr~iohH!B;U)&Irt<_}Yx|ES_0ZuGyewN~-pJxKwq^Y2mrYo|}O zf3M;HHge{#vTwF5wwjra_>lMan#{m>LGmnU zzh;AT&k3^AP(PMN^j(YcgEHA!LyP6uGC$>tkY`K34eWR3PiKe`!roBYM8~~XCj+ZP zQ}<~(du!oa3%YQU>xyW>rrACOj5i`rYnc7ifyoWM8!-6j;c{= z2fyU6%RiL*Jp;X(fDn!XJV;^IJ&xVg-^a}pc(6h^WbbFaG%ytfBx&-ROV#&w$Ktiq zqlbH6!^1i@H#6iFy=r{i&Q(Ps!xfxJ&QZ5{$Pem#$-biv)Udf!RS*nUs6Vx}p~sR> zqK9TBGF6#)zU>6z;P4dP+A_eGn&>ytxn&0Ny1c_%m4XDJ?P{l%R`cy>9174DrZcF4 zlhJ_RMYldRU^r)Ta~HPXv`_kJ+K3F_TQ{hysnel`eK9McGZr49+Fz*sk<&D_`jUW( zGnE6F7|2x?aK5P?s=xoQ3On}=Yly!$0sJ?c*^e7*j7$Vov&u!TtjeOpV=~r z3^=U{ds~jgqVYX5U4Gd{ly5=+44nv(yPiMYh$MpgE`tTAy39Pml*#&CKOch46qiKV zPN-^197Yqo{tniDu5)5PwR#W_U;LKFy{9NdQMB_bpJ!poBQUCsq*q&Z3i`Pc);Z_{x zd%``dxY{{(qF7)y#%s+91`q2p)^{yIPV_cUoW<%8ycX^K`uNnY8Cus>pq=6PA-lS{ zZ#tL_3)?Nr9rG|@&~{>_^(I2@Ide99Z}qyn)B*+4dZgH_4#XV_@^6#^k>iJ!_Q%K5 z1}xTgS>%F zX3nyIL6ZQ&_{d2X3dqfWDx?A6{kBpDbQ zWqD?Sp3TKNHhbL^B|r)$4U3xCd#}4zh==(vM$A-YkFU?qD5fC&#HTTZV5oFL!44Z) zuis#sdd$R48B*q(KpEIv!~#bR42kYfM-~07;R&HE8cd9Me=^5bV2Jzc1|;T8Gq8Yv zKWJfXzJNd?`r(d1LF}9P`@_=v8*k1?*xfFG?EVx}>>^|?A(oM#o{-8C}*SB_(M; zPLiBnGoouV4esR2qJUM$Oq5!c*eN z#6r>o?=(0?zknw@dsxAc!_=K7Z%ER4%5;PIjBL0dN_ zXevDRAb>Vmlnl-&6-djWz;c}Xk*MvXFrn~n+Wp7YAM(YcZV6n?OdLyO3E>iZT0ENn z;o9_yWA(Qe(ZV4&a?VMnBXnK2caWr+@IlLma_ZN9O>Y(tshqx1eeF5yb1`fug)%qE%+ z@p3B299ZxLG84*19Y@7orUufaS^}PIW#SaXArSJ<$w$1ILzoG(zDamOCBlg`VwB}}Vo+dc%35uVF^~-H9vQ)+8kDR&c zl(~az! zluX)LoA=MI2J@AuQy3QCJ+V~DxJUdq&N^{(4 zHCKF**jquTNQRHcIv`YNFd<;uoU!U~M!9xT8(3f%6mpu$&z&&6|FdVU80QR(&v7n7 zs0FKoDEKg!+i=T)ew&y`r(FJU})xIo)brv_ley42wIg3{E2*-QnuIr_`FGB5IAd;KwH;01TTQLf%PSx4qY2fuZe6)-J%CtELv z=bid@2;nD{QN1;UH2IqE(JrB4BW=n3U1o$2kwMhy24zsyDz>?Ogt&{QxzWN!Amxm+ zt=Md&(P82r)cM7V@dI*J0)kCXZ}WRNk1J)2k@SA_yaZA6QN@>0`m;PHtLlBOHON`~ zPEuzBLw0!o)`5SZqgBF6#>!+*CNj{%)_~58)2Rsw>6c#!_t{(PBsgQzR3T;ioQfwB zDrCLR>(XXS_?;ga9|ukoEk<}-%?qXtDyLX>8M-RkUT%YUX#VuMw4=8M%yFmP2F-5o zf~jP7_6Zg*jeTMWRDhiZ)1wOEYZOs$Erl=ghU9FLG>?C=oZCb041al>e90!DUkj1A z$e2x#)zF(?9>6muIM%t!PvbipjG_BH$!`QlNg3H;=lpqKx9)9!wqK0es#liC8|RX6 zcG1Q1rKJr*dTOMLGxlo!1;s+*SZ0+o z;_{1jHi9IP8K!u?G>|bLvY0$W2uV&o?8yKm@chX(r~Nr5#j3r=5NKbSqIdsN;rLHM z@10J0Jw4+^%<~TP)w>|G+@T4m_}y7k@0A_$=0uV^WKn}j&NDlvcrGy$Iju3AwG&UW z=UL$FWmd}=%gi>az18P8B4&;SDXupM4!8LF`AlbeKi;suF}zm~+Ew(FkfT)}&9%nw z?;iI!rskL3)3sYi49hIbK+frITbr>B>Tg!(clP=;-!F&k4HiFOTKU}R|KRxq`3`Lw z3#pUrvr>hg>FMBXfPGE&jn`YP)U74>Gs~MT5*N+4?7Etk4IhwRW>apMS~9C;0S^>& zE3$ka&tJ6L+Ato`88w&tsjn+Xj);R!{1(P4(Vw1;mYfscCa`BtLI49;%LGyP=+%VF zE>9L)?z==TrN}_{9eIq+#-t2T<9%GciA*Glr_05?Kr0o*=g*=yfH@tM7@qKUpX84g zr0hZ{<-YNd+OCTOm*c|?Y90An!WFFwY6xbQJ9f*uo#s|MV+Okos~r&g@~Vxc&a0;D z1U#F*;REfuFFddWA%riv+l}~!9Ed^J?aRWo1sUwpt+xg)x9f)!`t|1_h{w;Q8MGNI zfkI8J_x;H@QXtu7&x=TYjq4*0AlATKt&eiwAbU|X$X^)Z$+fWrpON zW$cT(T;K3u9Gr>4m@8_NHSU}xa(Hoq(_rw(+np$@NR!UX2}X`v6#Y{I?u`)K!%UJUft4>%jnJ-DrPv9~FF*6ekb+R);fv zML8yt38Pu*$vU>VFl=VJR7df16@%_OXNYd|t-1+8{f-@ow^nX*{000u_xwB^es1m; z+aFijU+)BJ*zeDyO|9FOJ``~;=4e`9)a&KT5dyMpZ0>J>Oq#HDd(#LH3VeT-uMQ_t zk2Tw)zL_=l&lJqRGb302O1F^qhqBDi0;k>3-lUjxLJ=rUs!P}TUqO#E0%unGALBZG zc&HHYMoaVW(X^64zN5^)GX9zSzej&H*E#|mRSq0Kdf~=D7p3{*M!;d3|5*9Ia(pdg bdwj%|32CsGPCIl2_`9p3aVuZxG5r4k?+>p4 literal 0 HcmV?d00001 diff --git a/static/img/influxdb/2-2-tools-grafana.png b/static/img/influxdb/2-2-tools-grafana.png new file mode 100644 index 0000000000000000000000000000000000000000..85edace2f67e90f02c6b6fa3bf888cbaa49c3c72 GIT binary patch literal 68608 zcmd43by(C}*Ec?hjEVyW4H6VdkbebV@Gok%*@`zoKD`>*wXx|xv`mtL%X>s2!v~G zrTNVHnX;0wsl6?S@ns(lciR^LH3%ds;r_zd)Y{yc&cxi(%1(@av$m0*&dN-TUYk#u zOZmlPbA;6sPe*eNPZdp5Pis>lGkOVeI#G9FU;tZlXJa~dTN^tkVRte5U*ie`e_vK} z($oFw;%qHO|NEq#DXY;vws$nA6X4)xH|65uq7x9}FyXQgG%*+AdPK*=#ly|X&BMvf z$Iino%)=+l%}4jg4?V!o(ab{lskH1L+<=l8J;K@fg)k?lo0}Vl8!v~wqa`P|kdP23 z7Y`>74?EC<-O0nw+1Q=k&gsFQBS@P&nL1j%aJI6yqq`i@*u>t&S&SZ->+g%OeW9%U z9|PMt{jpWRrg6F(zu@HN;NrBky&Hpuxf9&m~>G8sx^QpO$y^EtMa3U5D z{v-x=@4shs*%6qHu&SdKa4g0)()Ok%nQ z65{`pR^HCZ+1Sq1{7=4C0N+1orT<%6;m3~V#?JPRn)dcKf69Ow!rs~531R<&j)$9r zhmJ+r*wo7IvgYCC3H`ocX>&&_S93F2M|)ekUt26}^$%0vhrwjH`Gp?y%RUwWrY|KZ z^!Tw5zn~O9AMCLdR92Aw4_dQ-+P2?mrTPGB;em-6u!dHJ&n5W>qp|3m(P!hhT# zb35SLI0E;>FaYTSTsx4OlBP^eO}me8@HqS4}GC!95 z;C5zUX6J>99NG%|`GrT>E)dRcnbBhk+p=Kc1p? z{dDv!Z1Vn*Z<7uXqKO}J;^H$+&Fysb%#P>Qghe06#$~3Ye%e1elY62T{T{9T%vfDR zKOiXjv9uyR!$Xs>-^eLwPFAnT*c|u9uw0egq0IAVJ|zooEs|a=8nq9EO{55`aF2_K2-nMRnXHbkVh*; zUg>F9*TnJZx#){wK0z@qZUMUc%#YZ4kB-k#Z{BjMN1vXZ!?a$VxC<=3%%yxF(0|A9 zH@&y#0Kwt0>=PBgv_(nhF&0+NqN0XALVa#=t+U;O(9k$`cIc~D;h|yi92|UQ4Sg_H z>dww_iTkwe?W1jNKRP7fQZ6YO^~;xGwY41~A+c@k zKl1adIXL;*IQW8tV^YxtEiD7h%>yrAh1EB7GcmJQR(|K<6A1~86A+d-JHH4CjeYex z+}kI(w6sY^PE|!!`}OPaZ{LR0HTA6Ges&P*#^05{I6L?94iqD2Q&7}6Jv}oBnuco| zjfs2HGqT;eOGZvbJB&jY4#L5sm6wKTx{s~Z``KtNC1ck)WE;3^-QtE7MI)Z;&`(%L zzQzq@k!bp^@Rqxn`#xXW^GCj9&x#+t|IBcQj_WsTxC`UNJN!h+ijmQ!eZIOfk0C!T z{JcjxZcBUQM0argiQ594$A6mE$Hcm6BM3KlM3)Y_61INOm`0u*y>;(#^6gF#TJl~z zITaNGgFujodkt5BU-+PxFdPsU3kU?p`+M;V8uZuJe<+d@gZ`wwY`rX^fKh>={_Em% zHPByM|Dgy>>d&DrTmP8j<;eea@p1)!Y5jXKr}^~gs8=-F$e{ZG0wQ-tU-9`)FF_l8 z1q7xB4ITBm!_tAJ4v=DbZ@f*t27(Abd4&w_k-Mza;Jrx5RAa#hsNPW_ehi&D zh`bfNcO5z{GMyTG*X7>Ivt6ncT0*>+TSzr~)t=Kgj1ErQb0%ukZxj}to`Rm=ql8vV zqKNZu$`}!B&R92$mSP_e$O!IEuW zR&rL|X&@!-6cT2h&+yUv!An?bqU0R0u%BB`Y`Tl(1HShVuorisu&(r2zP z{=Je^s_R_X0ivAhtQFj%b*u7g-KqArynbAGY5r{6HYwwAwS{hnjU|Z>cr9e#OQe^& zS?UB-==&e;sFMe0qz_jZ^%i(4Fu@vl-hhEPGP zm@PwGChfM)TbUMaHK8s2BR8tqo9_iuhq+JNnQA4k!?)ko&ia{IbE`l&+Ui~2I|Ip_<)~VyUmNT zvs1R(u>GX9MLUl#sgx)vBGkN=_k+Mj`)8Pcm6Pa#$(^H@UL@bMU^~%n(h4-Fo?8%J zUQ@L@K5w;Do)*-YyrkV%pRL_X?o5oXm!q~{cuwF6^V6^0W@!eKL`}R8^*;>xK=K_8 z)7YC=YVa&kbGeO|Hiq`;l_xzAa?^95q>9ZY*(6*W;3(bLhZAYV4Jp@IWI1}4E}C^_ zOd=t}XiJ|}f=TopmwpSs*`zWdoX`cGNy_qAiQnw}xh*kYZ|s^sXa*;ns|3>al=6(m zG@D`+J(qfibldqXhB^`+35^U4eif%IgT?sCm@YzUCXzT-RMW+A4^Hcs|}2mD4cKK z$=RE)HnZ0DGyP(_GDmDZZgEP%}oB#1N=qEXp4v=4ssTADiEV6RK? z;I|k#stCf*TgrV|H5IZ4KbvB#Y4|j+mhp*|^SCuFUJJh2bSs4UlilW$vO;v5I0ikg zMMhdEdN2qs9n-4NG!EZ(bqtzS=YV66FLQT4)g>%k9ePL;`vp}B`?p8ZO?zG+F+7+T#!^k&$wm)4oe z2saz+1k%s=j!TQ>DOfCL(PPT9L}|Z$WEtsuKxldXG&zMdr|s?3S-2V4V66ywg&Y@L zK$9d1=NGpUvh)Q*ke@Jo^R9WPC6&rukJu~3jYJYm7ej7lOp&Tr<7|E$-;wqy-C&RV z@wIP-!=8CiSp;Xb=x(_07Y}J%)b)G0%S{|b*4cYjGAxq~ zWyY$mwW5*Rx}79$fpNMMhXXS;(`dz^c`LWTv9bUIg$dJ(_oBn&i+F7P@tKwQ%-lKW zRv((y@lD&&M=0W)t*%arN7o6s5Wx*_>#ml*DyE--?Y~ zx|OsXNbS{D!`FgqT2hmG2cS6#R6$Au10!PoY&c-Pkz}g6AD{9Y+t=~u2GK_ik}l`J z*36T`5oR+GZILi*6GKMu;jE@sPwd;rh^IYPtFl=+9nl}i_Ck2?POrU<(H5t8K{r6J zMYd@%H{n@2|J=el5gh&~-q9v@*EV10cCEL;6N@FwcnXi?8{*~xS*2#reUK?uo=(#> zO!;2#y3R<45*AZPPQ}E2A}WnguGIN_o@``Tt86UPO8KcHY8czxP{cI8H&WX91gSO| zU;@L;I$7+5#8v4ThfzBFQeG+8Cq*|TRlmm2p?Y2@baz3{7@D2t#tPQYz-J2XciVPfN}QSWn^*h@Du7EhbU6l>5G-@SgM zHGsHBb6_$xUIV;{!4;n8T5m@Pr_hUXBcnJzD)j5^1bMw*_}sRVNtJarU^^ojkzZw= z+fX?B*5HQBw-#+Vf^SNpAji4G@0_j~ZPn&;wV@S#!k=^}&b(ZNU7IlJsHO5L$cQ-6 zwN9P_d+-GXDs}=tudPT1uFU}7hRo0%~qIY zmHZ4BWKcVA&+A~CxFZ5jc)_#9xQXSLmHG8p>bT_?Ez7U^wn~+^`@;yAJ{n^#^Q}WDA-enWKWv~7+D`k+Y@h%1CCLBsC_;mw#STroB4)_iZ z#bIw@sx=ONFJZU%oQj&rd2=dZK92riF&6P?yfhfNTbX~Y->UKxyGv?j+{C*C38o}JKsE@xZ}JsZCdA|jIgoygHsL<%m5cioE0xuTKo3m1+3L{)K*9qw=HZDJydHv5B-6?sepSH^gGs2Is+u4w*0xbR&MJ?#5O#BoqoH!QP4b$r6_$N6j;?(- z7-vlp3g-}t7`1p7b99iMeec5sZh24j9d1PJB*#i(R6qKoof}@gyR~5Exj(CbkpLCN z?w(_9Q#?L%BZls z-(I9WX=7SFX|SRL*Uxc+T^{$Lo zwX9ym0vpNFl{b6@Z=+=E!vjT$uTc()y6jEm6{Ot!>Y$rzkLb;|Q8UdC;(S2JgUz<1 znrQjv>0ZkMV+nhRqDjh5%L zQKNMEG-_~{uNsxoYu^jUkctAu|6%f@-JU7t zq$ZQTeb%);bZ(-EON)RK-FftIY^*V!l>2pgvpt59 zr&SVSC|&mNoKM2PX=mtte@Ghy<7DoWHt-h8v3Om2s=4K*A}^yY>4AvO_BtLA!1}JX zMP%_~%_=F`pF2RU;#gmP;=_8|%XrsuY21LKY*%n0H41|F<0$IuZ8_!b)FyX?b!Tc< z=Ll-*HSP*@ZECUA<&kWew(f=C#G#NRwkoG#;Z|X9rXBfOk;|!7YxxXkxG5p9&LsMP z7p$m6>WfN7J#V1~I?(el3aCoL(L*n<4jb&^)jstFiMi*54V-1W(>Jq8@Tx9WFoxs1wUSB_bYU(OHTmb-hMNy+_yc zB7q;9R%P)?9JNw(-*M;y`d(Vb@OBDmJ`Om%B?cE1hJ&JXcpO@V-@Tb#>Yc~Gcl4MS zJ3fUZohkZ|@V*N@KDXWO0o+6OyLwax71vhlW+=Gi9XMv)W!$t=m+f}sc~FTytCKib zz1jlbjhZy9l6|1tfLZ<=p_lga%vf)=s4nu|H-4ZaCqq=C$03o0c};Yrs#>Pb%*Z4# z{7sp63j8l^__3!|*Qk5l*cMMHY#B^{S%BiDT^o|*dohn_f?B8s_s5{wnEn^rlQ$ke z46LccC9|ST-jXh35`*Ok6-LqY{aAYn?KXV+=pDtN^XgMS3vK`68tY5}KZ)K?{*y|u)!@B!6GA0VSWC@PL z++@#B&++oc1}!aK+-ZcxCG>uCk!{8Z9p{*T@3*suhgzk2T7R?K%z3i&=K80qAC?hg z4P6Q9Q|p9hUc=d#)v5ck<+N+rW`&Uq0$9@eoPi!6xwWtIT{sieA1m{`oeZOG%M)BJ z`<0{6;E!I%R@b3sD4L()_so5_gP3m>NvulSi%%7`jlqZM{MvbrYP(A`Q=+e$cB6-G z;D*j;^Gz85!ctyEDxhGP;M-PM9>4Bp2t7!;W0<<+W#`|QM|2VzHl-!vNfbBCN0rU5 z8>yq{ZQ|I5J0Uvt!HxCfU2$sa;Y zw)YYvw@aAOZ8yPcfxUO$ENc1Fz4Y*Nk&4fopF?(c1~)W(%2dOQp*af&Di61(!1*$g zEzyA^;iBDv-n;HJZ=gEKW!;t$`XwR_f!^SuP%0|z)C8|?-JYLHT*D9~Lqu`X;^(~~ z3O>ZWraV z4m&>$EVdSeRmH^-*teng{g!2}EKC$|EkY7$wQsMOt?lHW1WWP4Zzm$uHc@W4-OuLO zxy$uNm6Y^3f9v}~Qc2{$M*Lz!b&SnfWwr-JKzSi4B-d15I!CI{|DfdcVQSEuYr4L_ zvCUAEq9{`tyz7Ea{D0gE`mnw@hfD17)kzu#UPu0B;a_ZtdGlJWHz)1rXejrl)Cn(E z0Bnj$&_3gUIaRrQ^+2ce5KW{~tV*;B-)bkt0 z+gn@Nc!aGlU%@CJ;|(}@C%9mr66)6=@^g|7c!;1?LCkfbhPp3)zG%W%uC%GNE33IZ zYOL#?TlDcjKA)7;vAXNJjQ2WOeUj&Vg!`z|q@U>sP05+tNt9nZp*3v2gOC?Ga5kcS zjBl%)STz2z+HLV@U)`y5%Hv?vJmsjCY}_vVp3=R5XSY~OgogxvEa!d<&fgw3s9D=U z`!rab2`_CN)(q`?9TehE9vfH*au&Y2xVki|{y|Ivn%Wg#Dzx#H;e*e1UA;*U{5#mc z*b39~8iQn0G+I|E^Lz=WKExH#7|`=LKHgP^5zyOj9Cl|`vL!RllvkfPvgw^n8Y48C zcYPui^j^DGf7)nixRIaD$blH+so!yyu@=52T3~$KLUa?C=DM!o!BKrL)m?FgoxYlz zL;`lz6lFW1s`(UZClRL6t~*>0zMvoTA{wY7wU+cqyHjcD`iN1XWdoXD=WWA^_ihUyWH@` zQejkhR~@2PDd|KYlmb;j0z{hzY-lwonyzfjS``uk!}(qVo4Y9$E#}yx!GiQpcd%Vq z>g~Od6+I#+MqLTBLLH9}YBTfY2uNI%yvu>+#DvGCEmacV02h2mlM_Ezq8c>1oj7e2 z>8_FfH06jhUt-4`d&C}iw38oxy8BoS^zxBFj^B$YsAr2}aKoBOr$)^n@is{6_l6=m zs5#RVbDwvl#8Pdy%pD+d#fI{{DYbJ#JKPhMLxJi!7;0U5pavq>2Jex+S zK>I3tc1m9MW=3gcCkMN|#t6Rh4OL(OksE>ch~H>srv{IJ_dH6DsRo;HzXrk&phSQ-J63`7AF z-06WrHkeNotnBw-)9GE8-Ig>O#6?JuDAA&H>RoHid&3{ajA)P(7AzPJPCHXXEkD&CH1innSqhXmo?88A`#Shl^nguaj*)b<&+lj>pd z@~#VH zKw#yBa8-?TSEeZvEZWo2cWB1)N$RYpTx&G?C~ehqI&BxCi=gd%A|v!*k0Q(`d$ z_Y3-A$yP6exCRG^_iDlZRWxb^|3VW|Q=Ks)r&yfQx{)3F?A&25P3jBJ5BkNEsLF+x|-q;(hgxYI6Qv|@zhkk7t`>lf&fYS zYPd~@MBfQS4uz#1^)kdETuhkG&BdBZoUxscNpo7!v?IEB;q~R^UIcTYV@|TG-RssL zCS3INDkL6#MtbP7HQ|88viI+B7->^fxIX;mfv%`%=CVgJjbYe*44?`dmw6Q7qpJ0M(qpZg>SZn)f+oIi;nGj z!H)&o9aFYaTQ#>2*j#3(g@uts1guK|G|T0~Z0uur@teZn7|twx+T7ouyB{J5%hR`N z^p_>-!F(Go&d@`G#PPmjlrW!uun~i(C`sz=$UVb3PPrIqE!o)08T$N2$lD z5SR#gYZW{3th14^DUR?XJ1;ML9#meO6np=wvM(y2(Cu`}8pBDWqi`7w|8eR)u`?Su zMKZ;Q=yTzvYMczaCh|$C6ap5>n_uPbv|AMs9vjSWoNeR77QgitV|K}B>rwr2-|Q~x zT&>WZ=MnGDI6)&UeA-R_Rsy*G=a9Bh?v*!0WqH>C4cO7kHbD->H4S!OnLUUfJ-i`& zje|hAw|!E8{5y^nk6zgbk=q<)nM`&g&x0Xfg1jler-jQljWFf}yaK>8@f+`8y!H|n z$fT|cNenLhNrTeD+IVkniug{i@nLb3`=%!P)V)=lnqr@ShBbaJ_o8D*Q5p@9s7fet z<%9`K@Dm&#)q5R?YbQVM#gx*3P+1TA%#J*mZ>2^ROV_Q#B6Dp{d8}BQtuY_^jcb@h z;Y;YRRJ((llL`+bVR{P_7R?&bWl9Y)4@T|*V1pz}qCT3!GpBe2eG|@an793^7p+`_ zzZ5otW~6}TAV+pj7O$dw`(}#d`xiH_S0;Mum2-yO8708FO!@(P?S>lh**8h7YrGafVi;Fw|AQ9)EZ%M z+3Gogf>@Xcf4+9E%Fw4LE;m?*6%DyhT!x7WzN4$PTCvtWw5QxcWiTNSX!j!yYR zb*7m8X)_B5F^D`4%=byE?=(zYy+?vSdS$>aA~^Gefh3mN9*aqEAIQ|Ejs4Wf`uHpT z(Dh}{0Xj&H{DygR7PT!fCY;7Myl`VAstAhBs3codc{;Q+tlmztGUa=+UgMSL^-y^Q zSY}R>J*I@PR=zIV=#)W2UnF@~$m!m@bwFV!8t*jV%NMaxQ)PTWfD#<$A+!;b=+9{uHg?nB6bzw5~c}< z`4NOp+AFt>SSy?3-tc;1Mx_OsSCim3puDma&Dc$w3IVSwB4gP}8NW`~R z5^Bzq$FEe{A$21yr+qQ#iu~;J$Sa%rM`t-M2=L^1BE&)5`XvcgC5ddt12-EeX zs+&i20b|+Edx_uCuux7%N(-X!(@1s83DM~zu>;Vfn~rbe{BVd{{Z*> z1uFa#-}?hO{IiJKCi!o1xPQbM|7XVkfHVG`@&5tr`0qI5{{%Z;ll5qNV+p{MC??Cu zcvIyY#tBXll4+OF;q!>wTE8umYYILkKwC{F++uo9_Obp#qja0!krW4nQt+b*yDq~} zB;I{S``(&!4hkHPZ6y8&g!z~4#_X=|WAmP&hE)CiZa0E&^Zr0ZDLY z{+s&st3u^E$~KW93-w8|Ao5Uf%oMQ~@V;i~SJ$c^e`b1CgcS?DlvIb>aygtV)JIb$=7c*$wLcQqmgVJ@XCc#*JT>9Z$^AsjLUdehZHBHZRd;%yj!eMT zI|EtI-y-<>%!e7^l;1s%N=z$Ks(U}R6|D_?%T=iP##(<&R9_Y;r2%RqM8)PGmQFyV zY*Dej4m|r?_uw7liyvaF^>&^*DWEn;IR;#UC0ml!*CwM5lcEVhIwlyQEij4QckvWM z160|xhJTrE=Z>zl<)%QP+P9285;o*Pks4ur$!xVC%5}M_R1sVx6FoH8MKg|G8sy+8 z=d zPOgXG3t|n82Y@Y3OM=p^0p}iJkQoX_Wc_YGXIRG-^n6Eh{? zUOkFwxX-Lb_1yr@k=Gxogvt~1p^J_QCF7iG*17i5hAT%ar-*NWCPoFRHa9_>ukNF{ zun^Y~JmDIgcT0F66_!1IQ-vy^t59w)Tf* z?JL9$DDKpdU?9vg$LJ5Bd3Joet<{=8Ws?b28}|r-%<^FcVLlyw37(q|0~^f9wd=rQ zA|TX$MQ6`*Oo&tONx4;Xb&WAMG&-JU?vqs5J2^YvF7;Hv{Z@lITxReB;bTZ)xx8krR3M;7lYHjJd$jWxvt5Q7bDI8!YtcZsYt;o+JV zBOACNvuGHc7bEnL;5au=vLhzXMqPQSs6EUr&ikxvluJwY+m(l3m`FaZ@jo|o}e z!xV?;7{|k>O!8&U^pAK{IkZ#^JAiHe#FJBzuUhcJHq{{7`LvMGw&>A(60T${1vI(F zJ=EzI?eOs@-Qthmm4`lgyLTi_me}d63~$v33iyXt&X32A-ruM(zuzMWGE0SZZzL^~ zLwU;%>I)22aus}z9j{2nQbD`3sV##R*`yv#mX@$9tTKYy3{kP;HIFLctRIC>GalGF zvAwHte|r~XmJ18tZpqE=@M|c04OYyhFi@&E< z{7a>CjS(F8`W?uf?M&BSTsidX@^d)l43yx#__js1B5|a8M%Fu>e{pVjM%J2|cQG%q zXLMzn_rhn>%kSXA5f1wDnQAxnf<^4uDJQpYo{&H@M=m{>RCz^hAibRd>ACAQ{TRqd zSOcHczB=X&7M(jgY8-5Q&y6)Y9epmPCUTwN^U^^Qxu#s2J}HQ60(_RC^bOsCzVNxu zjrjaHM(TpzHt;-mVrTlBgn-69VG~JimAP-ogv$ z+|_rP;?W||oO^@8unQBe1+<+~tAEo{KL z`@NwM!p~*vp(&>Ei3C{LfG|(&*zJN=8+fNj(HbXnbCm6^e6-dptJ%Y<)VQZV12u3! z{iZCxo?Ll?Y{3|o&kEVZnM*m31`A;wX9}oLqn*L<)XL=0~ z0Qh@O&;QK(3*h;Ko@nPK_CFNv`$mgxFqt(~<@bCTNu6T_Z7I#cwoPb|)p(}W#6%&$xVR4t#(Of(G`HmX?Q#_; z6Ez6_OF#_3c$cd}U3sns1VsR;0RMBdWCh@6WlI?Cj-?)ST8H|c4;WqsQMhtCIsMK{ zB~*#3XM6pEe+^LX&THT`R`+{h2nU-E-8(V}O+8!dB|E!|%0g$BeJ(45&Vg+k1uU1p zdW|j&M+C%mtV6TcQr{x|o4V4u(nm<$^01n-r3oEbuiLJnSe88< zYG1LS%WYau-8kkXz567nmZ)S5y?q`t7&CNj+K}yJ-eoFgh2u;!=oL6pX4D4bu}yV8k@VhZe-DDM8B+SW#l^}Ph>$*L+3rtI-^ZcQ3<{kQM0KpI zvzV2`mUOfoN0MxD+_cY1k6Bfl(R@XXh7!`KhNIH5tH;bn2RpSA9_%^75Az|Ex#VCJ z>G5n&zZpJt7_9cqGj=200Vp>6<43Q3&bU-3i&AsUMt^^QvhB_JPgD~rT%-`zmidyF zTI>3x#@%FPEArjM+l|zTFuw#X()037Z?TkVpQZAb=@{T?A^C1Oi2mq6anR2|aRejR zOyqqE1))e+f}8B_FFpg8^XEs4AQ#Txtnnk}mBuIT!C7L+{SDtLW@k01v!e`2)144t zAKn7d)1AgAT-Xu6ty8z@E=N=dxDl2eOMT$GX;k=0U@5k0hc%)>{PwFAAx0E0!gdJS zELeHmC2X)qREUfsQ-lxkkE6Tca0?#|b@#74s{FW;L~gnVQqOQwM-FJT416reU47%suWIJ+$;MC&EZ=JD&^v$O$~r?-spRu z%@)bgrdgP5{jdb$sT-u{xz{Z9i7Tx0xCmMx+5%4@ALQD==kByuI|{z#;B)U&ozOEE6;?j?!v_SBV)bk(VhL9$3z=PV2It#SVTi z9CK5)88^4)Q7tT4x-35%<(E+0IKH^gu11W7d;RHIpXa_5O6yOtZ zhgE_j@?%|H|8@SH`x5G^r6n0ZY!6K^Oh-C(U^u&&mV;MQJXg-$*-y`G5{R+Ms+IUI zoc4)TiX6#;#rlDwijlb|ZjaG0W~KMR21Kg?&oMGq6q;8lcUS#R#{zY1F}d5!*bdE3 zw8lKe+nwp#vqnlN{`f}wye7juev^O;`}iTZ&}hmst{m3}=g;7Ep^qJp7rx!uAEX2D z`96~SS>)SeI>=!LA?}>}mG(S(yzE8|-uWTcasBx>z6Zg~hUMc|;Jh*->Hh9A7 zLHEj)YIZ&?cU8XvcS{N(C<~SwPsXhMh-@&8I=i~o{8Z5W%BM`N-Y#2wmd?B-E?GP= zkIbbh*`il%LwzjpQf;L~#~Wda3I-@r!eR6WXV2=}3ujb=IqzEq`bNH$QR$WEwsqaS^+~6RohL(g$0DJZ5KrEUp z8am>#Iw=ND-Y$b6_20@>eG7_&Rel>{p!oi@_C7IS4wk8#*P7%pcHplrPRz4iTTd+U z8h2_&TuKR4Uisa#UE>NWXsjjGZpcyi@HZ;wMpMlC_GXiBgH`K?LYQJ8Cei9SxBz~% zlTg3KopTyfH7k&F`c`Nn^-^b&{NRJjrKi>?vZGXDoS553;>uu4_zprlfP!O3fh#SJ zkKIV?6ZXLD!Oy@xT0vwBZXC8G$|h=X=9G-ry_H&nEywKF_n-xw)EuakJ*vS+f$?|A z05^qg@%1#CK+5J)jS3)SA_^hHE)92vYD?YatF6@%PVQD0|A;((^Xzu052MER_sRQp z;O?yiH+S7ZMN|W&4Mv;n47y5yjI~oh8EX17I>F`B<0);_CTrF@T2Ola@lnnQ4B9Zc z*;I|;UT3RTUhMca<_?O5swm)hthyp+Ld7cnfD3r`ny z(#S`SUAdhitc^_`+b)&J8+Qr@UR{uOqItM{6bZOZDtJP_ZS1l56|#7+W{mHdsttAR zxZ2I!+q+rYq_5~}-YsS!ZulL|mZhZQDRagVzm)|=NQWPJYkeEl^QxA(A4-69{Tv}$ z+d(m2sO~QnwO~EyoIRPioL6&xv5@C+p_QW$*_PCq*O<*p0-v18&U@v|d218vnn$Ib2`h10@sk6|*c~@Kd1*H( zjF0k+sRoU$MJk!iN@2LEYsHQlQd9}Kol{#7-;t>*e&g^wH~t|)+cyhkuQ9j$lISq0 zoSvoSE|84R%T5ywOMJkoMxV`Id(7qQhxsb^p^7 zc_)9y=999y{fyT32wX6=I%@wSQz$v|;;3?RC3AZHc)u4;(?Eh^ia}TzTgiVvE<(38Joc2d9ao)Y-nO;U(->N6&rbs@nU-l|1WW6;_Vt_E_ zZcJSTw%ds54hvwmg61&jfWDIf0kZm7VaO2S+0X8kDYNqyz`T9#O$nve_2K+w=wfD$ zy8grB#Q{bHNP#loYW%W*|C2#{*{qyt_5McL4b+uP+vqF@r`iZDRDf&(>@hhpo$ZG= z-@Dg^bqOeG%)tbvYA?%d@6rfVt|IubEH|Z+r^}d^ZYEZ1fUY1o1SNzwrnB8^JtcOq zJlN>^j3;QX$>u!H!z=z*uC~pGzCKoWxDfv~J_I-raWFY`V#;lrp`$CH>$Bbn=tQIH zf$N^nVxKvNc?N^XiL%G{KQk$6O#|U@-@uq27sae zKYhROmniCgxKn?6Pycm*71&E)Gk<*`@rOtDx8kMG@ps;U@A0n@|6ulSQP}?z-v7kx zZ|nYF@&5PkKmHev>0<%xt&w3{eFHvkIcmZ{Ar}xA6G07=9HJ(R7}5(9=twS_oxu6> zgBP*RH*@Yfk?IH{J|8eN0W+==;+WxUKS82PZrLE{@%m9}cp0?481-Y)k2_I9B&a_3C~)tfI}Dqu2$2?FiBLYt(9bza)Ic9%B(J}otmylC%Nw0l9g}mxdfj2 z>}#WOB35zM(*(zujm=)}Z$$)@TDG_7H`hgS4)mJv@Ls~M* z`wF|uP|fq;2h)t}c`s%QP1Q(fBu)yS=HjbyI>LZe!Kj=A%i5l9hLz_zAnu}Kb6I*n zeYJ{GpDeOP_3&ullv%Smg}YfiMdh)6da!6#ES3vNG$r-(wG-HAoLgK9)u3=L(Yu#c zvTUr_&}i3RnpmL=CdfyLp10h21OtK$)MYS%X9=!>u0nH;fCU*<zJzVx78t%AkGLELLWs6QsdK2StfvoC?CQe^ofs&qOlsu_!%ZqU^4H#SV}9LQi4IQK_#Y$H+9!k?UpfI z@Hqw4r2FJYhe^>+guJ7Wxj|iXw&ND=QQq;%ID4#?9$1XcNI-9gH86XN4HQO(vfB@O z>NJtpPRNtf0b0^|6gA-Q0QR}dSGwhO7g-%mzMD+8ITi8b3PgAa=&@$>WB^@G#Az6k zSUUiYp*SgIb^v#4#8yg3d*1;A5Z0^D{0&T2Y34m3)CP&eTBrb4pO>nL)g|v(0MUH6 zx8WUybBIC4U=d8hkYsCZ^Oc8<+bls1!v^pC3z zJ1F4M@AN5e6NCzQzq#na5-N~Gvy^L5Im9AS4r|mrPb_{sln|&vt{GEFnr(`KA7iJq zqg{otMgH#mQ|P>sjuQ$Mr^_k9sGz;Jk20_4y2i(R1;ZCY`VN7dcepZlV@1dMhxbir z`|8QqrxecFZf*UV;1~%!gP6rf^1=w@im{KO%Inoo_SK&G~a zd0A@ioI%mZxb49TWIC3pvg;tHnqhzEx;mhy-e-I3t2^p&r)4%cr_)R#B8Bu~`1U_} zl^i5LXyVTyTxlujHJdtSt93FO^ugg#qW?<(`^EG0$@@h}`hh9T@-sYu#7ELtT)Ed&QjyiNu1FQ{;DYR-9KcQ=<|A7mB*NnFWB9K+3F>X z3z_#ioZbLsjQ`7q{J&0069Ojo(Hb5DbBWYpPiZ;y^d>Z z;sb2;6m0OR6PEp=92XKQ#rTkIfg8b3;hcKA)!8%F93y~?WW(j$XoW?)PZs-lH zv>p9T$_C!v+62w%XeP_&kmqf0y`(*{A`Q80UGGm~3!&|fcm|H~aQ9&77Mq{Lkp)8% zmBD=bwcXOp%c6CND5sI=NFbeye9*k)Hebp-q4m#?>8lDUQA<779h$J~6{fwRQjeDY z*w+x1LTjsqn#*%^zWuLr{~dw(M_~b6yI(%dpQ81r)B1<7{2^<<`ds?4mrm60vIay- zcksIPgFvHCoW6QE3-*Hxez~4z8Ip}GIdXvyY%!QinOEou#LPUQ+Lh0t3A|#KA+dS~ z%km2t`(HSAIDd8fe)r#iMg7ei{af+Zb@-o=xBms|_iq61zw`blX8*tN{&j2rwz9t! z|A}`%GkWHQAPY4i-HQ#P>9HhQ5V;)KmRM?HyC>*6_fdPaE&a<2Hi73BkrRuFAH4bP zduo$_TwhwS0cSyFhe-2#6Zl&gThG<5unybU6U&0U87L0$!Y0AK6&Wpw;(R&e!$vFL zQZ~yHH&M3p(!j5)PmT6=;0;F8x5XwPyr=Q?Sv@3TM5gy>N+M+g25Bx3;GW0@3 zICI663YVmT$t#be4e0}gR6$%S5aBsmF|#k|P&OfD5SJk&F{;L$?YJ)54MD_w19umpn5LLs4Kw30NmsMsvgiR|0}Wxbp?f+ii(QYEHN72zFG6SMnXx+4hWq; zjLpuPZ+|SQs-kYcRA~Pnb#EOORok|Y>Z1;VjHpP1NF!ZChXV-G-6 zFw%`Q45cDnL&p%(LrcRTuoph>^L*d?{*G_&@7TxwXaBWk?p1fLb)MIGUDr}E$PCnA zi&5YUgzDVm_POiv;_H%Iskhn65^>w9bjbAEomW*42D=mClCLR;FUahgu+Ud}#j)Zi zp2OcEca$p&UN1$jM=aE5JK@vt;|r66k&UGe=|VO6rQ5T*ThP?i_?jATtH!jl7yiiz z&4wz~EGq0M*jr7yI{yA$ZcAw}vOEl*T>xAyY*h$V?FP(`K>N(gck)TLEVZS!zfl;+pdFwrxJ)A|O5C8{OiO|4$jW8(hGnBfCsJ@^D{P?cg za^}mgI+CKA<;_NtMye`<2xlB7DO2a#+9QcvVyEIm#$<74mL@LR?>anFqwl@K)}A zia)KN-1td-<-?$smRw!6=9n;H(8Hpl4M>W1=9Gm_Ria@0YVZ5{GNyfLkMcpp0(+pF zu~fRgpOutldH!_1gRE8-)Tftm>y7>L(y^MRzqh1$#DbW-kWsel_B};7MaOFz<7n>u zrj}~%2(+-lJR_ZERkdb_)`lDMfedjc3syexewwWnR$+=?2oDtc4m_zkq!@(Lx6*932n!TkS76r1uFu zu|~nYk6o<>g#D?(u}8!0bJ=|1>8s-|SE<`{-UdNgl7{?S`+CU(L}ro7EoRDH5BMs< z08wG%v!Ma?Q!3xpUrZ#uofy&BcS`K z_?v;wq-}c5L2v^`TJ9{$zW7c0ZUG~#2sFj<^Tg7@{9Q7)q~ndYom z&g8tY-Kk4=N4bZ_ZHOsL6s6c(C@;mk4tWK$y&=qVeBs7V&{g=0bTtEG4wcEuecOTe z>$TlX{OQIVCRzrc)}wchR%_dZzr-GfCI@vQNa9!(5(+^t&PQL{HkHjJ>{szLk8|P0 z(JL5~o!s3viGnst7|psXwah8b$i8fun{3#E7fg4#zOghi%j%i9SK2XmVfC{?Cd6Qs zrpIKfZn>9;#!AkBziTWmiV3%(RYl|%(f1%|)pvxE{Wu@xhMK@_P=6fs9^7tC0p~U9 zp0>Y7fT>ap%pi)zf2-MEYvTR(ejnvfE>m49WUdyfu*{)TWKpQ8`8M)yquctbfn-z8 zEo}x!Zi8bh)XhNoSz~(Wxh^Mr8J?X=PtGoLSRW{}Xxz^#>{$t0gv|@Rh zR8dfTmZ51`g>J!JXC(fOek>i0ICuCG1wRIh$l_?OwO6fDw@Y}y^yq|UBBf;Br$?dA z8%~bbWJZKPN&y9Fbr#uja6_0jt&*y?7f?_ZaraF0i5yQAC=%#5{-MjM;AcmuLIO&4UADZ41 zn4$VQ0iSy=O!p-iIT^Xo*Rx+xpTjh8S8W4gqj{oIN!wZ)O z@#9(Hr=p156~N7(dm?H5mhksfTawt6E}Kf9B_RzTIWT!E!HeENqM}eti8K(G9j_i! zqaPiwou2q=D^}tMHeLR;`3GaIJB%#py8Pj2z_Xs$rlM(BBC)(?KQBzt&49O5T}r|f z6;ATrJ7qlaekRmOM9*G|fW^$Qex98Q0`?y2-r^h`)8ttd-SX;G*=jGu2W}bmlV-hV z{5D+KmCb-vIx5n@DRuqiy>7Ydw)T!hQ9m2+Ik;A>QI!HjJ$xj&m?LpZ`W~8 zAS7bAznG068h7lCCErVRcO)K94D!-}#LPQAvc@Rn9Ve3aIqKj!wt(JCiSAGTF4~r4 ze{$C@vLI-CRzHnrEcP2>@4PEa#!Yd0#z9-*46IKdkl(ML$1X`S;I0SF6BVpb+BJ{W zduPfYO^ppeGbWDIsH>mC6`IjijA|byhwGD!q$om2t|LiesJx zYLi6w9qNE8SeIF29;`8NDnaj%unV}J$>#iNV5HSk>Z)Hln01?Chv$4qfKwpq4j0CT z*JkTT2x;JIQl?B*rPZJ`&`gb9Ca)$Sxc`hgvtnrbHGCO*ttN?26tqhh`OMC+~b zD`NJRQXHc7YCKswAhM%~|G;b@1yVGNwS^ccOP3{<8Jn_b#4nd5!Crc}N~HAx6;r+C zyQ*ln6^Fw;gJ}v zLs$2;p5_q63-|el1qG1DHco)_y#0Obg42#5c&51-a zAdC3Z=NZj!r?d)f6XUnEl|oap-0M7zdSkx>6|r%>Z-m4sx= zvXzWZ$y5G~I_eezz|#)!_WKFr*_ZO}kA3PU-6b#8C^GC^BV}s?2Lmn>S$u5&;Mxt?EE2N_r9xPKHYJMO4Qa5 zen)Bpj!nh>7gdjD#p}l&@_IPMrI-&4ehzNqrQRGeCy+CF70Kb&Zab)7VE!Y`HUtcq z9rj95f9c2-Zz=fxOxd;{^kRg;CcS?Y@VdMBy(C~6HjPgJ3CIyRP4D;|Ta5sQ?{77% zsl$RFPyIAYieE=c^n7;JU9jBLZ*q|KnMm-W*eB5{5!vaj5OCn!ePItkC`nt}YxVg9 z5y%Q9_=jv%>&Gg|%{5KsfhRN9!fvD`kJCTe?mxJe3lEHB;@st~lK`OS2WacEIOv~! z0Okd-EoI>UJLt>h4aQz3_Rn;2@$dzliG!3njOigMQ}(|xxhivb`16(aU})^a4)yHh z&wd$_y8*adl1eFFPVa}TRK4A-+ZFTr>$~YeB z<7K@yw|W80!byS z0~r_(Cm;`DbH=iwb2btCD}W;ab_(p+hy=6a;4k(OW@(k!R5p@D#~iU zOPS8zKFG}aeMJkfw_PL(*5Ci;<-{C&7CQVAjMZ)SSw4Oawo4i z0VB&w9qt{IZ-bi2i1>NGku{rh;Hg>Vyh2gZa8N6m2P8mK-M6R9M-~b&;=xHB@1Oxc zhh(YsV&{KhvQ64K{TBjB{JEZhu_X@_K2O*PV6@5n{Kp=ZrH!(GuTh-i+RTZGfB_yw zE$uJo5dwje8;`37po->S5%a*A61uSxUJHSMw#$24>y;82mV6c@#=(n<_uhCe9YRIc z^vWGqEja-ih;gKfgSPF5q;ic+a$!_Tx`D}?N)it>ku(9UrcCdi2=#&b38t*Ig2tgvR)7ALHazNI|1zebI{$8?AUP z)9FTcb1AR#3-OVX82tlq4b;B4_MUTok-XDI#seL0LJ(Cds5Anz5$bK-FeFNA!(I z0>vLM;#rXwgDx)1{Xg2EcCU)8nnV&3|#W-IpfqMv2NA45$r znp(-ABZqYe2FW3^=k5*CdQtFdl#daNg$I0`^If1e_5ib3`yNWHEK|3Tc}54E2RcQv z!&mQC?6Q;n5ELJi?pY!Xpx`D{$dR;9G*IB^z2TPcD)Q;e0=UO!vgJj*~*G=@`PnR6L?Jf`j%1|GBm+{)S1NUh$9P(Bu+m&3NG$!vd-qE$~#rAT?FrS zKaC|VY37>niZNLi%cO}MZJA3d?w465`U$TT>%3sMl+RgUeeYJBr?s2~u zqc&RK5Z+K>Z_C1xYDC80J%Vr_=d2{+xlTt7o1PQNkN@94X zfv@qVe3Zq`;>q)3=h~WSMTgG~R%Zo<7kS2|&=7-`F-7;g&f{q@$*0Cn_IdT}M(`9j zY!n5#c2au8Fc(IKX0FYYPDwU+yC0B$+R3;v#a2HH^@IJFfnP4#BllJ}O|wvJJQ$IE z@j{+<=3CuKeV>~b*$x=(R`7f zY9*eE8@7<)wP zMuK#=3dY*GblMAC``6PPnBUZci}q0)abhT%>@bxG2unT(q+U~*`e&J&&?LeNR<9Hy zUJhNVJ0yk0)ViyfSUd%#M|_nDlhn8edk&Gy2ss?9Cmjt{iDibpCaq>%#I>+9k7u#<9Fk0g6D*`@J@F=SP~VXne=(xLXP3OT;`gGItN$EtN!oCx$V z1Vi~uRcwL$P*VaFueSN*7exLsi|wGMJ)@TWGRJWzA|Snlvij;BYKyxdZutYbQe>HN zqCn^JU|-q(?m6Lv#mAz`^>&3G^NJ@l{;c`)go`F-CWKiE8=6|(yB%-ah~Y)}Z;P{u zf}B+^ef8YIorT<#5BKr=$3_z0Cz%d_iSCdcrV)Dg@Xq8h)uw`e*9gCH_!2yV5JGA~ zD@6;T^N-93vE&duhe2H*lny(|<#T~d4}7ddX;3D0#8FDlqhe-_;XLy$7BahIDn0Tc z;Ufm^qLybkOmm3>hDuuug(Fh!vdb}g6(?HUQ=$B0qj?~l`>D{AUd5UzkAkN~1|(FU zh3UxFT(SrjM+>kH8+j>6;->SQl!EZpQ5>R|%C%A|$s^-!@5fJ){;HtD_z%_eeWih} zi8VHZ;_6OBzGyc0yroUFS`Nyc&Kz{nVyAkwQI{!D95e$&*k2U6Y^vl%9*rwj<>0b! z`!TwmzI~=XJB5X^ac~a}Y}K`!F(vAbcx+fQ&Kq+*yaSLxl|p1Ag*E@gb|O=e!Ago& z{=fZ_eTY&7QJS-5#$1$hhg1*irZ;&{vxL;Yle(lxNH`fqW!cyU*+#RIr`}%cF$$oWkCan-SwD?&{ zqg$IAyRDdXUs)QYV9y!vLMyA?9pnDYst{ z?bP6=DdRb^FbAvMDxFzmRlG+%XPjEEZQqW3G*;E}j5bTO%yo;LFEZezK90l>ikooB z4uetawCRu}J-(7%uHG#Pf~5|`dtenrTfkH7N0D{Cxp z^b^3^-$?ljh8kT@kDF_$o?YW%^Qr%EUi}XebN%;!Yrp??gCh+P34aq8lC(}l_heX( z46o1jfu_mNJ9vT74>5q~O}8D^d?n$tMod1|%y}7tD}MTz6lO)waF>aT*R+X7lkFvL z#Usk>?^$H+d@L*l%(P>sVG|D~Pf-=P%#dxVNeNY{d4W-!lloU7)|)1&llt4od^Hps zE1t$ZL6wYG^OmK_HLEG1p~>`_1Z(wW2dOoU{;eu4t(%%9P&(bBm{7spXIz+DNsORd zBimsw+sR>Ul8^Np9u~09-!>C`oY$FI@rCbv@iYey76S&nVH5vThx;#Y*ghFJPgcgm zBUfh&K~q&LH=bfbMnRE>T+FOtpDXVw!UFNXAW9rNH{7{~w5G2m^acx6ZQYES_;=Uz z@S6Kv>-K+b|KUQ{;_dI^YwBaF3P`*E9QCi0fX#1Z_FvooI_fXA1-OsxvIMpH^{LhB zcLOgL-gtJ9!gS2$EEtGvoB{~o-?juW2SGtpF0N&tX!xKChOccV4UU7y1^BkojN{8 z0+PSCI`(zKcb7qWz*5=@*^`(XW@12fem4mgJn$Vf*B zR6{PlndYZ;`le!OkDRY!(})aq3e6J#t0FcAfJYf~!aQQ=_&96NwA$5t6>;>OZvxS5 zFg<+k=4W7dbf7qG47YM@olH7=ZD8$#W_ws5PM8t`B}}XYPrG8>OzPHmpHM|?rVkB; z2stxYDR7Zelq%C3M;X@=lsC_vMuk&bK4Nbx?7|c%ByWd)hgwTq8e98}(x)Ruy?Nt> zTPpUZ-#AuwPEZR{$>nA;OuGC~kAya+2P;UN{KR0KT{XTpB&5H2T5aj~^rW?`Kdd~} zDBqm)ab6q3pC)4rZ|LJ7!kU=5(NSINSFU79bm|Mqf&r|7z9%e@|sf&zRoKTKcAt#rk7w_h`$!}V! zIcZqQeVFa|tiMcjkb(<$(Ej-HWYX+1$Ja*Wuo-(B6u8c16aRoo8L#4L6x3%Iug#ae zp?`l=il(+ZqUkfbGNY9{F?M@@v@pl7suz(ib^L5)O*h`}^Ye0>#S+0y|_L5(e(%jriSAjJJ&Hy{a`xw_eSk;(VVIPcSy>P!~lpY>$&Y1mE9R0peDd zaFlmrZmw#nR1Vt&_>Rt=2cIFlgRth*nS11ibYAW%1Fo6!^tHvYo4iVdW$%|Z@{WgA zL4yZ{+CkB9fjKl?=FVp_p^qZJsNvs4xC%-VcB@LP^R#y$HqE1GnO>~A{$7P;_ZydN zNY>&P<``{v$iCbT*q2|LZYK@oY`N*ZWP3|+H zB$hS5BpSqcce|rlTxFJxuDCXa{B|hBf?_@x*dJREwWv7|P(T=8*9aqBV;rg}NWC{| zmU5w+x2DA85}!;;={FDhwUu>vkdj%6?HVT!E7j0Zi9hhDWK5iX6~7G^7n66qv^2W=DIBs%vqav=fav{`O+puFLnpLBq3 zNS>v&6~M^BQ zvvW3|RsL~lbn*nkr`kAT%YD84?n}8BanQ|?s3m3Xny?Kt{|1fD{%Wrt=x8FJNyt*n zLsw^svmr%^7Z+!HhrauMBOwd#)TPXPM?~JSac0XsV75XEHZJ|2sYOHr)wUAN5gFCe zC_Kt7@e5%7?t2#c(GkC9*hp4BPWHWEvIFW|zO?K~ajf#_IW4OL8lhkWnoW~yk{iF! zNu4da7*~vhN;x^8JX?zb(ICI*_1p5IA0akw?uvFW%{xW?b7hI)P=liML71J^PQN+I zNcpAL*bz~YxA7Om%?YC`gY*f+2XWW9qnTMGd21&wzt|u;-FDtLJ)zlb%RFCJ(U@9U zf*2I&VTUT{eOENR#f=doVoMR^*2|X~&XwFs9NX;7>&@35?``GbE0{iB1DZs16~A6S zy@8KTRI}94o(8<3+wu?a_eEmd7m0*~dTfUc)m+=2A`;-|}NPE}X>SDg2}6JLQ5#D1_RH!^Iu2U0sBg zgh#8qMMk7^RptqG==bL=v(QYk_y9wKilTr$Ns7bD!d`P#&k0aEr{QT8K1+7T*hZc= zjeiBKD*wUB_QTU6yq4!7TI+G*8WS#P=+V={$XKSRqP%gx4b$vjFaz!BVMMn~vSB5s z14?9{nd*(>Ov}ZeqZcRp+0DEzd>YJX#6oDel{!eNn*|FOH%Cc43O(57FINnZpXbgM zv>n`0X?m4xj>^pOyzid+!8^a@!1oFK32Yi_i9fyI`@#pIi!U70QYzF6z4|zOu-VbO zwKhjvyr)LhxGK7<%Lo$7%!skfa5wc+o!DPn2T~fm62@oQoJ!43VVT`r0@(8_b-c}> z68EdutHt;BQY{O~TUA{|ST*^cEp_D?B`~m_+J)F`@&Z_AJ<^9&I0w6^6}HJin8a_H zUnnLuochHx_IK~hFlM#523>pt+vO(2vtnq`6UJicG*P*5_ z%TtGket+c?u38IK5sHlnhf*BW!859Y1M=J%AIZ*kKeof6lA~WNL+_KqjDPGBYy|~w ztwp}P@|L}C@hD-Q_w_)DTZyCi-cz#^o1y!7BUY%7R7&z7nC}`lhOn^uQ*7AWq|~b0 z&u8%O{`ou?(%=vCwN`J{YKc!-catQnFB1>1alNRITQJ#a$Xz@)o z>k(p|TN{aGdOF3(3oZNg3r5dOdi5{oOF0QsbSlC`>-?}cky z9B~$|xqYZFU;{Un7d)81a4dCzb;KOYOHF~o9`hDxt`axC<;ehoWA!JnA}$#Qb$#NP z?vtiWL2!*2U6J3n)m>#9;grvvRG#E&+{{fBaE@L!`h1YFe=LM)y=YcGWy=NoZuBD) z5$*a=1qp`QKH^byCm@4+kaX5}x znE`M7VosdLI>sd`Vl}QgGV@$9YK3?pVeg-b8E=ZAd%`g~*3McfOG;MC{Den~{ z=fw%(8~NKA)=vtI965e3m-ra(`6-j44*MPM<7uYvyT}W*K^doM^PPIS@A-D;FDE9B z-skoAzy~>!3OD7w2-buMr6K(rLCbjuGQ)O3(e*xG9nr8{zfRKXqcUmJlv6Xf>q=?lJ|2z zQ4`bJH($z-KH5C!Y;uhmt$UI7ly6V&d|kpaPJlDX9%$nj#i6N(%~Ih*_SHW?RF`di zsXhKXKSFrB`PRI&UW>YvorF(UTXOWiml3{vP0HPTR(KjF%Ki!9zJo;=e>)PZH7xt#`2Qmwi2l8*Ac>wcjcoRJUav zPz#4&a)J=EEJ=b(GkyaH&Lal?GiBVYdr3jVr^mhri&}S2g-dzbo<9ZhASxd>-dt-r zxMRP!e~jaO^l@uV+eF||-&ND>K+`D>ds#1g@)Z&880Yca-GjwXkHC1bI?(}*CTB_3 znhS@2Ol7a2-A2}ay~zthc9KOtKJxc3cgR_Q_Xr<}sEE-0dHAI#`d}=>R(f|Tc8lS> z=9{svO&xr|6(9R0_BD&=%iMz>gtOS`U2okNRU`X_#Mb0}emhZ>*k(~&>e1{>@x8MC z(X7lK32f+vz>>TKz#xTFiOAjkZ3j$#>iqgZR{cZ2YuAWkevs^iKF2Iy>5U<)s5$lQ zjZ=d1!{t}r$~Hf#6KQi}m2&@J4~SCPYG_L~;p$HPnS0_gfdj5?64;V^0BCdRE04hE zZSDTI-Dp962I4#J-gUAw`4TQsEopX(M*~~F{NSDwdjKzTRyi8G2rXH`s24htk+`>pG1cpe#k>@~d(CpWmhg*$8#c?1 zFZ4*}TnWCUnFTWq)?S9ws3yUF zYp=guME{$U=|5i$`_jkHOt)d(6@taotlb#-Qey+8OCe^?NFl2d-eXeCl)6P){XiPQ zYi=2hIRI=6Uk*#UXnCnY?6+f5$coWMK9SE~As=IZkps=(MI#0?H9o#VdR|igHW&Pt z?)vYxhX1J?un}E%*8jBopK@5jBfRsr1ujs(g2}neav)%=cs!gR5Uunol$hV<#FkU6 z@JDgm+d|eC*$Z_7^+X>n3dAJ?S~y@MNVG+Xn4E1h47}8~N*_iZ+ z)v-eohMw gWE@UAGyv2xNTaJd+Q}nLakDk_=m|Yp!A6x#x^yZKbo&)*ji3j)e(D zCka4u8PSN{C%~+-wow`W^MTZvxA;Jk@Y$LDx`rDGh0!|)@m6ZM@=F9(5yK89508*p zX5{i_h(}IMkV4}3j>=Q%*3mx7tvj0ozR3KBy*>}+Qa`|-A&ru1J37=*p8k@Qs^6E7 zOSq`@&7l>Go3Hs&%|ZziZkqqahRkP_K*TYX?ym6bMo&aTXZo9*iHoGSVG$B{ctP7< zyAl!X52b^k)(B|suT{Nq0!iNsKXsYB&5|&@jI zD2?4%;fiEQwRSS`TLaILB?TW&cIALMZ(kwMwgP=wPya7zT498~j4XfNWtqnl-`5kZ zQR1q>2gj+|r!;=2rsd+(@h_9UN>MXC3f8#gzG;{DOfy4G?1G2qqVt|x?%W83`c!q^ zIN<57K+W0F*kx;K8^s0oXKXLl#@~!ywUl~UMWodK;II}7r;fs)J$?W|CkOZ}M<=D0 z=`ZWTFYTOs#@cg_-*RBBx8ZqA32r^gro|67ORQIaSv4ioP`wM9@c||SK?Ia~@^aI~ z{l2G2rtx~4#=xtiH$ou4AM_g^p3!lpRo`Dd%ljg__W1=>hs;(s&SnIZ@aQ;{SHJFP zeU94!wLLJz3`!Cq-rJrcB`#g)|Z3d;A zxT=KELC||v84pJBf=jk+4!6N61($;=+xiB#NV2KBKRQZxuhq=(8#gd6HGAjwwe9aW zw9Zem3pBdo3u8xQD~Yd0RNflG86REV%J+y!`g6i6O7UPYAWiMl@@1M6d4dX`#Himo zp_ibQFIEn-@9pJIZzi!D_U6FR3mYh};J@*8;lvm+3A%V`+puyt_THQA3xanHAyw%~ z9qT{Cq@pcHr#}wy;xpA#$&n<{Pbm4unV7iK6-!eNwZ-W-R}E;HJNs!trb%$mK?CnY zlK7|ZL}b`*rBUs;63#25C&uz*FT^kd{5Fm%>KzE-qoa)80QyJic0P*oLTjl5-3IZM zO9w|fU9n?D%`jcjP}&5V`5m-q_xa5ngHoJdC4l^XiQeH)o{pv2=hVudsoLnUQTj7sFtE@9XE zp0bg#UP%R4p=bT}^0$_{%8b_Dkb%;NKs7<{C$oEyCA|jYcF+3TV`zw?pNyzO9I_?M zQ9weuiw3t7xp1h`J_vW6&qCC292>hfYnzjT4!`WE9_RbnQ)rGYo>ZH0;|p)%BZYYPTe|h> zzccpk_|JcUc2dEE@`e%0Z>*P3zd_!vzvVae5RN!=vPC)09`NnPt^1t#Ye?JkDVYm* zC_*rkfWR{>Nu0%K)qom*yC z5SJ zqN)pFREaIa^V?jl%9Hia6)i|)%G9L@+%FjOnE>)lh3r;XT?VO6ps+tj$*c8C#bXw9 zkyM(({pC)=2mGKhD!C(UmEQbvdOBHuHT*sXr;i6yQR1$epZNlTuk$e5z4+cxR^%=O?T@Kf-c=Tgbi9XyfrTmhbVdq;vDmvKBkD-};mDBb@OG!M5 zKSm<@RM!KM+Oh**p{TBFnH%kEgaIQ>PhFrw4JpR+<@(e(qh*o&GW@nHzBh`Dj_cQR zGFW|!f6GYuAfFfT5CbFm%~7iY?y|#0#LxQaj=x$#N?rAkv2tXvmg%YY0%3Pud9;b2 zy+Rf6zF^*$yNJ--SiNQN+Pd#B%N?DRzx`?R?ZeLaTrdmk2Hk8jG*xeYH0dRNfpa0W zHB#xM>#1faghxW`-k5{xS?f!j&ON*AzMCS97X!S$cw9DjD5`-8?I-!mQ4ivMw;5=f zxvCiK8B)Dpz34*NZneF)n6^Q>oNxHJIpYuH0BN;jplE#*fAi64o#AZRYxqWC0+rup zR0|hPR!J$7a;XU?=SH#JjGx>2+iilhZV4A_oq3<7;&ugrag%M4Y{vU;tG*hB{;;`( zRh@(WDw$=bD^EY{mwP@4zXYg;UC>40mG6wxpj=GF9(6KI92chlY+dO1>x>h&JDEfRL0vMnUOb@@?SfC9w3|#q{R<_O;z0>KHKwdoJySpY zLjURsp8dMGficc3Bf_DiGjf#y8;y!smHqnl`Qk0F_m9=EiB;yyiiGjt@*_>fd4pnE98|Z2#;|s%)x(4;~Xy>)u?Fb%>N@f*ec4i)_kZvXN}1ca=A%7IWN;JClbuTdQkKnj4G|Fc}N69x8kJ?1nHy&eaCJG`rDC62EjayOyKf_A_M&(P;Smy+QTTDsP$Z2d?i~!`yNI9~HHKl5qZ?p;Z5iNM4|I|Mv0Q>(IP^uJ|wH4Rj9B3;#XP z@IU@u_r?Do^2=DYKt(tVNq-mtl^v6&jdpRIXOfQbxOszA(^>7V^S$e+;q)7$^_mdl{)p9$UI zLYZ~xJ>KgB^%+~`AWyuRb4lL}z-Ai`(9S-sR|8a6le$OgA_^-G3cE9BZQM5Wh6k1F z@T!27+#6pg`2mg3pVEN&V)93t9tQ!()cMJKPhS3G&V`@Z4yyBX=ie*umfyLtS_CC{ zd9RGphxY2C1|R;Rah>;`7yAt^9dHrMs{_Vl#A<`W#xezHMT&XtzjIJsM`efF3VANNo#{H`GnV}vdhFCn)s}$_HP-o z){*e^hR?i2f;T#^<8{FSgjO>7@RX@Dbw`ix?T2(-SC1m06lucZ*LShA+k}*vL#i}R zJ390=!!SL)=J^t5`7eRgb~|I2Zfx(ahjRMcYv)Wo$3d6*JfHX&_uUw78%1iy*z39# z6eddSr%l=FY#NLd2i(s^Lp#MG*1*~^MO9RkuFJi&-Rai2(l#@6%t8@lXy&HMM+Iz? z9{P76X7~HF=kDF;6M_?$FJ5g=mIYX+qg%7R^P>{~waES#S&sgp!T+_u|36v9|8p=g z?+7CLdEFf%8IPxnUUF|I5l(ny;di{(uudeLh~IICCbzm23GTG4Y1iJ5e=y z6;sq7luQQNES6_X(<)s?ws8DV_1LdDWl078fb#RX#G|t>WVA z7l7l~^tyA<&Au(8kCzUjnYsuA_iuw3Zl_P(>}+IXU&aOgQE?vDYxB*HsObYWz{M9f z?)n(t4~rwdERJOY>=?P#rmDbE?T9$yzn!IjTQsh17IDP#_dpE5{qf~(zaoH>|69x@ z@H$8$%Vl`79{ECnQ;RslO?HtqPLw-Z^eyn#c+Jk7Ug+#-kTCKejHStHR*!14iO?VeW^H%aH#VCLT5%+4pk0cF{tg}B~8&M!#3 zvp+fMI2u&(Yhwd!6CZT%T?hyP1_+_eQGJ>qtG3Pie|ahp#r?h$Qf87~rIy%lihVyL z+tNCksk9Vu55)J@NDt2^cd{PRL)Oo*bt1yvduG?V$H)Fp!RUi4q zCeQf_;({V-YwZX*iOr_A_zE89OT;-Bwz>cV$v%(BrSy*i7CMY)<`5H~2bhW&i%Cl5vQWc?ak`BBoiraTKe49;iTw#>YDdf>KO0`s)K!bJ zkL^GE2Yp#Lr-gA}}z-LRD=cfRZ z4;0l0-vfLN>40%`!PhUYZRR-$u*=-s>|36!9he~=zF0e18yz1MNCZONj)f_O)ZiWc zg;I3~Zwi(NC$Wo`hxB5P7vG283=ENXONsbuuewVyOY1c1kV`{WK0e8mD&nTqv}0z@ zNZnprU5~%fK<_$}z}XDykL~3F^(RVL=RH44Rt>yvBp^>|ZTrVc7}Iif28K76=< z#@^`)+N*(*ljx0f4;Mz5##p|;@PuJpfBX(j%GOEitbg{l*F4598Mkjpd(6eIIS$V^ zFV@B&-_b$%^#)dU+20|;LG^^8Vd64O6v-qtr?r~uXd64w+hZ9Cojr2}k&oJXx_@6E zG>FQK1XdB#WB7P+Vp8?JZXvHXUAAMwmfyN{5{NF^#cMbSW9I5q*gxWA;_bZ^e#Yto z7T7wl*YxT=BaPG2*9>HjM_ZcOunC1A8}Z>!V(*Xie^NryXl}eoy||2;a;o6orHCI! zn;yHrp8Pyr8JWX7sD5tD5Hi=eKA_-Me6F6SByJ(5ATUs_9sqA{=;JS73K-xU{_Oxk z13dD8?+tunHyB8dC*yx+ui_>pDO!9cWc%&@ne5e6pp!*pYbt+1ICnb^>u!U{s%1DW zzhOblmAfaHytq(}p=9+>4yW$YU8ZeuJmz@>cP6>OY;2l$j-|rdy+gjuTS2 zkX+Joyr6desw1U*IWKQje@=j9zM=ERG@|=c_V}Pnqc6P4<7H4m@5I*v1FP-tJm)eg*wlGZDdiv?%6=$MHvS1rngekK0=R@e~kRfU9tVV+!M7zsyV$~ z#Xt72^<{{W5mGs`6CvcpXS=cJ2rtt{-xnF_vPiU9Ggdfh_ug-xI-VLPSB?QmWtkIFeSnT)23e6z3qx9p8=v;($ae^b+N+~jzb#jRtL*c`vQ41BY z_6|uYA*bQD1RfBYqu0%(7>$*%evMC_@)?@X0X&=b!Pvku6{9%k@4c5tCggB^?SpSD zMA70fdDZ5rlc%#H)fmhr11YS?CuT9w2fP?N8Jm;cEkH|FRdS~i XKK3scUO;tFg zv{WpH8)JT!T#gSZ3T=L7t~!{T1wJvEpTQXyY{;ujTsE;>_AHk1WNOb+PT!XzlLZb?T|C9LOc@&GNjjgYLLkKual z0(n`agwY(_#qw;Upmghwq%8rd#9_ZZlO)>J!}j9dv4o=)3NiXC58k&c2r)UnLL5zV zRGmNpxmY?LF}WBOTTP^N4jY_9eNhv;F&b}?2yNWLl|P#+*a#?5ch_u_S+m4163-q* zA(!*%u# zo5Y(Rg(n)kVs%ulNeZ#GX|hZpl54#}>K{x%b}35FS;Y9t2FGG8AR-NRS_;Q$^n(oL z(6xKn3g)UR993wj81Qm9W>EUpL#y!@xsf8hfNAh#^QlE zR}&J#zM2-AxRG)UBJ7-_4OVCKZi${>>^>QeU;V>rwEXJJ{q^omGPu54x~*O7_%lc` zgF;Z*G`MI-;Ts#mh61n#p&~YTI4?8edygmId8`d4>qZ5fk8S5M18dBgf-jLG7`@3O z>t^6CK1kLw8ec=|I@`f9;Tc1*HiP>#u2%@D9^Zywvh0q6CEp zn_G6zT+XHk+Ppf6A=CrQ*-S>wfgD~o>n^2_65@M5EDt8hSY2{lZ&{79p7o;#^a?OiM2fhcIE4dZs%j+Z2kuqA^ABYn&)cm*W zhZ)F^gQbWPuAz5&1V{7V?XVa*1izL&b-KY$iW4*`92 z^Tw*^zguL02K{ZI`BTqMRYrx^JLTcgGOo-hZ*eS{Z{G&J3Rm&LEP0$3z3z*5@h`dv zOW3|`xK{}+n!1T3jRV)bSMxT8ft5^KH|PWK?u&Z>v%;bL)q|sG4Rm54qO&GzA#oK! zdkx2LlT}s%4gMD3_BYG=-O+Kw0B!!qr1sklJ8oF=Z1Hcz)^mHZDt2B{0;9zEd!W)wb1mx|(}<`WgRdFYuix{6jh$V<@*yesFx)!5D&tE* z(-|W`<>JzRPrUeCOTks%-mPh^3eUnvgg?*B+ODUZ)$b|5pOBDIz`?pVx-t-n%~t`w z8OfQ*!c|!>?E{#739m)jH-W$l7rTRxZTj@8Q`55S0u0XQvSFP582BPFUaD?{l10y0 z#&2k$Ti`b#o7~+#`fpsz6Fd$1vD)AUGyU;@5%(TYO>OPEumunmR8&AfU<=ZlbSVJ? z2+~^u(iH>(2q;xTQ=)((pj2rgAT{(Zp;_rAKxm;Uy(1733GJ@n-upY}-2I*NkAK{8 z@5q3)*6ef5vYxlj(p_?_9bZD~aBuQgQ+dFPdZt`Y6M5kCAGt-sO z_bS)LVafkUifzeme0laP5ASo1&ax}$OZw?Dxsr>GR<*8O_`85H>9c1Ia=rsrpt6|< zhs|dV4Gzzy$8$wTGxdlR z73r6ELpsj8_V~M3R!N6~Jr(F6_nqp~ZaXecc~o3Qh+dqE983-9!kj4uhocE>)i!oP zi0Vf7&5o4w{kcqMd*cEvzJNSOW9Dxk7%MutrmebLyz1v{|A4cR1KOY$1vbqssee7U z+gV)+c5m$)G?S|Fn#KPN=fBW;H~RT6z?;m#P=LhPo8IQtt7NUqi5%(fALtP6hf6AE zo2gs56`JAp-E2PAcGie$VLiu4J3U(TIo5`nz?8;<{Gy-1XZ-v+3YlTUm!io+yp$Em zN_f;XBV;Cst3FH~0=!~fQdW4pHY!-lu9=?37tKLTcOQPhb*GN0X=?^KHDd1@MW5n* z&AH8YEAZOdJp-|SBJ+x_{)^1}@-H$k_L@UqR8c~KZ+*9?X|AHA*N?F%Mvq-TLj=dW z)gx8;#ZC%tL}nf52ES-Q`91)D$njBn#F!{=Ru-Ja)hExAd=&sE1N)whBZ0%C!zLe5 ze3jr}ekbg_MdlSLM%mnRHa_&0T5DKgsq+!ZO)cbhtSD!>{A=;ii5 zW{M}|5_AUT`ADs)4gEXsgpXB&?KKTYCgeY8#lPzr)$zxZ_#moFp?rfrb@;(GGG12V z-dk|-gfhQc5qmjB-0kn~gs?7(uY+dDxnslKr5K}a8q*RxHjIvIWYHnCDjF&a-z7|% zcVO z0x7s9(f@JV3{&g!(z|oQvnrfDVb(Rc@0^t0NOUO_x`RyemtAI(Q)rNLH-O&Pp7mk5 z!m52Pa}6NnH|@v!8K3fwU%(7VJt>e)^@~hOOv%seXbNEKoQR@lGg(d(Wa&m;wtXh# zopk?eq62B3o~^sB%SeHzX`^x~G|;(gC2(Nzg4E1J!5d(E0{8{qzR;Q_cchjdZ++|K z@YjI1@e@B+b^~)fiqDvB?pvUBD%}cq00)TDLlT^0e|$9=Q2OZ|1)d)oyEJvD%f}8& ztqti}&98OCzSECPS!=a1m!HZ;KP;1=Lu1C%Ejpg(>7hdnc1{)HgT5pU<=Lzal45;I zV$~aSg-_=3OX84*Ia9ZNJiB`~$(!^N*%^7R*cpSu9QC$Z2jbwg7kP3_2E610wFWyH1z}iTV-uB4SW~}M zK`5gP;AF%ms929A1!0zi^;HuwwQdH1yuYM^o%~pZYd7uWXyV;}PzXOU`VR%#LyKEi zaN8dJG+pJN*{+Gg97TzDwQ-9WF z^U>whU(oRLXILPS{?GyPLikBe2oz3x?m3v~AP%hs@B_pyvVR>9qDQr3BuU-<@5 zO&y6IcftqIY(cZ<(fTECz^jQVG7HQ|FH9$_$^f%vXc#N~M3r9N#LwZ*{PV0u%jA6; z?=}fzUolA)A)$^TI{osxl9@~H6*^ElM zA|-Vnp=U)|NdQ;=>&pnZV|u|<)t#Y6Mhj;bmvn#NbS3HJAo~SjH*AII2#{`iSvs6~ zO*&lPRzHR~%=Y%R+29GY7d09NaWb%Y4(e>gFdomHlRtVbiDNxK2iSJHF^*ML>}aN# z$}OF)s}iuB$#Hw^?O7JDrQf>`Z(8s52+RAbcJTIz)BEE33a~!Vi^e>#ixo}ad;jaH z%{S=GpUi00V_V~YJ&1CU*mCt=ZfA8>b_t-dvLnekCAKFY29RF=@JfT~w%u^wDphPS z>=_+i@AmZkf&vKU<|75=SP-42vR~D%=ehFb#;E4sB1<+o4;PcDZu3!g{9!~cb(Z^-Z7(r21{&D-jF`o&(Yv8 zQM$#t#R7qX(YRq=>4#p(ZsnA1g(#ESu#c{na!8A9f*?E9?7XkN0L9mW(gdXji%K0S z7YkAN;59cE#uGzDi)v>ED{4X&r*ohp!aE+br<^^-J5bKnlUPS-F?+$@LX{j=CFX!R zh$)97#?fWq=EH&9l(Fi);(c9-%k1WIPr(h6zu;3F_YPPBK3(KCZBH3+I{27`se_X` zENQ&0?UWEpei&cQU~BsvNS;MOzno6iE*Ggls=&nUO1X=q^R4|OQm-kn83hQHd^W!q z7B|m#FVUIa0S4XuzCqZIgyI#gnvFUWR{yt++1CpAG<_>sY0AIE$y>SCXg_D&^Ofmm zPI-;q7%i3)#T?X}M!*Xmni_3eh=$BAU&zcOsVuR45Ztd>kGQi6tcxv#v3int+^n7Ha3ovXM1Ch%ZpG^;&V2=>jW zeL>F>>~j3L)wJ2@^w^1Uc^~alasGWY183)u#)$No6i9}JgRgMCIC>luXQql1TX7=f zOq()&u3m>GHx*0L6d5;sAjN~jRt^qbJtt6K8b2W+H=c;sR9e!}Xz!!HJo2M~Mno)J z(;2*j+4vUph3L`=uU$mvbL`4^ZN97}GNMt&D&?__9o3enr~42eXkDne1E1On9qv$mo8Pk}T5wbk9#7sI;7arL$O`$+-( zO!s$G3GMh70f1!VSD;8|7RW& z@k);a*PpT;&#KCL(4QnmHuZ0E?{8l@e@l6;P>7VH2K-I#QS3q;(crqaH}N_oK!~(S z1#~hh@t7Q7Euf>}bX48Klb3I}g_2tTioW=~8~w=cA$CZz>P2>o>>YqIyi5Upf3&p4 z#kX&CTD;m(&#nAGculsYkZeDIiSbg!(XH~DjZrTn2Or|o-y*Wlt{KPSHbPNrx4!QB zippfq+TUP0A^`zm7+^^||LNb#-T{kJ33zgEe}xZ0>LY|L4j}TrrvMwov7BL4A=f9t zixp28Pe09<=4ap+O6r=6?>v@+Llx#&^p+-z-nz|3A@HaG<#5zRdM&X4dr~WKl8%-P ze+>E|AjYJq1XD=lzfPzG2IRM%!@t7+(u_FLdxc$_db@VFlCbIBd)N1R)Dam-mwX?f z;GnlC6x>mMS2rz@C>nTk1<^|X9%Lc_5a9xnuq%*L00Z0%K2nTq(KeI%zV$8i&-BJ1 z!_}TAOCF9I`~A7w>}iSGnh-%LKtOgJ(a44%K#SLBl{Y79eOXoHg~MpS>$|8z6A!FRsBliBh8e2 zBMHqESqu7% zRMtfj9d%O{54MUEjF#IbOdM;}!!-!s<~!9S{vv2xS0X6p)qvu+;I)Y%1!cb2bp@Jn zF4+RYGdgXXGve!w=vdCH04H_kS#d+n_1HEqXg~^`PL*D^7H7fgCn&mR!IP(-Gs{Z( z!j!*uP=}(+N4FEh-lnwUZwIb_?Ez?~jmVs-jgFcv4>@Z=+DHnU0jR7(%OpwF75fG^ zX3$zblWm&deSN&x@1Y`1WPWIO>QnFB`dQTKkgA9OO{bWLF=s&ceUz)RAWc>3D`KMu zceN}gYOUASKcO%e)7w|oC8QFr-kk(gJ`j4(z--=*2EjOc?7sU0-MU^6HbPf5X|}1# zd-_J+lJv#4b+(E|jhvmTvBFDJ#jJhTo90JIyU*R^ZqTrsKcK^#aW|D#=Q!+N^YeIb zU-US0NbU&sXRo)qW22trI|tAKt0V1Iua1ki)H}+Ytdn>@=$9>H0%%Y#)RZ)NmGH$nN z1=K4wftRPh6>NYSDT@E{JlspZ6S4zyMdEf?$Hj@wO0fR$mp3K=q%;|QS;vd^I?vm{ zufI}BY!7DB9d(FY3P=pwjRyz!0`{)xsewR~0)A|b^bj4ohbnzecA@`X+rTYg{bB`@ z2WsuJO(y1KTn*YznG}OXSj^qn6T#W8`qw#u&^MTitT2L6K$yh;?2z|qdQ%~k;=mEE!Dy06E#I-#^SFCKWC8F3f z@{O3S!QsnGImAZu7jHzf(apzq4s&M@oESGKK=>inUgau_hnJpyj0EfxGV3Nt^Vs?X zO7BY+#}$kw8=>IKXF>`9Dib%V5bdL~xnYCrkH!xR3J1?Vo?I*?D+Oktz_P3(fOnP*9`#^_i23b zBk^)TZlaA@-wgv{8rSaXpJUc$Gg^Wi^)b1!2aECd>c_McDHBUBa3f51vVTj6ZH1=Y zGiTcJmx!dm9ah5QSo2a(4Zs#itkc@D8HMhZ@bQR0Cp#qVuUx7@svk`?*5s94z0s_g z*|U0S%D1*Qc9Af7{VNyUQlZCmQkIpPO?-P3b4vMW{NnP@rF@f4i9nmCu*_{-_u zTWhW}2>Fx1afu)$fM5PL7}#Kq&Pr|waXtmlBf*JM_K{)9%SWv8I|v$$@g^x>o;*6% z`NTOu73kDJG3N7U6w*c^iYBBzBa)q4KRwDzN-&s-5!S=sD$_I? zv#8}nz%#M$AbDq0dA^VjA#AYw&$NQcwgC76wp=`&yz5tZk(|b91bQv&)57d6eSPdT zq~IS|B=RZ2u~F|jCDpkrUZO^QsDI>=ADNqUb?UwHidLsb^rZvqh@#2zE%c^g<&i@T zM*~;GBiuyc>=&~VRzCp<=*V~kQ0x02KK?h1>G6?Sf=R&V!Jv(X{$9QoFMtySM^FsH z&^EOj{I_`6;{Nbbe~z+4G$QjEVbShyGO4dr?#)DTqqSzA%!vTzK*ne+h5ZeLd!1Nh zcwrJiB?!PGs4@i>-9CF`LG9ves)e^D_13@s#6;)V0gE6&YAs1oGW_s)$Z!uPRG`nPKlp@?HN_TCC6HFn+#Pkmhgry>q7>`m^{(6yHY z02btc8YCnWy!fJIg~RWtZ?}!&>Hj>=fno*pThSAk*nfFf1iJk@91s&w&U>IhOaPXO zs44cbMTFbcZhI5$7{TozBI3E#!&GAAyEQunm3Ih`1U0&Y8y(fnz2O4|g2*4Tq9ePo8YJ z9s5D-Yx0U`{x@d~Hys7 z)*B`gm33Ou6ui|iwOQb0dDR_y*3rHx8Q7K|Npi5thL98QWZqybaALqw#hyjVO^+Ru z7N*J*j2~uh0XmpFL2*A)>*@^IRi-VQI(e-zu|_yPtnS540of)tF{o@lo4df-RA$?a zms#Z&Z-NJWoK1hNJCBRNZFq>vwKT4B zTY%X2e-t(wCv|`0gXh-y?*KpVj zqZlS(f*ef&3Sx=V*&$e3$~F$1+}+?JYlbEhPgm^b$9;dJXesbjvbL7zt62wmq;Y*s znlJ0}ZXpKk6+7=|Y9JSvUl&|lH2zRc-q8KN0AexMZ6sEdlfqjP_&mabkj6Na^aLmeC zev{=(+3_;wgNY=srdo*wGw5_YbVsZ(LhCiNmup?O`GdV0Xt>R5Fmqmx9?Sgx#i~L- zH-wg}Ta|B9xxHW)F@Jlkwhd^F0?fF;zR1UynFUeZ%4V9pu9uvlWua^F@f6v(hq$a3 zQ|x2liuF=hs38a6O4OO{@P!>&C;=v1k>m$FO4jL_RDO&Turl6bbEgueXeQr``f<0}o(=oh?yo|+a`}w3@XcDp@b0*E*u`^)j zC$@bVe28f8sju|4$30PVYZTvD4%o@B2DEHc*WI7c%iEeBMuOw@nYEqM291YuH`yS! zziC4j%nwCRA;_M~YXH}XtW*C63>Yci!;gZq$>+>`QkmMXK%}1`-!l5McyPG%MP{IF z#meac&bntaBB%&|z5mC8N$fDTBT+1R*h+quwNgD?mj!|0r3$a!V8Mxf9pB!J+V5vT zgz`Sb=9Tb43z^b0na3;FRdLS0!{E%gv71ynuT8iHuC+#+*ACzP2OAsZ3B%0@I zeZhbQ&rMgergvt`(=rQ&{2=S`@ktBhS{mq#NiH_{*#TCf?Fp+wty-bkIOHpw|ab%oMuyd z!4kKX=J?wzu8)(Muh=x%V<#l`p?t5wO=TKg%m9r4dZ-TgnVUp6C!p6W_1vNyg4;Da zWb*d5em3aMqYwOl&Wv}zBIR0{3sZ@RXDR_~*G#2%wrU`tw}h94u=8n_*Qt{q`m#aJ zR~E`X%UokKy+1ZMaDL#vRWqsu_p{5M^GP$pJR?iK4t(CnT?$?m#sC@=IT3+N=H&~n zGEVUJD%*P~j#$drI?h5dUjG`=N53A#ymyFWPg`5}btXQQc z3%fVzSV=oa>{YY0PZ!@Oy&E`vg<#dGiAk<>-1IWzK!}#}-Ip0TnaUcw`09yWGs*-h zr&*3)9V<}n-A%f$hURSOz^7|2yx7jmo|cB~%&f`miq5oQe+u1Q67_ zL<0I+`pEg-!eqO!V);q(6jFZdYPpA!eQs3`$J46MW}ntkpf}DrMgNGc>vrO!0Wdvn z-rL~k+X$Uo?)IHCBUP+T^-A838wkL~<6_hNwPg&I7B>TYmnRxeko@|c7ngAQ8~zSR zoB|XE*QyT=5fYAWcMiCbE155TH}m4U-3$AVsJ*_i2ak1|8|!lHU)0s?$47&q(dVrR zkeT#$+DhDK9YFDb!UU9Cfy+IR4QurLZ41P_$Jmhh&oF#J;d|Cn2wd7qNF?mb!J{(H zYa-4D+b%7=w+!Se|I%5R?a4f`N?~ULY6@7*>B0+5)8)(#z_K5gkI)+5%lRV4y+=HN5H6PHed0+F2pskV{q&YU{6t^+j{Msr6LEPV0Vkjk z()W8(towSsyuLK20&g#H0OwsEsg^i6@ZH8}yblF0_NdTAHem%LFeaH- zo#!YCIKZRy*OZ=2{H-4WAj)GD<#oVB;%^j6;g(VC^(mL5@OSw%tLjGaIc@GdY z6w`WuEf@a~dt_P!@b+TpwJykWt6n!*_XMC;=+VLe&Gt~-O0aG06@bEe z^2F4EaQSD1a1|k?6Y*mC3+VLNPxqcuAUfA+^%I0vQ){t+Kc@B-m{W|x&NW{E2>h2U z6pNt$-B^Lr;lDIdfF2zC4~i*&Jpx_$e|SXMq2K?nlcoPZ^y>eR<{~ zdC@vYh7TTy>md&K&YPFTDR6> zHI*h2lMM)7?(4pD#V&P+HwW|mJ%}Xa8_vA-K)2D7_ev{LdeuatHCu!w!F_04;aS5L z(K1;F(LQh31Fz2lr>CPQe=IRZ)Nh))x9x>3t|gP^?Q6hRH7#&||CSR!-ueVy#zUJ5 zqW5T?g3o$tq37Q=G~HS|bS)fZz&Fiy_n7l&>(Y~>Diiw+^0R#gq%xGGtOKsA86%2g zWOukabSH7Xu}%ho2LY!M*8cfTer09fhhwwJFJmHJ`>oEC0j^ljYQ&6nSiP6_8t0x^ zztrfhsFQ%A)h|o)%*hGm>U*C;((Dp}FFWs|*NpHsYbEda7s*MPyf4Af5d}^iG&uf% z^%a{Gv2)0-yi_J+W>4Pxmz%7K$A{Q52T5{ z6r5xw9`u0C%jtn|HPmU|Y=*!ze< z#*%LZV70TXef`g_BCPM!pwJDf0Mfka6jv}_7hpt}>|le+16x4q12nHqPu9&<4-T=P zJh}PyphFQ}wG|Gntr0@VEG;j+`UUrWx&q8AZQPWypd0o$cb=p4E?_37G|umLXKes* zARcLn@Tr#&1~l7a`7kZ@G*+&;B>WYx5{-NYzy1N;#fhS_vH_2ZZ}!-gQAwJC0bj;4 zqHpXp(9UZUiOCBU|V7Lr3J+SF|)!eve7g;FL+TpZ>q$3VFx&hjV<*t3ZLB~_!-rHaMrTsVQdQ^S+Lq~>JvM^ zFN$!OTocbDca*6{A~3forBEAun)PYOJyBiPEQ){5$%a6SlN=$d6G(zw&%v#9R%Y~C z#2wH}Hpcq~_FDU;eF<7G&aOE7;|SOD-)%KwhFwVC9LJI33&CyQA>Q0+vRkykzB*^G zHUJSDyK)wC2s^K2^ggr^q*N{GM2BhNkYtG&HTTB#0img9wDoY#ARqrX)wt=}vb4_3q?uS@RtquB`q4Fs4@T4NGxNx;n5 zO`M|1H5&H155s=L7A>oBSIuWPLJR#iCPuARQHvX=igWHA`-rOj)upx}n?Bsaxo^yV zutey$dCE^gUj%1JyK2_w6L z34tqqD2uiH9OdMn;)!s-q3{kA=7pzlsZLMJq^VsL(;_YAz}QhYhLaG|RX1Z3$z5Ah zpw-Zj(|>oDfgLU5{f07eA2%+qEJb{XK3uPt&96>797>iW=Pj3vFOCym?LNb$=SKUOt_odZ?fEn=*=8*sQKJfr*rwI@lnimymJjQb77(x$+dRDul zziMz9kf8E88%%E3Mnzwx2JT_l1VC+$$pbi$I}HUcIVlIEruYp4zU&lZ)^8NERltt= zNLC7%p8}t}BP?}2Y`zkdDnM)6cud*H{bk@zLgnT091$by^-;dL2)eq>tB!O_rI2*9 zg{w08w>Fh`Q@{8J?ih7p#^rt~Q#ud0IqtJ?DOSGBwewbd>5arl#kCgikroaF?_sv= z{LD)`eCRIZd#w%!`l-auvhqM1qn{D51&S{K9AHZB=&TxYaXR2fH6wb!dNpBrXnv%) zL&=BDYqY84P?w(9>d8JCKKprfsAN4pMu%v%4m|<#+$S5>y^vOjFB}ET0g?MZRq;UE z;q;i%Ip1qRzQnT=WBdc&Gvw{2wl3a4m4U_*blPk)&?-^Hny~`A$NbjvP?I-#ZoM@v zbeS`-$s?O1tLZKWvRjvD*~cC`V@;kqeh=8p>snR8FNzbGmsbrSBypw%1HIK-Ga7uq>o7JfV+>O64tRhSPdo%`D4)IJs-j23!_PTfJW!?YH&xJ%1XmchVb~ET zK6XmxEnN(*Z2rSO+0s2zl`&$e8);SBLQRKJcavEbIyCcHBzsF+aMEYB*5h23EqK9(cpq{dgqW(AenO!A>d{uH|-C3nUjV(f-Hrt#+NSEd}&$=WQ z;DoGub5|;9+jwK5`%K3%129d)!7deb`}((&z-ANq z<~`+X-oG~(>|xKuc#Ar8F7mJiYku)(^u^~)g~u(~@Zy)>@H|5;#OB5*Iwq)=F2daE>=rJ}D6wUuYMuC!}inW0YfLvJ16C$Sc zf%q4wYwLpjsk^FTB{>I~Oq!|oV|U-Zh3_=WfL6Py>4OlIRM!?1JVw3n2 z9j41yW#>D^D}ImhH*n0+S=U3AI!)U=0JKL@m-ZOkB)|y$SQV#f(c-JhkE)XL6}_D^ z$NX+L;)6%(BAE47YBpzvMJB!^rpa&XNrFB3EXB-gzRO1JxTrlxr3vLtOq=~c?y-o! zqJPcarx|e?pNC^1)zTC1>Ah51YiJYga}=`D$-=JCwZcRf<|RD!J3?rXyj<}4?5Ig0 z&$G5-B0aB7qn}jRaBkY%xemr|o7P{-=Y8=jf>ONjf(=)rw!+#iY>vHo_C8!Q8HvZg z{``hRS5)t^lvnmhRCfY$P)dMk9=htzyFkbs-m}p%zfh_8=uPnP;J4uyDr2eRyBlu! zL^WFRX$#7@5305=r^vcb^rKO_eD=1LW1_`ddf->NrTOWdCfCoPWv7-^i)dN>@e*73 zW;a%MJ$+YaxZ9RPQU0$YB1k0*CDBzH7e%$5e>i0y1cjUd z2}{raI2Cn$5kdYEx{yCW&Yr){2#L;+}8(*f$VX!H5v}nzMK0S^N-jvhwlZQFwhg0JkYP5K# zkYcaI)r3WQ-|Mh`80Zcz@#&hLR>p*K@`NS!w5J6#&Odpg%MWM8YttkS#@64CV5*%z z0qN*-k3EC=crMm^GK#I{shuWJRBZ^nrC~dK^K;s1`5_Q(m4w_2vo>m|x4$_fE)Z|u za0zFTL#pMaWrfw&a91ax#FoSo&!z$yzlAJK%W$s)^O*jbXGF5`2Tg}20+m&jA*PA}X&;DEnW}#a+4vTfgY_aLj(? z^kwppdvls$lSX2WWEy73cx1 zee7M_=SYV0-8aEqVNV=tg!4$1((qHuS+_K%sipld@Lpj|tl`Ro$UV;fM!bE%%Ww_W zLu;O{W*`)cN5*~jB3<2A18?8f{3ddC2~^aMROht0g^hktKBhOJZm_7&y}Vyx@{$%@ zXNnanixoH-V%-`A>rc_Gfou#vkeay)oKv9#y{6bW<30tV6Dc$?hdCDC+g=Z z&%Ndb2Y!Co?dzo@lQ?|8R2KtDEnnC>M`tpjd8}}&nDCGloenqx1b3|q?bPjZw0p4x z#{)}nms&a*8m7Xy{!TLdHHwVxkd*k9nqR;AWNTSoP%r@(;1;al__HQp#`KQTdy?{Q(-rYk!xpu1Mp8?bHIR@TclD%UzyW?*UzdH699N3R!`-SMBB+SJZtKl%hUI z6r{wQB|i!>76Nv$!MGX;V#M5dbd}8m$8CYUx_yOh>2$}KGk7V|`(d=~7BeuU3L4n3 zhL^o-<;?q&jpBWWH>38;0uv;A@Gkh87c1*;WH}2g?bkboNDsYz?<~zm?(=rj1=L2A z>8l|3&9=@jK3sIt)y>e2BqDbvUcA@k=04Ee6Y5S4rt!hP9wuJfr6#p! zFE`Dv17CBWP}HiRvcJA^8DYix?Md~n@2S39WHynLg&V7P+6AfQM6 zfC-qZ=g(*XT~<@0eMR~A=l$=?QSg5o@}JWKPyeNae<<`Hg8pkgKsh+OkWd+UT(?Z9 z?Yf=&$9_C7u??Z8FAYc0YCT6$+5-GN2Y$eXRtxz3 z4mpba{rKNT9%Vkt`gdWpc#yJCd~NMK1LDGEFheCMun;0(dm)7A47REJ`8iy7cJ+4l zgQbxr8PKEeD_ut=1ZrdZ7~11T^i=!fUd2^vt&G)1%;wx}Y=%?aHc-JfUWc`rwl5=n zGRiIUF{y(bj|}tOXXapP`Dgx&U+~G;DiF(!WSqoB`sByd6?tFj5%kuY6dkEgEqX%5 zL$#_M!gMAzdNFdvPi4W|eKAtiCjbL?`<@|3?H^*-1%2!*v%Fcncshh8J()SROJKBL zgQ}~z(E7ksavT15W7&ZVVi|y|t8maQOH;J5-18yqML8xoq>Lo>#Bo;o#x0%V6wx2W z>tKh`)5%KN4!3=9{vI38wy0}NQj+%BChjsu77JR_-2}R8#RtRCl9Q8I3m`M)(>MXB z$YCrssLNZq@8-XC7Eu)j5z!gglL8)>(gl(Qn+AA{JRZ^%@x8*bBaUxGi4OL;9Sc2+Dl z3F%+isxIYTE$M?Fv7;_KyAfsAux@WIh0(tn08W6mKTH}6S{!HY#TRWf zxmK-Zk-FC^XyNYu<_6gBXuDPA)gpqNsll|9l)OlF5HQkIt195xQ-OsF0?L^642*`%EV-@4aEO@R^RO=bXgQ619c=)h9;#Gv1*#3W(;yE_EM*2Do;_yx}FgGnlqS zCUw7N;>14cX#z>#1IQO4F7f^phB~RI-W1SU9}$s z*7cOUtuf-k%n;pLxc5|_Zsk-}$g9t{H!px>3dBiPX0taHs8=D(UQGcS4y4(uJBfGP ztg-O47+EzNh*z5mtJU@4+K>s{*0jBC3i4(l&XMVp9C<_aIaad~^|HX{l7S=vp}HC5 zUZY5k#Lg;Q7V~txbh{;GD=zr>!BDf_b!$Al8%*QgnXI~Kt zapV}+!3yqp#_xXTvcWEv6JW2-3ZDGrl#RJa8t!%8I#>T)`41`2K)>4hHr3ZCNyUq+ z!IKR{%@7nw@N&#XmKbagEf#bizOR|xjVY-9N!CvwDLpv9$^E+}@Z0&PAF~mVC_w&Y z3FbU|)!7|v0D806sl#5lMX6fLGp^mb-781`H2#VL{5_XL8&x1-%!rA-@n@>9qXE`T zt4Q*aJ0C48s0jB+ANvbh7Zx4*!0)74h2*`!mA2iL;uF9OU-AG`x5xW9BljQxT?Bea zvd4tH@^$|Fd8pi+!7HAwBy^-h!M+nB>$Q(&(4+$K2PdCeP2gNp;(=K`m7CqkZpJJ0 zL=S4~JIYj>8L(_Lt(|6VT6)RtrBNQteW*EBB4T3Nf)t(}k)+H?_7Ibfo|%i1+ez`* zOJ1@5PsYx`yOD&-QbzE%sXIyICk2n67ThMoxoVl&0oT#7;b;~yi4R9ju*tWFU6Zzx(Uq(ft>HB zUxcV92~9Btu-xP{zFsJG$(7N|{gE=P0-93YOhhOZLT-O=a~wVobO{t9&qlbFKlvmu z4Vx766g6j?$&wPWvV$U5uJ2sxDy~n>3K8us5Kl?uezpB0A48qK%&lLsDq!G!$$4)J zJevdSKT8h4#whVD$oPeg>H2&zEenVcl89$rTpPG*>tl$lEkgNV<=gO%)Vh{c3L@_2 z8A%uc?y;@o;MvK-vktZ#09zr%rwHZn6Bf-7F9!xE(v)Zl{&a+ZjllhO3QO&&Z_B1R zHcJoMjh3uqEBhOSwxo0QPh$q^Y!_C8fb%+J_80;+V@9HyGI0ix$kz+fZ;MWotCYTN zfp;|cJD8;&54ef(dmGxwk%?N_OjM^z&)Od=XhJK^a)23tof=}`xG!%v{@ivwynbA4 z>GFcmYgWf$yN%_r#k1#`lUKL4*N{Cda{<^{hc$=}mOaW7jMyEZ_MbC~QgYoZWbjG| z!bi+uJ(@X4nSJAHjM<*X`^nb>XJ>!Rx`fIk+s)YE&%T(m_(J%m;Ys7xBekx-9D=SG zLe~HBbTFMnt$Vj>Xmm4A3@zmHV6ol60DH1LYYi9b>iB{8G&r9vs6#{Z6S;nlbHi`M ztjY_cbXBUQQ_luoy4p9>i7ywFF|E(elv-N`H3{*kr~2~3T9v0=_WUa7OG+LNF}t<- z>`lPk4T`zUY8Y^V_w1#3VPn9TVsp^B_|}=Lp@KKNyfl?%4&{7@s-Z;Znxdn z0l+V=rqN%r$?AdnOIDMvTN@i5x9WMo?@u**3 z3MvLl_mjf)@2VS6@c?g&2lxTF0RWM}?HuNi_gMf!9drj=Da;51rSYznW~?7lJDA(LLYIA6N|^y(k_vb>N#^O>}_)nTI^$W z=t_nT4;FTv37I@?%sc1x%R`4V2L~@$;Hq2}i0*}T6Uo(qb_ZX8nG}1*oIhB#?<${T zlu?oiR<*pyx`Y%I^~TkoC2&nD`ZAb%>#AdfVgPjryunRvq*P$dd&SSZ{d z@hVO$F-6g=TI;O52B+7ncV&Vhc%<<}&zRi0;~Mq4qg#4XUNo=OjIv@IP-ao_CmTx3 z58Mk=j#^$827m!xMnZUvov}LdY$U4hRs#xh=*r5wD8dG;TH}0r+9jy%M6srXx0-&c z5@)2SRD@4!raI^?gD$2u_(_cPSEj0JnqWibl8n)&vNgC1o)GzsBML>E48aCzxyqcK zaqp4V$4bIY9l_r#ckOAD1C(K*LB32K&pEynoF-rS>Xh{4?qrRH7+iekU;Vd@!1&OQ zA4GZ&S@c)CcLx9N|Gbd&02{(>g9@777Ec!2MO5

9-K%uSX!_&sd6F<1Z1(e~P8V{~h@s3Oh=F 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 literal 0 HcmV?d00001 diff --git a/static/img/influxdb/cloud-tools-grafana-influxql.png b/static/img/influxdb/cloud-tools-grafana-influxql.png index 7fa2322479fd97085c16b74f247d7361db1b8e99..a86383153c4503b7402e1f885646a0ebf6b16359 100644 GIT binary patch literal 76017 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 literal 66434 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%0AJ-NrykGB+^#cuaOtSK7@5$j!WRTd>tW6)| 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⁣60YgO6yRCT7=6Bi8s%j? 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 Q5#XPOn$GRwn-3BH2PqXhB>(^b literal 40616 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 From c406f7272fb9e0615482623a578b9567119305c2 Mon Sep 17 00:00:00 2001 From: lwandzura <51929958+lwandzura@users.noreply.github.com> Date: Thu, 9 Jun 2022 12:16:48 -0500 Subject: [PATCH 09/13] Added directory info in data node section for enterprise 1.7 and 1.8 (#4109) * added info about directories, fixed formatting * fixed formatting --- .../data_node_installation.md | 77 ++++++++++--------- .../data_node_installation.md | 54 +++++++------ 2 files changed, 68 insertions(+), 63 deletions(-) diff --git a/content/enterprise_influxdb/v1.7/install-and-deploy/production_installation/data_node_installation.md b/content/enterprise_influxdb/v1.7/install-and-deploy/production_installation/data_node_installation.md index 863edfcad..3ba2b1c7c 100644 --- a/content/enterprise_influxdb/v1.7/install-and-deploy/production_installation/data_node_installation.md +++ b/content/enterprise_influxdb/v1.7/install-and-deploy/production_installation/data_node_installation.md @@ -18,15 +18,15 @@ If you have not set up your meta nodes, please visit [Installing meta nodes](/enterprise_influxdb//v1.7/install-and-deploy/production_installation/meta_node_installation/). Bad things can happen if you complete the following steps without meta nodes. -
# Data node setup description and requirements The Production Installation process sets up two [data nodes](/enterprise_influxdb/v1.7/concepts/glossary#data-node) and each data node runs on its own server. You **must** have a minimum of two data nodes in a cluster. InfluxDB Enterprise clusters require at least two data nodes for high availability and redundancy. -
-Note: that there is no requirement for each data node to run on its own +`hh`, `wal`, `data`, and `meta` directories are required on all data nodes and are created as part of the installation process. + +**Note:** There is no requirement for each data node to run on its own server. However, best practices are to deploy each data node on a dedicated server. See the @@ -72,16 +72,19 @@ Ultimately, use entries similar to the following (hostnames and domain IP addres | A | ```enterprise-data-01.mydomain.com``` | `````` | | A | ```enterprise-data-02.mydomain.com``` | `````` | -> **Verification steps:** -> + {{% note %}} +**Verification steps:** + Before proceeding with the installation, verify on each meta and data server that the other servers are resolvable. Here is an example set of shell commands using `ping`: -> +```bash ping -qc 1 enterprise-meta-01 ping -qc 1 enterprise-meta-02 ping -qc 1 enterprise-meta-03 ping -qc 1 enterprise-data-01 ping -qc 1 enterprise-data-02 +``` + {{% /note %}} We highly recommend that each server be able to resolve the IP from the hostname alone as shown here. Resolve any connectivity issues before proceeding with the installation. @@ -114,26 +117,26 @@ For added security, follow these steps to verify the signature of your InfluxDB 1. Download and import InfluxData's public key: - ``` + ```bash curl -s https://repos.influxdata.com/influxdb.key | gpg --import ``` 2. Download the signature file for the release by adding `.asc` to the download URL. For example: - ``` + ```bash wget https://dl.influxdata.com/enterprise/releases/influxdb-data-{{< latest-patch >}}_c{{< latest-patch >}}.x86_64.rpm.asc ``` 3. Verify the signature with `gpg --verify`: - ``` + ```bash gpg --verify influxdb-data-{{< latest-patch >}}_c{{< latest-patch >}}.x86_64.rpm.asc influxdb-data-{{< latest-patch >}}_c{{< latest-patch >}}.x86_64.rpm ``` The output from this command should include the following: - ``` + ```bash gpg: Good signature from "InfluxDB Packaging Service " [unknown] ``` @@ -207,16 +210,18 @@ On systemd systems, enter: sudo systemctl start influxdb ``` -> **Verification steps:** -> -Check to see that the process is running by entering: -> - ps aux | grep -v grep | grep influxdb -> -You should see output similar to: -> - influxdb 2706 0.2 7.0 571008 35376 ? Sl 15:37 0:16 /usr/bin/influxd -config /etc/influxdb/influxdb.conf +**Verification steps:** +Check to see that the process is running by entering: + +```bash +ps aux | grep -v grep | grep influxdb +``` + +You should see output similar to: +```bash +influxdb 2706 0.2 7.0 571008 35376 ? Sl 15:37 0:16 /usr/bin/influxd -config /etc/influxdb/influxdb.conf +``` If you do not see the expected output, the process is either not launching or is exiting prematurely. Check the [logs](/enterprise_influxdb/v1.7/administration/logs/) for error messages and verify the previous setup steps are complete. @@ -251,25 +256,27 @@ to the cluster. > **Verification steps:** > Issue the following command on any meta node: -> - influxd-ctl show -> +```bash +influxd-ctl show +``` The expected output is: -> - Data Nodes - ========== - ID TCP Address Version - 4 enterprise-data-01:8088 {{< latest-patch >}}-c{{< latest-patch >}} - 5 enterprise-data-02:8088 {{< latest-patch >}}-c{{< latest-patch >}} -> - Meta Nodes - ========== - TCP Address Version - enterprise-meta-01:8091 {{< latest-patch >}}-c{{< latest-patch >}} - enterprise-meta-02:8091 {{< latest-patch >}}-c{{< latest-patch >}} - enterprise-meta-03:8091 {{< latest-patch >}}-c{{< latest-patch >}} +```bash +Data Nodes +========== +ID TCP Address Version Labels +4 cluster-node-01:8088 1.7.x-c1.7.x {} +5 cluster-node-02:8088 1.7.x-c1.7.x {} + +Meta Nodes +========== +TCP Address Version Labels +cluster-node-01:8091 1.7.x-c1.7.x {} +cluster-node-02:8091 1.7.x-c1.7.x {} +cluster-node-03:8091 1.7.x-c1.7.x {} + +``` The output should include every data node that was added to the cluster. The first data node added should have `ID=N`, where `N` is equal to one plus the number of meta nodes. diff --git a/content/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation.md b/content/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation.md index b3820e17f..5ff366d6f 100644 --- a/content/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation.md +++ b/content/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation.md @@ -24,8 +24,9 @@ The Production Installation process sets up two [data nodes](/enterprise_influxd and each data node runs on its own server. You **must** have a minimum of two data nodes in a cluster. InfluxDB Enterprise clusters require at least two data nodes for high availability and redundancy. -
-Note: that there is no requirement for each data node to run on its own +`hh`, `wal`, `data`, and `meta` directories are required on all data nodes and are created as part of the installation process. + +**Note:** There is no requirement for each data node to run on its own server. However, best practices are to deploy each data node on a dedicated server. See the @@ -211,19 +212,17 @@ On systemd systems, enter: sudo systemctl start influxdb ``` - {{% note %}} **Verification steps:** Check to see that the process is running by entering: - - ps aux | grep -v grep | grep influxdb - +```bash +ps aux | grep -v grep | grep influxdb +``` You should see output similar to: - - influxdb 2706 0.2 7.0 571008 35376 ? Sl 15:37 0:16 /usr/bin/influxd -config /etc/influxdb/influxdb.conf - - {{% /note %}} - +```bash +influxdb 2706 0.2 7.0 571008 35376 ? Sl 15:37 0:16 /usr/bin/influxd -config /etc/influxdb/influxdb.conf +``` + If you do not see the expected output, the process is either not launching or is exiting prematurely. Check the [logs](/enterprise_influxdb/v1.8/administration/logs/) for error messages and verify the previous setup steps are complete. If you see the expected output, repeat for the remaining data nodes. @@ -252,29 +251,28 @@ The expected output is: Added data node y at enterprise-data-0x:8088 ``` - {{% note %}} **Verification steps:** Issue the following command on any meta node: - - influxd-ctl show - +```bash +influxd-ctl show +``` The expected output is: +```bash - Data Nodes - ========== - ID TCP Address Version - 4 enterprise-data-01:8088 {{< latest-patch >}}-c{{< latest-patch >}} - 5 enterprise-data-02:8088 {{< latest-patch >}}-c{{< latest-patch >}} +Data Nodes +========== +ID TCP Address Version Labels +4 cluster-node-01:8088 1.8.x-c1.8.x {} +5 cluster-node-02:8088 1.8.x-c1.8.x {} - - Meta Nodes - ========== - TCP Address Version - enterprise-meta-01:8091 {{< latest-patch >}}-c{{< latest-patch >}} - enterprise-meta-02:8091 {{< latest-patch >}}-c{{< latest-patch >}} - enterprise-meta-03:8091 {{< latest-patch >}}-c{{< latest-patch >}} - {{% /note %}} +Meta Nodes +========== +TCP Address Version Labels +cluster-node-01:8091 1.8.x-c1.8.x {} +cluster-node-02:8091 1.8.x-c1.8.x {} +cluster-node-03:8091 1.8.x-c1.8.x {} + ``` The output should include every data node that was added to the cluster. The first data node added should have `ID=N`, where `N` is equal to one plus the number of meta nodes. From c095ca832685b25ecd4932f8261cc1f78f1eab4a Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 9 Jun 2022 14:01:54 -0700 Subject: [PATCH 10/13] Cloud updates April 2022 (plus fix to typo in existing onboarding doc) (#4089) * Cloud updates April 2022 (plus fix to typo in existing onboarding wizard doc) * Remove help bar and move to May --- content/influxdb/cloud/get-started.md | 4 ++-- .../cloud/reference/release-notes/cloud-updates.md | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/content/influxdb/cloud/get-started.md b/content/influxdb/cloud/get-started.md index f17a43c1f..60cff3450 100644 --- a/content/influxdb/cloud/get-started.md +++ b/content/influxdb/cloud/get-started.md @@ -30,12 +30,12 @@ After you've [signed up for InfluxDB Cloud](/influxdb/cloud/sign-up/), you're re ## Write and query data using the programming language of your choice -Follow the steps to write data, execute a simple query, and execute a sample query in the selected programming language: +Follow the steps to write data and execute a simple query in the selected programming language: Click one of the following: - [Python](https://cloud2.influxdata.com/orgs/me/new-user-wizard/python) - [JavaScript/Node](https://cloud2.influxdata.com/orgs/me/new-user-wizard/nodejs) - - [Go](https://cloud2.influxdata.com/orgs/me/new-user-wizard/go) + - [Go](https://cloud2.influxdata.com/orgs/me/new-user-wizard/go) ## Add sample data diff --git a/content/influxdb/cloud/reference/release-notes/cloud-updates.md b/content/influxdb/cloud/reference/release-notes/cloud-updates.md index 8e64e8a0a..7b8cd27f6 100644 --- a/content/influxdb/cloud/reference/release-notes/cloud-updates.md +++ b/content/influxdb/cloud/reference/release-notes/cloud-updates.md @@ -14,6 +14,18 @@ aliases: InfluxDB Cloud updates occur frequently. Find a compilation of recent updates below. To find information about the latest Flux updates in InfluxDB Cloud, see [Flux release notes](/influxdb/cloud/reference/release-notes/flux/). +## April 2022 + +### Query improvements in Data Explorer and notebooks + +It's now easier to use the visual builder to create queries in the Data Explorer and notebooks: +- The builder requires you to select a measurement before you can select associated tags. +- All measurements, fields, tags, and tag values appear in the builder, not just the ones in the currently specified time range. This update ensures that measurements, fields, and tags, are visible even if you set a very short time range. + +### Onboarding wizards for common programming languages + +During onboarding, choose the Python, JavaScript, or Go wizard to quickly get started writing data and executing simple queries. For details, see [Write and query data using the programming language of your choice](/influxdb/cloud/get-started/#write-and-query-data-using-the-programming-language-of-your-choice). + ## March 2022 ### Deep linking From bc7dc1651483ee60457a259558e0d73a8da24f8f Mon Sep 17 00:00:00 2001 From: Kelly Date: Thu, 9 Jun 2022 17:22:20 -0700 Subject: [PATCH 11/13] clarify purpose of isType --- content/flux/v0.x/stdlib/types/istype.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/flux/v0.x/stdlib/types/istype.md b/content/flux/v0.x/stdlib/types/istype.md index a5d8345fe..577351456 100644 --- a/content/flux/v0.x/stdlib/types/istype.md +++ b/content/flux/v0.x/stdlib/types/istype.md @@ -14,7 +14,7 @@ flux/v0.x/tags: [tests, types] `types.isType()` tests if a value is a specified [Flux basic type](/flux/v0.x/data-types/basic/) or -[regular expression type](/flux/v0.x/data-types/regexp/). +[regular expression type](/flux/v0.x/data-types/regexp/). Use this function to filter your data by type. Often used to downsample or [aggregate data by type](#aggregate-or-select-data-based-on-type). ```js import "types" From 46736e2aed7bf0b8cdac251390bc15373d2ab5b6 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Mon, 13 Jun 2022 06:34:14 -0700 Subject: [PATCH 12/13] Add may cloud updates (#4111) --- .../cloud/reference/release-notes/cloud-updates.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/influxdb/cloud/reference/release-notes/cloud-updates.md b/content/influxdb/cloud/reference/release-notes/cloud-updates.md index 7b8cd27f6..fcb8eacd6 100644 --- a/content/influxdb/cloud/reference/release-notes/cloud-updates.md +++ b/content/influxdb/cloud/reference/release-notes/cloud-updates.md @@ -14,6 +14,14 @@ aliases: InfluxDB Cloud updates occur frequently. Find a compilation of recent updates below. To find information about the latest Flux updates in InfluxDB Cloud, see [Flux release notes](/influxdb/cloud/reference/release-notes/flux/). +## May 2022 + +### Bulk delete API tokens +Efficiently delete multiple tokens at once. For details, see [Delete a token using the InfluxDB API](/influxdb/v2.2/security/tokens/delete-token/#delete-a-token-using-the-influxdb-api). + +### Help bar +Find relevant content easily from the Cloud UI using the help tab in left side panel. + ## April 2022 ### Query improvements in Data Explorer and notebooks From bfe269597066493290378f58d5f37b15c791d285 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 13 Jun 2022 08:59:47 -0600 Subject: [PATCH 13/13] Flux 0.170 and other fixes (#4100) * Flux 0.169-0.170 release notes, added updated pagerduty.endpoint output, closes #4098 * fix version usage on optimize queries doc, closes #4080, closes #4093 * point to date package constants, closes #4076 * updated type conversion functions to point to correct examples, closes #4074 * quick link fix --- content/flux/v0.x/release-notes.md | 33 ++++++++++ content/flux/v0.x/stdlib/date/month.md | 3 +- content/flux/v0.x/stdlib/date/weekday.md | 3 +- .../flux/v0.x/stdlib/pagerduty/endpoint.md | 7 +++ content/flux/v0.x/stdlib/universe/bool.md | 63 +++++++++++++++++-- content/flux/v0.x/stdlib/universe/tobool.md | 5 +- content/flux/v0.x/stdlib/universe/tofloat.md | 5 +- content/flux/v0.x/stdlib/universe/toint.md | 5 +- content/flux/v0.x/stdlib/universe/tostring.md | 5 +- content/flux/v0.x/stdlib/universe/totime.md | 5 +- content/flux/v0.x/stdlib/universe/touint.md | 5 +- .../v2.2/query-data/optimize-queries.md | 4 +- 12 files changed, 117 insertions(+), 26 deletions(-) diff --git a/content/flux/v0.x/release-notes.md b/content/flux/v0.x/release-notes.md index 25525828b..e5243deea 100644 --- a/content/flux/v0.x/release-notes.md +++ b/content/flux/v0.x/release-notes.md @@ -10,6 +10,39 @@ aliases: - /influxdb/cloud/reference/release-notes/flux/ --- +## v0.170.1 [2022-06-06] + +### Bug fixes +- Require an earlier minimum version of `lsp-types`. + +--- + +## v0.170.0 [2022-06-02] + +### Features +- Add a `pretty.rs`-based MonoType formatter. + +### Bug fixes +- Update vectorized `map()` to properly handle shadowed columns. + +--- + +## v0.169.0 [2022-05-31] + +### Features +- Add a `_status` tag to PagerDuty records. +- Refactor the operator profile to be in the query statistics. + +### Bug fixes +- Ensure that constraints are checked and propagated fully. +- Fix math for integral with a single value. +- Add `json` tags for the transport profiles in statistics. +- Initialize `Metadata` in Flux statistics. +- Return a more helpful error message when an HTTP response body exceeds 100MB. +- Correct several issues found during the implementation of polymorphic labels. + +--- + ## v0.168.0 [2022-05-23] ### Features diff --git a/content/flux/v0.x/stdlib/date/month.md b/content/flux/v0.x/stdlib/date/month.md index d21c2ad02..975d478f4 100644 --- a/content/flux/v0.x/stdlib/date/month.md +++ b/content/flux/v0.x/stdlib/date/month.md @@ -16,7 +16,8 @@ introduced: 0.37.0 --- The `date.month()` function returns the month of a specified time. -Results range from `[1-12]`. +Results range from `[1-12]` and correspond to `date` package +[month constants](/flux/v0.x/stdlib/date/#months-of-the-year). ```js import "date" diff --git a/content/flux/v0.x/stdlib/date/weekday.md b/content/flux/v0.x/stdlib/date/weekday.md index 5104d134b..204abe49c 100644 --- a/content/flux/v0.x/stdlib/date/weekday.md +++ b/content/flux/v0.x/stdlib/date/weekday.md @@ -16,7 +16,8 @@ introduced: 0.37.0 --- The `date.weekDay()` function returns the day of the week for a specified time. -Results range from `[0-6]`. +Results range from `[0-6]` and correspond to `date` package +[weekday constants](/flux/v0.x/stdlib/date/#days-of-the-week). ```js import "date" diff --git a/content/flux/v0.x/stdlib/pagerduty/endpoint.md b/content/flux/v0.x/stdlib/pagerduty/endpoint.md index 55431b79b..53545cffa 100644 --- a/content/flux/v0.x/stdlib/pagerduty/endpoint.md +++ b/content/flux/v0.x/stdlib/pagerduty/endpoint.md @@ -26,6 +26,13 @@ pagerduty.endpoint( ) ``` +## Output data +For each input row, `pagerduty.endpoint()` sends an event to the PagerDuty API +and outputs a corresponding output row with the following additional columns: + +- **sent**: Sent succesfully _(bool)_ +- **\_status**: HTTP response status code _(string)_ + ## Parameters ### url {data-type="string"} diff --git a/content/flux/v0.x/stdlib/universe/bool.md b/content/flux/v0.x/stdlib/universe/bool.md index 0d527807f..9eb04bf94 100644 --- a/content/flux/v0.x/stdlib/universe/bool.md +++ b/content/flux/v0.x/stdlib/universe/bool.md @@ -31,9 +31,64 @@ bool(v: "true") The value to convert. ## Examples + +#### Convert a numeric column to a boolean column ```js -from(bucket: "sensor-data") - |> range(start: -1m) - |> filter(fn: (r) => r._measurement == "system") - |> map(fn: (r) => ({r with responsive: bool(v: r.responsive)})) +import "sampledata" + +data = sampledata.numericBool() + |> rename(columns: {_value: "online"}) + +data + |> map(fn: (r) => ({r with online: bool(v: r.online)})) ``` + +{{< expand-wrapper >}} +{{% expand "View input and output" %}} +{{< flex >}} +{{% flex-content %}} + +##### Input data +| _time | tag | online | +| :------------------- | :-- | -----: | +| 2021-01-01T00:00:00Z | t1 | 1 | +| 2021-01-01T00:00:10Z | t1 | 1 | +| 2021-01-01T00:00:20Z | t1 | 0 | +| 2021-01-01T00:00:30Z | t1 | 1 | +| 2021-01-01T00:00:40Z | t1 | 0 | +| 2021-01-01T00:00:50Z | t1 | 0 | + +| _time | tag | online | +| :------------------- | :-- | -----: | +| 2021-01-01T00:00:00Z | t2 | 0 | +| 2021-01-01T00:00:10Z | t2 | 1 | +| 2021-01-01T00:00:20Z | t2 | 0 | +| 2021-01-01T00:00:30Z | t2 | 1 | +| 2021-01-01T00:00:40Z | t2 | 1 | +| 2021-01-01T00:00:50Z | t2 | 0 | + +{{% /flex-content %}} +{{% flex-content %}} + +##### Output data +| _time | tag | online | +| :------------------- | :-- | -----: | +| 2021-01-01T00:00:00Z | t1 | true | +| 2021-01-01T00:00:10Z | t1 | true | +| 2021-01-01T00:00:20Z | t1 | false | +| 2021-01-01T00:00:30Z | t1 | true | +| 2021-01-01T00:00:40Z | t1 | false | +| 2021-01-01T00:00:50Z | t1 | false | + +| _time | tag | online | +| :------------------- | :-- | -----: | +| 2021-01-01T00:00:00Z | t2 | false | +| 2021-01-01T00:00:10Z | t2 | true | +| 2021-01-01T00:00:20Z | t2 | false | +| 2021-01-01T00:00:30Z | t2 | true | +| 2021-01-01T00:00:40Z | t2 | true | +| 2021-01-01T00:00:50Z | t2 | false | +{{% /flex-content %}} +{{< /flex >}} +{{% /expand %}} +{{< /expand-wrapper >}} diff --git a/content/flux/v0.x/stdlib/universe/tobool.md b/content/flux/v0.x/stdlib/universe/tobool.md index 9591c4d7f..a4356d3ef 100644 --- a/content/flux/v0.x/stdlib/universe/tobool.md +++ b/content/flux/v0.x/stdlib/universe/tobool.md @@ -25,9 +25,8 @@ toBool() ``` {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `bool()` +as shown in [this example](/flux/v0.x/stdlib/universe/bool/#convert-a-numeric-column-to-a-boolean-column). {{% /note %}} ##### Supported data types diff --git a/content/flux/v0.x/stdlib/universe/tofloat.md b/content/flux/v0.x/stdlib/universe/tofloat.md index f254a0e8a..4dba914ee 100644 --- a/content/flux/v0.x/stdlib/universe/tofloat.md +++ b/content/flux/v0.x/stdlib/universe/tofloat.md @@ -25,9 +25,8 @@ toFloat() ``` {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `float()` +as shown in [this example](/flux/v0.x/stdlib/universe/float/#convert-all-values-in-a-column-to-float-values). {{% /note %}} ##### Supported data types diff --git a/content/flux/v0.x/stdlib/universe/toint.md b/content/flux/v0.x/stdlib/universe/toint.md index 884abb273..c0c35f1c7 100644 --- a/content/flux/v0.x/stdlib/universe/toint.md +++ b/content/flux/v0.x/stdlib/universe/toint.md @@ -45,9 +45,8 @@ toInt() | uint | Integer equivalent of the unsigned integer | {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `int()` +as shown in [this example](/flux/v0.x/stdlib/universe/int/#convert-all-values-in-a-column-to-integer-values). {{% /note %}} ## Parameters diff --git a/content/flux/v0.x/stdlib/universe/tostring.md b/content/flux/v0.x/stdlib/universe/tostring.md index 7e66cadc8..db21fca14 100644 --- a/content/flux/v0.x/stdlib/universe/tostring.md +++ b/content/flux/v0.x/stdlib/universe/tostring.md @@ -22,9 +22,8 @@ toString() ``` {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `string()` +as shown in [this example](/flux/v0.x/stdlib/universe/string/#convert-all-values-in-a-column-to-string-values). {{% /note %}} ##### Supported data types diff --git a/content/flux/v0.x/stdlib/universe/totime.md b/content/flux/v0.x/stdlib/universe/totime.md index 84da81cd9..a1a2abd4c 100644 --- a/content/flux/v0.x/stdlib/universe/totime.md +++ b/content/flux/v0.x/stdlib/universe/totime.md @@ -25,9 +25,8 @@ toTime() ``` {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `time()` +as shown in [this example](/flux/v0.x/stdlib/universe/time/#convert-all-values-in-a-column-to-time-values). {{% /note %}} ##### Supported data types diff --git a/content/flux/v0.x/stdlib/universe/touint.md b/content/flux/v0.x/stdlib/universe/touint.md index 501924652..25765b98f 100644 --- a/content/flux/v0.x/stdlib/universe/touint.md +++ b/content/flux/v0.x/stdlib/universe/touint.md @@ -25,9 +25,8 @@ toUInt() ``` {{% note %}} -To convert values in a column other than `_value`, define a custom function -patterned after the [function definition](#function-definition), -but replace `_value` with your desired column. +To convert values in a column other than `_value`, use `map()` and `uint()` +as shown in [this example](/flux/v0.x/stdlib/universe/uint/#convert-all-values-in-a-column-to-uinteger-values). {{% /note %}} ##### Supported data types diff --git a/content/influxdb/v2.2/query-data/optimize-queries.md b/content/influxdb/v2.2/query-data/optimize-queries.md index 3141a9b54..17328e095 100644 --- a/content/influxdb/v2.2/query-data/optimize-queries.md +++ b/content/influxdb/v2.2/query-data/optimize-queries.md @@ -28,8 +28,8 @@ Once a non-pushdown function runs, Flux pulls data into memory and runs all subsequent operations there. #### Pushdown functions and function combinations -Most pushdowns are supported when querying an InfluxDB {{< current-version >}} or InfluxDB Cloud data source. -As shown in the following table, a handful of pushdowns are not supported in InfluxDB {{< current-version >}}. +Most pushdowns are supported when querying an InfluxDB {{< current-version keep=true >}} or InfluxDB Cloud data source. +As shown in the following table, a handful of pushdowns are not supported in InfluxDB {{< current-version keep=true >}}. | Functions | InfluxDB {{< current-version keep=true >}} | InfluxDB Cloud | | :----------------------------- | :----------------------------------------: | :------------------: |