From 58bd0aaafcdfdd07ede0d1b32e4c366d18d3aafb Mon Sep 17 00:00:00 2001 From: marcelosoftpack <62149416+marcelosoftpack@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:27:51 +0100 Subject: [PATCH 001/177] Update Env Vars list (environment-variables.md) --- getting-started/environment-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getting-started/environment-variables.md b/getting-started/environment-variables.md index b7d0723..ed5fa9d 100644 --- a/getting-started/environment-variables.md +++ b/getting-started/environment-variables.md @@ -1,3 +1,3 @@ # Environment Variables -
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. - Default: Speedtest Tracker |
APP_KEY | Key used to encrypt and decrypt data. To create your own key to persist run Make sure to include the prepended |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds or false to disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds or false to disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds or false to disable.- Default: false |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. FAQ |
APP_KEY | Key used to encrypt and decrypt data. To create your own key to persist run Make sure to include the prepended |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filamentdocs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
MAIL_ENCRYPTION | Mail encryption used for sending test results and notifications trough email. Can be sslortls |
MAIL_FROM_ADDRESS | Email address used for sending test results and notifications trough email. |
MAIL_FROM_NAME | Name used for sending test results and notifications trough email. |
MAIL_HOST | SMTP server used for sending test results and notifications trough email. |
MAIL_MAILER | Email protocol used for sending test results and notifications trough email. |
MAIL_PASSWORD | SMTP password from email address used for sending test results and notifications trough email. |
MAIL_PORT | SMTP port from email server used for sending test results and notifications trough email. |
MAIL_USERNAME | Username from SMTP server used for sending test results and notifications trough email. |
TZ | Time zone used to get the date and time of tests |
APP_URL | URL used on emails sent. That URL is the one that appears on links that are sent trough emailFAQ |
| Added compose part | Description |
|---|---|
APP_URL | URL you want to access the WebGui on. |
traefik.enable=true | Explicitly tell Traefik to expose this container |
traefik.http.routers.speedtest-tracker.rule=Host(`speedtest.yourdomain.com`) | The domain the service will respond to |
traefik.http.routers.speedtest-tracker.entrypoints=websecure | Allow request only from the predefined entry point |
traefik.http.routers.speedtest-tracker.tls=true | When a TLS section is specified, it instructs Traefik that the current router is dedicated to HTTPS requests only |
traefik.http.routers.speedtest-tracker.tls.certresolver=yourresolver | Explicitly tell Traefik which Certificate provider to use matching your Traefik configuration |
traefik.http.services.speedtest-tracker.loadbalancer.server.port=80 | Explicitly tell Traefik port to use to connect to the container |


| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. FAQ |
APP_KEY | Key used to encrypt and decrypt data. To create your own key to persist run Make sure to include the prepended |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filamentdocs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
MAIL_ENCRYPTION | Mail encryption used for sending test results and notifications trough email. Can be sslortls |
MAIL_FROM_ADDRESS | Email address used for sending test results and notifications trough email. |
MAIL_FROM_NAME | Name used for sending test results and notifications trough email. |
MAIL_HOST | SMTP server used for sending test results and notifications trough email. |
MAIL_MAILER | Email protocol used for sending test results and notifications trough email. |
MAIL_PASSWORD | SMTP password from email address used for sending test results and notifications trough email. |
MAIL_PORT | SMTP port from email server used for sending test results and notifications trough email. |
MAIL_USERNAME | Username from SMTP server used for sending test results and notifications trough email. |
TZ | Time zone used to get the date and time of tests |
APP_URL | URL used on emails sent. That URL is the one that appears on links that are sent trough emailFAQ |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. FAQ |
APP_KEY | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filamentdocs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
MAIL_ENCRYPTION | Mail encryption used for sending test results and notifications trough email. Can be sslortls |
MAIL_FROM_ADDRESS | Email address used for sending test results and notifications trough email. |
MAIL_FROM_NAME | Name used for sending test results and notifications trough email. |
MAIL_HOST | SMTP server used for sending test results and notifications trough email. |
MAIL_MAILER | Email protocol used for sending test results and notifications trough email. |
MAIL_PASSWORD | SMTP password from email address used for sending test results and notifications trough email. |
MAIL_PORT | SMTP port from email server used for sending test results and notifications trough email. |
MAIL_USERNAME | Username from SMTP server used for sending test results and notifications trough email. |
TZ | Time zone used to get the date and time of tests |
APP_URL | Application URL used for assets and links in emails and notifications. |
APP_KEY is missing| Command | Description |
|---|---|
app:install | Installs a fresh version of Speedtest Tracker. If you have an existing install this will delete all data. |
app:reset-user-password | Can be used to reset a user's password. |
app:update-user-role | Can be used to change a user's role. |
| Command | Description |
|---|---|
app:install | Installs a fresh version of Speedtest Tracker. If you have an existing install this will delete all data. |
app:ookla-list-servers | Get a list of local Ookla speedtest servers. |
app:user-change-role | Change the role for a user. |
app:user-reset-password | Change the password for a user. |
app:version | Sends a notification to the admin users when Speedtest Tracker is outdated. |
| Command | Description |
|---|---|
app:fix-result-statuses | Reviews the data payload of each result and corrects the status attribute based on Ookla's CLI response. |
app:update-general-settings | Use to update General Settings from the CLI in case of an application error on that page. |
| Command | Description |
|---|---|
app:result-fix-statuses | Reviews the data payload of each result and corrects the status attribute. |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. FAQ |
APP_KEY | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filamentdocs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
MAIL_ENCRYPTION | Mail encryption used for sending test results and notifications trough email. Can be sslortls |
MAIL_FROM_ADDRESS | Email address used for sending test results and notifications trough email. |
MAIL_FROM_NAME | Name used for sending test results and notifications trough email. |
MAIL_HOST | SMTP server used for sending test results and notifications trough email. |
MAIL_MAILER | Email protocol used for sending test results and notifications trough email. |
MAIL_PASSWORD | SMTP password from email address used for sending test results and notifications trough email. |
MAIL_PORT | SMTP port from email server used for sending test results and notifications trough email. |
MAIL_USERNAME | Username from SMTP server used for sending test results and notifications trough email. |
TZ | Time zone used to get the date and time of tests |
APP_URL | Application URL used for assets and links in emails and notifications. |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. |
APP_KEY(required) | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
APP_URL | URL used for assets and links in emails and notifications. |
APP_TIMEZONE | Application timezone should be set if your database does not use UTC as it's default timezone. |
DISPLAY_TIMEZONE | Display timestamps in your local time. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
| Name | Description |
|---|---|
SPEEDTEST_SCHEDULE | Cron expression used to run speedtests on a scheduled basis. |
SPEEDTEST_SERVERS | Comma separated list of servers to randomly use for speedtests. |
PRUNE_RESULTS_OLDER_THAN | Set the value to greated than zero to prune stored results. This value should be represented in days. |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. |
APP_KEY(required) | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
APP_URL | URL used for assets and links in emails and notifications. |
APP_TIMEZONE | Application timezone should be set if your database does not use UTC as it's default timezone. |
DISPLAY_TIMEZONE | Display timestamps in your local time. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. |
APP_KEY(required) | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
APP_URL | URL used for assets and links in emails and notifications. |
APP_TIMEZONE | Application timezone should be set if your database does not use UTC as it's default timezone. |
CHART_DATETIME_FORMAT | Set the formatting of timestamps in charts. |
DATETIME_FORMAT | Set the formatting of timestamps in tables and notifications. |
DISPLAY_TIMEZONE | Display timestamps in your local time. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
| Name | Description |
|---|---|
SPEEDTEST_SCHEDULE | Cron expression used to run speedtests on a scheduled basis. |
SPEEDTEST_SERVERS | Comma separated list of servers to randomly use for speedtests. |
PRUNE_RESULTS_OLDER_THAN | Set the value to greated than zero to prune stored results. This value should be represented in days. |
| Name | Description |
|---|---|
SPEEDTEST_PING_URL | IP address or URL used to check for an internet connection prior to running a test. |
SPEEDTEST_SCHEDULE | Cron expression used to run speedtests on a scheduled basis. |
SPEEDTEST_SERVERS | Comma separated list of servers to randomly use for speedtests. |
PRUNE_RESULTS_OLDER_THAN | Set the value to greated than zero to prune stored results. This value should be represented in days. |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. To find your UID run id username on the host machine.- Default: 1000 |
PGID(required) | Used to set the group the container should run as. To find your GID run id username on the host machine.- Default: 1000 |
APP_KEY | Key used to encrypt and decrypt data. To create a key to persist follow the directions in the FAQ. Currently not used and generated at random on startup of the container. |
APP_DEBUG | Used to help narrow down issues in a running container, see FAQ for when to use it. - Default: false |
DB_CONNECTION(required) | Type of database to be used for storing data. Accepted values are sqlite, mysql and pgsql. |
DB_HOST(required) | FQDN or container name where the database is located. |
DB_PORT | Port used to connect to the host where the database is located. Only needs to be defined if the database is running on a different port. - Default: 3306 when using MySQL or MariaDB- Default: 5432 when using Postgresql |
DB_DATABASE(required) | Name of the database. |
DB_USERNAME(required) | Database user used to connect to the database. Needs read/write access. |
DB_PASSWORD(required) | Password for the user specified to connect to the database. |
FORCE_HTTPS | Enforces the user of https protocol when viewing the UI, port 443 must be mapped to the container for this to work.- Default: false |
| Name | Description |
|---|---|
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds or false to disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds or false to disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds or false to disable.- Default: false |
ALLOW_EMBEDS | Can be a comma separated list of URLs that the application will allow to be embedded in. - Default: null |
| Protocol | External port (default) | Internal port |
|---|---|---|
| HTTP | 80 | 80 |
| HTTPS | 443 | 443 |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. |
APP_KEY(required) | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
APP_URL | URL used for assets and links in emails and notifications. |
APP_TIMEZONE | Application timezone should be set if your database does not use UTC as it's default timezone. |
CHART_DATETIME_FORMAT | Set the formatting of timestamps in charts. |
DATETIME_FORMAT | Set the formatting of timestamps in tables and notifications. |
DISPLAY_TIMEZONE | Display timestamps in your local time. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
| Name | Description |
|---|---|
PUID(required) | Used to set the user the container should run as. - Default: 1000 |
PGID(required) | Used to set the group the container should run as. - Default: 1000 |
APP_NAME | Used to define the application's name in the dashboard and in notifications. |
APP_KEY(required) | Key used to encrypt and decrypt data. You can generate a key at https://speedtest-tracker.dev. |
APP_URL | URL used for assets and links in emails and notifications. |
APP_TIMEZONE | Application timezone should be set if your database does not use UTC as it's default timezone. |
CHART_DATETIME_FORMAT | Set the formatting of timestamps in charts. Formatting: https://www.php.net/manual/en/datetime.format.php |
DATETIME_FORMAT | Set the formatting of timestamps in tables and notifications. Formatting: https://www.php.net/manual/en/datetime.format.php |
DISPLAY_TIMEZONE | Display timestamps in your local time. |
CONTENT_WIDTH | Width of the content section of each page. Can be set to any value found in the Filament docs. - Default: 7xl |
PUBLIC_DASHBOARD | Enables the public dashboard for guest (unauthenticated) users. - Default: false |
DASHBOARD_POLLING | Frequency charts and stats refresh on the dashboard. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
NOTIFICATION_POLLING | Frequency database notifications are polled. Can be represented using a string in seconds orfalseto disable.- Default: 60s |
RESULTS_POLLING | Frequency data refreshes in the results table. Can be represented using a string in seconds orfalseto disable.- Default: false |
{o!K`O6GW{rZZ7LyC+;tlV|>HtY~lTg+{(%xFZT`Hk1h9u)IpNqGuDgGpQx&(*<*uEC`H8shQzn1O#5U_kZbV1N?uS&MXUCC ?YJwNgCz+4l8oi>3V@-H3N=pMJfAuEa-|K7I z??~y_d)VcnhxROQaB4$2KFfV34t4nv_d{{bcnu*`e1c{^u1!YyHRe~p52D&i3u2aU z^e9~7glOp)QfPS@Q0NM1pCp7O3?#TRWV~<5J(J(%(8{ouxp*xV 3VY+d!@#ciu zk^726BJiWaap4cu8oE>3ecJkXj(D$l?ty^;vjNfpwgIHg=7Ifq7+sdCPw|bigldms zP(f@7rLtB@jp}CpfK3AT2m0x-Jt>8pm+zBQO1~C;#VRKI04j+ru~y66do_(d?K#a* z!ZO`wnP@3rA8ILKxoL?u&HVNJYut4Cl-Ay>^Z7lzJ*g?X5-f``PDv|q&<2Qce6HL< zKTj$yA5=hC+&`(C-K=n0w`EKu$x&2op}XL{;JQGl-S|>@P&>Rlp y&eiVmx$ODg zS;anhqG%s&Z+oY5%x *Xa zb;)ebmdDV<8rS+YySAP4Lh-0(@7yTQqI>=ElXZQZ)X=EVZzlCJwf#;lZ!=^@3o7#( zC*TSg3S#oqg*poS^1^9aY1GMhY11jo+(pS8LmWdIX^qJ+on%dM&7r#D>Lz2E1`|y) zt%`c F|PvO8;D${tPQJQh<_(ctg<+f## zsfLkTKWV*NE&iNc-O(! y+zMwg!2ndKJJGf?ralR)2CB3H-Hs#MZl>+$*KTJ&H7noayVq z>%QrJaIr^dC73Ae3ZLs;F @kHA z1%s$<&6hb{SFTp!DM4p-3#(*VP2IWRDydc1)wSP+k2xthKdSv`mmZWhG7-c5{86er ztcA>mM3DO0;u+f;zCy|^5OilQrP{`!u1UtBb$z7=-pdl+nPwPAE@L6{K~7$wOwl_F zH@c4ftJPAmL+wvJ`M1(9Uvn2mtGrNk&3_hw^{Ug%+pWaPQfBYVlNp>s1s>sX!;gnQ z*5jt$IJ_Z|r^=@;I8cOlhpv5aK%JQ1P1wEFed)#oLm7=~Or0HsZB=dv5B?s}Oc{^c z&1j~t CH+>2hThzK#L!m7RxeXUUwh?wP9dw*9N)bANnL*i zrI&JOu~pc1JeTTqkI@>*mGs@Go1aKbmsAku>X;i!56vA_P321?%eAS%NzTG2MfFOJ zX&vs@wYk~35VKz#O&r>0sUzv!r>l%xW#zRo^SiY=TgjtZtVLe7znAn*X-^%uZuOxb z+G;KjZt|}bo<_VJ())dx^vl3f_JiCHYHoZ_rlq#W2Cp@zs@;dy&cizsPGni)c@q+n zz*^mUj;pidofU8wd(h8`NK@Ovw@ft5_{^Qv-EKV<2}BIx>O%T>)g?Y$V3*y!MyogF zyatCV9Ue@k Ex%p9>@&@<7~GqR%>?h`-Ql?;1Sf 8K9zqxJT1)E}+FLvuR}W3O zEWYFyx+(2t4tgP9yq)2jvMrzd%CLxbA#))J$!fU&>0gD+ghq&Fg{4JWA|TJNs~t6^ zRC#3AXSri3ZwnQ8;hA61U%LBSxi^nLDuuL^rvmIf|70K(g$6Y(JQYnbOz|RPK;XQ| zRAq2^a$V8D>I>+A2gh}5X+FEQXffGlc)M+sg#XCnt`FsBP;j^{{{EugBG&!kHGCDb zG4fjOFo}r8OV@Vq)uP8**inM2269Da`_B&7W6zEA5#lG@w#)ME^Dg0TrQ5ED2O4hZ zN8TO$Fw#~1UGO=46YCk-hg&1KlwOj~>~RPp)*@MtU<*7Me%TXuLu1f_FHj)F 0*j44>Gj}I<;9)D?Q-RhN>l?DkGy-cZJne> zCggEstd-4n_)W)I;9ZCw86nxC5H;BI!ebAABFV+Trt>ZMDcseL)z1F?kLOM%ok#>_ z7Luq4m2OBP3aEalqvr9)C#P9u *`EPLx3(~Mj5;} zV8ZjWphq|+MIhlYYr@Q!HrbX1QFJ?fON_4E_1OId!M#d34QcYV_5U!9a z^c&b) zM*QG&4?roxOf_Z96ciBXf%V4-j}VCvP=GZ=;46ek{NL-6h_ndEf3_nbAcTMr9{uYW zMPT{xi3Yw8ZT?vz#|9&y0smeAU-xXJ|2i6jARGC=*3s;NeF*PV#bjiFrK+)`sj01# zg`IN^ZoU|>;fcMpmJ Af<(~vppXRi<_Gpvl|DqoufGm8!s;}3oAPdJ3A9_1e248 zt+SCkldTigKPUOG^N5=|89RdPok4cC }-IGIt%^Jfc>lS|K9nph5{@P&;Gyq;-8NGvlZxR zA#?$j{~k3V^bmw;fafB-0*Nbq0G5E6J$#UxfFIg_mcTl4r3`btEGq(n2!f3GyASS& z&}9$9SEjeU$99K#&9ZU&yUSyRK@D|v1-RJpV$b~@8IaVzg?-kQXnu!F8}gWz(vj}- zZ`J46??f=0b?DAMy|ocL%9lzlv^j)xLufLFO=`_ux#tyDqB>2?%`-i=Qf7xf-LYjs zxNQv&f6XM$sE0;HC8aLVfBpJ3v8jnCh1DoPKAlHdTU$H7qhm$efU4E)C^0My{cA-< zVsJ1j$kLKsctOgyZr8k&ixdO#5w-}z|M{nzA-kDu7!fq7bSon-&nevB-#<}lAiN9d z?0iPRDx#vQIvjPORd1P4rr)lenwG||K+DYH_TH+E>vv{5-o)4(t%pam guSx5dg2oz3_^Bsb`A~& zg56sfB&nvR2Gc2GaFBRPTe*5smW-=Eo=!DCJ6q)9aG61;!8%5-)iuSm{DZh!E~c&b zyZ?JHVT+KLpwunIsB;gDj3h2C=@JTgH)%05->D=r>FlL?>3;ken?PcjKo!Z;P462| zmG;(#9WUG!I!EzEU4kk=f|=pve= VhKej zCcdn0=&dJpnNltsQg(1~2q}?Zb8C<%_&=M(pF0&m=P4!pLc*_JQc|+<(AQ0Ls)co! zBzzxcDh*f`8*JkC_AEiRwii5)8J_ YOGV{{M6EIX-%e%`2=*A%|1Q6%NKRWjRg;%QMq2vuU_UoEcet64 zrIl4dVWH$%yE1%vyy}(VJvpB_g9WZR9!svLGLI1 yKBuWzLoiH?pgHYte)8TDE8#>U3`kf)aSfLo {T bg@GkHD*&P1gUd;k$EKK5i2v*Xk zPoIh@ftd<;s)pn+$sG9zKV@1^D6uNi2d1#EgFPmHrf)Z`NFQxP^0T17G%K*8;YMGK zvTA)Fafdp`LLDfsaoA@ThxJ5GJY UqlATp mMf|X(y-JGTmksB4T1>J}e|jM7D9dnMcL?xK 2hA;+FZqLPY?_eVyPJb#6pu{4swZ#r41fapSFh>MMr@lnBVPomnj zC;5+2i6}jO-&0I8#rx(jFC$(mA}bpvpDDnrT{K(ZQLb4ny0^c7dnos B`PCg=_NFE#GCp^|H1mu*{&*p SxpCUWfT=JRwzIXOA|PBsT`N7@82RvQ^e zus>t?A3i2X8IU-3P*GN;BAzXedsFH-ZaTX}i=XM%V6E3EK5{c65gVIG9Tc?AST{50 zXPo#?pQwl+OA>MBQvBQV=3fp7tVPbjF*$&Mdm$SjvVu=-IK{vMh6sMWx$!3CbG8si zly9PCR&<3fQWd1Vm8->LZaKbyZzgf;8bvOC&|yYCDdT;eKhWer#A<2fFeAkI4}8c~ zAdmKCm0V0u!TL)ZA;-2w9Hz8*lf&H*8~cKeiRs+K@==8MNfq17BT5q1n(q>=rKKjS z4%M98Z~N pIp? zon<2W`CkM1ok1iN6qJch-+O(T_sYr?J?g048sYtZ<7ZvXjvHeX>@H&ngjsP^SA@4^ zPSy#rB}7`a=249E)pA1g%gkA}kj?!iss@{_Pj`+}Qv$qotWxMwW&>6JAj(AN{zz@D z_OB{J3=33bj7)J#>KfwKm>sAi{1$%CQW9yJgKnwK 7V5Q97LQ+8EKPj0q0*1k5c4OCR2v z?!Dzv(^&WpARFc1lv8&)2nl)FO{DdkihA7tnMt1*MZVFRh@$=_(Dc_QX9Z2Xjziu- zDVo^D-P_wU*&Im7nBmv>@!^}rO!Pa)nagp vDVN;|uRC=F+& zX!G9`&Fov3&)Kh=R%5M)M>VXfwi@rsnQB&thikxEqmSynhesD1q){S L45mDwuch*rZHlZ4VS~2%3t7 sj6e7PDTm&-*1D`bhW+N&xl833zBfqjpb-KeM0Kek`4g*(pbxuFO| zRUG2~M$9c<|H8dOTa@k?rbb<=9?83vOq!Mw3^N e}$&B8zj 7ZdzymRue zZ$;@zbh;IhD5pq9 zwH|B^6;_0sEF>*ZDlc?JCYLSiQb)C276@EV{Je!rY~}qvt7bngL+U3r(twQ 8wA3ceUCtzV>VwzDZeR5^JsLPn7v^6g(0@>U7pF* zXMgphm-{r13I 9eTs69sac+?`inaPjc2_K1#ch!n?Jr-<#^D7YcsPTzX>_k0k^ z$iw(n9C}F{Z;pGzgJ~jp);^P_%->v{Zl*hp9J^bC^+~;dzw@}5Hy5-$!e9XF1v;$% zl+oAEj891DU#Pe8I&&^k%3=n<@X2P9!NA4AB68|r^L8eKhQ5cX2sk6dY$Sd6W+87- zJM5%5FOq$ !Bh%3 zbjB%~p@@W0IL+ttYZ}WJWlRV-_~z5}H7^&Hvcdh$>PjVD=&DP#?m+@oKiqhWDv)$f zmmM5$myTm&agSUcZ$r~FoWXj=;f(H 7BwvBy8c$--oHBWV} zH|VvFokvlXm$o-|y^68w7&J{VRxFme7hMmdGpGw@+6!TNI<1EdUZ!14v(lSeTq>=W z1!`Z5nHb}(+o#CPQDTSO_Epo=ulo9SS$gE~`_Be#V}H(Yrg-*sJ+J(@!D2Y&`etU* zBx80xN|-rH@FKarWKp=42=F>S%RT`{JlU1@as Rc ztuvi>*ZYoxOpQ$)utF4r* w$EeJU`#YHMsT*zbw@lPtPLY?^ zRED@^$$cs2nRLcKBVxP`n`yE$d@pLVQmW>J?~bGVu0tmJA;JV=g#7W~Cj>#cz5jre ze;=A)M~D=Ad@_uj#sS~9v+Oa!CUBh2-G`oH5wSFq@ruRbtd%DfmNS>D`x*Q86*E~+ zHKgT5#%PVdJQ_QkiA}&5j~-VbW5)ENrYhI1`!x|r%|&N)-v+&^120tL`i`Bef8M?h z5pJX>w6R!Zlkco|95+f*in&x=rOZev&qs5*UvWTU`Z9dd2`T%0Ei1X|o~@&;lW#rC zOgG=6mYSAYU|{Ckd>JdZIY)&Rx0?5JfFh1YR@J5e>V6FR+Ccy5HBFJMZX0U&)O+8H z`xT{y_Xaeu`*l+f=T%vmBW{s5@&s1PgEqJF+mCN*kR@3OW5E5GX(8+r- zXKcDR_4NUi&BoNnj&qC(tY5EWJk`TMcX8=F6lk<38PsT^*6scMc4TKfZ?n?(wsgKM zCwGv!RbIVP|6tGOY+NdQL@7{`NR$7tX @OkABL?h90nw^n=*ZpO3jTSL*X~HOE8k2RMc{_NF=i4n+`PWWppGx%9H~`s zw?S#YF_^3Do >HN2YOj)f9-wU%;z@O z+N>hf0q2 H^S$2H(1{dp}drmr9^c2}r>Y+}p3 z(8Zed5!padkzWkly%FNmnr`3y#LOjJEl7r;67Y!4Zcbp~Uw+81xwzD1<>d7CZ