From 89c954fe42e85f20ec1393071af4d54388fcf3b3 Mon Sep 17 00:00:00 2001
From: Kiran Ashok
Date: Thu, 24 Feb 2022 14:07:30 +0530
Subject: [PATCH 01/31] Bugfix :: wraping all text in statistics widget (#2182)
* bugfix :: text overflow issue fix
* text wrap , padding fix
* updated styles
* making overflow hidden
* bugfix :: updated styles
* style updated positioning for trend arrow
---
frontend/src/Editor/Components/Statistics.jsx | 26 ++++++++++++-------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/frontend/src/Editor/Components/Statistics.jsx b/frontend/src/Editor/Components/Statistics.jsx
index 33d8f977d5..f3d20f1a57 100644
--- a/frontend/src/Editor/Components/Statistics.jsx
+++ b/frontend/src/Editor/Components/Statistics.jsx
@@ -5,22 +5,25 @@ export const Statistics = function Statistics({ height, properties, styles, dark
const baseStyle = {
borderRadius: 4,
- height,
backgroundColor: darkMode ? '#47505D' : '#ffffff',
alignItems: 'center',
flexDirection: 'column',
margin: '0px auto',
- minWidth: '196px',
- border: ' 0.75px solid #A6B6CC',
+ border: darkMode ? ' 0.75px solid #232A35' : ' 0.75px solid #A6B6CC',
fontFamily: 'Inter',
justifyContent: 'center',
display: visibility ? 'flex' : 'none',
+ wordBreak: 'break-all',
+ textAlign: 'center',
+ overflow: 'hidden',
+ height,
};
const letterStyle = {
fontSize: '14px',
- marginTop: '12px',
fontWeight: '500',
+ wordBreak: 'break-all',
+ padding: '12px 20px 0px 20px ',
};
const primaryStyle = {
@@ -28,6 +31,8 @@ export const Statistics = function Statistics({ height, properties, styles, dark
color: primaryTextColour !== '#000000' ? primaryTextColour : darkMode && '#FFFFFC',
fontWeight: '700',
marginBottom: '0px',
+ wordBreak: 'break-all',
+ padding: '0 10px',
};
const marginStyle = {
@@ -40,8 +45,10 @@ export const Statistics = function Statistics({ height, properties, styles, dark
justifyContent: 'center',
alignItems: ' center',
padding: '5px 8px',
- width: '61px',
- height: '24px',
+ margin: '14px 20px 0px 0px ',
+ minWidth: '61px',
+ wordBreak: 'break-all',
+ minHeight: '24px',
background:
secondarySignDisplay !== 'negative' ? (darkMode ? '#206953' : '#EDFFF9') : darkMode ? '#F8ABB8' : '#FDEAED',
borderRadius: '58px',
@@ -67,7 +74,7 @@ export const Statistics = function Statistics({ height, properties, styles, dark
{primaryValue}
-
+
{secondarySignDisplay !== 'negative' ? (

) : (
@@ -76,13 +83,14 @@ export const Statistics = function Statistics({ height, properties, styles, dark
style={{ ...marginStyle, marginRight: '6.5px' }}
/>
)}
-
{secondaryValue}
+
{secondaryValue}
{secondaryValueLabel}
From 29a21d0a895b1dbf86c4348018adab89d5ae8767 Mon Sep 17 00:00:00 2001
From: Shubhendra Singh Chauhan
Date: Thu, 24 Feb 2022 21:11:46 +0530
Subject: [PATCH 02/31] [docs] updated typesense and elasticsearch (#2341)
* docs: updated typesense and elasticsearch
* minor fix
---
docs/docs/data-sources/elasticsearch.md | 73 ++++++++++--
docs/docs/data-sources/typesense.md | 107 +++++++++++++++---
.../datasource-reference/elasticsearch.png | Bin 104660 -> 0 bytes
.../elasticsearch/connect.png | Bin 0 -> 45245 bytes
.../elasticsearch/elastic-search.png | Bin 0 -> 29460 bytes
.../elasticsearch/get.png | Bin 0 -> 24354 bytes
.../elasticsearch/index.png | Bin 0 -> 43359 bytes
.../elasticsearch/query.png | Bin 0 -> 30919 bytes
.../elasticsearch/update.png | Bin 0 -> 44682 bytes
.../typesense/collection.png | Bin 0 -> 43802 bytes
.../typesense/connect.png | Bin 0 -> 42015 bytes
.../datasource-reference/typesense/delete.png | Bin 0 -> 26778 bytes
.../datasource-reference/typesense/get.png | Bin 0 -> 24145 bytes
.../datasource-reference/typesense/index.png | Bin 0 -> 59319 bytes
.../datasource-reference/typesense/query.png | Bin 0 -> 40629 bytes
.../datasource-reference/typesense/search.png | Bin 0 -> 39683 bytes
.../datasource-reference/typesense/update.png | Bin 0 -> 63190 bytes
17 files changed, 150 insertions(+), 30 deletions(-)
delete mode 100644 docs/static/img/datasource-reference/elasticsearch.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/connect.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/elastic-search.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/get.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/index.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/query.png
create mode 100644 docs/static/img/datasource-reference/elasticsearch/update.png
create mode 100644 docs/static/img/datasource-reference/typesense/collection.png
create mode 100644 docs/static/img/datasource-reference/typesense/connect.png
create mode 100644 docs/static/img/datasource-reference/typesense/delete.png
create mode 100644 docs/static/img/datasource-reference/typesense/get.png
create mode 100644 docs/static/img/datasource-reference/typesense/index.png
create mode 100644 docs/static/img/datasource-reference/typesense/query.png
create mode 100644 docs/static/img/datasource-reference/typesense/search.png
create mode 100644 docs/static/img/datasource-reference/typesense/update.png
diff --git a/docs/docs/data-sources/elasticsearch.md b/docs/docs/data-sources/elasticsearch.md
index c09c802764..a2c73ef57f 100644
--- a/docs/docs/data-sources/elasticsearch.md
+++ b/docs/docs/data-sources/elasticsearch.md
@@ -5,27 +5,76 @@ sidebar_position: 7
# Elasticsearch
ToolJet can connect to your Elasticsearch cluster to read and write data.
-## Supported operations
-1. Search
-
## Connection
-Please make sure the host/IP of the Elasticsearch cluster is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please whitelist our IP.
+Please make sure the host/IP of the Elasticsearch cluster is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist our IP**.
To add a new Elasticsearch database, click on the `+` button on data sources panel at the left-bottom corner of the app editor. Select Elasticsearch from the modal that pops up.
-ToolJet requires the following to connect to your Elasticsearch database.
-
ToolJet requires the following to connect to your Elasticsearch cluster:
- **Host**
- **Port**
+- **Username**
+- **Password**
-
+
-## Querying Firestore
+
-Click on `+` button of the query manager at the bottom panel of the editor and select the database added in the previous step as the data source.
-Select the operation that you want to perform on Firestore and click 'Save' to save the query.
+
+
+## Querying Elasticsearch
+
+Click on `+` button of the query manager at the bottom panel of the editor and select the Elasticsearch added in the previous step as the data source.
+Select the operation that you want to perform on your Elasticsearch cluster and click `Create` to save the query.
+
+
+
+
+
+
:::tip
-Query results can be transformed using transformations. Read our transformations documentation to see how: [link](/docs/tutorial/transformations)
-:::
\ No newline at end of file
+Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)**
+:::
+
+## Supported operations
+
+#### Search
+
+This operation allows you to execute a search query and get back search hits that match the query. Read the Elasticsearch's `Search` guide **[here](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html)**.
+
+
+
+
+
+
+
+#### Index a document
+
+This operation allows you to add a JSON document to the specified data stream or index. Read the Elasticsearch's `Index` guide **[here](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html)**.
+
+
+
+
+
+
+
+#### Get a document
+
+This operation allows you to retrieve the specified JSON document from the index. Read the Elasticsearch's `Get` guide **[here](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html)**.
+
+
+
+
+
+
+
+#### Update a document
+
+This operation allows to update a document using the specified script. Read the Elasticsearch's `Update` guide **[here](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html)**.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/docs/data-sources/typesense.md b/docs/docs/data-sources/typesense.md
index dd3fb76f84..8fc346df5a 100644
--- a/docs/docs/data-sources/typesense.md
+++ b/docs/docs/data-sources/typesense.md
@@ -5,28 +5,99 @@ sidebar_position: 20
# TypeSense
ToolJet can connect to your TypeSense deployment to read and write data.
-## Supported operations
+## Connection
+Please make sure the host/IP of the TypeSense deployment is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please **whitelist our IP**.
+
+ToolJet requires the following to connect to your TypeSense deployment:
+- **Host**
+- **Port**
+- **API Key**
+- **Protocol**
+
+
+
+
+
+
+
+## Querying TypeSense
+
+Click on `+` button of the query manager at the bottom panel of the editor and select the TypeSense added in the previous step as the data source.
+Select the operation that you want to perform on your TypeSense cluster and click `Create` to save the query.
+
+
+
+
+
+
:::tip
-Documentation for each of these operations are available at https://typesense.org/docs/
+Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/tutorial/transformations)**
:::
-1. Create collection
-2. Index document
-3. Search documents
-4. Get document
-5. Update document
-6. Delete document
+## Supported operations
+
+#### 1. Create a Collection
+
+With this operation you can easily create `Collections` in your TypeSense cluster. In the schema field, you'll need to define the schema for creating a new collection. Check out TypeSense docs to know more about collections **[here](https://typesense.org/docs/0.22.2/api/collections.html#create-a-collection)**
+
+
+
+
+
+
+
+#### 2. Index a document
+
+Use this operation to index a document to your collection. You'll need to specify the **Collection Name** where you want your document to be indexed and also provide the document data according the schema defined in the collection. Read more about Indexing a document in TypeSense **[here](
+https://typesense.org/docs/0.22.2/api/documents.html#index-a-single-document)**.
+
+
+
+
+
+
+
+#### 3. Search
+
+Use this operation to perform a search within the specified collection. Know more about the search parameters in the TypeSense doc **[here](https://typesense.org/docs/0.22.2/api/documents.html#search)**.
+
+
+
+
+
+
+
+#### 4. Get a document
+
+Use this operation to fetch an individual document in a collection by providing the `id` of the document. Read more about it **[here](https://typesense.org/docs/0.22.2/api/documents.html#retrieve-a-document)**.
+
+
+
+
+
+
+
+#### 5. Update a document
+
+Use this operation to update an individual document by providing the **Collection Name** and **Id** of the document. You'll need to provide the updated document data in the form of specified schema. Check out the TypeSense's doc on updating a document **[here](https://typesense.org/docs/0.22.2/api/documents.html#update-a-document)**.
+
+
+
+
+
+
+
+#### 6. Delete a document
+
+Delete a document from collection by providing the `Id` of the document. Check out the TypeSense's doc on deleting documents **[here](https://typesense.org/docs/0.22.2/api/documents.html#delete-documents)**.
+
+
+
+
+
+
:::tip
Make sure that you supply JSON strings instead of JavaScript objects for any document or schema that is being passed to the server, in any of the above operations.
-:::
-
-## Connection
-Please make sure the host/IP of the TypeSense deployment is accessible from your VPC if you have self-hosted ToolJet. If you are using ToolJet cloud, please whitelist our IP.
-
-ToolJet requires the following to connect to your TypeSense deployment:
-- Host
-- Port
-- API Key
-- Protocol
\ No newline at end of file
+:::
\ No newline at end of file
diff --git a/docs/static/img/datasource-reference/elasticsearch.png b/docs/static/img/datasource-reference/elasticsearch.png
deleted file mode 100644
index 7f7879710898c0022e08e82acd26804097294183..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 104660
zcmeFZcT`i`_6AB3P!LcNkdBH}0Ribzm)4J0H|l<%kKX39+!Sh!x~z
zHL$Soz*tzgT-Wh2XCj7z?_puxw6~FwQCER>l!-wnfCw4uyOT
zCyo`ok8N}myOp|?47yAa-b;4|IB#J~?cwS?=#s0#V!cJFK=$z2y{uurd)cZ|*O*MP
zJ_d5fv&59nFPLM2ThTMfX_WxhO?V2q;bqEY$(J_DPERaG^ZR}C-JW>2(y_2iI%4F*
zu^8F+wPV7V2*rrZjM#48nvW$+$@(FBS4inYWJ9AFIQrs(S-x#_6IukFm?gh^
zpjt?{#eIiaj(t5Sb;*ffKBUf6=bD)|lrd6DK*Z_^WfS95N)(STt2H$!3VNRA{>K^Hj^PPL1#KCQJfcd5%FP{n)u}77+>2EvU
znz-S?9J(a$AL@M9I^=Bbo4$pw3DFdVv-jM6Pb`a&o>~dVn<-9eD
zF0DUswvd=Em&T0YZCr<8-5YZ%ylvMS!M;7P>CIbOkKg!+l4URJz*WD1jB40&y8nYck@~0bbpw()&vE#-rh3|=9@B_p2kvdumk&>0LkzX_e1@<
z1*fNGu&)atW@h}4leyM}u+ToUJCge?A)d}QWf~zIT-T1dGjFIR-F||r
z-9o>#K++H>c^&^XBjJxgizt%zHg=*piTJk)rql_n(A#DaV~nbyqTgk4K0jf?SCAe0tjt7k
z`=PT1H7_NbT--yu&%N@*<)p&zQe?Rp9Xjc7M|{WzD*<%8yj@X+-Spiq`j
zhaVk3jPHD~kad257d0<$sBt?VTp3&$?waBnJECx!ky~t4yi`n49GA(got&keS*?jm
zn9!;M*!o&f`C!6K
zpBQx)bsrUkZ`AfYD618okpD90Wr>s4LM*f1@QaunVdDzfif4NPOP0NkoaJ#v6b9i1
z{4xcK>rpVyB4YV36RJnAe
z8AVB%t&vA-6RXayE^gg!9_!U>hbyZqUTZmPDzJhf(QokL$koX;m;Jqi_?0bqbN*#l
z%SeDF;}czLb-F+JHN3`E)kNGHg
zFP&$TK3BBI{~l0xy!5zPtMs~jNVEeYp+Y^P=!hk<WTiVy~!a6dhhyC!s_74&ctw+=4@T-UNz;k9T@IYVpYP8kU(f`iEME(*rh9{yGhg}Kzclv
z9xQp8yak4CDbGA?VmNO&4?8&uI
zU3RL%RBIv7$jgabwAq?qsXak>DO0FJaZNt4MxyY%Bn
z+sya0_l$RgPB>1C-eR>nw^nQfY#_(`U2vSW7hP`zy(9nbc-x>-dtXG5*TZ}h-B8U|8+B$H~ih5}l)`9lHop?p@(q(!KGN@1BirQb+R
zCkiRqB^rhsUJxd!teEO*T7GD;vlzz~p-G|YrG3YExBHb3JJ5FTX}C>Ao|`g2Wkw7)
z@iTvxSMF$!7oRBLdCvq-GOsA`5a?pK{5X9NK2=$#vZuVQ?rEb
zpQ*(%VbmXh44BU)y*KGTwxsMf>gIq-a?f)@jw>enVtL0(Q(QSXpw0fecdh`t4%7`Z-O-P=9W8sI!MZ~lPDoCZhT3u
zQ3Xitg1lcxlq{DtL+*RZOurcZgrt#lxZ?n66gG45t#WYtNiiQc|E>nMIiv=^V`
z&^`&R@g3(vAetUJb*xgSCncpai^h+9soI?=HZu1x8mEKQm-W>-?$Mu%BSEdkCkRS3
z@6q%WLu2y^)}GXKi9mC)sJx`EcI1d!{+7)xfl9$#!D_lNk&&sz8Q1O7?m3j)L7hRSc@+$Ml`+L$y#XS7|vN;;oq2WB-A|{H)hi>r~ndco4ox>8p
zbH3yLxU@m>)RLSM^vq*#yM1@GNt!?ZQTvgEkIr`SmhU)07OAKNuVfk;e7LGNlii=)
zA8SI}^wjs$g?DpvMzhKHSZ4wWyeC2f8}?WTdxC&C5-hqy2QUxR_>I&p%S(}f7XR;1
zKPRaM?5{yHTQ{b+*Ow@;KsDbFiFWP28}p~(OO+2?C-9Ff>lzu_3-p&XF|&*&$&7nwxn(cvK;SR
za8s>CA%<2zxnSInFiTwpD-{(icFgg0tZUfRSa_HtY|JKsP4l1Q7uc*=xWCThU}1&W
zU|sun8CA^w>Jx?8uIl`2j~g9~MS%Hr2eWx*;QUb<51fJf$1yG!<{Fl?ri_9DX0K`P
zY-#D}Vhwb?vwV4V<;EL%JxuQ?9$jtN3K~q?nES(RUg^5(swj(?10A?tTL8^0xjY@-
zT-^st%u@t&=wRvkn$gq2-qA(GQ~bfN5+a!6tJB;M7=IOUwG)4!tD?>*19Y}z6ySQo
z_2hvBAtNKBn6rhIh=%Noe^iR~6o7=;~gUf@D3+N2s<`EVa=6=G<&CAP)
zDZ%OD<>>m_lhe`V;lFP3$9-fiUCf5`TVP&mYz2M
z*OH^lzaI{t2UuKZt%
zf2yhbe>HiY@(TUA>YpzCwW^kjrLzps0n?_d#Q%-gzbpUw;=e13abG?9pG5I5IsZC~
z5wrxM825h$O@fepZ7l&ajr$V$KR
z#NL?3OSy|==-6RMeITD_df)Uu{@7R;_FHg3c7VKsyr8_IM;Q3a+d#rFZ01u+8tH7B
z=Q&EplFhADR?CN*hldfV)Ajww(W#!fh<*eD<&o~2=9<^bq)iip|AW~7C$+y(
zxc?X0!pMvlK`YJ-I=WyZAf=1b%u|&+5YJXiS9M@l$g33*V@XpTnkgue#=WXxPbEL3UuvzqO8Aq27U<1|FRkxFJlS!;NSb
zHOHiWgUu4Q@WoWJB>H_hFEhT%i~Sv5qJ6au0eS;wG3JR-sHz{B+qw~`3=6k
zQdsBFz8J4{igC-=0XII?<`SM2xdFx%()}CRW6U*B_ZFl2VP4#I@VV1+;olp4)J<$0
zq{ZwbbNDMd)^rgsDOI`|mOM53=;1t7MaVuClTk2jw8S1>w1j4{MQItw-*@qtO)6s}
z((fA)SS?+IOU}K4P0rn)k%iRZqYl6M;hpHJS)=I2&WFqvee^(Kfxn;Jr1o#zVnu7R
ziYlfwR`I)H*Be}XUXVooHj$PwV>+w$DJMzFt2<1f9Jo&16(!9C
zY~6>MYsgnnG#K=8PqVSr|4<%(C>H^}z$J+GX`EXL}HL{X&xPspFiWI=R>wDCvYt=_upLi
z)@f>%C#2{EqLL?YkivT=F@8aE`bX|4ejVsr%KmrA*V1L0VT89>^H^C3Wd5R=j9Qor
zXw4!X23FwZmx_()QjrMb!<5y%i~Pl}xkDZuQVf_}XF>H_}CA*>{ksQx)&a)}tc_07kw^XN&ozeksw
zv1)-&VWs*767Hr^rER`U?|-}&lrgQ>P`~leW->odYjcqOsH;>Ou#`%dxT6vvH7@9_
z`tdJgF4c4W>Y258=vXh$)`Fbp$3A!>c`fd;sS8yWb63`fZ~U~CUz*Atr(048pp=@o{0RqQ1D^$*iX5TA*$&ToCVF73VsI7gNEIX
zT?sr{hKAp=>(Zm0^Xu}|nNeX2f-VjQHK-_mwF{1);pCr*lw!%6{U!IX@rq;K7Pdgm`jHy`Q~a+&5ES+;@7k7
zJ?eF8zC;jQ`sNXXko9Q)QEr54s>q`%2LBPNmO)=W8bOE8TmEOytGA{e$wkt~Xe=30
z#zNGKAA8jO@aS#DLHb{e14nlvo6p!gdYrf#N)y0rzBX?UmYPVGZvS=8WOVyA|D^L!
zu>vRS)n2G3Gn9`xjIQBx8ZgQ+=f65rzHE^u%8rixOaiU~&O7?1#mj_{5Rm)KBA`Q=
zDnuN#B-*pbJ7l~bt#-UtLmxdO2TP4rYz8X>4Wn3U+(P@C&t6aq04X=#V6P+ekH3JM
zHq7jdz8ZP@oc?5|dg}VIaHf=PR`>9`xCerHTBPRlm-j^D1vvEZVzg0kL<%E^8HaGZ>@#0p$-qYUHgOY})!lrtHJxOAUj^8{}HLWUctfNV(kT;`N
z?2myj)-!=e5!yni=_L~Ia^F3c86R}xM_R#AgC6~2oqC9?EnK5Kk(4vxuXZ5Ch`OHr
zDx+chKv4OR5Bj#AQH|cq4RNz;&t%EA?ip}Wjr@CT79>k0KFK^4TY9gU!4d4${Z
zaiyXTT{H_bE)ro5=t{ZmD^uN6xNN47{>Wfp7th5innaL1+8OUHkQAc%vFPKgj6&({
zfzJz;hYdPpeDGrRlV1V(k%4@igamNr3N@VOS
z<9)zDv9a$2Ypl19Ftji35-&1nmZtxPXlZ0ec+uTeCm`5YonWu)8m23h8msSZOnE5h
zo+xHzJs@>_Ac*+P)remg-XU7@x(t70vx|nczGi%HQ%bK}&~{J)L3(Y&cb{j>w;tEB
zvE*1Hr8H8rS(SKo{Lv2S-Hlzb2Y|K7W(SPM>^oI93PznP4;jF?mU|b_BgBa|xI618VyT&C!s}m`q&I
zL^y1LMk!7)&+$Cf&HE#03u08v;U9bE01-<#80y{~6)Z?aRoRL?I0v~?py(GSxBM$%
zmrbuLZhF0L(6rhwyq*2Ujpg)wO
z#KIwgR?O{9TDFG=pbt)lQx@!m{QBFf3c0u{qc$&R8$F<$g45QJ;7*o;9^Zy1?qL#In(WGh7vJ1=>G$=hIJMj9%@Co<#Pqd`wW?$ZPL*T(S$eR7~bgc
zu$c&f-ddWuWr?c8u--_O^nE}m&V9$r*+9nQft6ST&f)u+2DxVrswW)<;!L>Sk^sDt
zK1Dvh7T3U8$JVp;wOGs|E|Mo76GxX)eBZIywNW|w$%70N6I6HYxl1E5HHSeTZ7q*R
z0hDn2vV6&PibltTmq<
z2+-gTX{Hak@f#8w3YJpDhqA-6w)V;wr!6TEy|Io@KcRS`9UKxBalmh$jUO5KN0QVw
zB{B9#e$)I?^xJ5BQGq0}SO1qPP^Xv9RFdgQ9Go&LL~&WQRJqX6l>nNFkcmZaRi7@p
z#jCLfjKXqz(^ePnZow;Jtiz4A7K!y5Ii0tBvm=H(fXjz!O2febTs^ez1m$*HWIC$A
z>SsCpIj#w47r$`s8g#;BH)yoa4~P75XH`EOFnc`@XkP!b(h+poMn3fId^~D|CT$X3
zvpFCW=eJ!}^|dGxeYj!`B)nb~RJBq~WXsU&ZfAokepX*pnz!kT-`#$Bs^a%Wn|}~O
zETHx6tdwk9Vy2|vm49WJW)BT3>Dr{0?JM#6X|Cg~=1VB2hmKoB*7EvvQBb4s>`rP<
zcaG6A0wz)O9d|3o@HMUqpvy1SVMlsHKg`ECqf2#P{!C1=3G!fGodW}>LdrX
zEUGC{&hS)+*XyVf9rQ_6{m%hdrAzLoPs9D?)f(=XrprB_AI|Qx-DXwucWN4T2(Dhc
z*bn-NJuP3WRy#k;jjT(cAiVsl)H5oxuKzu(gEQxJ$Xa`TNgL7g3JTbk;>Rh(R!bP+eI_u>JeS+za)l5%5kU6F-7%(`k$y7BSU93m
zz{^0GfTLgJH-A)K9EXjLwV>yVV7z>@bQ^9|n$6&=q^DxZG1u&Gng>b=->h8Rj2`l3
zjTe%vQ1+>{aOUQ)J@Tkghn1Fnvgt}3%MR-Hs%Mk``o8?glbYgUdzgB>3KV(bUvhSE
zG-Kv$x_4=l*!-qUbBZRq>FAhEEoB}bjXnq^(#RKx9X~LcgxS?
zKBEuD_TzUpMOW|u!!_yLbS_|kjU7?ToZ@XJGQOoGq1h=3gEB;UopMm!a-)q
zMJnWo_PGLVHGQ}H*1r&wXxctdS7qyBqRl%R)8hrm&O{y6{s&mR{{<{4qj^t){sk;B
zhKqz6GKW*7&8$B$W7KrHCm
zgr8H88a0yDihxxLWvTt?r|
z0r83>8}{A%BDi<5D>C2Ul6{_(sCq@JEJA
zck2KKU5y^oj_>0RRW9uyI;@%(0-!-^G1dCOP~e0O#Oio|uVk^iq&b#U^5n6q?sS#8
zoz1IDd&!^PDd6j1&>;gmce8gc(0EJAYsbjWY~8H|qBT<}aOuy&(If7KYwR#6>TxR6
zl`dK0_Vp*QktG#$^9_lpt@TRLF0gL(1xw22(V2W=#Vr4_P%jOf3eoTyT^al*T6k-}d`EDK?nfKYEVwJ=yfxbPs#^C85>l{vobE?7~d$0qc6G
zc;)jAy_kU2Bf^a72u~&)B(Uk+*i~H+q%Q;rTfuTeu;mAqgZ!tD%*oh~__6a3dkbUm
z;WIv`#w}P*mh)zx!8J{&+r8ZQ!)>WyXh0HZTv)}9{Lb^LoHly&I#ZD3`Vq@L7
zd;VOSpl%o?dA1*Jja8)i!R&dC%p?WuY;l#l3qvjyoe*r*D^*^unQGSeHTL-WTRRLD
zbLV~(UHFPigLnfX2gECw2Zxf}N&wrO2dnIwR#ikynCTjj5G1b&+HjgAQjCbapM0i=
z1{A+KdA+<%WSqhZH+IRX*hm}Pl!P33A@uk$ObW{r7Ik;s1nIvpGgyJ1*EHDGF94T*
zP6QpCNdn*{mGsKK(~0>S%a+;OedG=3b{w`>r5P2peHi%(*|Jsk&sRxy9ji%%9$5>!
zEP>DPc020D$AY0hl@wBkbnqtcR;)juW3|IVAB1@@nYVv*>Pcge(6(yYFRwt*3Hfag
zDtbYTbO4ip?iuje3D=uAR3aIRs(jr#`(*e$v3_IV?l-kK`OT?iQ6wty9X{0vtgQy2
z*~`V=3W1dhLh3tew>CvBHbVKPUs*>L1Qx3jufd||`|%jY)Cd?yw)OIc;*A~yIei9`
z;QpIe;ObK-e(Tobq=%T9-@UpXfB;>ZkJs7Nh@Hr)D5OiIR$(TxW(i=D;Y%(@e@P|D
zV_kiZl{wnttQ$Ymo$*c)u%R1OV(v3F__O+wt;`-r_fAtz4l8o{THalQw*Jr!`3q}<
zh2waI@#Q|IF}f^qSCaTjr-|(zuJ18T`V+sZahag}E8$23E!dx+CyBLMPg;2Bx(tgnYw(
zt-3aZ(Y`)K!)fq7{hMmhkArQe-MB~E)lkni7vOf$`+a>o7;w&YZpS(nZ84US)+b!~
zv$UGFnuVWgqB#Tu%o_b*DLNJdr97}Ni1l}$g9_ikCLb6Y5RuXi$Y7`|+gNe$jRfn2
zseA)}v^vZ@JePQJ9Hu6`-f)nto>7R)F5tLRSW!~_6nLau5s>~|+&GH@l`2toa57Y2
z2LdqQScbf%`fdFSm1E4oL3)z-_i2-{rt?hIDs{DKx_G3}NBco98mI<7w)zQ&3olE0zx4Tf~23~1L1Var(dko?r*Yf&l
zi-}r39X^Bh;m>
z)aX!PI2ADT+d949HvL|ghJejPX)*ZmOJyB}XGd9+q_kodZ&z(qSMt}N4roPUK2h=VrlA~}@CkF-kU!CO5t+-J@>mIfhm
zze`*#KuQ>sX;CkcYGdhjI+gZ-S8nTMPIMP}>IUm_Uhd-bQr_FoRwgH+jBiI4t3bJU
zG+{KXEXeOBNfO$Q4aE&rN@my_6K>7j82@M0gt^JZy7Vh@BmZ?{(om5m4QS9ih3}Go
zRnXI-1!78cMHjjNK9Wvw23MP=iJ7aWOh-FQLMq&;2HRcnUV9kbUJke{8sOrrH28Sa
zDoXCC(gjXG{7H^-@FJ5e8RFq+2PyCrQ!Q%?iR>(WNoKLxjbYICiaocRL@mc!(xSVr
zAr7+x-K#`YQi}OD4mRb8^Y@m!*THp*U!t{-sNEB@@uBD=hSJlKE5Leq|E+{E#@XdX
zROa?AtVX|+5@x03_>E+2d4yrezlYA+f4c!5wO{fmuvmqdFvU~dh
z)Rh>Q3vxvD82DItc>WN|0qwMN$(yJbjWqE&_|zlNy6Z7>d3WGcn`kA&zbHvCnp%s&
z72nCl{S5d*W=sM%grIU`RAp027>pkDtuzQNBLj3AY&C4Ts${OaX%IM^8y?J|`wOq{
zZVhJ1S#D$}=04hiO9xq^JnAef@Ku$z8AD37ZFKHD>`)<|m_TEA~6V!MXpjjSM~zx+&taJt^TL2uwjGs?JfZR36a~3
zDa$}y4RwTVJY{@*6VpmdQ0rj@+y>6roP3TUuUX#{QA9m!f7B#>xZ&FnIg!&5S7eK>
zvFM8a=}HhSY0crVTeE`-usW8bA<-??bi29P4ichVvQV>MLJyG|XYl9?
z`)zgnh2Od`fk{<-V_x@1m>qrnZ=~q2S^<)nT!f2SGFJ3L-#_$-kqT3!t3|23_-bda
z^Y=a4mcxXF7(6h+nJM9a2w*bF%*LC*yYn^kay)m;qIt~QEoj-C>**!^46A`N_g9DW
zVlc7VJ9T7vvx(Qinzv$P?*Em@{nckFi)+>P)A!M&w9y;m6-sGhbr{9%`7G>|01)=t
z%|1I>mJs$iE?pGi4gs?oGxamh?v?
z5XV$~xdHYCL0ruKUSv{?)fj~^FKDX$hf$Vl5yTAh%!)A2-?z>K_UO05PM~
zH26O?`2W2cth#SZ_)gSR{G%#h1t#3aXk+5H`Dg#6jsAE;sX|U~DWDfHY{1{A#9&`D
zdxo(p=5HUuW&gpd&L}Zf)l5>0^G{O~^VQV!C8<{a9}2YiW2UCd^#G3F7{Y(gB>(He
zm1O=Wh5t$64-@>KF8ogy{-+Cn2AcohSOk)3q!nJ^A2pn(W&pa|nXaQq!5#Omk?kM+
zrt3edrIZPvauM_~MUx(##o{2#t#mY#KZ0m6T7yz??kygZ5yX{EpO2bp#-t$ArH5b>
zA~V4cTzt$IB&B~>$a5uXW2~y9?%=_DLis*g;S{7P-#UgM(#-4gc@o1X=gy|_)wI;C
z@V}D=ajspQAA!%BY+PDIww|R;Eh{wp;LSH3o%m?o*95X5D3vk{m4mK#uV}l|xZBFB$pq
zpj%v*vQ5V4jar{hi9;Mw`U=4}&*l;-(&1Bl|M6R-TnU*TsaJ2!Mr%CE(dmF`Jn@$R
zX~{D9W76*$PGR+Z!ZfgAu18_yZgGiM1iRTw#w8r2`!u>MX~vJV6h_enH*twgc~ZpC
zj9!fo(C&sfKtrW97)=lXzR?g&H0~7-G!HLuWY4BHcZI
zc3J|OaWGkJ-|_kd7)70SO-|ZeLsnCvhTdg2x8O#+R-Locu6^-3K4psd5wu$=0Nt%(
zXRW&KR7WyI_*!Q(}6c*UZd&kb_5}QNQ#F8CdV=5r?88
zjj
z=xEhNFS)g|qZWlPeU8}P_N{Z*^-flYUp(tc<4nGyR(F@W=qfibUj1T;|Dot)pCotQ
zsIvw-5@8Whb`&X@W3lsPY3hBd=``0_e;{tTUz?S%-&w62Py|b#wTR0tqYWkM(Vf{A
zQUn^>l;H*R*)zn+U3(npf{Aay1?mqsKA#hi=m$AaaO=yKTlU_GZraR}oCNjshg^Il
zXOHS%yJ$zB%^bmJzQ|l#v+I^i_nV_d|8#15q?xM>J8|`A{xg8x)?oxojW>Mn-}MnH#JO6hmh&ajCy$!L{>QeF85vd^y%|Cc)4yMq~wlY>V}
zmb>A5v&jy
zp7V|u;9P|A=1do)o)9P3+*>%&hTrdlURrHJP*!{cuYEaE_8iTH9SBnjq)yQ3@Xl}|
zGLp}>^tC7+3F@QGdFCI$a|lGV|lHQ2=S^;|IY!>e3@nwd-Wc2!@VL7KJk%&IBp
z1vhNuGcS^Lk|V7ql{ANO+3R53<3GP@!1xU>nwr(lFGKjPc;n8{-L52Lk03q&21>-#
z`t6p#TXRyR_Gf0bkxJ6n;t*V90P!WKD{w~9Sa1t{101wkN`ie&BS=aa4>|!kDtp0+
zYrK7+*{;8YXKc_PEV7MoIS;;8*)pmfu4CwzxFPAO?st3w5AdcFFO4^J6xojCR)_7G
z7?!^~tF$s|@q;`8orMO>YRMoJDwaf$t}_MQab@^q81s`9S$DHqBMM6SY_dQER>CYC
z7yL%Oq0SgqiyYTe<5cu`go)(EQ=N=LXL~>B|!bz5JNuOwd*>zo`kup9v<$
zT^xlQ;KomKQ=DK@dJ!g-3AfM9Mn*~#bu9?V!^EQ&8XU*sEf-X_+56o-$PXMOeZPb`
zhiiEOS&j-e?)_G;3}^s+Rf_Ozm}$4980_lhc@Qbk)x9U_3_~5FFlsd
zH8-h$mZwxC0;{IJr}IEHK|@fLs~x&>)aYF?dU3DBV&LnILn{vXwQbko3`~B9
zX|YyS*g;sioy
z+ioR?!2B3Nb(qOJ?u6U6+>p|DRleb?a&_Ys(}i9~k_#dGF-nR?)e_
z(tG=ZGAWi@+&^HwY2Xk{hU7%?IX5YlsGh|68cp6=_G?^OT!-9B&RJrxmP~s34V6ub
z?TMnEfMU9oc?ZZL@$o`Y9hI_Xebk_WoUf#twRXyU0;3=;O94^51ATovOw%dozi%?oBr2}9DVsxUjxez
zjS6SH4G(t|m%S@*>n{WPTs;I`E}rR?t~dZD9bz4yOsfgFv=g89G#sG>%?c}w+N{pw
zO2pH`kIpM7e7;H3v6)k6S@N0lAsZPZV-%jSrnhz8#JQgRATWUlJZjuF$hB0!wy8$e
z=%&&8PQ9u?;%?r<^NXeUx1#raZN3v>b0+gw+S*FwSJtAsc^^lb*NZlyB40Ks$bywdby>F{gtedc{A#iv2(^^*+>C^&3D>$hIPG?2H
zF}yKej9rvClPIalYatI5hS|C^H^72y!~2EXA7M}?Cd`Y>J(RRm>s^D#QIkrVa_=U*
zzOJd6zaH}Z
zyk2a5qXgGlHHE+9rn=X6{XB-X+Vr+-P!e*!Ke3jwIRO}@d7h7INgxiJ7edgb^;z
z0<%N9%XhQ$Z(UC+rbSnEX8iSP5c;WX<}Wy0G4m|~_DTP^1e5DGp_XdHncqDTUq*tJ
z8za~=swP-r)obriajCa+!k+lVC8Cjak2x}~!OOYBCbJOt-RjA7jNh(^+4rY_(FEzn
zoc%|X!rdZ#gS4QX`Yq9QV?o?Ii=AmI5`sn5Xo$Xp-Svy(EK(8VMj{0rNT}I$Vg2C*
zSGW1ZEldu~IGWbIX4}KgyZh6|j0`lcX@q_LTzFXfy2rG4Ox3ib%B(~jC{1d-s8#Gg
z&=w14kOgBkGL7GZs|u7-JLt>8)@wOFO{6$Fcf^_mk
zi2%=W_%bo+aimVYx&1BWRko$QHd{eFRjj@A8Xz_mr8k^g!Nmj)Ux%x
z#HiEoQp01S88P&Y0y@@p_!+;l67+82fwjhAp8eXbZG7md9IS}EB=TrUHK8P}t{&i2
zqn_5h!kNf_sRfu(Xd_U}zw>
zx(#o%?r2H99h^8*x$6d4Eh%vC+lUP<)CLD?JyU)f&YdDPPOm)R+j5M9tSf1}Ut!`m
zZS-`|3zhEPvj;%GQ*|XE%vQt(X3!RLP#%3s$Gk)HZNy=|5R;6H(f2z8lDo8gv&Me#
z0MMaoa*bnro=6IcZ))-!df9ZTaN7Jtpq2E^Mmi@t;Z#0j17`ZC46?u#vMZ?;Ez*=U
zw$}}~TB)PNa+?>P;q4k+nz%dV2Ncs*Wstz8UABq(ByKc@I0@c#Y4*Ta(lI8xDDWx!
zExy3=;Bu2>N=lB>7o3x~CvCMMuCg!Q6G55f+dzf_TTXi+8Mi1_XOs&-+m@}p=P!uyfmE4Pxm#5wA
zG52L&tlJ%R5rakd=~*R<^Z<04a-qInYvZ@gi(+q_xfC0)hTIu=^v26xu?>ffiq)=r
z-VrxMIH^&jGAyFzVigSCtfr2fUZ}*?@%_wUTHh@
zkB7ndzpjLstT`VHWcRAP(Cj1D=Ep_UJjI;>u>iLX3)WORL)kpN?7T;vX)akStJx`AT
z@HBYU4=v7P5NS&)~Jnl7$
z*6^P{PUSvTK%yD^sh>zqlktC33`!b}reg(;H9XgMUt3Mlk$a2Ucje2&%k_JH*?n0Q
zhe0N~mQ&|Ksq0dDYC>-oJqHH?sMRGJcKOLX>aLTzz6x!d0u%;j>chXDvyiS04ifHQ
z-aX1y2?XB+YYm_SBO|^{eN`n^0G>V@b_BL#a&jd`j>lSyeUu)p4&}bD+MqL(X^zgF
zer?ec)jH9%jB%AOhWka(YglwK!NhOk0DUH`L==sv$00+z<7_<`obrDLmEv-h|8^k$
zzNxt?r_WKwO(gtmW#x)kezk7z$g=^3yI+8m_}d++sV
zg<5+yT+U)+n4*$KsQ1RUtLBXyhLwO+U3s^w^!qJ-UphEn5#Cgc-?2uy?#uB?2T;qN
zChpvA-+HBp4S;_4dI+zZK_&T7Kni5*0B-o`bYiD@%ionjJ4x)N=F`$@mMw-@h_Szf
z+ogLi&G=8x{|bAhUu9pyj!23i`(ZJhE9jYN|Fhf6;y*k6#ARpv$22u?kerhq@)d_h
zD5D}d;;$}N{anLxq&IZ?aWFE!#eu^^&dTvE_&KiJCrZ?jAUIz}iOffvgceJ!ZCHBg
zo_l(GYebgxNB|d|EWy`dHcTqNc}IjnQF^>@1Me7Hs@thjAu!%uyTIluxlpga;cC(mUqX(hD^`x4c-8M3eIk=WuXzv43Sbyy_|MMpb#NHhwYn+seU38^hm^Vy^
z>^eI$7)a`fv};clSBLXIS@ii-D-msFB)Oj`!cFX;X{bBx#{K`5pd+h|$9*Dk`488D?zasz76&`(>L;>e5qyzHzJcr$;1nj{`6}-E@Qmq5?KCa
zjc9kd;DV(PyInCW
z#{okL`_Hhu?(PTpP_4~6&55U=q48oq0uuUY>QCwJuu;B_ua}VTRlzWH0>i0{T=K$AgZ5cV~qF3HmkB`PuRFTSi)lG!DO8sD-j3i&V#?}L(tvLAXi
zo`-k4;`qZc=R}U@dQM98je=_pyuWp8S#rl;VGkc1ceDGwgg*9Z9{u%c9yX&X2%0Lr0TF%Fv-v==C7q%G8dQ$e7-)**w8Yg`V*z?e{H|9{?OlEtrZbJIr+?M
z#7TSUvEk!x9Y6XgqLrqJ>p7d|kwTw(raIOo%?gKmbDMPhyw-G&mW1|1-BEFw<}4jI
zVsC&K)XQ)%9H;CRVlF8<^liYT)!DgS_)s#{0cYCeBCc3zmD;3HSN@kRpktTn!nq{l
zqpR2Q1F@%z9`%na#JrjHC!vjM%$@mv*!#|CxcYYeC!$0|2|+@TqSqjZPDDiSy@e>z
zyU}I@NhAb`-h1!8n~8{E^xjSMGMK1iW(@!Bea>0$bJjZV=l_@U!CJGhW@i8PU9bDP
zuRVL@xe*_VIbyTYjCl0blVDB&D?{^S^NA&Cf0mf0T-nOcAz%;K-({x5bS&laFpV;)
z{kjX`yrr!3TnDHMo}B;b
z6GQ+aTG7Vb`qIBo=6}2jxpN1&N_jPk5C8p^|2$>jclma}F-@4YEinG4TNMgiCD*6E
zod5B@|2~rcGlqY;24D<=G@Nb=?II%6*U=y4VhMr4jFj@aZtI`=f^(_Ddaj;-ILiYQ
zqSU2L6pr%n-CMAoyE#ySnq7k(Ww>8SAef1tDtuSE2D5YrC{5)-8d3kgb#nifTzD{e
z<17R9o{Y&Wk$36TVCRgA78{lJUVbZDpaieblwx)D9ef;4&
zxzyXA5`#F*+zHm**JmiNu@L6269GKOaQJ5YKiutw5n$dwey0QQ=GYgx`ZdYrP++H#
zrw4N5>;V;@z%xR)jGj!fy|8;{bUp&wUi0NT>qfye5wXK>V2m;
z6JYxHLf-a)eh>j1PQz$C)gSo>CKgvmUL2(H`9B@`3soo$|Ff(8nceVrlmw%Pp$gf%
z3hQ1f|8USpKyMgJ(gFg;Wi+QW|HME
z3qJ2|T?nFIOH@@!_>!QyDRDLZ@p|+f)#CMo!CecCI60a_l=~=>(Z;VRl94#aY<#Fc
z42+W#PtE#Z2BfH;wf~AE4Ah(?-*EfkSp|0Zjj2SekK?Oh{=Lw6Yg&SD^#Ag)_1%GxJ{W^U}mW-Gt^zcAOGc^5Nk66AVAv=y1`U|l8MzVbAdE5%57Ef
z=;2`Eo+N7(>4-ot(~{tdq$u)sHPOWaI_X4ezVS^`x`dC)O?uu3Y-(X2o)aC-EBbxW
z2{AgCE*h@61YhQz*Pz^5)_);$FF;3V*@|!Wf#lVh*BSu90sv9|JZ7)3&@Vv`6I;#f
zz7!#Z+wWX4wEJ357;Urs)nU~y1i1`1gpMRE9^~H~qht|vU3kPO=9ZAr=Bs+`s7dv}
zS~35)fLU=1sx-7KqE!
zBmoqW2fP-ja368}E3kspvhTkDB=>IIEX#fVcc^@P=?#S6c7GGe)fT@uQoeJMwPzW&
z%7y77zJBc$6TW-1JpG12>~4JK{0v5DztejqL8=8`hY!{-p>b6gO(qbNIt@|hCF?!3
zUYLXq0LnaM2@AdP{?Q-w1zu>cfaq}lP&1Scws~rruiRl0na#P2XHJ_^?13gcjESAy|>5w#d_MLd^XJPi8|)iffvzP5=Z;@I!>1h
z7gm~*S`8(SG-Xfnr6!9rZH6-kjeCG*|AofC;yWr?PW+P@u<)#)q(Oye)e08;a(_&0
zOW>0hoUld8pup-Xc^y2~vH+$cn8UP5gFP|-+`>D2W}Muaq)x$z2Lb{C^R0<(u5HGy
z(3~IQEx-^G@CRX%sGmo?sRZkWg;8XFUcPHv+L)lp%ktN*Co!@l6Q;!>hX*tqHnINK
zPXU~sWVecp5bp8H+WLcxz{jXGYjb2bn`$orqr4pSL19)k9mX2#?#p;S?Q|M@;=j||
zsf~zu+L`vMn=wyNOJf(6qbYN#f+c5pGYKbW-wl8&Z5CHPBv>!5WJa!xdHzfOs$~3+
zgK^tF+K)%YlxsLuN{3$vQF*A*rKB0lCA{Hh*kioE)KVdZ`MK%=h|Sb^jMKHCMq96?
z0pN9;FX|gf>15oMQc(N}|AN_eK#JhOhiv~3O}tkCT_H$4JkB(;CFckYT
zfc&0AMr9vOLq5ZY`+U|*JJ1Kc{>
ztxmRbO%xg)E{ozp=P4s2#@nf+K=qrHjcRo8!Su1!_XtkJh;tYrA8Q1eij1riUi1N;lO<8sYgKFyw1
zY@4|B&L|s*y$tB2T<~f0c0SS5Gn1sh%}Es%;%OaB$t3NoMhC6=i6vG7=qJWi9w8uF
zb5%n4s6I<)C3^)i{4#a_O{U|dvOy}PgLms`Do=r1Otj}W%wM{QI3JX-5kwT>JGR|u
z$_=kS=&JC?WmTyuBxBWwd|9SS%vJptypgezXiO~#l_lhOu4jB^nRjQ=9$1FVj~DlS
zK7O_O0f@`2F&?QCqVMo(RpM<_F{f=T71m-FhD-JDT{)6cVSxYKIBLr3+VjyGs>l#e@7@m(T0(e^DMnuiIMTUiYK-r;^$vfm9G;fd0jnx%8X{XH
z8+)tr#cM)c9U!womH7~BPLINJ439CQd9`6X7s4yO!
zm7N*ruYz((7fliQ``Ad^H@O6smu*dy`k>IiDUP5Zd3x|nT0!`cYu6HBSDp+F}~UHNLAL%
zY7o6YVE|8n>W!r&ULKI=7Yt+6?S7LoQK^y0jZrBF6Vs#}I~~k}_G2^J(D3a`Voh$H
z=GW=q%ZZR*1IQor8#EW+;)ZU;7J;h`g0~>ZJ9Be_=~-1_8%_=|mzlTtawJmCO89LY
z6!M+{*n@=n*qp4|eWj9yFprx&=OEt^O`VQ-tQ6D7Rw$A|;YWwKv%}~jvS@QrJz4e6
zUbHHtV1Q-);N;%Uz9m2OVoM`aifisrzi7bj^=+nGBY3mX>1P#A=0!d&4oF|8k;bdq
zgJx$-&^LAJ-khgM(QMVHdsa}bkP%||%^s6sdqfh&4RqUf7pTf(w6n$gYo&8$i1ECzsTD8_Y>fYB6_QGCM8dGyzmL1Jb^!dGF0+R+AcMzp}qYtK}OSNneelxzaGP
z?fCmjXk;BR!)%>x9pvLwGOWZWyA;`PNxKPhZkDC_ycp-I2}c?h!#0nZPeeS98uzA<
zR~1$U0`b{AZtC;J{mUA+tdsNcEPA}Lucm9)&kJVHq)CW&2h4DxXVMGlgTmq5j_LwJ
z{P_gd&ZU3zCr$X{Q|6qXi{kNxEXj8Sbbj7?o;ZyS>kjSP?{5aRTEqPFWM+@&^Lq|8
zunxB2qJ!(##^-ou(m34w6Y*EobowhIIM!!5x`Tx62F!VR_uX#;+(f!iAhaE`MB;JU
zwz?59R_VW*9qfl>tOg|o^9m0Rr!ZN!QI1U9N`a}O;(=D^)($Sd&7w7tH0rlvyA*sN1jz3>LfW*gC1AnLp1D-
zv%ea=8td3L1f5JZor;%C(^*!h-*@UDu7GK8D12Jyk)2kw*P+3ioP*h)O>Ub>4SRbZ
z$aK9-6I+waINJH*iyx`>CAWXTfj8csUEZC3y7z-&1mLuqdXI3RCVL&$@ecP$B#N@5Y!p;iN
z7-j4+vm`eHi4tb3oVsg$e~j~fA%u!gE1SLQ&CNqxcr5fi*n>}P*9u<{oX}<18sF9
z@ziz(MmQsTwgdIx2D@`zhu4|K~1%zSMTO$#N*zk_jiSTOD-rul6!5caN$Unyz4}X7`csSjqR%^rg4m$Df4t
zoboY{1YK8bBC$XzYy=>iL3JBV&Il_D)CM7bF>jGo8s{CCO@1r(sJ%hp5fBgdRtW=d
z_4La`L$b?Q%6Cvr>s3AAEc+zY&pq`FoM;v)c)(@FM-;3(AF{c``kJim>6;l)*d^yQE9b6Lzp3Z;Tms_PN)aRhAGi#${0-IPOT
zBu#-X`a*4Uu;Y^u;QzT1DkJawf)$EdrB|J&{7hHZ*ua!B9|H_^;O@Op*|Q9$GK
zo%g^Ic%}Zr1Fd`)F@!BF2%fgD$VPR}MXm7IRj`O>7n$jw9uoG?FrGwZoHlKfV|MrU
zdtL*m8QO&e9uOq$`aDeOB(Sn$A!yZSU-jG1rMEDf&^2TBY|Xc0x3?r49og>*+to+3
zw6TwL(jyImpAPMJ5W{|ZgR-q^KmG*B13WHm=ty1BnVWo7%UMi9#5{R!K}9jl)J2mn
zDn`f}no=hwIb{VGmzJd1;W{lyrgJ1vSV6@dXG_8-1&YjvaK-o;8AP7$_i(8tp?zDI
zK9f8TRb)#MOD1o!(9})bqHXA4I0Gm0fTi4P!+z2gUmjA@NW2690$g^)=n1;1)1%=)
z{tDFR!u}}5!UUb?x)`2*V?5f?=`vp}N6L+Hs^lRsVWV?50?~6`V>Bbfnuz)Td?0=a
zbCYfn?UrQRKQg5}yXeV+{}!}YN~iRt250ztoPT=Osi}kNVfsldshKAcqbfZGCv9{j?@3JQkR>1Fx#9@jqcr*19|xL^BI
zlYJh5eplz)1>o3aX*#2k7WDf_!{@L~@9K%AFeUc0)Z*zU?QUYD(>Kuhh-{tl_YjmL
zM$m5HlPB<_WdYlxoS`9mdvbjjAcFqFQ1yes60#>BHY=dk9YE-wqWpH!wS<<%JcT}*
z3czPvem4g_v!!mcaJje8uF#ataym~kI-MA@DA|o^;}IV=mG6hFCC_u*#G86VY@hXb=2f^*z#Oq3lFYS@z1a`CEXV15UGJX^NyuEXJRlFiTLzNy^C
zms3@3dQU8QCS(#4lPy&um!yQhr_lLY*c&S{*d-j;=wmqEU~}k>D|&0rT^ofOy43`}GGc
zxVDK5AK1-8+Evmc5?q9UfjHlwcN#@{J`VLH>{AL_qt@{RB;-2h3>*>*6cN;bv2cQB
zW5lBc@@sE4UyOF9B!cV5O!C|!>TSO^-opN)wvy1XOy;E0jif4?*Abv~Zvh~Zk@1R-(5Es^(_n>UJx?iDR
zw*fy87t{13sNy^A1gjI#E^i0P$&OvLc<%SZg+1ZXV=EkQtWQ>K`Pfinr=yN?$xV3e
zU(VBY!PTnZb|a_7nP;kcFlOVSMyd7p&lAP5c%V7Nl5eHP&Q#&s|T(LnO=;L^+WH
zyVlW?hq4#0k?Dr>t(48Iyj8d%t4mjg=0pGO6S3<~QcYoLl_@qTTS2GJVk-YR(jHHrS
zOnzW)Th(Vfwf^BqzdUebM24O?ocs1-i%8!KEtMjdlG;R{gI-eIu-#gML=pE=u0^EI
z^W(r%nIzsm!xlzxw*BD!z)PP>dZFdyS6Wj&8~`Pvr{gijs1nqKeG&1ZcGUwZ+!9QC
zlHQhmIpVGtv!Bv4v)Qd7`n{-plO+(_^0i=}32i1Ty?-I}`lr#+X&?)sx^pW!bHgT(
z+}RD)&jP`w_^*}N50bD1(>d$Twr!fxNJ;AMQPQ%FsC>F_gRg3R_pSE*{%hIqPaT_W
zM>dlKaUIJ_{wGA0bu0zB7ci#jEpOl>Qqxea0!9_~?!!ZSq0ld9PJ}aiXz4q2qjl!P
zeg(O6JYugqKAO=j$sSu>I!khUl@XtWA=fwB_9jvL7D
zSABk*AgWd2b)AErOJaXaEn)JxF*IVm&ZwjqWQ)=EB{pM$;e+7#;KevinWG?KR9RJ+
zgoWRVOkF`oW1jL{=Qob}TfCpyOk^D@3VculFSIU3Tl068>_1_Ccg+Y}4fJ*vc9#f7
z?!3kGD*Q!Ip!C4-IKw-JN?!b0OEI8*yhi2qtAyj{db%L;r7&j4xU+TXR5cLIPt;Z4
zphI!K*tI+kvb_1es+lSOYY%-qsG6Y5Ma+!m#RnhUs6sK~_w9`uj!bfcjG!Nab}Pv<
zNvaiZM+?2qz9tLWei1Jzz&scUPP
zIf(n{Lcv0h)KdN07O>F!45`yXxi#V>$N3d&@HU_?1>B#}xz8Hw;}l#8Lw@&Er*l?O
zV)CuNXKk+4yk=VE<2(*GnV_R+UOr?`#fBy|;`Tf-U{yqMc6y%&F0|H6^VaUH$k20*
zN8f%j*sISsnR0lo2o9Rn#hP%c5=vJEBAy_8;$EihF}gAGJN=?R@KI|TNTxQ@Q7Lws
ztx@9CSbDMt|K3#1bH0;?O165#P8x>6go}RSFG9(`$p(CEIC!y7;@T=omGEemn!k{n
z)85hC7xU9$!yhO3ywCV1mi#a{Z7@b^;a2k#ALK9vJ^2kqYRrZ7?)Sor%BbL>=!Rib
zi1eGhujhzpnOj@v^|p%GU?UIxh$Vp)?oYfno?sjc@f!21(Aq3k>r*CCZX>qQ%_T;=
z_i4i7nR=mzwvRY%#~T0qMKjQ=(+sYPj9c2IzVq2spJBS-yjS&sPhV8Ldw+`imz(fD
z8E8H(&D}*!ba3q=K}{<$=8r}P36Z`E74sW>Ar__pPL^s>@2OV4Pcu
zYcLn^+_jJ5F#X8a7QsR-uJ}NAiQ&QO+oX0v%WSI=f`;AuIn?+n=0Ick@DQQ8vV*=Y
zZ9EE!vJ&?G+5B#_!1w)1i+z^%r=&0KsaXLUTcRuYOKF!?zDdq_fzb$Lxhb5~u-mLz
z+3D-XS5ETkN4|zm)w-&6@((3w+K#Z{3rH*(*VIuE(tCJj2UL?#z1j#1Xr%wD<>S=M
zcmlr<8o2$z1Xpp=;&-fE@#6&Q2iCwbZ&dg|`0?Q}{pG(Q3^IAFp!+0>AM4tJ5?lg?
zrP0a4!&1TpUHr;R@xDfCg=Q_wYq{CHg0mf3tX^Wvuvg-$ZyqKoM)4}fQl~SZ
zqhGRoU5v~&&0&bJ3R%RQsQbL?W#IUNxBWn_M#{O9Nd6j)h||I#JN}Bb;{0gN9&P3lE33Q83yoY{_0Ad3$^H?dZKl;xxzQ9@yCH<9n*N`
z`PrQQ%?y2`{8xHY75%3^Ts&Hz`-W=GSqP7P^MFS$N$7Sw
z-hS&T&PrH2i11Q8dFNysP5bmv3A&!wC+pgstW{3Rb_puf<{k>K&9cPAV(y`@!*`f3
zNBHWx0)2oq#y+gx&{P~xDu8G;uc0_@=ik#aCR(T5dle#V(j#-LPsqpso>op~&9~vH
z&fau)jKVAeE98sJ8#mnJEb=vf!xBtek4jNO-3;}7dDL-sh%D5NnR!*V8slPDSu3+?
z&iy%C3UcTz9JudN`Sw|dw-$?+D>5|Z$uhCsgTF$A9)9J)YP6C>W~aYP7vRjY2h&q9
z-f5e~8Pm_?lrjY5dVgt9X|+3i8|*d37hj})-!_#6{KAaMwUa*D5`qnR{i&pp>n`G_
zkEQep)h+@@;Pt+tazctrFysP{OZ!a2k=llWwi#&~TYL5=@~Oih_<{GNG}Ndk{Z3x%
zALAlJ54G*!WPG5tM)^3jcn`v@
zvNb-k3`~(%?I}0cspVXmb^Kd&b8JFA*?acL;2_Ij^@p&+(rL`#gzD2}kgixmy{{kC13
zq5TEnJ4fkR>atlI_#{tDt>~N5kBRTlh3Q>{^km+U9muCXA7bH$#GRC-!BOfboCVyR
zIF?8~e(h?tmiTXFBy5}Z;zqCjC?$S4+-&jQuCg1P6Oq4z4td-|ERJ^)ksoc=N1GZ9
z=|}(kNyouN-?YfrdpJZM3A(m^j>tdk3&2dQMhjBc>)wuDgyxN_Rid__6E9l|&iuE9
zj*`I324gp_ZJw?`TZ9!5Ln-$)9mwD*^?dLb{nS(IE8Q5k=~ro_k3W7y*SxURF;439
zDG}Y47$;$7Yfug$%$wF>{{ff?2hI<0mt4-5DNC?e>CIf99Sm!eY^yA!rD0WHUXje<^o&ykHNlts_9o>a>Wql-uo~@0)_J|BP*{xd+
zx5f!U(x{{AJ#kZBmXFdG{@QO}J?-4F39SuY+*+-9fwAdBfzAlP|MHhXn>}yj_<8|l
zR8P9`Yrn6%{`)(9Q}wks;aGD}i~Bo&hef5=q@m+My(83j&ToA8PZ(K(t`wlTSG>tmj+FU4q$%Uq=20n_(83y8
z`%(tsF&rkZr6-+*f9g5YU6{aRwH;IYr%9Od+Ku@C$}`We@{G>yczOt|_o<|e7~%TE
zuAbyTX1}M;Vgp?}hISn!^HpFo^ey`xBxxXLLVwx5;o6_ut9v6p=j=F}^56xZ(Ap_F
zHf~8lV+>WiV$N|K0u$ZZKGHwWwdu>R{WxfvcIS!38*nsEd$U29d{MS}8)9H4!?_VD
zCjY%6mvFtF(Z<@&3XRt)41ixvFwArum!>oB^JK-A>Ta)XD5Wf!lLc`VJ>taC
zHQyX4dIuR@!@WHvTCaVbQJKAK+Nl_$^yt?$+^%i36K&lLKYZF+NZy#`rH!_k;y
z(KFSHx5mcyaIC8GqsTeq*!a@ypa$9ql;x(ObV`gJd5Wto5oq)J9BC6E)E*m%?KUJR
z^SAHZZp4ho-hkJ+LLU!_wZXD%j`l&>d%zG~hw2mi|?MK+b(9GMr(w1vH(zAF$ZU12N
z#>#%6o8dlosB+r+=s-g)6E1XnBgpDWN_P6T+YkHIVf%nfmD6-DpRMa#(lJuZCXd=q
zMjiCDF3$Tgo#4qukQsysHBO@0@_lxq?!EWC2w$me{$3y9T&_%Vsab8jiY0pj^6~6N
zT!SHWO@L9BjniP_2EXke)Cq(|Fu|AYCY(!KI&Rah_Kgox*CDANskyF-9-vqZ(`WPF
zIK#cNhXQ78U2s>q$dqRtMHiGsmGRz!6s8hUl0T!OSfD7&OHrPgQ7oCQ2^ue16eo@R
zQXBHit(DI%St#J=Yp)H51DR-5;Lg#O*Yo?c#>Oy!^zR;(IE8zu!y>IK8_wGYt~wgk
zzvNrIF&_i7+`@>t_TGk>$NQGP4L$4?j2q-benhtY6%sva8H{&XLm6ALE{65HjO$TC
zNeypBGD26~s=gd`e}=EKu_Mja;N%?Byz#;H7yU!qCNp#O#YnMl4UsRRB=>`#)#o1d
ztA1j%s-Vt=zKf)eUynP)7+M^GXogTVNdAyEV#^@#`B008JnF}Q@2}6T0m~qHjF9xc
z9+539igHn?-?@JIqx^Vm$J@3>?l=KCk`L{&&=boEtZ`?~+OSa{rqJN)cS#mMRwEAj
zYo4^fb%5w*+bLl#Z=CocD;SfYa9hk}Y1du1pV-yo2Uy$n9^ezhMuI-a@!K9aK3Dl`
z8+X?DjSm+CS-rI5%FCyUfY>Zk!x4R-f$*AYy(Pjt92NVbYmSz6j7ZJfmW^2Ap%%=m
zAhvx$GgWY23OnH?-=cSE_6Gk$GEyet+bc2jY2b6RjV%cOcA(WCLEcuGQP0BZrt%GM
zeCq@4N(#X_=Q#E92B*mG?#83F|n5_4KU{Jl8oldh`
zzr@Sb?Wnc0&MdKmzt>4m%K&oH&z3LAW7k9}mVgVV*i6^&HIV|&h~?+d9v!2VPAsK=
z$+7ME=7li2J9BaWSwtE;O+5Hv+p}rLiyj6r@08M;0`Dr*%P*lDgfR=ZQ>yer3XcH|5l1KoI6m%`X2QL@9f!=gx{=6rJCN&JTTv
zR-sFFGvTQdbNPwgv<%?8HC6P5yj;r{u~#>^aY~eO=kZrHJ$_9=W4?Z%zpf;OL*6lx
z-lZ?1y6ZHqzBBW7_p`ZR@5-wSU)uOzitQj+RPmX9eD*Ht)P2e#{Jp6x<^xB#bp
zzyg3Y-Q-=fhyaH?n~gkG6#bf&yTC(B`*x7NCdlb^0&aWLl0b|+74$rV5mM?El+>_s
z8g7%+m~BQ^K296oU0j@xyR6}xCpOOg(P23htbJl`aYhHZx#FEl4mUJ&Tqw=~H%_P~
z@2N80DpW;0>}<@nn4qDvXcE$wpKXHPpD0WFR+jRjkN)k`h2W}1YZjg$q#L;^>Mb7b
zXyUW@mMHkFrcHxpPquXkO~bzoc5_NFGMgL6-k*GO@OI2?Jp(QK6lKB^UDbYIaAv9x
zt=!CdGo+~QrlR>AeQoS1{u?`W{Gvy~njc(6OQXo8@=M``*Yp0H@RmrQ
zk~mlRFP{>*>$p$)emZo!4POGpX!`1amb7v<+V
z?$bA{tkm)5k|#lvZbo+4#TunVjm2&ZQ7N1CY3X`V}TrNXkRve2oAAc?gyy|B!nqE;pj_x^D>ZIQ#uOn-SK
z)bHC&f_Te1#$*5K0(Paa#7G&3+Zwh11Z-H+hw1lu6UxdSQN5G%C0&bv#_elAM5$YMOXv*-GFZaY}>R&Av2w$sgH>agd@X0<*Dc4JM+jPTs**p*1{}~*nqf6xSr5>J!njvsUeVt_VHC6Ea0nM27j%Dyf_nxgudH8
zJhN^q=d;BZ#&31k))U!IB8NgYRKt86fMTJld@TLdw}H)Efv;zqU6fLwkqca^wgR>3
zcyXrQm=R;flJQ!?&xk1ms5G=zfSr~txi5V8sH&Y=&ja~|E9CAztQiRcp-;xuqjo0o
zc1A34q6^-uOhn)eVlll5Vgb|pu%7sybP&IoR-6mXd$axq&D{k;A_=X!V
z9K`Esohlifov_xGpB%l|jC4xtM1Jj~(JpUp^{1&-DBNtxjL2U+py8BG@1ht0N`ffos
zN1-o_j8la#l%g36qs8WDVj@Zkf#UOWRQy}@J_C`csp`6XkAuQ@A!2YPDf=v=CYKk#5p6VKo0hlvK4R$~#kL^giU(K&z~k
zodFQwj5+>p)II`@ni>C1c*Is|Z{_IIVTuOnP6;GvyY4cO%gfPYJmSHdm(C<9)7uDTojBCWR|qerZ1B
zK3Z{dBP_$2jf|#y?|$dw|My-RxV&Rh9QslT*nlfj_{iP7Dpm8mi8nC$3?N=POP-KEW(85Nl~PmM05
zYux{yhQ3zx6llJ|FlC3)`L`I?4Jx)I@u8#=ng#Gf?i3^7`C|4ytxskwYo$CADopc&sAH`1RkDrY+9__Hr3kki@j_w(urrD9VDel)O$!~=Lwelrh-$o0hf#V
z)P#uA5UuyG`2j6Jcud;;n?+C-$IBToJ+Dj^fJ)$pFHa@Mo&MP7O!{e~$zjrpgZ8Vf
z$Jc*vr{uoT@V-RPet#~L%c@}Z3X=uBQ2@!3s%R7A0u!|Wum%OX^g+@
z{_w@q-q0IXE{JTcCkx6_B8y3XB62H!2Bu{1b*`=S-uMcYplr~d)~+OIY1SIiVS)XnDPx<0G5YGhL_L=cx5&4CJmL>oCZkAs1cdnvzYi7vV^6RcX4nQ#?U@PZG
z3jD2l<$^n0LF@GT>8(b(A4;aGR;@p2{k^f!(BM2cBt*Dk_Yf`zUNu-G%0UQ==v
zbexrAP`My`^N7a^fe$^ckn`fl(0%P;0l(iyNN*?&x(K-L;I?&_wzS^*yf|4YeS4sy
zEiWFodP>Af`bi-G6jP^#nI8P3v&{Vs{!H+pFX?1(oZ|xvp_wUAL=Mp*y$Nlz3?-&hc$Yp#XHxx+Ex@d4ClNwj
zm|(Kbaw!%H{A5J3mRbhPvcJDASeV)2KP!D$Z7PSsuAl~j7in}wA6*}sF{NTbOF!AL<*
zKKnVCvR@T0EsU}07`)p-Vn<(k&G@6zZ<
zC2+BX>kS?}M!He>PIg5PJX_6Q4aESnvGuU~U;bMQ;Fom;t3i@QkoJO-JgI9^bjE#b
ztZYw205+rT%5k^7bX{JZ-s*in4cLq$*38r2{ZlJSoyp7CJTuEtw1YcC9+1c^=YHQ15EP_{E#v8qOpc>V#AO9k()%?2(zXgoO#4k4jGVwyP&RPSh@Zr`!IK{%*13@%N
z&wc;qmMcK9uBDe)-2c4K=sS}!U6a)6+V`v(2yXY@1`mIX0B6|Z$b7~y_ghOW=nA9CUZ><<}1ndCOwbuWEzkJP*Ko%AEtf_fC)xN@L6HiWPDhaJ>9JQ%
z+q>eEGJ=o3wGhq(Jp&olCdZNQ&i0Z~)LFX9kZSSuB*m|xm-t%ml9SI^-*guH$>q?)
z7I0DE0sudQw{7=0k=J$5ktmlZ4>9%e$(5`%YF$PdD5DD1)7%P|fZJ1KHLA5nb6y#i
zb0FEXXH?w_jkyH!n9i~I%X0%hHB+8;MP1_?@KRyM^6}g8!W~1$R?k-w$sQCXjd+!B
z@zm@fQFM37#XwVe5<|t=yq%bHGTa9ki#a8=9NS&q8iUqDy#HmMX7SrUlF8y$-VarU
zh^XTVI#e%|ZZz>vIw%v`B64+cN%IWguR7V!h@N`qMl~w(8MVz*a%UOSYpYE1(bDzn$O)Pl2Rp1UGT+(iP*JoZo|BCSABCI{MVPQeG2pWi
zu-JY7X^r+rXLyWEafA9}5(>xGEQeb4Jfk)XuypmA*SeiLbKdL&hhV_E?+pAGjo@q(
z(mLJ5OJnP?8T)Ln0as~v5X-i)K8?8f!K-PJg*vP6;B7E824t+W-_cXq+2Yvllb78p
zh5!%WY7J^Ho2z$Q9NVo|pqX#9EU!Wj|A_J74-?=lniu^{PEWzW9D&7l_{gA~4Hd^q
zUTWx-84PZrxknABGa*i1g5)O0RRpXB6pfR|WR8C~kN|Co)Osy)L_
z2LSMw&l#pZea9{LnMKONzhF|S+WQ~`y851kwOMnk+c5vBd53&+`dhm;_Icuq6dISvN*)!h
zDWz6XCjMJs(SBN`s(q%xQ+0;<7`W2_qZ>Z!o@~p5--iWZxKyuU{sma{RG$#xgRka)
zCwjgAO7xI{2(DV@({YWUvji(R!Yjaz1IX%>SLS{*?CT@z&-9rc&A~((0
z$c~b=);4)~M%EGlj6OxS6)GEORt@b9l=SqxJZ+Y`&~j`V%EAuRFE!N%
z@2^ikhau(?dr^%7x41NOS$TeFD`0z!>G}|LgdbLPCQ9d;0@T*xo-QIyr=w(yc&l0F
zm$gD@GaJ
z`sL=D>t$b|b{WoF9Q)iuJG6H0+t8K8&$+dtt8z2FF1AP}Z>wL3AXe5^)zGJ#AB?>z
z!p%HvIpaSvJ`(=CAWu8Z!mW}$xxX$DJTvpzgXQ+)N#ahW6G`=xu4Z_Dzy-Xlip<>S
z1-is`&uxJ1`T(rajoOvJvV;1It;pWWU+;;4$GWfTR^GJ}oqHmBI52-l3Z4FHze@8d
z3m$KOxWK!A?<>DRgX!?{sBU3+;_UE(;cKq6t!5$f@NDM+*l7gIJ+4Bb(^Sv(S4RT4
zoX6UZ!SY$wh_1Z#p$6i+Nfi4u<{9oSobtv*kTZ`Oar|!d%l(!Jl`(=}v)`NmkWulo
z3l%5R-xlkAWw9M@d=*2^<7_iy7wrai?w6q&9sSU)@a_%S!8eu%HX*z$J&@QBKhBh=
zlNnv3F*M_i#o1|wzqsOFyPSy=1lCee26-m1IieU4Rm#91bU
zQO@*Vb(!Mc{-8B69$>uM8}+N)bpOUreI})e=f;>ZaaZ6=zxJp*DccXFbj(sY^eV>Y
zDHt{k($h0TeHz#GW?0e*myvF5JoOKB#M#Jm5GqOS=`cf2&S8L!z_&
zvWFgLr^(D{^aDFz=aJDD)tA3r_oJ~H-!D;VnB-fi*yh?Lcb>@(BQKxB6UYB_x9adc$EeCda&*j0iJC}RCCYUv$|mZdhNs^`z(lOdKpkl1FQPK*nIWzT+?^&{B|HkY(u*+V3c>k|0upNdy(@q^W1HDi7p
zR|ay7W&1aZXEx|KGmT#fG5C_3B~AsK_Uc1Yv|t9#P;}QnKEI_G>`CxkHODzG9zH|47K?
zf3QGtQUAEfwYm~==fULVtKyg&txXQBS`&zN9@7QAyw>AuqxA1iOyg*qn%~-d$lMBkZf!{Rigv1#;{(M0F!C+Do=%+v|8r}0xS4aQZn
zU}(==Ub_PPZ^@nu-;D*o!1RyV1JplBj`v)ntHCnVgb%c22t5@M%IK}z@#Abs)-AUE
z5D^B~whJsWt%A|j!EvHkyV#~y3YsnDvcfrjzV$fN>gyb$))q#DD|-|Et1#7ImY$p3
z;i3nt5%2URHeS7f;xK_f1R#gRCuQ@tQlHbAfNnWm8Z+MVFE{6rd5{oHd`$32H8b@T
z#L>w!DS)EZ)9bOE(!>;|Ia^!mi1Ig
zR0KM5@#|P<$-Ru2%W_p>T9)6!y41w*9<{j+DSPqJ3GQ&6RQAD(`KnXiTF8=NrOCZ?
zn#Cp^^~0W)<7vymUk#3FgJOvC-o|ZaHWoPcnZB9ICUy#}%d%)#Wy}=xl(WyH`80mb
zPwypK9Xvu4HaDdn7D~+~A=|n?8Lq?FRBR|Pv@<_xzEGdKv})rYxoN%BSQ;QXQ;o*@I@>j
zqUXVp3REaQ=CI6;B#yJ0lwvh*B+rj=725TrA)(M((#$mdG6Q9j|Hs~&$3y+K|Klx`2&L>~NhNEtCD|*LFd{oc
z82i|_EE8EOTe9yYlznFmrpVIRx3QZnGh!@R2gCTjRPXA(AD{QXzsK*7`#)x0^E&4`
z=Q`K9uIoIn=K*)c>@;tUnO7Fbrpq#2?z`liQz}MwEH+TS=$rKX^j(lzydiUp3J-6*
zLZwzz6PYtMSTilanI=7ra;V~VfO8T1=ZX=@VC|slu7oH1(yb@;J1V#OE>OrHIdY=|06{4K1QV
zQNA0tP33q*eZcOJ)f>%uh&uL10xp|56h
z8hu!isZXJ7l$?FVAAU?#e6lu5V`J;0{l>i3alRZK{_MX-hVHC9NDaVb9`@z>&t$7|
zKt_s?6biUafZ|6Za5gpB$A3vKpAmM7lQ&+(G4J^iGCt}ba5M6V|NZ8FW8l&EzcKj#
za14y6$gr-oG0tb&t{hXXny59TZ9Rp;j#BW20M_#_;}-sR5)@hHdx*ZFFhYn
zbS=QS_T)XOf2`|YZT<6S8^F$lU34@T{>#Sw*Pm-?fK8rEe?oKSw@v-W^8eGmygLOa
zuVu(ZZ~y-g=$}S@Y!ZaSO@egZ<=KC|{;!A10OKkp%{D^y_o)2!Jpc%-yYeg}g^-(Y
zJn-LJ0?3_EBU5e0|MAP;Tg>67voe6xb#l#Yod4d^;u(2R7mf1PvH$qx-;#5#0OoaW
z|0?dt-xKlAnEdRYc?d9g?l;O9|9uX;)B&ki)J0BG{Ci8%z~GfPMb-b^{GToE@Y6PL
zKx!}8D=GPZZ)t=J7(DifMe={2$jNhn)I`mWqkr!s|JBm}RObJlDF6Sd%)hMd|5=&;
zvb|(zo}`QHs$ru2|Q!!RWiMWBB|{m!VO)gFUnHgA<#0
zW}{G^-1K1^_ro<2ZVnovxXCBYsK=1`
zGVt+QH7zJ`z{9QVfb02?aaE7|d+!_Cj)ltn=k-g59y*%7^$U8VqKIFf(|J`OzO<6H
z3;N^UybmM;>P`&w`9bj{HS&(L@e(W3PQ29G&W3VX2Wo;74
zyK*zO&c8k`FVUXGKK2X_xPs^!Y@dC-P#_%zc%Lm=g5-<>a)r8f4Z6E}jS{zYiokBZ
z{jTlDv-0(X$d9pe*qWjD$}bPEV?)9v4TeT?&fA#A|I`HkM!*lD5;dj%N2dS>_0p9y
z^f8e@32II^Ir;KHpz_f^W3L%OQMavdNOmQY+lPL5;W0)gXreXr%zNH|wR8yzj1I=f
zGVgId1Pw+eMPZ#Z?zdiA_1at*)CNtC4wM`vmZheVc9FQaNL)_E*k)dVB`(F$_JP;B
zV01xH>PLRldYjljH~;4uDGoYkT8{&}amF;@tyRrEX!zo%yBED$Bqy1y={)`F
z2zfp4f-4{Bs|OWBVtTxg_~rtXL6>%5)G90R4oSCx`$bnl_+Vb4r9_d@Sb^bY?#@Q2
z*WIzLQF}(sT=zng?NNQ(#Egol@X-RbsnJT?&VV~|2@VYgRyISUZFUom{F*~ml{Gw6
zC)vk_s!|H*&sQj+#aZo26f)oDnSBW7T_3>Kp*ar$!QBgH%<+!Np23fV$)`W|s
zDDKTsV1>-=J`OF6#C6(ZGly;Vnwce2;&rsT8$q@oZo
zk~vEFI9y;>Bn6pSp=Ofg0c*e6*X&YqA_0KEbgC31t<$_#V;xf=S`C)D>zx`Q>~=v5
zQ2ENxdKEjY@u`owN1Z#NcpShcwc4|v&mD)tfChX=AZ#cHp|qJ&SV^^NUdoCJi5e@IkjZaw`NWwKayYKpBO#+e#W~1=ScsiE(RFll9uM}u;5QDAbtKik%<8Oi=SftV-*C&tIEH$C
zU(FpC>d2}Fb6D<-Ic(EA1vAl3+~WVfil;oyDt-05Gj`nr{Z0fL{iBk-LQgWd{R<>`
z6K_qkParuZ`zlC5n`(o`it71F*5b}cTg}#h&a1}^f#Yoh)*3x7Ct+2P;*kF59ZCAc
zWEOFogi8Jf@y8696-h+Tp4_IoNei^j~hs5q!H>>AN25)Loa#!1I@|Bxor`>jJ-)R-geiqm>^B<|%ZOPd>
z;r576(=aC%U}^+wlkBPrER=2at1rBK1VA(3tvybKV7KF%)esy1Tk!>ZSKoV=vy?`j
z(B-{yld1s7O9C-{87Jr}a9WfET>cPtPSGN$bjE!w39xrfHStGN0|D{^rn~q!0}8#_
zhCR74J%f02fFOeU+3JkCTx)D>(8uu)IwzC{V=8Yb?7V4UJi%^-Q5+fMQi)%x8o8PI
zLdIh>R=c8*!#sASLe2L?^UE(b;C|n&>tG)#OxvSo^{fzMHht48=VGv-_MJ)MK?Se(
z_r*rb{67GIYp=Qe$i2bKe4dt#!q8TMKVJJI9uOT+w~?8fHgw4@+#$1|*RD4Ta&oyk
zas)Uu#{~_M7>76pDXKo01&0tdkcEVvsHw88{IcZHGT~7Tb3c&$W;4!ET&OJ>3MOn;
zW5k~cww@bS%lX#oY5=@y-%+RUwuss
zwL)D|*vVDLC8am`%2-XKl1?U2v$8=ao(){%j~i(qz8%X_jRa4YRgO4DFBS6FKZZ2Z
z3MVD;V<@VI#&GhQz#SQ@Uj2p-ltCn$kz1l`u_^&9tPXXl)^HbF(YbnNT>NA5PXfuq
z?%*1Sbj5%?vZ)ZNZ6d)IsdOwvpRZEV9*$R1y;GW#&-aI?T
zX1`2a?D`nLigv3KSF!hna^x;L21}XcmN%9qG4CmY%fCggJa==};L@QtO1H8kRVY^N
zDG&|_XIz#LI>{C=A?kK}uwq
zR8H3q{fr~WEaWpDQKDFmU7@0k@4C79*(4#;Ak8{tZNedB11?r#spIm_Z6$*z)R0=o
z^**}Y*Zvv9obdK?$c1vK*s^PKI7UO2hqpaD=&gT#lkO1BU^Hy@ea83}aLE=oCWx!rn!K4!D;`j@*`
z<8_NR3OBRH;VZ8l!BAY1)5T62)hcR+xv?YMjD~FZ8#X})&RN)p+aGS7`t3f)koyCb
zOFQ&&*us?)s{2ae&YFGiB@Uhw1J5cc#+y*SL&F{FxIWfPc2M{-cEdN-T!x-U28Br5
zILg`blvtJsM14>}ayfDArJlWA>ua>b3N^iB8o%dv2(pK^7}7h$KJ6=2J^}5C0biUI
z`X)C(FW%6rSp4Z?hb7pL9*TcTlEQ_ZOFr3tlLr2!2LDO9X(@!QBpqG>D|VFP<5dZh
zU7wxl+zL0_?`|0rqkQ69f%kIKy}Li`)N~>#)qPk;4L3k
zV!*U(4zRfBjCYQMTy^J
zBdmQ=tji4$CYzE-U;ALB7;n-g-AVVEmK=>G`wo7pCmby1r*5sbTbdm%mY|a#rTKCLa>fPZx8^8gh-Kn{=G3TC`Ui#sU$I$sdxXP;>a^%5)
zy;GkP*Aw#6^^i+>n#7g;Et)D7fmo}BM+4cu%xpB3(SyMSk}+=s%7A*k2ERwS
zql_{8YeMOJERjiCJ!ju^%baR@V1p2rSV7D!J2i1&4R$uxg&h%P=r7*GG_V5`V2(T-
zU`0}!+h&b*Nz4wueKPBP`BSyGy>1fN*$B?-!%LFGpdxem(I!6~D!wxGmB1kvCz?fclg&NN~Qhi?g1Tyjpm-f-w7#nnfwXy^Ig${&V_4xj?D3#OkIfhQw
zCUzMXJN$8&C-Fthl8t_!9Tpju+G=S#LW`RVG%Cvmt*?-i+(qZ{Tb045x>`%0c(+|j
z?i>Cf+UX*UWB}e(R@N|6`@z4rX{Ni*B*)OZe#|_jopy(?iT}sP)|)%&d;-O
z$7>3qu!P*J1@_IVst*kszGm8f))HeiccTg)kzh780k%^HKP*Ut!&p)
zea*uw&3LYNCTV0ZSbjJHpc=Y2=~SNDp@V+1w+@zdLr@B2BbI$Lz3iv>{mIv7z%u8n
z0Q|GJt_a+8>F(XPWr1sFi%(MvCJr`0&`G-|ZQ1u>p_o&Id8!@<1GWCiwDZvDo;r{H
z{fD!jV^_UHCQ$5NmgM=h#g-~I94J|<8$#F;YkcH{jUZj~Pc>@P
z8p66A2DuHlEX}Rg+WWHaT8I_%P+8nz(i!!Qhb6we_yo-ZK;Sm>{N(P0*sHP2+^X1f
z+=1vGc++~42+QRP))J#7ke0o1(x1~}|GvvWFsoTuJTW5p5HG5BKf$*%sS+1&(cS^%
z5U6kC2GQBWC)0fx=BhpSzAHeAC)`h=+V9ElE62~O6~>Bl4|{Y^6gZA^3Vlm&&$6!Q
z&U5>);TF5HMdXlhaX>1UD{w-{8DsF}qJ;>mA()mNx>LHE$r(RYP%+pb691X3)e7TO
zLp|$JLj8?Vwbv(F82Ndzwm(8a0t|ve?)Z}XMdakqjhi2Ww;eZShSX{Al7jdb!vgMm
zEa{lsNxkQ~wH}Y%L)}qNYzE&lKaMX{+ZB3aW=Cu~#Z08(R
zaj!keId#FUV<4-TO8X8uw#(a1GDPf^FG!Er&C%fs4l^)obs#Y>JeJ89MROW0iJNIWS_Hm?WmS
zWY<}7NO_Xma|?{j3+=Wi2vV>?fbR15yP_MF}R80EY}G
ztjy0Hz*_Jlg-h;6uHCnUn(Bce}xU)}n2oBt$-IklZcs4p4c
z15m^MOmgSBb+aNP_c0$@msKQ{EYwP_K5dy!Uy?9hTs-0tnv=6{R#hXPGOSgrOkYY(^FwlM{$k0)dadoNKpFj2IV274ccxF?n(hT9YJrjDjY*&q
z8#HKUq2j$^{Csya;NW1i;Xap!&W_*i4r4#@O}kR*WBjWJzy{$%St4nTW4k!S{N>HD
zP3qeB2H&_FvHaFx9jy7p=vyTP$9lgBY4W0ulv4R_wK-OH+wM>C_rw|F+F3f*tw&2{F4`C&AI5mHwCtod^z3GK{S_*M<8>gHx1V)4^}
z!<7JMHWr2-S&odDQ(6E@RU?_cekA)-)r`+)u2Py%gSi}y-p5BDo^Rtx5;I&`0;+n2
z4^{-T+R)JLwDv1hAyS$xO5??
z>>89)wx;5<;MAIMqKX6F8_b%dW5=<9vZcHW1Hg+q=>>sc7~W_d#p)0eR|8GXpmQLFQH
z!kq=lP|0+kRf~kjam=k3oDww7uSAczQVtQ%)-}c6>4*smS_}7>WMu?_NKuzqh#wAX
zr!xF4t{&P@xfB1f=GuY*Vk$z#I#s~iFV!V?ky53Pmvlffr)q>Qor{@pSGB0z!yVK+
zTz;5NZ+Y6OX<&7#?WPNsQ60)HhWKdMgZ!8q>ku^^S~{vw7D2Q{2fUk#Gf1#!fzl6T$yspm
zwj)dT*buJxj;oOMP6@ZrPb$g?W5y7MONo>yKOSeD``6PrW?`&cAZO<=yEqOtM3mqLp*7ZR>`o~|P#vY!@C+flTcJUHC(@TN^I
zq-mC_5^xS1;t_JaT(0UO+wyoNICNDu#y7neIPyRn`VH5VG~5<-F6<@s9^*h!wpBOf
zoK?zf9SvMM#NkE#z~OO%^bZfO1Sl9Inasp^y0Ys%FoU%*R<rGhS@Zw1hP
zD}K@0x65}KSRYWPITtUDV_b*!KRF`qUkpiFstWgA5~5O&vdJ6=j=O+@MSZeQZF9mM
z$nM<`5XPGf%?+Szi;yF?HZZwOOYzj->}f_}>5Bf}AM_2mN!tQ^rr&Ulg$T$vMY&RR
z%cp4!tXM)&dh}{})SLac2y3=U)O~unX;!1vvZ56Ff;2ka4PS1NI@a-3
zEd7f;&pR@V$>S0M=Z4Z}xXjESskgNFifg}<RSSdL4ox+G^zu@wNsW9S^d=hz=i;%A(O`
z;F7wCr5?CV=uZ2N!jV|Z)mI#yvy!ce>+X0HbA>{&jb;*LYK1CbCslH6@boQ5-5ZTl
zl|jPEwg)QLExF>mh{&p=N*iV+oIdm8IC*)ovu|ReqDbGRU3hRr+o~S-~^H`)Zv&MTOIe`@4Ga
zbl?Pj<8bDpcPugL()EOL>CUG0Wm*Dk8{OG~6UQe?!nVQRs&!dIIBt%Ll|s25xp`$?
zSMP$2k8e5oJH1ASJGjSwK$;3rAmUKqx7gQIWtGp#swD%UM<2K8AD9m%K)uN25?CElE
zY2k+|rEa*~EcPkGo3P_#!XS^;H^y9Q)R#rK(Go1QEr&DxRl6!HW0C
z3~ioIeyP7x<~oY(63bokgp>eGXKO3k9ZNe}{`|~4*DrW{j!_&0%Iy@H7b#D*WYMOZ
zETG44jqi;%>J$uquW-~8Rh1Z-JS{i-%4EV4>GPxoDa%*!F`~T&nmHn&oLmLOqH>el
z+TAbL5N`hwI?@B7Ba<5w7CrrC4ota!RN7=gKw`qX+k|&Qn|c~4aTv!HPmD`1i*UeX
zi(kjS*h8cO6uXdg8TZZ5z;#NSwU0CEqiuugt$HE6O@7`>rZiF}a)$w0<6e@+NrDCI
z7lZp~I*+bbD|S}(#%vL`gKFgp4`ywJ7gTQYJZ
z3u#Zf9|9hy(fy%vKZ2+1d-4pQ?Qi9e-u5li%0GZkaf_NQ7osz!p4V`{TH!icWgqD`
zwQJ-)F3ZHuSX3fPXU4I&qKW3)S+8kGUE_6h1qwA!Pat=&*XQx5@bURM#+p_C5g+M}C1v}{1eqk0P(t!FFfwnEyVxyWU3
ztXzfenfif_ipy8+kebK-gKO9L<@tep!w5aoDhebD(-SyCOq5QwR~wxYtG=4D8?g34
zx{5*|S*OVOEHpmbab^Exf@v|QG`2v7WA|BXxe3|{Mcv98YD{~B|KNR7afLs*8I);%?U38-&=x#+
zE+0f6V{a&pYeIEvj_(2IucC+W6^V)`uJyHUs+$X}=XH3-
zFAO-`83n=~8y5Q!&hIA~p#rVUFZ*xifMG&TZr3he&Vf9qezfA9`zTk}*8xLI+9f)a4>D}33{>U