From ac679c882594ad1e855c48228a6303b7ede8fe84 Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Wed, 6 Sep 2023 13:13:50 +0200 Subject: [PATCH 01/13] add additional RPC API methods --- docs/standards/rpc-api.md | 109 +++++++++++++++++++++++++++++++++++--- 1 file changed, 101 insertions(+), 8 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 150bb110fc..e6542775e8 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -10,14 +10,109 @@ sidebar_position: 10 This page is under active development. ::: +The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) uses the RPC API methods from the table below. The methods are grouped by category: signing methods, standard methods, and LUKSO-specific methods. -The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) uses new RPC API which are described here. +## Supported Methods -## Methods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameType
eth_signsigning
personal_signsigning
eth_getAccountsstandard
eth_requestAccountsstandard
eth_sendTransactionstandard
wallet_switchEthereumChainstandard
up_addTransactionRelayerLUKSO specific
up_importLUKSO specific
up_generateLsp23AddressLUKSO specific
-### up_addTransactionRelayer +## Signing -Add a custom relayer. +### eth_sign + +**_NOTE:_** We encourage developers to use eth_sign for signing purposes. + +While a security issue potentially existed in the initial implementation on Ethereum, the current implementation has no such potential exploit. As such usage of this method is preferable to [personal_sign](#personal_sign). + +This method returns a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) signature over the data provided to the call. +It requests that the user provides an Ethereum address that should sign the transaction as well as the data (encoded bytes) that are to be executed. + +Returns +`string[]` - on a successful call the method returns a signature, a string representing hex encoded bytes or 4001 - if the user rejects the requets + +### personal_sign + +The personal_sign endpoint is enabled to allow for backward compatibility. However, its use is not recommended. +Some libraries such as Ethers.js end up using personal_sign under the hood. That is why, for compatibility reasons, personal_sign is left enabled. Note however that personal_sign ultimately acts as a proxy, redirecting the call to the [eth_sign](#eth_sign) method. + +## Standard + +### eth_sendTransaction {#eth_sendTransaction} + +Creates new message call transaction or a contract creation, if the data field contains code, and signs it using the account specified in `from`. This method requires that the user has granted permission to interact with their account first, so make sure to call eth_requestAccounts first. + +### eth_requestAccounts {#eth_requestAccounts} + +This method is specified by [EIP-1102](https://eips.ethereum.org/EIPS/eip-1102). +It requests that the user provides an Ethereum address to be identified by. + +Returns +`string[]` - if the user accepts the request, it returns an array of a single, hexadecimal Ethereum address string, or +4001 - if the user rejects the request + +### wallet_switchEthereumChain {#wallet_switchEthereumChain} + +This method implements [EIP-3326](https://eips.ethereum.org/EIPS/eip-3326). +It allows Dapps to request that a wallet switches its active chain (connection). + +The method requires that a target chain ID is provided + +Returns +`null` or `error` - the method will return null if successful or throw an error otherwise + +### eth_getAccounts {#eth_getAccounts} + +This method returns all of the addresses that returns a list of accounts the node controls. + +Returns +`string[][]` - a successful request returns an array of hexadecimal Ethereum address strings + +## LUKSO Specific + +### up_addTransactionRelayer {#up_addTransactionRelayer} + +

Add a custom relayer.

#### Parameters @@ -47,9 +142,9 @@ params: [ It returns an array of Universal Profile addresses. -### up_import +### up_import {#up_import} -Add a Universal Profile address. +

Add a Universal Profile address.

#### Parameters @@ -64,5 +159,3 @@ params: ['0x311611C9A46a192C14Ea993159a0498EDE5578aC']; #### Returns ##### 1. `String` - New controller address, to be added to the profile by the dapp. - -TODO From ebf1c36a43edcfa812977476d75f93dc5664369e Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Wed, 6 Sep 2023 17:28:58 +0200 Subject: [PATCH 02/13] add LUKSO web3-onboard documentation --- docs/guides/browser-extension/web3-onboard.md | 23 ++++++++++++++++++ static/img/extension/web3-onboard.png | Bin 0 -> 109958 bytes 2 files changed, 23 insertions(+) create mode 100644 docs/guides/browser-extension/web3-onboard.md create mode 100644 static/img/extension/web3-onboard.png diff --git a/docs/guides/browser-extension/web3-onboard.md b/docs/guides/browser-extension/web3-onboard.md new file mode 100644 index 0000000000..8c955792dd --- /dev/null +++ b/docs/guides/browser-extension/web3-onboard.md @@ -0,0 +1,23 @@ +# Connect users' wallets to your Dapp with web3-onboard + +### The easiest way to connect a wallet 🚀 + +![web3-onboard-view](/img/extension/web3-onboard.png) + +Web3-onboard configuration allows the detection of the Universal Profiles (UP) Extension, along with any other installed browser extensions. Users can integrate it into their Dapp to handle the routing for the different browser extensions. + +Web3-onboard is an open-source, framework-agnostic JavaScript library to onboard users to web3 apps. This package can be used to integrate LUKSO [Universal Profiles Extension](https://chrome.google.com/webstore/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?hl=en) support into web3-onboard's "Connect Wallet" modal. With this module, **the LUKSO Universal Profile Extension option will be shown even if the extension is not installed on the user's browser or used within the LUKSO Universal Profile Extension**. If selected the user will be taken to a download screen and prompted to create a LUKSO Universal Profile. + +### Installation + +Users can install web3-onboard using npm, from the [following package](https://www.npmjs.com/package/@lukso/web3-onboard-config). The implementation can be found in the [web3-onboard-config LUKSO GitHub repo](https://github.com/lukso-network/web3-onboard-config). + +``` +npm i @web3-onboard/core @lukso/web3-onboard-config @web3-onboard/injected-wallets +``` + +You can find a link to web3-onboard's official npm documentation here: [@web3-onboard/core official npm documentation](https://www.npmjs.com/package/@web3-onboard/core) + +### Where can I test it out? + +Users can experiment with LUKSO's web3-onboard implementation in a sandbox environment using [up-test-dapp.lukso.tech](https://up-test-dapp.lukso.tech/). diff --git a/static/img/extension/web3-onboard.png b/static/img/extension/web3-onboard.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9607eb29c1da4b65380c14f7d918850222bf10 GIT binary patch literal 109958 zcmce-byQr<);@>@2nmt|cL^4x3GNNS9fG^NyVDR72=49Bfp9oNU34ZNB?o<9!7Z*JD z6-@wji7(h8WG7lOpClR(?2z;R{iVly-dQ8OO;^|3OEpXm&X0{Z)SCv=;&OIUFTZ7|jph22wbE5i!Om))&NK11)0W*k5&0 zkx+ZjoL|5GqW{M12sdOsbF|BaI-k0p>CG9^fHP~q?SM2M@4Xi~`n)Y14#KfEFZ6B-F$(Bn-s=Tf`-qkMcjcD5v?T|C2_p{6|n+T|!O{@vm;~W@+i+D4R zPr0UM&Ym73w6y?f=%~`G1YXzlZr>PZ8rRiX{yAKQbLiR_G}^Y!<9_v_r8Nvk;->edsvTtaOdCk_(Wa+$JdygM#Pc1Zlu z2G|8=jU?ejJhgJz1{2n_In>&!Y3+WtiO zapG-l5YA?HzMoxG(BgnhzZrZBWX}Q<_E|^`qHq{_P#-V`PoRZg*hjZW3xAk*-F+(Z zy2RUyX*TK`z2)OiA}byPjzB7JuT@0hxqP5p)^xBKA;5@MA(b`Nay0cYezwz4=#oT&u?!?OK~Bwy4ci%ZI!3&5-PkSLH0>FX_mpH+S)_9i)^e{oFvkq|`V>b9P9T z87SuLwFlvWYkU2$VZtNto7ydqZ~Gt0N-h{v9`iyy!|kAs7+HWM^V8Z}Kf4e6($yBB z?{c?TGa^ z85Kt($8n@IxaL^opyFpzsm=~y;zoNgy-F+fcN^tmTY6!9(&!$%|RZeL6xxb12 z8+pO-CJ%0kXXqR2hH7F(mF2`jo|+|OU2`>&&BL-d<&d`0P;n`9{=(op_JResRkeKr z1~*f$szNq#UE%P74tGC)Lw>aI*JQvmQu%@RilligCh; zR-}IvT{meVPwExX$c=5S`Pvih14~}+%GXSFFQvZ_wwWet8xrd!N_e@ReoIi;%>dZt z@{=$0cEPf{r=LXxe#+G4k?~1$vQSG&Sgt31E91-C#V~tEx{w55ysd<05=wb*qw8Z} zK5l#=6=B3(k>{7S9~sLD7^p^pf(tsWUCe)rmz z(Xx;Rdd;2^>1s=n6q5A6=Uuhe5#pRE%p3UQu6>gCDD{C5ZjMh={q14K1smX0gAG0L z5`f#ELx`S<;4GKgTXEZ6VWP0>l9_K&gcZyV4bhe6zZq80R#mf;{PoaLa;C2%goiH& ziPU*$=q76FgX@rpJ;x#eWhe&T(5Bsw$zox`%%*rw&F|#5Es&Gki#ZeiP96?tkA#rv zG7&(B`K<=c;G2>|k?;(aE}2y&vsL0!zxSLFfk1_Am9@G>Q1y~A0m9TIMt;80!j})* zdPeFn;}hIh_;7W;&CTO&+e;vqT+$$KJFFby*#-Y?v3t7YeEe93>mnE3G#-eOg99CS zE-yH7Hxf;d5fF?aIuZXh&%_P+xIJ1C1w}8YfxG%f^LAO*7k>Ra)lTb+i8jQvSjnpO zRv!apU6W(i3>yz`=mV)+Pa#$54;@C`hDGoL6)JNa(Y#2LC8Q()eLA$qa~+;K{P1#n z^xRV;%XO)ZIV%Zf7=RNEMkm};T?CPc*m*>NNNtt+K!QSYe+8-F^Ie?q zx}=36rBx0~m}ZXYZrBep(0Y(RZ_jvc=1QpZ*mzaGbS{VK7XyE&=aXv*x+qq-qrE8~ zNhHq{Z(bIkcZh-inkT2}mZaiOu9DWfH5>cIoj~5Zz{xr_tUhZxp(xD{gLb`*^zYRO z@zCdkqccW5JfO2&ZM&*mOmw$|(0*7y+>E?_^P`1WW%bg-sQw?`CjfZsx#4<3X!PQ* zcWvqee0iahCKMev(HQ=uZTHJL2zu=HM;s&LrSBNJJXNK~s`>pFc#ik_5rr&oZ^;$OdSQ}xMWKo~{iLg(#KV?OTE@y>6l0#DSs zyc7M;!OevWEbEL5@NT+TF*3mCn^|Uc%Y8$yFOEUgo@LeN;88act!6#_hmC`&qFtRu z?}04SIJ0z%r>vRXMwMI!edms*o8uJ~<%c1eoo`bBAN8GbTnc*sv!=3u^XD{V^f0?^ z+MN60DV7HCOwA$8-#iNDl1luRwe*kbyGH?Tf8A;}$mEWi;Z*G}raR+KcsH;6{#LKt z1p&Kv0o+y5wu{brEsG-kZ|`|ReQn2w1w-$SvF_q*r~a~ID=qIMOHRoPWkJGYmz|)0<=Z`liL91UgUuk61Bm*FA10a010APmpQ($LaYP zcv|2&=aT!R$WD2YXz_U7?L6y}^9FP`R>&#M(0fHGmjBAd_uy~%P8TYWy0-lap*@_( zuY1;dtZYC%C>>Q>1z$Ito?F>yqrk4uhRIku&VrH_0-lMWUa7X>zb?RLps27dcz5k8 zo>CvY{n6cXlltXU=JpWA>C+8GFxRB8;nOV@wfbd230X~>*4|`JZQDS)$2(Eybri*; zTGVmw!woPv+jWoRu6PZNwBuN20(8AM8H%ZCQK;%L*ote3&huiOJA7%4%`SGnkh7?7 z^-V4+DM&QmPa#sOf2W`nb1-q>F{8|F%K0veLGAeWS~{cti;;ieU^l^h&cm~@q9mhI z=KB?=<{aUR&Cni3uqhs<<2aN*B`Xr-lwetL1gC=h3ExSOp-k{Tzj2as_dA4qc(Wr4 zW9?PyySiD(ep%n70ggxh?3_qgLG%t_^(Fz+C)CXL@y>anri0vVsQYS1U1fNhzL*b& zAtRhTf-8!@qH-gFE5f?c6%>l$NU)paoN;CsfAjocKV$FszMNy{Cvgz0nhG>CftkGB zKrMdA6;G(d;8^ESk(Pt;XSa`van*a>GcDkxIO)rwz1w-<{jdTcCSm2gT_S8Fuz5A; znc`{?2$OSW54wyp9)MAKJ(!MgL7Kr*#|C9ym~3WxEkO;BkG1EZt=e<2++-gSVv^}* zj)ZG&4~#XmKNxRpIl~|?Tp^d?BkgPRm*Kr=11(O5ZKJ;XIgF_2Hw$u)O$){>?)#<< zagwbq=>f*Li;cE3#l~Qm8+*|3>3m09tR-)(cs!0k)#Ks}^{ae+dc3}`2H?ufwew26 z-lt$2p8fhvD(oYOsI&n@3UP65GLqkt=&!B~4-zlmpt&==R zOc3f%NzkWmsEpxf=Hteuk(s;7VghpvMF>y` ze1Q*=qN7wsG!>d5`&4*Cv1`Zzz1+_V!@F8sN9JF7Z5;&E{ z!VWfAk#9R|Sum=n!`%wo>NxkOI$1Od!&#FSea_44*G92s5k0Jph2O7%sHz#lv4spQ zr>9R>nv&F&1*AmXR%O1NWS%r{1l5TflYBEqUo{dssSE8f8UT=wM4Lwd5$mZ?E?^SI zUAmI=qB)OL^cwC$%N=ziz#;4U9}A|&fSkr`Ce7ggtiqf08Y0Gr`MB>LG`1gb(O}-E z(@GN}_rk)i=ZrHK97kbfPVv4vIK4b43&#E(qWN2%C+*i0DU@ri%R0E7mV&%=7sUQL z3r;H2Y{1S-$1$kB01LS9 zk06%K3KgCE0ZEtr9Iu|w;dxR@GC>!ioK6t_zpo-|K!?-xK2LsWCv|iT_F1P8T@ z$}JV>ViR z24s(K7iBiXsOzf0v==8u>J{OLCh)g>tiY3m+cvySZ34QwkME3e6iYuRgsw8{e}Bf- zcGB>Z_WRyr+jgu_vHiVMd3_1?RWle^#%CvV-fAEGvGT8#y}NIQg4HLit?fs^<$0>< z`XcNIgCt@_rJ~8~&iiczNaMN>#Pz9gg~Ihes@p$-R!*A_)4y8cez3#y1w4DB0X^ize(Sy&HDOdiDs7@XBxE^nw?F2pES5wAHgyU47{=9#tJxMQ$QzKb0 z^mqI^o-Oe6*Id4MlcCp=le06zJuxci8)%-mYV|9rV0P zVOLl0RnW%rzo{S0Zn~>9hPQ?pt7~`(?ie&JtI1Fp_A2Ro8vI!tqn-I3u(SXgG@|4$M9h zMh59nH%r%p_6%E0Ipao{NX5xeIce&NU&-e#@Zvwm^`;9rvBKixEJ;A*GM5TYU+RT} z9QwAUo|mmfua}lD2Puq&U=Q1NdC)OyJ0BVO$AK6MT)k;B@Q8MXxu#K#^Xl*Vlo`oq z?>}wLK6O+|o_leqGCN1OSxbh?1F}D= zGak0rf^t7Q&fRW=lzcQeL)aqR7Ls>$nY4>=*|0XRxn>zaLn}+%(`wuxGRpCA*m>ST z?r#zQ+eBl?7082wA6dmL14qas9oBKVM|QPPme;KiS!?pxcP+@Fl*zCAt2-*^HbS(o zUQ&iTTGu+qvvhvY{Bev)m~Ag<cQf0_8El?$I z&s*HzGa74qQ5_VhC+EFpNmNxaIO7wDubxEVwWvnvV}iCUAkUGZm6;tEY}y+(92ay0 z|C%=(bV1|a6G)ufb-h2^xhS_w!gF`qKAQ5y z3Mf+Yhp9|1YSYcPSE2yprz@ge)oij=a;7T33s*z`7)yoP!&YT3BV}6;g*4WLchunk zmJR>&jwg-vip5v#ntCXtqH0_bNN?*`HRe<}ccaE84m`?bmNdI7ejUN`Xm4{lCV$?-zq6-MA2;m4FD6;a)=4K9PUnVXZ4G_QDAOvEZlo~Yr1 z=kZXmmBTMxprgg|HDQD2#UBY9;3%YW7{MvYSan-ujRHNZ=AUoQ=vF%{s8bDzF}h^4 zi*X0$6XwZ;oH|bD%lU>z0bp98zf#&xV5!$LvW+o<6Frj48X2PRmZ`S~;|7bNf$~NB zTx9St)4=<hj($Unq;D;T z=Z?tmM)PKupzF`xVp@pae)r0t^dZsHAJ!&ZBHH z(-9Sy+WdiS1Y9d!ojQYLlm!og$=hA1xQY7CExNy!yjG~YIrV5q%7T841V^eRuyzBK z;WuTwozLfKWX|nsvHU2Vh1m%x0QZjAYtFBIcnL3Qz@?JMctu-NF1L5yu?Cqbqqk)S zppjeaYC{lSt^Epo`EOvB<>-ZS;zYTlq;0r85wLC+hX`q{&V)p77#TI(_j>QZt(SR~ z9vx8nR``YeYK#4H%YKk@tM_)(YiQ3~MXI>QG-{1E#L)r5b_?rTzxVIAQUSz7QvI6HQ_9(EbamR640CDn&Jf*9eV#OhlUEy=El5 zi2=r;nvue#-`oWc3S0ZcpMMI=6)90KW1nu}g0*@iiqxHM9M`HOy}=dD@9l;?p8_Pp zaQfff84q=UI*9-_o%DGF@2qg2l7N>lecz}II72V1ua+0J+%^U10#ACZ+nUffmQnQ>||)OsOkI$9Aq8rX;{HV#33c~>=wHhb{Tm6VDW7+Pthw%=rXS#R&)mJa z+6ThrU^n}~(LDH#weO~AR@H{<%Bfe+ALTPzPLxr(hq>S57&yri7sVM7D*N#B4LGBW z+0xKqSsr_6GwD}Gic<$&jEghmTe<;G#CJW|&YzjM0|a{K233V8eLf?-9-A>(MxljR zHwXlw=02?3hccPGB4q7Se=;8S@`+sS@W-Xn7FR4qUwZBch@3cmbv{Rd_Im~^tywsV z=)*ZBjBM9<{b7M(1w`S}h3qyn&Nrg(a|A*Y{ciEHttua!44O;P-Z}(1FS*~Z5%5^u zL}h}`5U@V{;xA2S`RE#Y?mz?0Y2C}N>-tw+J4kVH8ssmsfGyK(OTjy$Niw_V~y$P#nzYwa=+OR8WIY=)hUtk4hhh_%SNU4sjH9T5xRhl!t(r#0)CS=WouF>J5S zCkSO+N@*z1KbqMQ3G42UR*-9#{WZn3-7}lK>m!Tg)~m}h1_^qer1$@rI=mu&d+Zyk)ULt4nJc2C}TN=Bk$Sr9j+%1OIWJ z=}H;gzrg|9F?_?nUEf)3b|FV@hip?#4iSMLq%z{x)Oe+YKmo@pja1Fh8?Peum5b~t z>Mv~Xnit4$raL|cwz40S0KM7`zB2ytHz^FoF>OrsRLRE!(ngAFdP!r1;_LM!|;GVa#CWRb(sv2u3Z&u3!T)QNl0!K|yId_2O6k#!TB zs+}KFdONOtLNz}9TNUE`82e5{_EonRuJA(|Qrv)K;M~^vmsjkY4_ahAq-`zS1#pD1 zzr}{Hvh~j(KcCn3(si!uPQiO#0cPv8n@6@eL~JhdmzValt0A?WPd|R0-U*#;*6H=W z|LhBdR;XCE4bIwupHH1Vz43oVfSx6Y=9L#NG&bfI5d8CCnbQAE_j!P?vw*vpjNj#Y zc{k0tMzEbsqCP6(jPe~n5kOC)ceG&fwz&4{_H3ri3*r4cs6mq7idIwquxSgvA`j|& z)2;mSe)ko)ivL6n*Q5dN47zV4^)#u{7C!ZQ_$xD8$7YuN(F4;vt{aC>)~8v_@w%wa z|F!8m2E{+H8LJaUqk!rh-vJVyc6^1#QUoBFuUjkGsy8&prZWBfxNpWtb%ITG3-+$< zumg1R52QENvJQM9ylin!aqlN+EGbb}7Li)9+?S+!6*AyzCfRVcT3u{pdCmJuH4{O~Ywr31LE^hlXCIjd&p1c8 zD1|J1!6Jhwe9M@qB{3t$8e^=XSista+rl)~v-37j9; z^m1ev_y~+~*4`@k2znjh32-XY#r{uiuIOT}hYclHBclKXm6O1UNpm64y7Ki z!)lz5uvftnsme$Ots|?8@0dY%OvKHS4V}5B0d~MU3&dQOaOShMK@Kg;eUc;L@hgU$ zE`c+$^V!trWZ^#_`u76;&%Rj-#f`vplU>@b|DGe@XX&5Oe&qNc(Urs)W%vC%w4SR2-Lu zM7%zG&iAo9R%w)GiYsov7wzvfvCsbua0W9!&E=0asd0FluXJ#o0Jr`QS}xLH6rV{+ z_zX%I;W{^*b;WD{WC$Qe>xa*FIkkAu&O1MYFM6V$G*^I|5_(jEM>b?X%ox|oe(b{| z2B`*dMCe|Ct7bhZ=cL<%Q!W8Za;MwUSiU^=Jz>;Lmu0*jqdZq!%`WdTgBgx-Uin_p_jELaDSxf9M*EQ{ydr z%F!YI3}y~;Bs2<|bpgh>D2CRB{*?3YFfYh$XG%F5{&z0i(FHb0;rw(@MeTpqV*T4K z<+678cSWC$h*SiaJF@t5N6Nnh5xdLXF+ks)uitiWo!-?t-r#qJb3LCnU*3?HVu8Mv zdDG~aH>4aI%?Jp8fQbJP{L3gse7y=s`M$xlgsG1s^ld-+%-JD?kBmd^P2wlD$-3B2 zPG4W91r<(wZ!G6l#^lu>I7f=dhYnlx!=?z2Xb{ZO3}RbXBL#K&<_6nHxEoAUbL^S0 z0c?ZFuX`*tk1ZjgB=Qh2-8PuB(g1fWZ{zgfdm7X+HOkrOKr*YN&bNx~dp)NCujeF` zh$+rG>!9qgIp{*dm()W7S$VMtb6;Cl)Rqxx=m%#t{cZ@eRl6hRFw>*x=TwxomzMn- zznfwO1>KPHIfy5)?_Nh5r7^1heK< zCVa`j=ThF-2Q#V0Ea{4mgs#0M+~U_#)ZE%QDe|(hg-A&Dmrw1`!xSJ=){CkGa3$U~ z9q;q4K10T1LM=g<%iBrS0{wE42iaUX7XD4OHbP`t0QiTU?8S>xFCUgtces46F9qyv?c5~Tkx<#=Ibwo@GSRJ~9{)4cn z9*MWD<#s4^M|0el=`OA`pJ%ly7q!A?6JG;@83y}F`-bLRJr+6zwUG);YDeFYd zr-;;6ui9jWP934mvu_H$2ggzf{tb1{l9TXvXv?~d>-Xw5KG3co4R#l;5g80Wyg}FE$=p7Rj_7x7?42 z4B9wgtiV&qNO`^2x#LR$T8O%AcHf_Ph+nh1OJuUz>14{@Ps{qq$;g^}j^zGYs3m$| zINMu!@i7KFsOU?BK)Hq?3J*~jEyF3^E)xA;;kF43kgNJ>H5_LCg=PI$td=fr2{3WnXG{*9pWtb(Pfy;QS3mo2je|z*fb&Fe@!y znGgTOzm1E`_g|&~qH&1-sDPIpU?W=7)*t6xb6(eyV)Y=a{4TOCLa-$73!LN_-Ytc) zFtt=k0t=E%GuZ`kcM)P)0#zCl^p`I5jI4EEs8_|%miyjh5cE;K$R4#Mbx#~a|C(uq z;DJ^RiQQEbWKCwErA;1{z4U~X#r+QZ1b~K?e)_(a^ zblZ&ralyv(^5eNSk3&SvoRGms{?fXd62Xyj;RSzXvgl*REAs5e@G791qM6AMoXYgVJ=lCx+Vm-6!@64(_>h&y9! zc=`I>8o8AA0{YW}7d$Emm?7M&I5n#J`uE%cNKIxIf-`r%_UTND%ex+|-*=LzTlSDA zC54FglDK(|o8bn1S+I?+dwUE==Yk!Xko63Yjs-@4)DV74;7SjhWw-wT<2O8=uNHzi ztY^;w-wTvY)C4cn2;}H-Lrdu$hGoZ+?$@Iw-+sT)H63_*o zG}8h*jCW2S=XK<-xwgkTE|`~QaEV$jdehtQ%WvdTw)2aX&&9&S{pg@1hDHwWOL0`S zHMPF+gbayG!3Fm~k8+bEj{*ved~djWP)q6<@C0le^WYeiei}GJJ5VK0X3vS|M2Rb9 z?r+{Y6ckcB`Auu^LU7-PpeNKkm^-y-hql*kvM>G*xdS-SaVWjQ`pakZ)K4 zvo<1J+CQe<-(cl@R7#Q~NgmG&HeloH9JBlxl4Kp3{i-vtli`Ychhvw!yha10D#oJ= zm^VPYHM!hPpXz~%Z>BT91EJrV9;jH2AhppTO9)`QHm>vH#RTvN7YYRI_foumYW81p-p4D zu!eeXm0(6JQ=4?_qD#eBD4PwNXsrbE8*hoRX&-v0U8$W9$A#Si2(h=X&l6Bi@Qm@Q z$_wrus;weX56^4>k$}dg5l9e+GL|w}3$Q?C#Lkiy*b#)z(k)vl3};#}CXQPt5U$C5 z(JT1tVI%Vf>~-hBMr^F2cy_vsFXV`vZSK2Q)k$u_-*m?z{HL7iH~!lA=L!uTTyR&h z--WJDGfb#T-x%pdYf8J+`=#H>gG)=CsmDQ1)95m!TbF6+l2&Z^Eu_a=80J^7sKJOv zQ9HULlF)A`{DX;;N2B72NVX|YdClshQlKEcNa%POj6M)TwZs=uVdV5slouM)O>C@Dindu-w!>%NELo&oPMyzB$+76g6^7$tO z5H-e&+Dywx*6e555rK%7t&eTwP!Lg6wqMLpF$sf?n#KrFXC7XTv9w zq&T7aw?UrRylMKq|EARd8#(yNJz<5ieA|--FMbrWN;O+f2k6s49c z7Kth26JtnipYcEO;%y;DAiKqK!`hMd*&~AFZ^=LMRo(OVBZQM*|FxN<%RpuCO^w#x zh}r#MfR0+#o5F!aUMhh5;M&EgQN@|in27T3(5-la7)8-nXCQCVK=(8hx(0R;c6uMH z9ucB9S|5UQBW$8>g(>4tc}XCqH5{p||KeLFs)+YiI$6(D?m~eCPp_3!S@oAs;~}|1 zu4CAUT95w}WSaggoY4|5*b|$~;ol2$Y25cbP#v$+owBX`SNoL7-6i;!uLV8Itrn{e z8Z}kR1^&1*#opyO3jLGdi;M}@&~3_@`ILlgR6M4ckMV7 zKS+341RV+R?Qm{ZBg~x;eKiWlnR}f@kn;-*iwDE+tnVY=*CLTxiEz8H@&6wO;Qwti zb+G}3VI;NY8P*koRKG~~e+!0G)6%6OVlH(E@GsrqK&gdl&?`WwTcCh?N09Pw0(9nB zbA3-*N@5N1Kc6y@=H>WDvx`|sWhV(Hh_r`;!K6+o={oe|tS9HN>b!{8J*`jAFiVF% z`_DAu?V}zBBihUGlSA-~G}J*RRj~*)GDxp*4yJu_j`O1V73CgmV+ihs%L>!}_q)rD z)x*PsLtnpX9vMd-Qv81Ew6*H^A+bTrRbb>;Y!iR_kYJT`{p&C@>tlO=7hQB>cN8YH?cOvY!;%HnB;5S zYcWyqj7v`amWZoMMm=I>?JYp7ZUiv1Fd9zzcIsnee19^{td>;XNr}1 zY9TGikc@>ek{pjc4i=jcyt$~!^9YgsS-e5)`rc?*?$2vz+GfRbMsuSQydoDnB*w8N-w2o~~8tOs2vBq9XAjLxyeF z%RJYCfXNdZoWjC#qX6kOu!Iy@C;tO!ps;+>o5G zZ~2BV^TJ;yHx*=pA1*I8k<2pHv;AI9 zsQj3-0*z?Bps^MxF5F;KJK0!-LzrDJmQx3SiUyF$Xw@xXKbe9hMDEUp93*O#_Mpy! zU>pJpOumqZ_Fi|1US||>5|HT|Vj9WMjYTVQ!M8N9fI!)U;EkUJWcAi0ib5%^2bbFu zcwc8N^WmWTGM*EQdrN@wVe5mXdjGaqy7HfX*&5&?Kv)@I1SWSgU&=Q<>e-!m6kC)!6*H(FJJ-MHI}U!wlq3>6vl>APE2T?T)ip z4=3EB+i!Vn;fwIu8>brtZBMJxhD<`NJ)fuon;)o74YuO6nEoMg2N;TEM-MCAt>-fS zEz)Z!7&rr-z^d?q&>LdKk0Csy^zZ8qZ`!P1*Jzb`xE#vH6+Y+BOVGzNDKj1;#oxbL z47*f#u%DFUBf-Sw%pN>Ove&D_G}eZO4&h#WvbDe6xU1ua3@rt2PV4jPFSv?!qgQB35Wr}AZ{qWVd^e}md=Aiw3^gzo@2{Jeueu(gk?s}mV z8^C+gbEFNHndcDRr-E4ErJNAPo6;S8qnc;mY)N^=ktYSg1V#37yQ@24e6h*0S=S0I z8y&_9D1)hI!_EmJA}orEu;qY`mSWN3$O`AvDe{p4NpG=A53@cCt)XB9z~ax(;L zVBF9@!ASfShn2YmQnhoxDIa6?43SGFPjfIH%f_!n-Z3J_;o+ zAXzC~vwX7(kLDGNnef5<0NYS}?p^GM-K39|HR?d(c$qI{Hp*2pYSA=EKsMhwVNd)G zqQ)SOT^@|MZYt>7D_E7t=ZDvIPD2+_3NAR-*0;{)F4Rbzzq!MbJo>l0hB;U=&G)KZ z5)1R0{@@(MFrGYYCh&FpYEatH0Y??7XXV;oNd)y*pgTtdjaX;p`OB5~3;mGT!+NTP z3}ki!k8|pI{gj@oir4RW>k#l3`eSiJWc)hifeNzDl(XLRom~$C{Q0u#@0-ePl^^9L zN~>=sd(A%wC~wq)(I(Fm3?_JR+f-@ z@eVU=jgf~evwnx|K{u$o0>^#UD0hmhLkleR*jax9$l)HAWUFz75sIIS-Dx4k*dbpc zT8^(=x*(*XD0ZQhL&aQ;lAOxL0Ok){^)+Zz-eP8{x3g?6pgrGsDJCk2>&6sirh)JK zUBYd>ef)>aODRz#fi@=!8@l>SHWiS`+;C^5%X~Qy>C+zT2V#y|{amW+(kf9zY`N9` z>Xp+wGp%NLTg~lfFrO$|TC2~+H9iO#uVLsDCFK6eZwbEWcbrXGogM>3#^XG9jsOv( z!Ph8vA?}UC)m?u7phN`#(*k^s2Odxs0~EAfu-rW2T^A8llNZn!{oOx*oJ5Hvhtidt zfjI6UTEW2O8_<*cO6x1?C*>CJAkkqytJ#lo+5+)Xq(KWQtdJ;7LR5p>pV444;7_}! z?QwKV41&sKkYm!Nz8W?W(mZQYHN|%qz>X>#5j2CuG$G~D7~vR7{3hdsYm)frrt*r_ zWsY1A5{Itee+g)A4hxEa@5HlQ0yBl^*#8F`OmjrOp)u^jBUc&&ZkTS@Dla=KHolT; z&+a0uulg2n@EVm_Jd#VE@=;y2xUXO79rBwYH}ng+kBnD1^PC^b$XTaBN%^RrKmqZp z>1!IHLyAP_5!T;n@m4l3Cne@r^^FkvvPnyh|Vs(iayAQ}n*M z7EEX!6Xq{0J8O2e{axioXCTTy5)2U(S?rts%Q>LJEd zgUBz4j*{H-+LN?g**9M5GID|$Y1o+__9C>bJf)sAsczeZiT?Tx#Q`a0_cXs~Xcltu zw6=~X)CNI$hM6u^8PWlpGeFS!qfIgSoXa5IBvr3R`U9Y zeDb$va?%_}4H}YvUZjycEJ1DGqZBE2rz?IY(ZZA`Xpw0a49b*Um?)=aUXLsVE5}Z& zs_LxNcv61ym#t|VFb25TL_*Ku;+q%&(y}!I-Sd*B>u$>_Cx=DhEw2&!9k z+ov69UH|ssqP8I!^85WQ$!nF-5hPKK-??j6#bW5bRs%z4n&(OLDnOl`){O|o?lk4& z+h?@Yr}Xd6oVr5U(O43rq-rcN@4l3Wz4ZSTk69IqX3rp5P`-cgeiieb^;BL4d&W!p zrUWu9$$r@QEs)gy^m*gUw^tT>`p&~EKlg@KTih*SU%oZiOnuUAbs#w#^ffyj14x{e z>Avba9RKJ>ZwkU=3~oXdkEx$1Rt!nvppe&L6nUOpY;a4i#EiuC5X1lH_(IfJS>_?= z^b(p7OChANz;0M9(_AxcUzFRRb}m}J-Ho8^ezt4Km=6ZC;fdl$Lx_VILx%&70niMv zNyu2{ZR(hxee9S-z=TBL<(5=~$4fFQy^@R%fJ^OxyjwfS>7ULH#93dpRqLXogjF*Xip3kFWMRjGm<{`3Y`4G|0{21b!MPK-0^&TX zoVrn3MXgHOi|c)bJkgF4?^>gV!%{LiK1ByX?-Qm|p+!8adJQ5qqw0G&lDEeR5t44& zXNc67)=vywh%Jp`#Fhre7es9RnT-^2!@>T;KKkY5Xs{IO+2X%ciRIgyyP) z2I0x#f7NZZ!^YCeI?2VX`QK`hq0+)P2#4GblF64)LE0im*C|V1O0>(0wf~E=vkHo< zjkHIp{BLUoeEb^QPPPbxpe zwK1gH-D)y8ZmfT_nrtDhKA%_-Tzs>P?$>(r!Awldd}5eijg4Lei3c%uZyeVP|5r!$ z5Bl3>g>2WC()8Lm`~hdWl$TD7Xw#qxN{__;RR!e3JOR2tRbiDBIA|`Fhd8J8BK)WV z%~cTnnnNj|fStX^WF#aQX(1cd`LZJ5g#-+4Sy2_cf_4_E4Js|rd2GD66gkQS@erC& z1>qKE0-HisXKr_3HtVqUWynkWF&!B?ta;Ph#>;L^(rc&8!t9hvcX)~_I1_)daIC?E zlW=7YW=JBeWZ+{bVo$-Bf<+$ibQbV5R+FP*$I@5^b%sQXxBZv^)&b|C8TO4h_FAt) z&8r{&)a}xb>?(`Uz}@>Z#P`GbGC_w)xn`6eqOtj!zL5Tv*jfomqg)P6!Y}0k^rMc* z_x0lz+*Nf)NZ(%&mx41Gl(y1bsU4(56CQGQo!^WE;R$MLW&(i5Qm4%)|!XZtZ6Q!mzSd4U?RC@dqO-kDwkp zlPV=YZ|OZFWZhs72toDSH>k5rQJ!1<9f!ECGO$xhaUQzUm@&3Ri1`r9yfDE*w=SMqzdaSx;7#|wKxBq-=(Jpt@s4f_L@6gc$RLLl@_^KU zP2qsdka#BD!UUP*5pIbq@*kS?6vXu5Ts>8n=tCjXXO*pC23QNhg44 zLj+HT)0FS>oxu0fV`p`*6I>*meZy`F6d6?=(5OKSUXQTlk3!z}$MXl*h7%wxIL%-) z{Fc%lb$BUF#Ei*cEjx9s^Uq?AyIB0*iiYxu+|PRQM^0p}R$`PmN#!o`lHN#E&iIWX zfmC9FnKFhoK-?hx!5r*9XWL4UBBk9iMJ@ik{;LwXmmBVd-3LML9*~pfC%TWv+IC+- zvlU`93{>b93&5$0_ZC>K&?^el!v`K68f(1&*{B>eib(StWIzX7&IgrKsoT$Q?AIx( zpFmicVn33eN-C1C*$sSm%%;9Bfr9~qm(8c`yvfC%ido)jwrP;LB1X3Ezy{@RgEA(C42#Ou>Dz}gw5`AwV!?7rBnD1&oOYtlXERl z^)RS67}QvHJ9!ytIy{!}<^3s#m&FjBr_pd_sv~maGw(>HbA2`9a^Dh(u@WgQUGVk# zb?#8bQ7M!nZaZsGv#(arv`BSiD$^}F{&oD_eixVap8Jp+2`9?WPJa_Vosk(KE@i}! zJ>$&c8Q|1s5hf<)f93E0B!96ph4){V3`LpA7wTc1qCPQEn&@}Ev737U2+w8UpG}i zyGF{9Na$7TRveSJZERHkKP(l5-Jy5gbKL-`s{lYx8vYJe+H@m?*rSd|Lb!nyw}AFdJ6#wVWM{N~7jyMkbKmn_1SG`) zNQSnu05t=99Y%w|U*V2JdzvU#x>Kr{>x3OK>Ai?ofb|&h&&8ZzwtY3*qCk{;=ahd!5qwNh#wuAgggzS#*KCGiTR!PPgRRPJE)^&-dSE z!EquR=sHqXcezml9P~;qV})s_fdZPp>7*b5kXwRyP}GOULK)TPy`LfaM%_pazr8E- zb3X@&q6xwRL}(p~{eN>KC(8a%{?QE2_L1VR9I6k=CS)-bC_eF;!*c77TGaL|a+h*2 zHw_EjS#zUvdPT}+HB$( z4nXJRCl8zUkDDY9l)qCp+gy)7*K`PVbp?-iK|5|%5RZeDn;Zg(^m)q?X_XsPL(vvR zZp#Af&Wy$v3;|GlSV>hRWF76a0p?T?!j>g`$~z_P6HD_j@@f1U<}O#B>^S)57rd`) z({sW#OIYXL8gqLwL^-4`8CUQrNih7r%Sx>)g=*KZ4-pRBDE#?L?l zhc+hH(Z9Ok7U=D7VQ5Mk!n^n-%EjR*=SgYQ zfTxcm0jH7%MN5ITQxWgoR4_k{Yk9 z9uIEy{V;iOg-2TKeoS!}yxArUQ;Wa6dOCc05ZAS*isDrs?}SE?k?r7du@L+Z4kiUl z{ys&Z0>x64OHzdbxZcJg){=B>QkM}mfu`vP?u`;CrM+}c8aQA4V#4&*COw|fujayN zOaPJ`l`9a4@j^g|Xyfzd)1^kQ6kBf&!0B-y!2s`fC*(*&!MDf%S#%2|9JIrlcj8Q! ztF5l}Ndy1Q+@$-%(Lz2nBlN6#;wnuQif#3(3xp0rWLfDS|Hd!tr?xPsye;H1g;;RL zA)=B<{P@gOm=DmQUSSh5u7k-zCcpA{>NA5K&>nm?I)H%Vr8*j=Z&w?}us0+WH9ySL z-Koh0=Cr%@@H&3#f{I$*;4fQ$*XrCJ!meUY2M+FY5|&N`>UE9-JKQ`|F{sr(=AA61 zhS9P^u{$3qU&B8v4Vfm$cm!<|{06@HOMZY~2?XN=gv2Ewqx3j?56XzW3G&xJRnmdE zY$P91*4Dj$?d~)GrFVKC_5xkpUFX17t*d>EyjyuhBmDQ}`yJ8itc)}8=enBi3#D2A zoHH!r=7nsg256Y54&FTbz5|K^dSM^tEsR`)DCxG;idX69TUN7a*X$&OMRaElhqMLO`_G3+GxO@N-|u94E8(uU#h$X+P21_GF#7Xt%-x6i6>g9r?e@@9dfUbSxK>H37X*+^Ep(Wq_&OJh5*Tr&-x&-7n*mT z{VM1q@v#DSx!c+r&@UyHU1=x2dh%+6H4JEy&X7&mXJ#~O6&OMd+En=WIHbSHHxFbZ z-|mmX@^g|I9!ltYe*U0^>YM@7xRFUJtYJv#2czKUTeI0{r`?IU0Vu#?Ll2J1;x{`O zYcYk_KX4h#IF+uCeKm6sG?>5-FYdo@Ke@8{?K?Y>^Z717r}rJh*Dd{rn?+nLVwES)>=2IlT*}uth|A=F$ag~P=Olsqm|1fQ8i@d#J}hWN;HZFe;8}o$ zp?mr)bO6~U;w!h9Obj{eEg?&Sebl7J6$o=0(24yqT{ZRhmt~eBDPhff38$Hp6mhdf z1k)?V``*dOHNGBGq1J3)wVxOsh&Q=y7v&@qALBkZNet0Qyu(Y9p{l5CCnd~O{24Q} zRq~O^S@j`FbjVeXfCTA|?_n1Mn|9jbt@;g1 zYuHGJ$A4!Jpa7J_z(s=$28W4sDhU6og5kf@<%SH`fo7dic~0{tY#Wl+-c)W*4wZ=) z<*EFT$U6x>hYmqC=))RpxY+MyXe%$6!|T!-TGZixwe>?bRFikS4rl^lB?U^TReHo} z-|fzIHJpRsA|jW~g6<5#=!^)j8`Prno^S`xr=GiM``+SW%?lofyuKNTO7o1^Bx28V zU|jcc9c=c<%7c`e8roJ^sQfbdP?nlLKG3(gkc5SdIst?&$dFq1K~U#7wxw_6sSh412_3-r2j@ zMEF&jsaJgwN0-nadkO7RLsN2oXwv>7*9%+`AHHMBHnS2XDlo&z|1t2JE_I`@O!iKb={WU6AF0KjX3A_VNOss;n*#sKKWe~PM$*j` zLRz7i2cs_Dd{*nJ3xzNcpL@`Mg`C$S=Bg2v_v)^<;)&rZg#Bf)8pdk|eECdYEo=+G z$4M8JtB3><8G4iOx9OWX>cJ=^7zmT`w*T>egyGd0c+4H8{L)>+5cjSA21_Re4(=ca zaklk7td0<7JhtFS2rsx^8Xu}yruXD!AChk|F2cBAs4g?bVBp$Qc)iiayXBu@RTAVH z5c-;ZiiMbL`9Myb3P!@lWEDga?qDInAxI&6P#N1Kl=zt)T02D9MODB4PjZN)klX6i zaf%FePuzTr@i$OTSqwbQfu?pYLQJ_mGKuOH5Fgu!D4A8L_O+nk;+$Vb7*vhtuF8y# z{>OAm;{@>BO}L-81!fZB=_O4_l6pbp5{I|+&%VY@7ea;&|9hiir7i@(#?!bBz1=T= zz64DiO|ni+mUxg~J#4smC@i(;(1U^RSFSfiH)u@g6%sTJ$!h#quZbp{#h@+S&ou(L zOlDwi;l)@OoB)6gCGEE{jcTDg1Ncmc98c5O-Yy|8Qog{Rt`ki!JKc!}`bX|wpJ#7Z zkYCm@@2>}&I~*q0Yh4CEZzCGueP}4Y%lJy3$DJLU4-9Ss0I$=y9X6OADI1o@0>2-S zr`l&qu*Q7l@sf;V`Rwrpn0nrt*G=?Z{T*f#jXQxCR7b=K_RGKa+jU`hR3T!3+rF8S zbU+y(H=2D;LtCptiDI7y+w*3jR}Wd1T*mJyAi)=1d2v~+885uhKPu5DWVu_z>sFNC zcIq7WJFk~)z%5?A^jVI&P1%t$GUG!D>rvhX!OseT#}&dpn27IDkxk3h&-x!Pus&He z(~-I3`ooL%_w=+18>+FwlLW)=DDR@%f1DVqfFCc`B_7u7h|*qOT(=Vkc&j#F&%LIV z(JNbTFWnz~?N&i##xXW4ng_7L<4`kwYu0E2=?IxWhBZ9i-%(rLlwy^J{bw(aVLlxe zM8`$ft@g_xA~AZR}|oY#vmC3`6;NuB^mSQEC1Ks2mBrA-nZNxVV#&B)-qQd_iv1abjM-hvY3M z`v>WX2(>?rEp!LdF(EekOC*6X)&fd`Kuw)qWLOKiV_CLR<( zq)aQ_`IK;WSAAZ{ZNO!7|Acq%{j>i?wyFN- z;|;*|!gT{S4XUX>Av#GJN&@(Zq#?ADg^EZiWHRp($4}@yb=*&vsSB!!mQ93BoV3~g z`g2vQ8@US^bZQriKsg1Kd`pP`-O&Yn!xm&cepp$!+w_i^(&CUaomN1id?WBh^9WeeCG_?(^#hvnlI*$FdIL~d#A(y~y)phNRPDz7U66f^ zH7qgnC1I2|yw93Z10fg=O}PW@o^R&qqiDB9-Kr^%3&WgdE})5FrGHNSDN1~4>6)Pl z7bE)Vi=s=>Vc+cxiYuEj3^ra)&8S-pjeOdKE7&8$TWO|Tb1D}NJ0UoFe0`Sa--uF1 za-$LI`sXj}x}d|OlJ_?4dR;AE825nEaRpo*!@CTAGqED6+oCmt<1w>Ff_73Y@n~?( zR||r~&cIblY0D~zm3V{M==r4G$5yq-s`w`ErQ%&>vK(OZErzYrpu3Naog}ACH9EA# zX#1<}AMN$g)rmxs-Vw6DuwD<{Q<%*?I1JC4Bv$c>(tnw+)bREP1bnMmM8a)xB1~7^ zTew%BTmWb;-+yt@AD;)9!k>`vs$)vV!UKr*<@Q*1I_Fi^z+iHhU0}d@cXGj`Dgown zP+_dd5OE<|x5Zv389}V=&)DqV>ZFZem((l7lsDn0&FW?UzGhhVH8QGQWAAqG_g&wM za}hm&;hUs0t#n|bqaxxBd!ax$R-aJ#BUjrR-s$56fY95%yX{^-X_%Illg$C+adUnk z6d&Slze9p{m}4OloJXj*ND7Pm+EELCEKZ9$ueV~$$`f+Co8uQBrj#JFbyz+y|Lt9c z?Z%c9@a7|snzCKT^eT<|qjFrRABfI*_xI9-x}_KFxsLRLvZnqkNM{9hJK6pPQxI|V zG4iK{?1$Cg{7>SC}{oB?IJYe=Ho2zHR7R3L5Jr&~nWAo@|4Z zuq|oMJ9wI_clr7h4%8ucy%HZ;DZi!k>9Bs$aI!oTmH{p#ZqXl0s-J^8pm6f4{>#H{ zEO+-86->eJsQ1Y)Kv(Yw8;MtL=@La?uhf8h@z>iI<(Ikr`x4m3q>*aPieN$2Pm*4# z2)-r|bJR=$PUjWoVhz!tr7Hg*+IcKVWd<`bqx!mOQo@KgA$-e$?#6FFb!x03%Jifx z2%S#+Jd29(S=~l6GwA+;Ka#w~!7?BHdmvpD%L|Gg1TowBx5i zhbuOLKcN^o0b}+QPfENufy$dcB~m9^=!^kgsqObTH$Di;BjUZxbtS`BYzn3C3?ojP zY}z;l>;&v^_SfkKeET#ZmD~XvO`Z=RW5gR+Rfep%^D`f%l)(OjS;~BLOR}vWrjskm zU%b9{xJer3vYunGu@;goZMnXe;k}x=xxJ)LwgC3NhNER!nY_+2G0)d5PAnV)T@F@f zG$BLawVDERaaS~0SzZzJvU$wq5&j8213QHBaZ5{7G-V~F=-EKTU<)a3i_qyU`)j@j zn1?Zp(<&^uJdEpaV#STTNwNrkCPkKlO6ikx(i;y8749L-#jH5?)#@)s;p+b*laQg^ExY3kVXS z^Yd`45Fx{ZCja}1&H>2eIH>t9>=xiLLGByaSkjbVbnQXag;h5hLj7n|f59ogt7?D% zbd~%$^FiSV#ES8%7nR|2!M2UeQRLmYBex4e=}Hyyd01oU{=6^4^jKW!3AUT^aH%ZY zR+ofy{q1hwWBp;>_{Xg}YmB$S_qv~GloEP{ay%0v99F3XoYJd!K70@F zM&lcn>La#ItxZLk$4ODPMg+{w z7}_d*hE+3ryX*^_m2C$UDm|93tayGC$A0%NaeGhXAKhCKq)?g`b}L!z{6C>G%Hg7m zds=&!>pFX7m*Ma*y%9n!rf5!KqBiW!4|fk^_0pWvg&IKwuogQ^Y{)9mpMWgAV4rsl zmJcA_RCa>HsRpiM@W0f4CmW>PDVm2K5)ot%5DskS_eU0~S!@QH6Ab3$0NA+Rn+)KH@)bUhP5F4Vi{NHDw~INF99!jfk2p{f#3J&! zMGx{Nl`PfnVa101xreChGm+mtGdwx{={SH01K_w7$mKm}>F_HP2=%Imqb-;=$6MA| z5MJ(6=(9cFJtc)=QC7=a!hv8ENUAWb>Mps54GYRYf}TUztvlt+X2S`zc}~1=#%Sjr zJm4Rv3_NjNHf>PcFQCuP?O1~xW;RTAhuQJLFDq!fly~#G31f5FL~ex>8chd1I?4)Whl zONtWwdBpN^)~~9~KYFGw(;CMX;-54H1}- z6+f&okQLJb8-G;ieL}PVA{NvC_EYJ>{Z!+)m((oF5((dMa>o)rAn_H!8p6WCyJ5`~ zo%{>!YEeuWGilTB=0+h4@bAtMz{hj-XfbqI+-K{hp}A%ON(7mH*AM0BC%pndzJ!OS z=yXUuSbPh8Kkt>qD-wZ*RNyG|z?!TwBu!AXxNwy#DLrgL3(fY^HZ>IC1Ynp9;ERYq z78VrBy$L=n|Gbp6{|VfTa-GL}X75Hq2i8`t{<6brR|tw81lXxsN>m$yI^OS(b;7vK z$Kq`KJ)73t7WMxl5UR&OuIg@%458HY{$~X}`#cH_*QfnSjI)itJjo*p8PK*huf;4K zk5|~41)%p8v1asV*vINCIAFB>rik5-1n;>E&LvFQDbN<(&qrrZaPT|L@MbCn9*mJV zpEoUze{x0@oxlIv@*Pn3EDByQu98o~}cI5nV8=iH{-AWB^A-x)h*e~(?9Sa>u6 zzOBuc)pK-U`E1a+?#<;Z@S~sP;oGF5s@boJyRr9`ZjcgJIZJz374LK1Q3>ywNxC2O z57n}LX9LI(_;oU47KUlh(8&-~;QVt7kMZ5tH)Sqr)*-)fqduY7kZ}bVfE;ThYtZVr z@y+;?yG8TKjyK=Sn^*UE-_?9%zZs>My6~0Uvl9^|<3^RYY?jjf=Q7f*)e_NkrDuSr znsK~XTtTZ)Pe|6{*K`j$GHi#o1TGs=%4PU)k4TJJmn}nUepb5Mc!AkxLwVF-9~9nA zbidsBWIH48S-K!3n;xb14SWjW(~dbLTKO))IEG1VcomrL09Dwt0OGXXs8P#Ykp7M< zV{{CtwEZjZj#j>644yu)%+M%ndMg!EX06Th$@q)RlA5v@qpn@kpXNh=n12GCCkdm$ zql-!r4@N%4O4c(`h)1}-dyNamf^(BMX#j0dnHdV@p2M+hR^J)_5yp~l{JxzIGke3% zoCb)H$w^4bnj-|G97eVYE>=1MJ$7D>YO=jBiFx*)3sezILUs+g9Jk&S6(odF`hUX| zdopT;zMLi<+$jTf{5{9#r{+~oC8mmRCjo|R?PpxaD+KcHj$+Ad2GoG(VP(?|@be4? zhfDC%=%3Zi##JzepWXd^3F@m2%^QasaE%?rmVG7yJV~h3UF_y(dGpeq3B5&{J*zCO zT>I1tHIq*n8ltC&LxFkLL{W0cevVR(h_ikZC>BI2I{x1qX0iGhiP>$2di^4fc}h;Ij0?u`$ZgR39M6y6rX>3u zjNMR(^jdy$=zrpS69X#b{i9cNXji?7M59@?QltPp%1;*@S1ehWt#!`dPdXZIB42mi3IDcH36Oj-owZnn3ANQs2E$PYxp3UvU^B>kd zC^KpiB z)Ub)Q{i2?XZY%cJ!GbA@uYz^oZxqwL()jwv4WHn8IvH{&&-7ZncaYahkAM##i@$oV z(^AeevM{Rli#GJ^DZ_UxxOZ5>ws3^u^8ne+9rxr=MNJ3wWGs0Za;k_`f^EY%pSZ>R zdutjbc*jZ2wnq_|VF1+Q$cO<5yPf9yH(Sv{O3vqS%H7RM>M6>|U8I>`RCp07qe5%& zimEBWK*r>PD1UOe2hd_HweBedj?d#i@#7| z)4T zSXhNXG!eT0EuflgIT1_%k3ppI(k4{qKeW4G{Tb^TSMWY%Mgq%-$QL~iyu(>ilV9Nt z;h(Uoevr~5lCksr@wr|583Fa2nTL}aq6ZRpfQ|p)iB#l@m`$pL+sf7#lGAT+QPlnU z2|MF^35=HI{%Na-+F?6|zgQtBS$3k(R>aZmlXDe{@yYaC{L)Oy`BeLMN}Ihp$X@^8 zyQElS#b_X%WNcc8#z)wSpo1+U`ii5U@dPP-(cApzf8!{)mEmWiSJdok(eh|lHR7)| zpE&r3oCZI#cfMva17OROZZptPLnyBD7RpE<3PoYDr~lq9(_>}B1R@^oS28Z3m2J<{ z^^I6oql6~bEI}dj{eLLf&BsnS`gT8pxhBa!<34c`xP2=WUIGQ0c#yN@c_HJu6K%Gz zpDFNegKy`wK%$0ekSZi=F;U{z@)bZS|Icg71@}7JMsaF!mP%2`LL0$JO%8`?)_1Wv z%>`gq1AhZ-^a|R01QJC(aj(@>+~~PrZ4nif$6T|s@wyxWjlKild)^Su*llE3D^rx_ zjF;PqeBaoU8NJfDMLqW(p)@r3>;Mw{ajxKne!vz76ulzzx~$8IYPR_4_PCi;6?wR+ zdm#Mmj|TdChuMPOS>?1qsr% zP7&?}P3bQw7-54)^AoWsJuR8Hn>HB;EN#&63#daYN2^Hmf@zXFb5^=NqO^ z#IF2$LYI%Q@v(_)(albxF0w+4?dF=dDPw5B3PUF z7Z$_{x3jZUh;^Jvmf5og$$WHKsp^A5o9{ODXT|B-d$*&a%M!JRd|I6b>@jlre_|sV z)y2!>GGa8`m#|-2&qaXXn~Ku0kx5(J=iw)1TRK~gH+@DAGw4=E!YfGS{jy=Uo{Hp= zWy7RZI@vu}>T(4hMv)PdSbQ4FW1yHaZpv@n2qWz6Hiv)uo&V%26>O)VZ42O0y zX_1+G93U`yZsER~Ac>RBIHd+Da9%B^)%$Y1`Q@p?vm0Rq91t3kV|(6&45&8Uq)yEI zjzvL6R>xw$Lyg^SE>8J<0B5_8O5Pe!=>%Y;z6%Cw8gd7eg2#eksqC<8TWG9S#BS#A zt9KHgej}BA@WuX&R0l8+>hZnkI;Frne!^XMnOuJ-d^aT_sCS*!19KE_eEnHIqol3cYqID%YOV|pU<+>>;*Dv$}FRT=nd!5r2NIW0@tA_ z+m7DPCdR|uC|gk=EaU)eb|bT$;LL#$JF&PR6s0f1lCa2xr>}>z(8@U}CV_EWjHVUlZ&;8(l8NgNM>j;=_gc`%9v=Q|wm2q}rDv z4m{(o?=}$v4DpwLh&2`RVSUgbLPF$%1#_y~rjTu`W>YbmzM^qr&OBPB5`w=}@k=Ov z|6oQ$;^gow=BBKLE%~n$eX#~irb(v*-b01K@B)5kM3bEsr*s94N)G~3`Z%kP=w2#! zm!aLFY|ixxS4JtGq@>zz?{n>FK9}hg7mcP#Fu1zUcmv$!Rw2D~wVX;z25%!TcF%%ll>Zt7>(kIWClvgrPT}U#kCv1Tk z$J~r5a$B>G4dNRfFi$)v|1F!gA&46G6@$t@i4rMz3Rjo3faovv^ZWUA_w{J8fOBco zd~CJxe>DnlUN)KA#R_eGyK6Q!A&MEDVZG_|9SPmb`QxV4LHyruYNe`2dF}i*3!0`!3 zEnF(2+FoI7-dH8>>lF+VZdSv_yB-3i+)0tGm^jg5-Fn|y2xZi&Qvf9@msT;vuoZ3p zcvl&a2NiJIuc+zDhfg%fVC&fWn$BVMPCq0%tEMB!5PeB-z?V9-ns<^Fgt&mskv5@T zd=FsItl{>NS9-lWp<$t2{PqvZP3)NCa?yHsezonoVpTGo1?x!kCU-*QtAeJ;r3}=g zOmSY8Dpr8&%|>U?*+pdTPv#TT?h=&*aQ2@_WrR1REwY`8hqlc)t5%zfBH7!t?5!bZ zv&#E=9tT?a_%*-65%!&K=Q}!r$re`zo-GDU4BX; zGNJeoM7l&L!U;)e4iGAfN3ZxxLH>_!*RWaygNMNnoISD@J5@1Tb`C%Z)o7iylq+r$ z2){!4JV#}1x}oH!d=I<*0bzmKXA{2duV@+>U;f21XL=1j{qOY=#%FdOYN-9*q3EH6 zEIBTVdbp(?zYEeJ%RqGeslz?WWe$}S5s)BX@=nLEq7;_nLd|7{Ak=YHRN?wYtT!{H z$w96!7(6KrpXe1uSO!M${mhHT>91COwQupf&l%@+kXAzVIkH$O>#LbuN}l(9!FX|= ztC$z<`bW39={^|?x$N#sEAk@Z{T%f7^1&Xj0Q*D|KSjzG(2M}uO*nma97xs^hrdVX zRaHa_YppN!>|4)<&m~PTgkUszm*ug4jzcSW63u?SjW-(RMy{B{8NE=cEw7ltTa@th zZ_5y09rk4DxX6A&ROv3 zw>w4+%fAwosV0x(i`@Nql~+0UZYq;GZ&K&CK>b4dhh~bPmaN@y_x{c)E1AcAEr)Aq zyHSsc>`A@KAcJYKw9INRt;LtnVmH>95tNcD6^w$F4;SCR-yX1j_6XI9-IdSrUuhD2 z??D?A4V?NC&)z6_oFZU01ugV*W@2j)x)p4G+wviWWf-D;^o2^&^NTFZ>rN$;DP*@c z_@+T00PDF;%EIt#;5M`VRm3E^S+19mW|hU6Zj!fKxT5p{4Gqfv@Y4*LO|k1uDm#%f zWsLZDe;hhQ1N%1LMAB!fem;hra{!Ab@;;XJ5`mHkYbK!x6VGiT=|ApD&5%>IZ!8R5 zd@_MDWlhu=4F1#rRf&8cH&p}wLUhlZ67DOWO?=o1?M$j#lA0FIs^JyahS*)Ko=!Gx zuM)c^MVJ|DSS>$$wzEL66BSR$xaW{g1UpJdIciNWF@mm^I? zc<4B87L4&=8Md$^Bd0PW8(wrp=FiKXqH-Q3LR?~?-`z3ZvD1OAD#J`(rk$-B^OzC! z!cDw2jJij2`aM3SHk4xn93U;LHDu|yj+QbC0|>o}++j$FC{(gxcjJwHVMG(y=#c+>7>%e*L*Z0TMsnQ{s?kR}-8QDY8*lXx6aJ|C2#6H0N_4(=w{JgzFXRL_RWIuTWvq zP*JLm*u5Efc056_=gx3RseXI2^C$<*+nq;j;&7~=wTEu=*%ud&y-2s#QM?kGHki28 z?KzC+`3?797$zhEQ|QUa_G&yop-6sO?A1NL1_Tx2gJy`Bp?&l+RW3KE61p+KNNLTY zrWX&nscJWcHkeQ5Kln7K6bam_@VP0GrN3nd)T_?c&e#FY*&SZ_Un582y`CYtq7$U$ z5r4h1gqqpx=dGXr^$Io4K{)Lx*RIyYc zJPlGaDctRYQtQ_``@Zrw1UZQFw){5Oe!E~hyP8wb^f{y+^e=`tH~|CII@DLM%_IJ8 zAm0#0fVlAJp=XSn&xe1MK3z^6(ZRPXkLa~o zk2{&)P0StHk=}&ezAS$3`W+7D32|(aelaa<0m=;jA+{8l;haTN3|LRT%L#{cS4Zmj zYv=E{HCeq@XqnKLN27P@oa<#NiT>qqT%UgBVs+4L8wGd5vndWI5AGTASX2M=IG z5^)g&V$7zy_YY>>L`i3}26+ph>#NfStS4$k5oT7GG)fDUlLG8%D?rYq&B|P=g*i&E zJsciv?h_kF1CicwE{a|j54*L`zCBL#0yb)**Nh6H-VeF#p_oNtke8i-t=;{N;9yLl z_XrPO>PRw88?K|{bCp(VVBX$!Wd7YkIx+j?qcZxOKHPejGQHLt=SYrC25@&6<E&hP#BjiB|I`e{!d9kE1GD~>fB&ubdy=`>lR=H##B;428!4JoeXBnSyfHmCchECvm+(>DDgjaHDa zm~l5BC0M@bAC%%j_;9TKmP)A<(P(ZUk#U<`%m2v{Rl+}AJskIWN;MzInK3o+)#s<_ zZ}~GUI~lV0qw&+hbd$HMIh?3&dY>RBam1raZ}%G@E-#8B7F~3|QI@LLr%+LFi;o(K z-yP;o{zAX`l8q-EJIgif^olDQ5pDK$f@A7^+M8c%^w*qQsnUDQ%9LiLDLlt8BdL7i zAF_qY^M3{sp`cO-knUk{g}n_fCvn%Lc9%#6R{tn@tMB1OIr4(YJ)?c=NQyT-GSXz( zODfib)B1KC*}O-d>lYE*7kzXwT4H3`E5dPuZ@f$?xuVX5vlNPNPJ?EnS9aMEoxKShHM#vF$EF{x~6$J&%x8_gmMB(Il$jzlU8cz|La8#T|2U!+4M4aLa}}+4|ih zsKN8YNo;*X{0feJiZYeq6*bYx7lDuC5r=j)MYEtg`(gfMQS#o9ztgFekR-YuA1F5b-8- zwOF4loy!i*FOWtlY{!9DX{t=8i79%(wnb|=gV%RdI%=_LtVZwEu zkX}X{c6-&3KhXpaP=csote1;j{-^5WRkk z{4CS0nZ1&jgZ=r!`SpgR~Ub0RG_9y>O|4#JDXk^TCE zh<>gwUkvp|0+jrrcMsa%hvOtSD6S!rooyDUYM#r31i*VPCaYm7A@4&f^4>2|iP%UL z!4%gEn4WF;pi1{*(eIVAl(QVlPgp{h6|O?Y?E9KRR4x)#wNk3_rS3RqaXz$}^&`G1 zYj@g7ucsfw$Z&oL@>^ziwByfb=BpuCN40g4)jmqIPG6PCZl*R811C7~sL-;NCXyLI z_|%GGGJ?9{zM3+6Qsp!V_!$tp$QKLwHQal4q48emZ3Cz%RUe*AsCw6|2(D@T$;fND z8YTDha+rNyXZnRaleEzuLGGV#-Nnbl2dt{82xsg0qLr$2mFTPy6~f}pBEIMD^M^?) z%NERmRPY|Uj32%sWY?Mg{oeSjhyV=Qez|`U$Xl^!)H*gRfOGuqY~S+p>7!jJFTF)D zi{i8YlZUgfO^ZaEN{hrjJ6Xf!tf%AISwvHAy5qC-@<7Z-iPwwvSQhT%l_qp0bD<1) z1PmW1AhexdF*RS!3GlV4eEx_t6TkO@#8%qE14k*pzH4-1%&^T>Fe~W(_z#oDuP7yF zow*VLw1qCRCH4@v3x}=L9~;=f=lv8FHI_}QX!%*Omm`|}!#%h%CwbFmYQ^U-vi(7- z`sr?RCGg+Xu!@RaZmV4>1nxC;5Nl9HW{k{z!s!I=Hx;Perho4$Y32JW7D%m5JEGS6 zV(KhA$`H+f14#S)UEQ7suk@d!m}~se=9su0eI3AFY9;D(A(oxj%bMP~vhdZngitgl z%Cd+hsG#8JMyhXYQ%l5nwo87Z(_0*Wz6S^?%CEFt>qgJ>oi#y7`+*c|sq6w9ng})r z37gFG>Eeb*^!z|J(NQ>C(yWH;2p;41 zo~8tXWtF!JjBxpW-OQxI$HZwI*5_=8f|zTeoPnh6H*HFj(F%UQ}Vem zJ3I)kuz~&e73mE0!G*?{v6~D;C6CT_k@G14lYY65D<_jnJi|w%j5x((iGs1K3{!&J z$zuA>2S62CLkQgIw4nk0ar3lDYWQBGq2Q zv=UlvWKSY*QffPwuekP~W{Lz*&RrBg;BI2>?@uCTF63sYzM~{GhOypt7LHQeeM~=7-kF}F z{vQ^=W}7v}O;T8WVh@^)%=SO3WGkL*EY-B3und32H~+W_>o^ng!hIJc^MPt#Eq{_L zow3^{=eaN0^IYT}f1?Z7J@|3-5SAhjFQ$ef|Cz<45#&QwCAGbAc(aksNT|N`cyNpluenb30}xXMogURmCXHyoo`&Wu= zG|P2cFc*dF<3$S;C{_xzP>MrwEAFHeD8=0!ibHXiP_#gCcemojHMqMJ zcXtSyK$4sPIrp47BobzaLIN7oXY$++$=Ut4A|T z=t(9b45TX5)4p;>6?5ACQ(A9M|$M|3vQCn3j`C)9hMNr*ly)^HC-?AMFCNjrXe25EA!Oh4I-1%RjP7yMb6@HrzGvX`bT4tY;zc3Fbc zZEXG1O1s3Kv<(@g9wn(O^`P4!5?5m!K`@UV_w!k4zbYWsEY}cuu)6h+qMl%k8TXc- z3%aSPRQnmnLc8h9xlYZf@*jQ5{KEIf^-+3!E5u-H5HYCrKXxM{EBT6aj11YJRtp%d4IK`m_IAtuD6&X*+~p&JDx< zVomi|q9!_D99>eSE)rg^x_Y8UVYAn+aWE?kBADn*qYMWxqTJ6UTk<(hj4h$2hKlVs zhaLpdG{7a;+`7BrJGb#@7sE4)iT6PP__Vrt#Q%^m&Pt?Jsjv@tz5+4(ju2)|iG~CW zvQZizx$y>^9I#H?Y1A;EK!^ZC%ITu?oX)K#=*hWJC@*B6tk`?&NNt&Rt&rOYOXK;6 z8orv_-}{;fU5in*<=5*L>A#S68RGJmoOxNoc+9?N`rm1w$c)c-yWlryep2pP zt@R?PS}rGGPZP}6O0JR{bCFXY;bZNl#j$EMe+&&udWmoQwsEXuZ)md~Dr7hhc5Q|1 z&=`3-Ui_B{_wf6I{SvG=sOC9b2ojKeRc}2d_K<|)Na6Q>(`BrR`$Z0y|A%!%4dzkE zZtTN7@SJaP+wVr~xFqvOfym`^X;HvQdFdYA6K$9Ddl{~PNd1s0F@$K(^(K#U2KNQ+w56TXk0* zvV@Qb_;MJyA*LS=Uch}buml&Udgi0>7?v;~;5yWE!abm~0RyPO?`kmZYszzPfq zqvN(i+S*7R0XqFjF-=rfv_*f&;p2_cAMTg=2l8F$+)GK zqPiXwo6dEhg8(f7H>NBBFc__%9V0*Pw(y zh6Y?dv~0*wDv(@g29N%J%1B9CjbKS)l`T#kSCv(=9Pr04jqIeqjSq1l$ubP5tKvGrbboINeAuA-54H(H67dD78`j-by*V6lw&gC=K4 zE*>PIO~1WPw4Uk+@X~dOGnPQAverQF>H2f6mmsQFK~&tvx24o6eif0>eOjKES6o;$ z`5oWPm!tv;fQ^6q;Y|ilIGCNGjev{5FWSHEYuLzhpHF}K&OGsRzdSE8c zX?-bg5%#82@I6q6`$iOQ^!d^I8OA+wy+uW1h&kwe==S`H(*HHxpPZq<>=84Vu@BXt zJ-M+LSLLt?hLa79N)Gk#l_1%#WER~F=a=CNY+hPhm@N>j-F6a#(Bog^vaoEK_f$%npDaC*04DaSSNm zoJ*8~i#ZhV6EcqAPnV38S2r$UB@-X!#2z*zPp?#aCigSocU!^p#PW_h;s`S*fq)-V z4bLot&OwYHcn2eY=WxMfz+w_Kw;nYE_21W@gi=FwZYv)7wUk+tK0Q#H7`Qz^#_au(3@cy`eEVL;6Nt^EsJAy`=8-}ed*b>WQ>4@i6K?&Bf zwi-40X!m(0B9|TY4L0e=oI!qLa!ep(7HPi8P(*i*!)th=0=BS*MPj)PE<-)t48hpP z+9z9S-t*h@Z8PHl9omWMI*)pKuyS*=0kk4pHL?POO}}6ghJjV|8okH7LmK0*8=gbf z2T25>hY9kWDds;Pg*S4LsyK&rLK1sFP#}80%i>ZNrNnvbN$(IS7`Pq8o-6?ehhHZ| zX4}oG>hU@Ab7X)350n0WAvI?~L0W@iLW206MGU`~Z{80L6W z(@30F7_{z>y1(94R?3|=8HYopCqMEFz7zNQ)L|}fApJ@R6-_aNC!1SOXPAc?SzOXg z67K`o=vSbbKehTS|Fz)tdwg(tUO~a6{JglCcls4F+-QDvBQ!O;u2`H-WLLsENHIOgI+&H_v1oZFToJRql6FbW6x=sh!6WmFJoS8U}9MO@_DP zj{!N&qYS$mf&c^C5`RJg0i$amLS}+X9x+UZuR6z|c(h_yQ~YyEye3jry1e%-tukY; z1TS$4fcmaS1%ZpZ3HYM%3dVYKt{h-_AMWx_6TyEKTEIOE9N~WN)jUve1lFil^!>9| z&w1|F2Q1%ySEIIkzi#6nF*}c&NuAqqRdqm}A$;fcS{>H03KPNCDnr7yA*}vWG(FoXO9Wy1z?>`gQ>wc=q z+rs-&g*O7O+b;@*I6g_fbZV0204BRg!Co`A)uh&P$?eEqzP3FUL>3&lLn9KXIVF0+vIVyjuhWC*#L0geTgetR$eth93#%Owx^I2qDSkXC5hko+;I ze_aK=$I1E>RLnICclwL_yb`Ua7R=vH-Toe^QTC}H`c5XB;ZbzDQ^2&z2lNFl{=Pt^$cr{8lMTeY0k{gzUGg5Yravr4&IjaF;7RNsBa zY~jzXQ+>xI`I+WTyi^nsgy<;Roo$PMlj-nct}Cp{LRQlzf212>=tyiUJ!L z<>Vja4<`Qx*{;99&I3*c3o4;$FM%tbnK<=(;gT@K!k(*`ET4S#HqD)}3aoupfNV(z zcDWj4{g^F<=sEX)=#Xv^pZO@s^xkPVIi7@PH_JK8A-?ao=a>E?6m!HQ+Am4~V^f$I z(G!}aAP49kr+2xop(zfTSZ%vAkL@F*Zh6P5J^SANZMJ};I1Dp*|KxEbi{fT)Og*L# zgWnDqb=5OYQoZKCxE|0wDSfh71Hf2VoWb7&G6s7nO=Uu*=qoWVRn(&XPC>$l_7Rje zLVuqqeWyu`{qmXLIIcJG`G-a63`SEaXFEaU4<|9_5F0*Gll@$-huNOu=gkPX+kP@y z7TbPFgro#Ef$R&M!D*$gFE?`d|9YNE1#dxOqs`dMI*^4JIzu}q72ZYOf&oJ~;oYh% zY{)TGqc!=@xfBIHfIzoLgm_^L-1_c1;gf5IqmHO!Et~q!zqb6`NssCO5dTm|RT1@Vwfv=MC`$7n%nFyHQ8la<|0{?zqlkSQhf_&75Z60hfzYXOLLyg70xt z(01}uLvNBNrACheb>+bofQJNRvBsFQRPFY3mE={`tBc2#ZOJHs+)#n^J9NdU19mBf zQ%5HLJ_@(#9&o%CA#~L<*ZPq5xjaXa3dAxm(iX7og+HnY$7`jkl39z|+ZV9Vr$0pdRoF?v%MpvwjpGPDP;BIzzC3 zsLoQ|OZed;79XX{4B|3NQl;~A4)Eo|s1pBGt^pXWtoUK!I6)5*rHJUdBAzyISOw?* zR$MYxDzl}!|M_`N>&Hznm`-O6dKi&Q=vA89Eshn?9FBYt32Lgq-cimJFo{Iha%|E_ z#X9E8O8R7zE2bPUBNz<{Sa|9_SO7q~f=-M}5`)=XpTc%=WmG1*SVJ0dnIpx2tBLrY z-bTMT{@g8KdH!=Z@`Hda?Hb-#0CJkHrLo1DM1}Q_f$)MiDyrM`s;4{g(9TvGJqyTc zKqy164R;ec`tWQwO)(H=S>Y=v;Sag7u2J3x$2wW)!VW9E`TC*z?_Ce422A0lDy`V> zj@s;M`X*0Z-01#kAQrO&x*>-|?;q{wy>AY8zZK}0`#*^}C(V2ohKKArWxcJJn^_Zb z-3tnt0#Hej7bkK=!Rx@X_Xxic>f|8S#?=Za5 zp4E=XA-l*qY%|_)>-QlK(g*imgu^sVicaSDOOdnZAqBCyvzY+=cp;Bl>q_OzFGx@7 zA{1@BJhC4xKP@LSm_ZqAx2zMOFnJ5*> zC$U$v$+>;`egnsIvpCUGy=$#*8G55sCHuAieG9ARpownZ(bTTq?aKqc#3= z1b3GK<;=Cu8G^zWT|C!~(GuSU8c9ZEbp{MxKaV7ahbO~MWwP#=APL%aq^z=bRLWB z)|tZv#HnH|NAev)>FZpHV#u~W!WRd&%U0=sm`T3AxhCW$YWXY_{Lc9ubp2r?YWHLP zv7~|XMun%N&&9IU@tN!7J>*bykKUNRbi~T+u(IXf#ke-_tPtvUVEFF$5j^&53MFw8 z5A}Tk^dPrzR=}c%T0o;i0DR#LkO(C?KQeEx1&$YC#NY?IO=9|geq+iuB;AigFxUqf zOXb|HrgPs<)-E!gEgbz0y(Rqu?8RaXqBdJ=SEl-jxL7AOv1O4#k#oXU!v<$oLF`pV&#PI}ZWWG%K_ex3v@A@~6u>IHg~kDTtkpKA*N+mm}95 z-n+xx;bzw~2#I)Z0F;zEhI95em4Fh{RZn8Ck}I9EMFH@P1mcS$JxS@e6Fe z!(eghv`_ciaR^9Weo6e7R78DGpP48)_T|c*1fCz4y_fA>Mx%sdpq@MLjyJTU1#>tS zs8qaSm?D?_b+Z>(yp|iH{H@qFCteQEizZpGcAN`)7L{<2pB{L3!dK4O^~}MpX$0ZX z>0Za=b2^(D`sRCYa&SVs)9Tc*F5^cwUz2;XR3~Y>-sX;>fcHW4+sYj50kCBvRIZdQ zT>M(R#Z_gR{9NAFM&E*KjnmXIVfe5s?J3uFQhexUzZ;XvFAe$tLL};S*$bHol@Cz? zMeoMDt;~2GR+9aYM_$c=-tC-AGWq+4JP9644 zJH6#DRg>$x3jA+i5r);(KCg%`?pfxrYKnh6b~B2@FH+yLL3q2y-n_DDh<@#v_uqvk z^~3l#YHwlTnk0uKbzY<{yLg1tkUacXs_$`5fxEQ58VszQfdBq$iDn%@{Wv$uUV9CQnd$+=alWrztfJD;iRt-&-%jfoeK3R+|Op9HA+p>3^KpTR&g&La9 zW2utc|lgoCL1Ex zM0CNNc=a8GG8At)*{*-h??I$dlBY8JP8RwgHBKpP1=}hq1_iwxUZg~Ge)q>#E~D~R zS-0S0tK7)6SO8RqK{Qqv%9L-j*n}tcI4!xg9vFahP+pt9&v>@&B`;OV4k~2@y|Q51 zb4|Hc7j0L#bG$2+o>+r-Jm0Gkb zt5;L#ieUfsY%!*#vM<-cReiLd+IaA$OBQ1EGsXPA{z!|Bne3+zaiLk=tbVT6+#^s+W77++!@5~#?{@(y+HRXr!F?5sxlPJ zJjWKJS0DD+pchYKIY=s>_=jgvw~oe`^VTu@KH^c>A%He*_3mgio*|kU$vbe!_co;*As>T8{>xM zgaOe+R&KunbJd1OW$M1%1C-Ph5U+_B)M*i%g^1z2qS?;SAN_E-^v+LQrTE^~OZ=*& z=)XP=>%9NLhW>d6Rj=P}zU*frPR5)v02Y$AQ{>%3g2Gt$cHDiOvye38XCs`gN=@x= zSjGSh%39N-0qMBU0{ZY-p&2}>=5C7`ZoEKqlJ652(C{We6($zI`|C^C93=*sPmHM# z+~e{Ff7cD4bc0QuTyj@{=fgkfEKnYFn)G~X1uyc1w?R83dw<2(H`xUvhbU+eT%5bS*%XpNZFG2g;gzu#p zd`QR&s{qqC6_%kGo+uh*Kq*tBIBiox&VmXunqSVG3An4Wlg%@p|w4{ z*4Tfh-{}OwDFDhIYvfsI3LQhONVUG=ovQQY+bAHslZ}sid8M0y2TkjvGJ|vH$|!%v z6mDxi@Uk;CM>hf&x{ejp7t3N!M@iTUGVEP@XiL3e;4ti^-EsV{sqKfJd5>g;QLJ^#R`z@-@6& zsLU70cDZ=0`TprMiG}=H2wG6r*Hc5^11pTz{Z*0s79(rzmtEnV@|sS;X39R#b&TKr z#SZt3@t>m(%<0Z4bY|<{+JPa3uq1WmV&pXXYsLui#}%cOU)>AFni{9QeaCr!;?lqc ztKhXVm%wN+(3j{^Kl-{~D9%0sc4?V-Ip~014#b6| ztzm}-ehm)nOhI#Xkf5@n7#2gkJUIfu9Aulr?@1TFc~0S;dEoF0cXn)u*$ibd)vLo0xSZS)V=4~K8=%! z`5;l#(d*s&0ZbXL9!n`k{|p}EG|zrw62@N4(1$p7Tw{>dZvJwAFt6>(UR=e0GJAi- zE~6xF1ZNf@$!s0LRknm4l8+8@TOM16DTvocE&}At3n(Uc^5N+FZ%iSQEyM2uOHJZh zKp}pldCtx_#sS(Be|Q#UrJoxLL_LiiiKpSEN>zHim`|Gh4vf&;UzUUeP}RmEid>DwRPYO-h|XxiDGK-|}ipV!pwKDE|`-AK@X0 z7q4#eTY?ymH|L8iuk-B7Wfj}|DPPkZFR=4%x~t7j2o^8?ldm{*i_XBjnrui{km^f! z=E>odexUK2(rIDx=%ls4AZUjBzR}_gB!ied{ zRd?BW50n1dr~b3$B{EXAEAR)4gs^X0D=a$i zX1YArZ5B(=#VLD=a16Nh6Z5<40?Ly0$nx>Ljj?Gjk05z%hv?1iT+k+2^Ko6@gvw7> zFuS^vxUa%sqV$O!?YL@toiQ<={gTS$??ci(VZnD{$_(Yvt0?vLsiO+>e&p$cKd6Q& z#4H;ORC=9>2TDiCU54{-S&-vPSC{){Lgw%C5Y`wvL#kgviDJg+Z$A7G#M1%rcrQ`8 zG+3DoOHfFZ{!ZF+ynVF|rI1`Hpp3DUBdg)IEcwjr}zD zW&~2Dk-x)l1&sc1$+nnRL95EOQ*b{u)4Kw!KbUY@(Y7gf+(+Vli{(>`7!*IKkId!~ zXm^0qi}%)-wHuXH*h<%<|~VxT>gWlZ$Z^eZIPI;i0U#7Ki?~oK{Cv>3U1R3qw^fgZjO~=-e%^{dZAqej zf9|zi{*zpJ8nCw+yCs!8(xsdBeKITz3!wRsARmt0UQ$#=S&5Eb$F4dS641$v>dj~y zd8c1=J^c{Aq%RMA|%&GD#zdhLKJ(|q0eBL6^4zl1O#^B-`oB>HG7LcOk|w<>!= zrE7%ckDoTJu@bw=1^8xV11nAO$1E<-#Ainv2!nD6BN*`)Y78>%T+=tZkIRMKtTUVn zT$$$2zF8jMhtZ+bhz*R)4TsRsR>K5rW`8l{`G2)rC2e+C0X3-ZA=zr#JQqM6Dm6Fn z+640NM6k`0+guw&>hNaW?NsU2wM7AX4Wfhpnwzc5h7T{U@W_BSV>;LsQ%w*gumIT# zUOwBekqCyCvsSmDmVT(*@88%yoSWCR%4TO|_~fu)tEp~vf0C@%>BDEO5r7DQnKQ;Y znb~U*b$RaWkxcI4aCT5Tk7KYpj;JfyB2!BW?w0{+y=yl#S$jb}EJqfv@fn%VQhR4? zUsr@eZs(NMDV#=e53!=T7FuL?-*OOOJ?<5Wqu}vJVdG(}bbCv;n7kcIANw-ISYC;* znDoyJQ#3G1 z=M^`1-#In7aQ)oW6h{lr34)6^npwE9sH<=p*|nnP3retx>f=OJ{c=4A|UapG=V@b*?Jh?<;@1AMsZ4{_BrmX+|Ti*6~R+m-vvtpk<)RD}4>b zn0BRtKV$-*NiEJ33&Yt2^o()tx*%ulhSe{-BRW3lGE=06lu99d8Y+(XxfG}pBq7Sd z7r9T1g(5u%XjZ+DESXvxmbJ}qF~DZdc>c_#>OCikBp*bFU@vps#^QjB&Wqn^6q-7t z6QcYTjFBLYt-l(oH@rZbmF#`dyMxMt_0@*d!8m0w(KMy^d4EiMTCTEhusdPKi2z@I z>dh^_3tRxBn%j=LC?}IXYL9E$o!`EA_W zfd-EW+dtaP;xE72q?eB5hPy^qEUsat^0h`;(OZOAt>~ti4u#{G#wk3QX#vJ_@##J} zKzaX!s+*6d_A!&tB)?(ar_BoL%T$Dzy>rhARwj@jk9c@XwBx^o`CIVCH*$Dmqp72MCrzuSfE#m6$|fWP&( zB0U zTG8BSs&A`v(QJhKcORhzzT}%!_E?RClW^#T?6dHc?HaW|d64WG@I)~-PccN3jWS%m zx$F}+kwyKVm-^KPHB2>Cm2qzrp0R~OP=AZjQkDRePtj7S|9k%D?^efj<*L6{k7{-U zh6chL%XNuXU3x1?g?zxlp|P{Crr%8b!h>BA7z zT99&}fq0McY+um>QkV~iIz_>_LAYbN!{ITmotI73@KS|L*++{H{1K9PMb(C(`WCH6 zkDH8U++}QhHuImVa6@a58u20W5ajI5|9Zu01B_?84Axuy_VmC@e5F869sBtG3_bIc z&4)&ZV17M-ZDGzl=5Ndw5wIxk4qLzOw~lQ=py*}b#k0;qHq}Fu7eWA?YToW&^1km1Y;8};O$2i<0d};8&SwfO>LV}qh{{Bg7RfeJ+X&de9_VIL zL}x0X#QF`%m-z8iWbC~=K@CvPp-}(`C=^~-#+M&7TdLj2y zoa-kGe`ddDg>c_iIF@q+gznINW7RH~vKUK>0DX>|+qnQfUSPo+osfoTF18qs)~E9} zoXcJ;k+O68&SMXwhkv(~hlphnr>x>L01M8s5CnCWWtBlD= zF#HgI@kFr1eYWVB_w020QM!|OVUV-XZxi*hk5D`0z6SR;Js0LmX4qseWXVgi`@PWn zFP9%kiDLTedh1!HZU9>>*$k2`!^sa{CcFbxodSFzYBss(RY1~)3e;fY%#8=S3voe7 zG3v??)lpFl2uJAjdzyseX_Eq26E!yaGx{FYKbVRT7iM$qPL}s`KUEv(GX!yR2ZAN# zlG$~5e=YeFW;>Cw3H^EO!!3Ss`2b+x(xa$n3%fV2`{Ip+y7D)e4angN6Hm_{^Vl$B z%$_=DFVnU)9(V6b{2SHl=JP zWj1 z)&7GYmKauyd94pqmrT5lS)@J4WE(6^ma-;w>wbh?K0&?W`th7pI*7PCWN zn_;FHW6H>Z>k_yYzR(n?pnmTsQfwZcF*)&eAdpu0>xktIy+r9J} zO{g1De`QoBLeJ?FuXD*EOoIc*d5T(0B2CR@J>P!Qyv~hwG8Hl`P#(YayGYLY(5|IZ~$TQ*m3W} zr4W_XY5W@Hq${9f9&j@|>_+0lorlZ$+-Q<1>@;uPt!GAaG&KfDOtfq5HfpipWKor499G`Nz-7%Ct{fR9MgZx__-vIeB zZ%yKnO&8hl#4*@rXVoKrI?m{gkfAI4)+hUfsAxnmTboBa?fRF`b_jQF-Nj0X7>$`p z{Ai&z`fkuQgH{xFaMbdyS9-AYdTlC>*1E~WJc|%g$ybVZ&0E>#md)`Qi5V6vcOiUo z^%>q|)q9%56WKDty!v^J^0i_=lhp5(T7D<6KmqPRK|p=cu0W4UdX|jd4!)e z>kRNaPkb_y!fpgiI$G|I&}Ljf5anGR>{!``wz3R*s3C}PKZKON$gPh<)dU=fuQrccHI>sSE?-i2uv-OS_c zj!kLH3E|LB0(ONY|tW<*upJMMBuc8}(lvg#qiksuC2i$R&#{#o(0s2j^kGrv6zFQZ3N2UZ3 zSJ?QqVXRUxMyNKP{p+X9k#izXOkT&e{&Jx|eL=Sf`m;__T!*)N9v4v8-!u$_Js5A_ z%YINAm;XhVp)>z;KOBFEcdxWTE@{{kTW-#|jI$~5SETuLHcLF+j@gV9LW!}Yv_-6< z8mXc~?+|mp*yMoo0r8aE@XPqmecusf_=5ye!ZiO7?SO7dC`60hT z)jZ|wbtwC^CiS$M1iOJ@{G6-iM9tTk^fDko(_?Oo4Yzq;Ms>4Q$~M>k(xo6I#}rAB zWP}RX#W5V5E22&|3EFE|Iz_R2f9yoo}GSg1Z0v8i97p zvQGkvMSLVX?tje(pTD*@I4Ekew99vev^brESbnhY-wS;Z)vh)=@27`ODI+TLUX}Xm zfZ?W9Zzthj3@={6s6e}qhRyQr{2Ik-(q;5sQ_`WD{>95`M*FGzTr-R0t|nolyil{l zmTFgC+!r(5S#&!|F~J!mqGDsz#fUdf<g`X}|Nk)J8SDY(@h$JI&*wz2>UkCnS3V^j^6LZ!fp3i~$ z&43MF=olx+%v|69k9H05Nxc^oXp<`<@Z!?>eT(Z8+s1t^lF0P42<8AfcU0f4dG~k( zgIF~vcbuLqR#hb%^mX32e z3r;}JyV>Ouoj$y_^EFAGy!wKS=Tv%%$XOd+1(TzT(#r^IAmBi*mp??1sBza)RYCg; z45P9K$K9`ZPAP5_AB0@k*ay`34=6_$YsEE-`iK+#n2T$Fe-y$Z7~N-zpHgI)0lgpO zHv@Kb*w2^E%;!lMW*s!te~+eWtslA@RM8I4JVMC7DxYuEYVlKcRVhI6-9OgB0eZhI zDCi^*?<_=9ZJExoDC5OU{`G|rqLQ*mWv9)TbpXLusXUpx&y_kRf<!oMco=XL=1+=r{i8e3Wz$)tgg*Ce)K zb7@{Fh6;l-Qun)h%v+)72(PV;0&jC@K)*8WoYY(GCz1d)E$?reZ})TSl+4z6u3zgv z!WrZ7H5s4+^hn0$L>eFFWkYW9Iq#3*ArWCTVp(Z2gju5f>z0uUHO%!D55K~#7g1wq zpfK?3Q56hq98g?c$= zKqsbTi~ntJko!`Kx0x)O|9(AnlSAQ%Vlq8Fo3aYj+EonsSmG|6se=hOSv{APaHW(>=KpPr~iE%{y}J$OGdz6wi9=`(8z4+y+s7EIT#cMV{4ud^OTf*i~s+c_yaSU z^V}76#_YQ(D9ed^PG zy+a4^U$uVhYKYaA%irVq0$p?4utIen=NY?3uMH4Usnb)IT(sv#dIsH}n}=D1e!b>w4f+-@8WM!GCq8QRt)a?;xqhBJd?wZATSbd~U2w9XL`45dqf?w*}%5bL6+W z9?qNz-ISRI`~2l^@@xI8--tN8AEA1~GcA5>rA}eq5Pg#7v9OrAbU29SXUG}YID0>hnQwHp5pR22`7|Z$0kb%~8_WkZK zQ(?6{R|6!68sinM#I*G;H3?51}53nYZorG z49ETr?U4KlWyyByK)j%@WSFgKC=&u^m#n?h2c`LjyxkZQh0(zV`{>2=hp|lMSWHK zKReZRqs{&F7bfdJ@e0kFubQmdg9+K#8n4GzEByzNexD~iw#s^eCPS<3B0|5)B+3? zgaiJ=s0WzOg2VN`QK{d@n2C|;(f*8$g$9pxy;0rRT$ndzQ*qyX_RBuQWp2BHdIFT} z-6;^yi72|$53Cf$Z{L50vmNh#58w_q{XzK4KP7co`PT8P>bECWUGAvSBzF1zI?E2) zNtbH1;sn2<6i$-ymGp^7So&v7+>ZbK_*7T&_$;znaZ|2SU!TS&jg;2JwX1ZcPybaH zC%_p`7_(FzIAM+vYV=n#24Rod)yT4v3Np{}3!r9Rf1<_k2zRHc_0q>m z-r_=b*!Acb>wdcaXCn{t?fElP4a0%AWVNDO|NZpK4sGV#pN9@>L(tDPyO2M$p z$1n_rR~U7INkSo$|Kmgi@zHL5E6?sMrIGm*#DWGh3xmV}>~7 zk;rGO2RIYQ8TOy9gn^IJ*yLU)4sW&I3FP%Xqw{SA1uCmJ*@APa5)I0M~CDppwP$P2jah(oydDFZaLf%f?s^ z0$M`DxeKmuotB9?&-0HTSA(*nRVN;_YYX}nuFtxEYM|Ju`clp$UbLQa2p8!KtT;TZ z+uR;;B^Xg=s&w_uzE zD(R$4NQ;^dT=DY2aSXia1>=K)#t_PGNU)TS@b2xLjqH8G@3YH?O}W=znZGF z(LV6t*y^Zp(MVlW=;_91^%s1ImeVTdX9t_%mwKzIf+0%(q%b@RmW%*MvbJ@%rnWbK zf_FbSVM=QCFFeW&5s#WAuNF{>xp>hWexEuIsyAcmJ=3OM?RjFf0hatMLYOM1!Sq1p z0bsaurvb_aLZ!r2oZ5NQ_=9lZ4;xrJnQCFy5ed4L;An~E=DS`tTDcwOJ1Y^&%9r2% zq3$42fXsJ*Q#Rp;EY~`s0RD+|k^d_Ef$qM1N40&g={Dwjf4Gj2Y+P*1^>R6zdho;p zZ0D74C)+P|T*&h_Q4d|JOYEv=Pz;Ust<2)1WK{QkdpJxW|AA3I%#!!;)92PF%M9|& zAhLv9j|WnX`tMdMihg<5(oik|AGa~PNszcyRF<)V1NH_Z%wfzA84Nno^#Xqk0}ki` zy~HYApCms_Eu4j#I)&N;6XwOp8Dk>qpItvT!yQsA?M60N_L1qi3C26lXp5+3P(PgT zDKSTP+;Qvy5dm|syGODT8Zr2A{eSKrL#mbpBoB!9?a961Mr}=3t^w0P$2Z&2@)_zDO} ziZLfZ&QcdC+Tgr`R7WXCvKe@oS8r>FQLGb5ys=K;MWY|ihZ{L=N+k&C1=O& zv7+4o3Yo(kPmV_0^^6$d6DA~dEtQ^g9Et6UFG#e{8Swxc`=4u`%+!ZZUtx4%rTi}~ zfX{B1og%Z{Ryie<;hsZ{?JX_>aZ?Z&fxMJXje3cqt6xNnD41y`J8tLt{K_%J@?^gJ z%T4bM=QIi?xs;-l<#7)tMTjtDY3#5k9}m-l3{7o|iEajuC>^d}7@&i2b&^AA_uK@= zP6{2`=ZoCN_0_T+f0_6*RTDQOt@F?2QtW}Iw^ey2aoY4S7{9=yy+JY~%6jFtj65SK zH_kC#!bpcxttPm|s3%uAbE2f8ruC~^?GUAJ_krU;#G7ZX zKk11@G11q*o>U=*gt8U1cQ$uZ$8loLJFT@}dKpVuJDzKm(oR!Sro1;ZkmHXLs(co! z4@cUwB;2PqfQn!PtHvvNVtU1s4!m9qt}M=fKELiwBaiN;4I#u(7Uwt=!RYoiEojMw5zY2~MU7XB+ukOOv|g zI`v*J_2^Rsw*}n7@I`Bfy0Ju-fY4(`VZ`&zf53UJGC*22=)%X3P4snT%F#ilW62m- z-iGI;zr|-5%|GUcBWFR&CoU$81x0~PsZ_%NA-1PPH=RMb`J;Pn{ggk#)Ul_ooV(_hO-5L$m$HN_Qtuaoq+D^ ztgcnAq-KR?DQLIvW6~7wxyO2P02IOqJwh{_6SFvZtGfw1tDl->$s+E)z3hN-uI=spD$*mS8s0_OTZyvu}K z^~D}tQHov7{EhMGk(u69f@b3COaTz0P%?Wt1!c-!T}lJYxi!qeOvet{XPN<@XTbca zz^0#MX^zi_kwvYfmo!blPc9vgeP;c`@eN*F;vW4d73wpAv3Y&hKj%seMcTGHZfsy- z?rzW5jMHQ_ov$}acj&Ag+wT79n^>g^ca48Op9(Kv3jTk{`|GEu-uQ1ER}m0tDM3n+ zjs@vlm2N2kiKRp7?gdFn>6E2gK)RRilI|`ErCDI(b6)Sc@0t6a`F{U^&wPH^8HPD~ zt~2L4d!6U?eAI@J`h65a?h!M&td1Z3`APET6BWS-t2K1gt99M5iQL`S@c<99zNqdK!0?*sn<9I7_7vL0miO2!StN7xzh6AKn5MrtoT}>_RG8hs4!Ao@dAy@P>{k; z|HrZ8mNI-o(UkXx81{LwI*g~Hrao({y8cCD4F7N>6IGYN2u#}SJF@aH8jVF}uE)jd_a%D9~%>GN`feVICJ z?HT-h_#rz%lGaEHx4W&YCP0&VR~CT6dB*U@qWaXh+T`I@#y;S!MCGmBwhM>A(LDYK zvRBZZc=@7OfN*RI@bA^%S~2}DOyNvk0uoZR()uW=(}vXA(JhC;&0{e5Ter)lqbj_M z7mjT&XK^e|tlh&@bBr;d4n)F+-hxv(>}H*6p*pw6VlYl{KbB>6L=n(G1(o9SG<_h! z!ZA!QGip_PYWfS{ef&`|!py6L!Zz7Znk%g` zKp$NSaBK-B=J8>~Qiu;Wtm@gX>Im8ZPY&#UAqvq%iw?7`UlAD>BSxALWh2XY-rH?SA}ZAJ_WLe^1#qUnsSlGby$M%cgTE*sDKJ z;v=b72)m48TCh?Jgd#)8_C4Tsknb$wzZ1a}+v}1H<5gY`9!>=f%pgX(3DBFDecxa9uk@&5 z+I??w0g*e_2>0CNKPWP25qVZ~OA(UBjCp6}&-t-zRHKPYYVf(*3UEr0#4gmf>M@_Ihy;8L7PdSgA0;T>q7FJP;BX2chhr z0z?sv=brt~GH+h7;egS*9j7zxhY zlb~)LlGOB6^kB&+&D*cM6zE-hC{XM?TlHK=%{)`K7x8->(EMkmu=cdU#YfGAr}-D` z;oCxzIRnbEFezerquCxyR!|!v0keBBzyKepBG>r?Wc(EGgr<*X32Ip&!~8rCs)hNV zEo-4NWm2qe=L%G;ZzG-LKszcVNxJ5@$q=t!Q>Re#lLc_CLk!YSLEZ5flOq|TN(0Iw5;Hh~UP8_26?hYuh7u3ZB*K=II zvEc5xrTQv2`<$EhCfGUVb+mKM6JBv)hxhK)7TW`)OuVNWqG}lhz87P{mXqyI2j10e z_Z%_#MRI7Dg(S+>U=Ltr*H{kQERZI14K==M!P!Av#MtfC1nvV=RPy4lHt97b+CvFV zePsefV<1&3W2cAp4y!mv3GVDN$z?i5E-y4`gcZ6O69(cnZtJUE$m5teS+QJVBKT_k zUT>XO8MS7la6>lP1nsG5S3o?e0onn;n&m8QEOe%st!wO~n3CfrT2lL3zs0SY3#_5` zX*_b0x)lhd$!#xjP?74H|2g4&+o;W^{?UR+tv)Au7)pS1(&mr}=IQ8k{vmHN^b|z3 zMa;M+9k^(HxKv+zkbXnpb};#nLHVC11y{4^eO9gB!wz)w`?`|TW|v+|Z&YnSvvFap zQtGSG46-Um>w!CK-B-h}rN`W6JtUxc{$lP4g)$O)7(_mCiSj&;+o7!O`cp`7A7<&_s98bz3gR@>a{+@5vj^y~I>h z6iMP%&9>zu`q1R5?06L4>vp7EpG%iOJje$i#?O&2Ch?2Z0-hZOn=*HbOOS%767|gw zQ<#uDg}Ze|4$ZMl_H8DNAVwIvV^IEpx>0FM5Oif<1 zbF+)dFKb4xA|kHq0lOQfg%$7qKh__5!U&rPwgAIuBmG7R+AnJcjkeN1KQ$y!&zbW^ zmCNYsX-P$2FSZ7653(D5KGO>`z#YHc0Eu-e_YTP~l2}HMdUgMcO#iqRI2@ZAj}dd= zGR1p3mMv;s&wO=5gF}=~Kvv zN=}XLAL4egUevP3ep7&al&cFsS<@w5r(cmaEtp zbvFr-Z@DcpusDrmmK5;(OS{#M8z*`F-2KQSVuhw33G?@0oXf-zera1L;qzm@k)<*s z;NilL<=^Qpld5D&!sef{0~v{X_Ss5T2D}yjJI_}FTNR)#?!jCc;u4q|XDRqiP?YJe ze8s*9;&~S*asC898AZ}oyvZ{f3D78IF8`gZ&r)4XQF|zU4S(Y}UBoT*se=S{b2y#p zvFfk;87}W@_w=sU?enduu-xYMTA1HeOlUyM|6P=OXj36cU^1(!iwqV=!Nsn6>OZ{XW{DrP%(60DnTj1FaTGl9aV<)hRSlqq z^aaQiy2(}f4mLK0VMSGS6#Q^$480*P`Z&ARcSEsr{zn3{X7%Z%TaP%;L+PfjCPug+ z_NX)XRDl$Btw~us;U{!2O)M3WzVy=V{-p8uuK{{ic`1+XB58Vu>!WpIWomjxDZWr) z*g25P5peoYNbuS+_7#jdf*^4sSa{lvK*+ejfbi;)F#k5h#U0@^2DeH)oOKe^^_% zg*UF{l};CJX#eQ=q*5S8m#HRi#&m3%3XwCHi%Th#XW z+SFS*rKGX#>!y!6n&2DYT} zv3ItF?UxAdkh153G~Qc~r%i!k;ypEQ3rQ7wOjCO9{&@`MmcXDn0ofi`u6Sw>m*`%& zL!Z&054LyIu_lyb&l|u__t5JOtjV%1gfG3UEJ?NLBPA^o0;Pg^n@0>3l&6j%k$bUoJksiOXrXjEyx&lb!#=k;s7MpS@4z=mD4*2;S9a+{p=fO%|a@R{tv?Zv*Uw^Tf7nV(Y# z8ml4xczSmRE*wnj_@I7eff2=sHgw+i;YQ|v{&qJI$%>itrG#cyV93zyXg@?Df{Dus zt-ej{Y(gS*eigpKGP>GzITs6-T6L5E>){EvT)Q4G|2(*1)={y}qdqJpKLaRC(|>qv zDI%XS$Oa^@mRV3;x9}P?xTXI|FovzQ>xZ=`Z@y>inZUf%jV(Wuow>U@v`sMr1c0{s zzJ7`c!$fo}pu8#Nm_tku?%xR~IA7|^AKn*xmULpY=9~j9?uQn{ga?l2&8~Z=_^CS# zsgC+FhqJYfYv&-I@eEOZ@g_^;le;1fhv`h~$>THFF@QE69yT&dw)BTo_C%=MNVm;&@Cwt4Uw7G1Gh=GV2nU1RbWOZx}v-I5>Y0zerE zMO>-q;iG#_+zq?4?hJgm6*s|I`!@mvcxFWRasHTvUQlu)EDbebf*11@yD!6?j7p>s z?mv!i_aP?A=-15QhfyW`0Ye{i1kW)uok10Hpm)>work;2Ly5IY$sE@9%MF&I==f>^ z_?~${hTxYBf057RBX!0ZZ}`Q&y-s>zA42)$xr$Quc+l%%c8FH}j#hk#OI|oZUlVb< zA)^T|ySEr_0$Z`4>Y|F!IY+f;CF{rxSVqXj=B}tu$xXx7} zdfgkp+8ealkdFQkjsxeGF#B7cT_iM3WTU&k=r6@NJgs~W96pNZ8}&cqk6c1?R<%9* z``1%=>%6>uB`peUKfMUpb0RXgjm~WS-9)DAj4Xi$URV1@)5SM&t_pP={L_o*%ke-_ z9vmo7{lhz$RI6UDpZ9_->*1GmwBVUK)alFKXnHjeuXP#{?7j}+;w*#NQBexCn6j+hMd&mjC;tyXQ6d{z)8iV>7KugSnyk(cx z9)toag4Y6sGIBoY#VQ9+Qg*&!$??7mx73lI{!mnx>aAp%QS(}zmRBej6NClZ0VF%F zW9v@K{icYkRE;*e;@QpcGh@%6{Dq%-e4ROolkXkQ8=LHHvhL5LZOUTjiMSt&8UJQ~ z3>akuKw5WTAo|CHR*{$uQ%C8{k6n4Ip4mW`U()iueD(hfGJXApP;ktiYPWqnD}(rW8fxZb{mgNif*l=(xC`h?Y})v-B0c`VLV}G zN3OyJNG#R0Qd-FkZKF92**bL)-tf3-F{v0L<{o@opydTZ0=9yWmV9H^wZeh+GLZvd z(E5<67H~^~h!QRk+{{#%ev_ZgED8jm5tDl|lc{SYwCe zH%3Y|0%+=&xLO$)!>oc^^}x<1r`%t&hM1=8S9-Ud06X9Pr4(Me3B-g=qv zJlD&WL2&HksU3SO*(yC%DJN4k8rlJGGK9-S!UfPPJ0!SanF?Ri`xKZ6#3mFkh|P2L zK4La& z&U-{#a{Ja|_U*a?Gx9N;cx-Q~QX(b<8VMisMEkJa6yMxX7fcF#it`vZl=?ho#d|i6C}GDK>ij!4)p9QWAv1XKu1i){o2w`*`+_X< zW?Yiu^W$mC3=QQWaPIEphKx-Y?t?>ENt^d{^2fz<#RTYArp>CC zf&kh(LDaRJA+wz1TUtIcp;s~H;}WG4z0gmxM~ z-R#)_f}73O`mfd1D7T8qd@qmj7y=ltCU=R3ghHUd*0H2$uU@9VCi%1DoOtlw`s-{O zU;ZYblnY8mgcoFcZ8@j$ZR_%|$m%Tqn#022Z4dOgPDmYP9wC9+0J8zqAQrewXl(pF zSEC};ABVJ5*KohSH(uvMtQ$c6k)yXa2_P0>eHz&pD(_l|)e2ssuI_Sj_pAAPrEl-04 z=uhO_QUD!xDJp=TNyROeHGyyHEuKYrItCeNc!kit2nq+D!3ooM#pFQGtG)0MD@p_ddZ|7OW&_FGPs2hyy$Yj;p>8dNLM z6!Y$i6@vxy;g~8WxX1e;8uLAQ84V;QS^W@qAGVsvrdz}xsb&n1PrTy5e*BVi9=ani z7-HGxT=kt*p7i4BllOB+jtZEB!tejM@sn9cOm{4rN&fry$N%17H|?9HD{CN<7ox+W zi!+#r2j-d&(!M8eP2_Kul0%!H?3gC@3=S2YHDbrXH3M$dlzl#t{rSPE(e&}DRI80A z*Xum#ne@vyro%ll1!ovirm$@WvJ4!f)@Ts8}`g zDa7x#@bve_si|XkcKuBV&?tWCsDp}|DAL`Aie2AQ=o&u!&nMpR=A`lT0>r;Dqoo!E z=n6>=?k^4dokctxIZ~lyw$GbqqZ8$!mj@^{}n)kDxB}x``c7Mr)c}B zBKP~()xqe;|Lyjg8Q9&I7juC^q5r)d8kc=@3H>r6daQ!(-dL zic4yvkBGSroRt=~Y1RKMm6$sC|%nDj#iT@}w@X-n*Z{F|I3< zsIo#k^?-5W^$!bJy;4aaA;IwJOCOo1lwSRqVl*$|=lKe3pco=lNx#E74vn&&a}JmV zVCIVrKt>-d7jqLHoWbxIa|0FbJhvRt&^hLT{Gz=xhDr*E=TOhATQf9m!!bb@6Gu3W z>wnP+Y={1*UARt%w#9jIlA8;$16{5YVB(l-$KELSb5|g%tH~s}@2LG|4gbf)F#$l9 z3dYJ13{K%D4n?CF+|W&7r(Fs)o=-star$M_Z2!Na6%0!THLu~QMJ1cHHf&HtDQX|) zDYbH51?`e;Qdlhx@E7@0ka&t?_1H}F@xS&PDI{`w!fEYx{~f&b@7J|d!>8if3thJ# zlcF{vJmgO)Q;KoW#Mh29Poz+8Tsj0mDTtM7%26`kH4Ch3QhhZ8hb9W8nMlA6W*aWQD~@M!HA-L z>y$wp2rR$YY9gDDJ49`vZobb2KPQ#ro2GUl@V0Ya^y{Gf(GPwSi6%ATlL`UNFqo)wc7wQ6-jju27e#AoMa#tW`Lzi^9kHPxZ%l9rMb|L!HR;v22IdOa{o}HgU+Sv_CAL#z$mLySGULDO& zpuM*V+jK(D|G_a*^WPfY1KsEA>TC>p9$srTPS0IP$zy17_3G>K&yAnYzi&Ruq^?7S zBkRQ~bUc6+*ZTe+9K2MX#jW3xbOlAyXMg09e~Ou`rIEK#Wbp_OT%tT^S>=F{)L!>+xzW*M zM&qOwK=Wdoffp&+_SrH2L|&YwKEPOL8jWfCaj@b#zT1!$?*Dc`V1=IPXfQAO?rhJ% zVTeZ9w%Y*KfpJjEhH_j0w)GY&bcaprIu!^H=pnUIeB{?S-<~8A5&Ji0)1Oi@a?kW!cG!H zz+1aA%h}WQt9b})v+BKOz=qahfns6}u;ohlt5b_vIfL0DGJEQ2OjBi1)=wY4Q*|99 zTv8a? zqv8pZKK%H4c!z3`%=I0+eSyUVK2^`l|9jBe(5TJtEfnA0++v^i8h%iE!M=#>?sHOD zjg(18KJqr>VJnPDvI{WXdE3FYLvnKNY}OxQ6#b$8L!0Iaull8dz>V(`U{~K8#p)-j zrM&t63*!Zg|E;AQzQLyl>;C`RS)f3(GCkaYE$t>X8#?rPzH$uTO(!puHQAur=HbV$ z*TU0}92ldjIu1F;)zf(2&DPQgmRq-j+LJCMeXnJF>wB}mY~_a2^+yS{;N?g!{B3)G zGJ>}KRHxh1cNV$J*@Q}j--e+GX)d3oj>*cVjgwkO7!L{aueNybkLRQsn~4KSBz%}U zw!#M0jLX6_ya^ktgX&zve?y6^)@1OsPW<1*U<6|;>RP;J*vq`etS|ET+W^c&N~(Fh z4$PvCmgCALT!Y2>s_t#yKhbiAO5BR?rI~+-eJ|m3r1X){@iqFo5$N9YOpB$fO*Qt@P{qB!x=A-B}A;p_8(L0#` z(7%6eRjm#`S|&?K9TuH%?HynKAa=U%c4+-Od^o`1TM@ZA0lg#JnD!c(PPJL8|AN0e zoXo#Qda~42ZQ65s+uT6DoY)+`-&J~FK9ZgM7j2y@DRmD_!gf!R8v%HR1T z-J1_MyhZ3RorlSj(jGbGqRxCzbmSNQsvsIW?ZqujMH~n}Mcm(U>Q+2PSkQ8OEQ|0R z_3e^h_}Kj?2h8wBCQ36>JNS_?4~RRpR@bFy z7Aq3JAM83`hv`eZupkm@fzmP=_LyZf{YIH9CqkoPA>e_wVAJV7V8bbZ=Ea#pB)&}T zhp9@cB=ueq>sF2btf1SXX*ML~(MELkYG7YI`S{ty-nPmM* z-EugkE7Y8M4XfSa&l}^Uu}m-JCHhvGHC`;DcLOpre@3|$ zJTgzxc6@P@QaOw=F5EuVxZ!c72@@Y3T#ckK`?^J_=dLdPy37t#vaeljP}5psxZO9? zR6xmJ&v1drHHh)GZksRm&b#?%xP$NeY|kPghj@!q#yd%}T+5q}?qf`)z1Mv*h3rW> zG^=mct{%Y0AN8y;qCbex-h7_s^SxH-% zL)6`R1fZLb#%eJ3!wy)iFqbzgKFju}1OYY9#|!GtklPV8>#-#WkTtsU0{XJ;;&1CI zu^|xhof$|C9}isQw{`R*ovR{9;xV96Vj@Bm(j2Vii+_;Rt)c4X3C2d8vu)~@xy66c zrB)d^M_)@D(03b&QLUFR0N74*Qg%05*SHIP^FF@`E~?9jPKR5ac(OF1t^5chuCCPU z@t4)F=l1jter&l2;5Q%L3kS(`*k6Q1SpJ-CQEG=DC$NAIZomI)1 zfwqs6_rx5muN&5ne;R(fcH)a8^a5x;`juB!+deK5u%09-?oU?nclLKr2~aJ8%f&fM ze|0w1{FJKD@H7NAT1?|beIVpb|A~Cy{pXw#a&OMB^SH!entC0AYX={)o6e^|&q9gp zQt4l!wbh6;J6Aq0O~f7)$VEhRHyNtcJVa?dPbq*pIO8>dZ$XQ|;?IhlMs8dAKMhrt zz!aY~-o}6pQy%Lg0+WKCDe@U+Jz}Ai$PH+6$eHEinEV7> z7!0u$B{@*$d=1gLk5bCTsb9CPk@N_Z7(U4Nn)yaTMA2;a>gUIwGz7jEssYbpeShYv z9?b=Uj=P6gVP7G+?B?M6?^5@!?Q~bSjWi=_Ie|HGsZY^4O-S9-@{Gg6 z&Jeg+2gJIYBdt!a0!~8h=1W_t+9Yg9vcg~pKh)Ly*%2qmjKO0sl5TbL`J5;be9-l* zk4hQ4J}*i7-rcE{++V2XOJn6}H$Euu1dsQ0C3Q0+vpPD=n{|AE4ix;KonBDhi|;U! zd@|mCxh;?E@YAs129cOO@S~K?D#BL&>^e(pWYgJrfLcxenL3Hh*reQBhm5mE95m`j zWfkLGqBLiPg_XSbXX#|yAXX8@mw{vsv zY{PF7z}T%`#M%4mzSmm9g^a%B=;Pc|b`ec*Bt<(jTL2ptYwC8kgFK+EkY^s5;xL`FH>-#@tw!Y*?^_znm6k* zKAhehlxOU(^N|=%+Y?^C^{4npEJRyW$;&HXfAywDYtR_0#?$Y5T^w_CyczXV6t~^( zt@}K9rw1w#*%6x$B4d;V6|Jd2{f6kmqMv1yJt~6vA^D(vp?2^P(65AHYgmjW!D&Od z|5U2yRw@$~mMHp#03sM~h!T~{SmQ6z0Qz9ba9K~4C8f7kr(a8OGhO=>mCKT$RoQwi zc0!JTMWXM9RMW; z*uSvY9JGs~2D>pIi--V3));zLSB{jzlY2?5*Un9I*YtbFpQmeQ5aGb1UJ)VfrZ#Opb+ct^N@(+s z_Zi0D)+(k~XX(BzcikHeePgL~k!|4`iH5_@CAG`+sBau}El~PR?pDQgo?kN^I)0|v`|T}{zJIiY;V6PgoQ8Fx;;WmoW|{*pI$IVrAi0(2Y=u2ne^_Xtdt~jz)Yn9H z4zskTT|P}^3b;N6O&L$43%kc8zZ^9rT^roso}_<3Z=h#F5<+9=~MNi zAr7w-BbW0RdDUAKvaOSjjq zSFu~ZA}AjEH_OGXAlB(IO68o#nm?fS|h$ubhgE*~oL#;Y2u!lBWwb(c=ugq4jfFesbe<(~kbS3;*3LGEiD~v^InJB@$n_3myOfm%2ny=_ z@B2Z@Ni|qn1e{1)=l|^|N*h_GXDV|Jib&PXm&g<)aExM?Sk#K5RUMY=$dcH~g$8`4 zS&JaAmNuZW7zs@hT0S~}?haFYplS5nS&t`oqW>in4fQQ+q22(2hGb$4Wm)RiCG!&& zj0X^$rD%pX$J`=qvt8)YPmy5nH@_ky;$+#;jXQ|qjwE_FRN5A}4=kB(xXl!U5kNB= zi#$86>o|g}DjdK6p3>vCkuGscdddsKeyDswMVFPz38}H_yby6WYjl zlhPrs0S^H+7PasmMYG{cv-c-=$vT^%DTk(i{)5Kek>jRJ6e5<%x7AY##IniIkpNz+ zN(yb!)0ojhvOi--Ya)keVg^DOp3^YCD?2KyLu-C$*tsg^UaA-G>7e=qcdn#auwzlo z@Kuas{7q17raVj%+@p}jrF-;H`5*V{mX6>D$y@8k|52~H&$_YLX;ibBeB4r;>-x8e zqZGagpb5qVFpT8Sl%MH_MKgWXbEf^B_@?*MHlpW1`Aj|nJFN(@{X}UV?uJ^X*=I1U z8?i8nX>5LncYCOO+1tZD@G?Jb~Z`Qo51h+}b8MEavaG}_^IQG7Yd?}&9 zWwFW=PG|~na7!HBXO8WuEwTTG2HzuHy-u#?y%f-2q1QlLjv*ZAth)vmgvwMx?je4g zvLXa(AEvnmIx$y{mN1w6m^)of8KNbj+9bE17u_6o{ zagHxi>&lvT;#BC!DS5hqjT%1U3Xim|+9-@FScD`ikhs&UtjF}IiUk1SSz|V`9 z`b=*nV-H4-VMl8rUpx{(d;jL4)z=%L7G)F6_;xz=Gm2`)Jl$q0z2Q|FiyDv1=@)sG zVJyFCCl{qQLMw+obaVWS)ExtZ4)4(7Y$FDUMF^9p_a>+0HrBSg2Qz?)-i>bn{K(*P zj1R?OUz&5Q8o>)#+RAeT{O){&H-YNloqMTV<{-Sz`RW7%%ZP~!HS?~bfYj%)yOnJ~bt zv@?R#(d9>f9PA0ud=B>U{YQAR+!zk%`3UAKwqV(-iGP8KIC&)Yr(AKeM1v{qyoVg^ zU8R^N=K|5MWpv5)4s z>SQ98e2h!yMlw^OL-wi8=3!OGUD++`*Ya>4oAmK0LBqbXfn`THR%1h5So_gmLZcS9 zAXpKmHvj@?_YRg$42ul%+pH((_h3&rFdMa_It+b+hjmj3>3 zzDQr_|IF)iX~T1Ro};^g*j6_=9`9vEFo8Q+H&%LI8D6fBs9!nWLmRt0?u7!SiA6*B z07=smS|AqTbO0d5Ibc^t~^^PmbIl&3yqZW<&Dh#AuGhhliS7Dq}OqbI~JCTX?LzR+q}X zxJ>dj3>*S``Ed)FQ`4SY=7wCf)YT^PVqza%d^h18jxVGY>9hH zxobAjxxRdK$w!Ow#fM`XC!T9zFN4>e&R-dG`J=9MC!3tL(#}yglSNmXr$Y+n)i_B4T-Z_tz@v=j~~|@(oDxXRg#$gEpif8zbKncc(L1sx9NoBBw1y)*4vD z$#Qc-{K$XGgObs^Y5 zWt!5sH`CeDe!cW%5`A#}q0Ei+vhzh?sTMTQ!+v=)<;O(R=uN~4Q=HTzjPIUp8|lGQ z*S+!3*rt=BFY}d78$r;py)oi2P98XISbLDaRt{#O58DAi%AK6yU_-yNz7Oqp^ftQW zRn2=eY(SENn^ZY}8=qUmY$7fEte-@L=BVEP_9WLg?r&2QnjR1X;H;ai*0&ib*3{3R zhDBT|n~q)~m5C9ihuR`}M&dc1xCd$czCwP;p#eX#+U;2JE`954Y)1m`;E_=XFT?e% zw7&?DAf=y5`HvOGg@_rD6*GOSz5vHKJgw``Z22!D0btG$>3A$tsDV)gUe6uJ5kv&; z{Tnfpx2qGuF1y3d1X33(wN72wRMkdeMj9ku=I1014b;N%2Wr1gy4=D2^>UJF`?|?}PuM4MbF0r#fEs}j zV3|TRroXgaGu*$OClGrzz~elP3}&=boo6t#*<;{z)ob=9+s8i_&0EQN7hC}_Y!coT z`dl4ZHl1!E3sa3VW=r&$GQ}OUhgxqA;(^qkmglR731hBMpUf-%MQ>VqY-RgQ3eriz0n@Xmh`Pb-m|Y;Bi!`ua(`39 zM{@=WsHH+J>DQiH0PJdWpM^ZLFuU31amEqXhkk+3-yp48Z2*3{#T@lNl#AU1~3O( zu?qltfTO-!XRK)hO=bqv{Kd0v-T>%-^Ea#Ya%zow?YpH{Pxu!T!qh2y~ z0S01;(+AtazH?lA8m(#)8q4i(?hm%(YCtRjrguyH{cJKh33s5^<3as*V2JR#ffOs8 zd=a9B2@a2C)4&+so4rT|4enP!?h~OhIeH&1uy30H zr%9{b0}No>0ofn4O%k~jkt_8khuO3S#&yVaM+WAR-D)>CCN>qJC29zXA0QnuJxgFd zU9^UE_2Q9js@y#GzAVvb`dLVK{GsFPEf~9zRi&r+=X8)F_htWVQWWC5f z(+s7>9Q${Yel6hMex<0E))>0$F7gz1+~5c$Z$mGYAAF(li&b}z>ra&$8l-Ri_t4$R zV1Q5~WCB>zq{=_eRgA(058nU+VinL$$=WUMWi%m9{y1gJm-GfBH5!pVKp`vt1W29)kt~ zw_a|+x*s8Fh-%8i*>YkEjwE>|>X{OK{OMOVQzhRxgU{QKx+ehk^>e#{Tl{;-v9jcW z3c^!_=9kOBJMK@6tihnu`M|=FYGcI6;Cy1o-ZdFf`>E|!!*X)y*}^}!5LAQRA5DbK zrTkm}O7zGU8PfcW>Y)SfZ1`iuzX+zdoGrhZpITHjf9FZ$@Qnk4t7 zZKfNz%{01@WFA1sS?Hf>-toaF*|C5=(>d@A3Xq8SCI6IHiAVwl3>#34FHOdFLusZ% z8}+cgF45tu0K*yYgl;d&qDAKS`lk2N{wY+Q>u&G6Y04`7RBAHBwv*J3wir0`ukifI z+7*%cupKa!_Yf=Sp)wvdr^ZH%`Ovc@Jr)+)^zb|*r_``CZ)&t~8bIdL zdEyonMMZTxGZ~iDUa1I-+ll?rjQ2X|x=n6~$kubBH^PiuGk6s0Y&JORI*1QEW;`zC zO5Zt=OH1J}0;)`rBz7Z8HIctED_ZMQv*G2PyHwntzFxm!YeZdZ>R1;`^gn0}u28zl z?Y^dHB7l9DU)I|LrLme-fNtkKzVYc&@{?QdI=9B2%EnQi_NMX2ZKlZ>Ql-*Esw*9p=6)uDzQD0H$*F9+6;eNj?{{uu_e?1{Aseyf43ji%LM4yEJPDV zT@Wu03i4ZI%4^~uG9~e6svT`W0(xJ4ak2Z1ITm!H`JP#T8Unu}38epy2c>@ImJ;7c z+RxDXD`?teCV{c02LNKF-#aPU`2+tsfHG&py4r{lgldfA%*3 zg~&XxbPiIL!`WaZvIXC1VZmON^ZL%&`Pp8AI)J>V$KsY05|%b_K5H9iACFYmw0?-W zi9`V9IWZxPQ?_w+AvPkC0`Z86?osfh9}DeQF7^-N?)Cp<0Qml~&yot9-tE9C+DXIl zafirKg)Lcqh-G1d3uO9c1UE-9N?z}8rUx2 z_`gXE`1Qx-T0bjw_yIcMeUs+HNCLO5rS->r-uFK}MaBn3Z=oZ7`jUQpI!fQ!d1OOq zj|~PD5%m25_b2#qTe_c9s`QA8f4I=BdHc#!mrh%LA~wCvY?zDx4UxnMM?tDoXYX&Ia_@QZkkT zfg-jIU33eO(S^P-k|UmzQhgWry7JOOA~J2?De9_Ppd9B;j$@PREnrE*B5{Ark9>Bp zh`=TneIo)mjCf_rR~b`v>#c}g0L}*Q*E{B=i>JjmyOmOQ259F=|N3qOG+k7-p2~LK zZf9Z2Hd(F< zLb{A}oDQ)zSz^bn-Yf*Gu6klny!7A`y(iF)pm#>s??NYK5xoXqTt24OZbC43P-Jr2 z1o-|xDkoh)s3l1Utq)~#_m#lssl%j$9JFj5_YY!~=0}x;qhw3$Z)ZQZ_MA4Z?ORoan&4{?|s^A?U=&#T_I|k&|2+)GYpB;SEI&eb@Fuu{kE5SZ6s1#8p zkY;P#?~&y{x41R2%DxgXKo@ww?5#WsaNEXfJmhKnggmRlnzo$5{X>W|vNWP)D2{`D z?u-8asI^iI;*^lEfJfUEpsXMda;A>-m({DegTEE@TkP03d`X>X`j5O;aAej?i>WNj z=PL>iAG>HLEEQKgf$F%P%vYF{Glz^wSjaZDKI+^2$5|7A&PPlunU%ROE}(}j6#*>y zzkN-Q#)tP8>NHSWWZ_vVKN>0I-xvxbldt97A!ACqo%-^g+py_7M9wY9uSe1F6jn|kwzK;X$GXEyCjB2MM6Nj8_6MOV3@hb-~V~my07k=`@Fe# z@rE^r`7(3P+57DMsqe_gbhy&b5WnTYQutE=qu^jlpE(@?3`uv4`fz7}moO?^^%YI< zpK22^h6xPoXUCilzms0u)5g$Wv%cyjZ|o2kxg%hVNA~yn$Lpnn`rqVpFZQRTDjS@r zTT}#3Ry>A}I7?~mJV>IqA*g*WS4=Xio8c||JZj!!n1xHy^kwyvdZ5Uk&sBDp^bRm? zhKos!c(D}%MgQ?E;fy=j&0nV-5>P_sdd7z~CjE-T&t`L#8AuMc3;Fhyu3)Ku`ugRu zqx;pC3PhV<4i}ti*KblGL6T5Pko5aCl3!E`TBn0=BZ-Z&u@h&R^N*{uTZ&|ON@&Zgedij~X)*Q- zAbvwnRAe-=El%`=6-uRGl#l%Lyh`MOvKLRrCP!LC&?{2gN}r6ff7P;^O%qdf9-OH? zOWOvD_5c5>*g#T)PFP%0XL#oCb6J~-cWME>_e|e*eWxE%YZfZIIAf5hy_X3;Ae{po zck3&+$DuX5KgF88m@pBG`o1dx_DdvYLqYY4=P-+2oUb3C=BBimm5etNUYtG0&I$z>xW-pRTaD#f|$Wb?(?942(+}Up&aBVIF3;as42ZcAOA2k`}?_ zs^Ga}_7^T@Qo1J5{+bmdT*nW@emuP1$=(1%WPJWk?;}VQ_0fM6QCmi0*KO`QzK2&G z%WS`*Hm5G%Ak2_J4hh~*mk$14*)jyat6lUN51m$a!tgGf5vtB9F#FvWe6w$)Sz0ew0PeyF0AN%g1@ z^I{Ozc2!%BVO3a-nu%^+BTkRNd~$`Ho!sXx{7;VZD3l8FrZ{+L$gXauH|$@n+hEy)sQKBR9uxa10D` zgddWFb<;a#KPo&jFpPIsdw&+daI92XTPK|W9ZAKLN`J{vW8nafjlDaK{xG5P6()({ zoaOBhL9Tk9mI;2FuIS#+Gm4scgp*2kTU$1C1A<{3J4KkxAibP=WOnNvm_1dzz$>EzdQ$N}mK{ z?O*W#FOZP7;8cmAowwFCW4-^)?E6oq%~~c=;hSt`m>2Y6B7X8@=d4GuR2C&j1G)Nh zH+S^*cnzX#UZg|EYoCQF(|+=?5Rn=YMQvr%FCAabFs%x$U%RApTjur8>IgNZg~r(= z+r?P21j`~o>jiT>E-BHZ#blFmf`crfw!;-eERd$?XWDQTN-9O&Y>fX`rI^R^fUB(M zIn^X8wFV>YfxF3J262d)tFJf!8)NQkQc0n2Mphj&phK@eNF)emyZc|&^ThDYQF@ld z+@|pJffqu_e(uDng|@w}2S^^UZWuwN(tRn-2086d8D6oVKAV0(vi8d%rs?EEa?a_h zIPhGfHNBGLalT2E!bmeJx|;kcX*O9q zdJv{oF(oT$@rovCBeC*9y#mj^>OWzv)qu-^xBMCFtz?_`8T7PF$dc+63ZD5`daK~s zrn2fY16j-yhJgw5=@_#Guy_eqR;8I#m`beS(N702 zFs1N}A#?4R^?YBk!@Zw}_@!|#G)`Ug3!izU{dl9|-`J~n`5k-)raLn;j)+qc1y+tp zMTNLSERi;`0JiXi8nPueX#Vfl7&)R}fHTk~@`y%v$H4UK53dDKDHk3Q&_>vNY34}C4@uuwgUq<#AVuq2o^z5XDX5QN%e|j^0>6?pg1I(Fp?l?+j-{!qh;Iw_j>SB(k^z z3n^fM4Kq2qB!D)ZZyR7eex55XbWlvi=C7(;@8j{=Yj^|2ufpezv7W# z|FMNJ{D#e(q$bJsF%TM1*wj>G_CeYN#vFpiO*-p3Q=cnF>+U!?`kFDDNuaRZ{J@ur z5x4J~%>9H?>R(*4{B`9;{U`(0bl1Vn$c508F9a+52kMyOX{Vg?`qDVeQHc288!Mgk4N zUK_+S;%hS@=d6#-vO;mUivNn{wp;M=Rn zCmNp{Mgd|b`{0@5B!@#2gxw!NM1stkC+E;SdZj((W%)Qj_73erlOxF;f%JF%07?k| z-b^z?(z0mvVjaZ5$RDvDy;cxT9tOlF$c@nOuQeN(>rv+Vtsvd|$;9M#$MOmRa~r@! z(1kn?VX=DdIGHi=_1R1b=%(P_-D)C4=BlpWxE=$v_~}XVFS;)e-+Gv&u-I}`pgfvA z(Fo)>@U)CyE6buK=aU0MDH%o-3mBT97mBPb5MHi|m7>`U&v)tw@2lLc)%BE9mB+78 z^WSx>*nhzsQ9Nz`WVvntMJlU03+2DM(Nm{&qx$K&hpSRvc1i1FUH`fiD~q_RMmPe3 z(ArXA{!K$JUhwF3`76AC+#zBL8?w`p4twkK!qgi+2q={BCx}{eJFgZh-3L-s`Z@#7 z^W5B0Q6Py^HSx{(Da+R75CXG~Jc8QJv*)J%mV%i=uF?mB=G}}yTWNp)zvX3XRHoiy zu9I{%9mkSwdwnGBSw{=a;UJ)WNZo;e{@ND}flv^Oe{#-XGt=vHwzppar;vEt#iVSV zdH-F($oy{4fdan59q8~LSFXEs#{T=20QX5XE?sQ@!`~|Fzl6ub0O+kB*m4eO<4CwV!H^9_0 zGz~O%#h_=yIO(r`OeB`gmSF%#HB8ws7DS)qa zcd@!P3j=skgilrik6+3(zf)?!zZLziEwN2y&G)v6yYh9pXH=Zm4q$Y7o`KoP`H@>T z1q2kvY<6+yfZSw(-SX8!mG<&CPA;|!5w~OMY?cPh3etS)k*K%B)%iHcD`X&s^3Zyr zX`d70`ty1opx}gEt_5MJKFNWiBBgU0BjA$#*4<%o~m zB+#uLM-Ly8PUfA+D#Hd&n%-o!Q6p!Q^wxd47w@TL)rMWTj~`>=JSdQDqI6pB}JO~El29#7uKv-)cJaI9M}^t3F}F~pa^b|I77i` ziG#6R`!*Q+k3L9ROAR{!Sl(QlCzlmTLF2Nh@-_lACDBi}q)c9b*fySg1zvbK~ zQTGseSEmy)rMQV__m~@iej3_k5y!fWzTCOE-0CIIR=Pj}Mm;^0{*Tkf%K34d zZAqu8X`7@suXju>0F5y-Lk@M9o_6C3oOl6>E8J6bAbSZG?I@kN3&y2&l{|sr#ZWb` z;Hj2EhS#|5a{QZ~z4QgMZ(q}p1}6=SU*7z9=6B_+Lj5vpvIJ>voaYs)}ft{#SjoNAi~O@t@*Z3;mvbT&pM=!j-F^xs7uG(s!LvsBY5&H$ zpaiK>u%=V*|ID8ezQ_PU6)%ekw+;8VJRo16S2v$4!hm!s3Wf?9ZFyzAah>@F}022uLRsOiSJ~R z$Ai!@IBp4ap||_j76I$2SE+7w2o;yr!rW(Mvn^z^n5~~x9amf!U|0J7$8_7-dPB=5 z=n@hO=uCY2w9W*2(SFWbF!06@{wcFWw+zx89a=iD&K@j{=*?`uLW?1ngdP4E0ECRQ*} zJ3rpUW(5$9I?WU-f#hEBfvZCRpPB^<;bA&#-0ai~tl)91-2+GLtwH@6@5a}Do`?Gi zl+54>Tm8OhlCnM{3%P;^^vIl{Y#-fx8Y9D8Qxph}XyyuG3+(w|A9kFCIAGXYynmLL z^}*10ZvLmC=+i;khwDF|3PeL8=)wFOEfpy(4~Bm!>O(j0AMjaY$SvLwInian5l_vr zXicnUITCf8@}a1QG$xPHhPL~o1>mf-7FF0y2o3Lq58FR|-NuNQj-duFA8kGl8ka$d zu-E!k9Vy&Xr!s7u?aBLBQMg19+-F$e-(-e7Xz?(><~BD$_);e`t)6O#q<>rJyh-N^ zmu*by5K9={hq662y}HH!Jub+?^29G=o^h0zT&E( z;_SvMM@zMG?Am6R-wpxE_P#S`78L|G8CTs@E-KX9hh~14Bk!iGTrdBnuRjkmcDn@3 zV+11?cyoY#h16W6dix@-;UQS^**^@{*8mn`TB>xuV|0DIoJDT_D)WWY8(;U4@bGUo zkGcpK0TtOdL5mQxAYC6ILt`fp8M_Ujj=8BoSD}yF2wYjI+r!32Ai%>@1JFSApbl=| zy4kkr)?^hzbicbnUWQm`{b<{&xHY%bMpMgZSyNG$b+)~}e4L=+%7`L>>7wGk=JY`( zmZYB}DOl&l?^xb{FL{V&Wh26HGkXdPKzA@gb}@+`h#MqOOI86-^iWDM+jget*87k) zTk30r)0ZD%J^xEIzT?QxM5*HeC}g^C!(Ko(c&y-6iF)VFpFmS1658HF39mxw zV=}>xQPG;rnO9o&r~PT=h^(Jx7CA1hjo&ILLOheM92XOr^|~?n*JCF!N2jVknbc}9 z6AUiv^WCQH1p-(jp9RCSU}JsbCdcn&3PZTfVs97i$8+)YPif#M1LOSU;i!F$=Pp<`RFyDogpG^Ldo%3!+)i+ zOx~q*lZ|uC*6A(qex+m`{`G*`eB$P;#JEiHjOqZj{zmGT^34%tZ=*?rNytHmYux$O zuT6^$TPh;+)9oW;;o!^3teyi&-c>>p;KTu?qiOX2r}9x)Vy?XN4|az4V}IbrKR~Q& zy4Pvpvs}o>4SfGoS}gt4APx6n(zi1CCSsf;Dk}}<`TIyyrrLDWLmXxwu!Mi`CknQa z|EU|OM+8w)6M}yY9SBD!qlC2JT!h2Z8_{5BEiH*9p5y zVg!4VgNj}8a%K!Pw#}l9R>T^UT^aw}td4dTE#v-_^p6&~qX-nPDA@8dj7hlWE^zI7 zww!5UMgGVD^EO(je87ij(Y(dm$h6MDqq>lO0NvV~LuOPLh*<~@>D7LI`L*1i{El`u z#Ig0=5ZY+yOAyA`N^23ATe5TPP=mUUWjfVS)xtn3lyQ8R+?+PVKzjUc zetcb`@Cc`Sif6n6flmaw`!Y1Sm>G*zrmg(5>C{hJZ{v9o8=34y~h8gUMW2f_IKulNslzPf`d4bb(ZihAwX*Yp z{~)6e+*t<{krsU*0Ll?efPFH={6(d<%5a)$Gq~VV7qR~r4LG$fc=i^|qopJ)9rs_D z;NMMJi#HqgR2u6Pczh4>B&X_mP&q(sW1%WSPZ~wD>9$wbx_+u)V%Ro9n2NTO1l+>F zBM@0}Zo-HO;wOs=q{l?aVX0)cR};a{p^&{T=)g%r?1R)6gODe3bUvkp79VX zW^=yY-LS+a|ES5EdGukY*e3wN;ot>$V7E$%XJdnM!@3YS5;APs>l5r z^q;3{{>fAWrpw^af3Z|$2ha{w$z?`|fVi~i)=dWOQRl>$%Es!p=~T%3ufZv0;W!W` zd-c~|&Tty!Qt;X2gJ)TQ4a3VSs^u*nrM^&2Ox6a)%jB1QbiXACMtqnd5(6UMbOA1WgF*%&uhxK-!)&k)xE8y_T!8MekcjmDrGrx>0UH! zfj*4su!TK)RiMMO4p!xPtcdT8#pd;lMU_a~FXl_e9nB`iVw-*|ONV4L_f4e!J`~Az90CviM1zlz~93)iQcR+PGnUs%BH_vvwEH?*Y182x~S(%nlv1;c6M>yj^uw0N{^ zBi48R2%PK3L?(#z8Rl|13`-Vh`w`sH{!5GI1Aqs0RlcN(sIAznE(e|n8at-IC@Tz zh||eYd`UZs@5xPLvU&56_Q>C8=S5i0V~`Oy2X3;7H@n8?2ioJIw1R?+!s_w~7W0XA z)346JA0$M?DUB^O5l;T42$BuOu>J(K44%xYRm6z9yefjdPMkvzrTd{h;OC$*ompaf zY6QI_x;2Z5Na?v5hTDdbK9`U`G;Ieef>HM`Mj8x#1Tf*>>zoGKVLx6N((G~cD}@8r zQRe;x1mslBc4+-$qpW z#;Sflw2dk`fQ{`uqFX`)`D7lcO6VKvwK8 zIo2G4cx?o<;AP^2aE=KgRYw#uWxJeCkhnqT^AL0>oxveC$<7S;wi{H#dh`%FA;-Iy zQ^c~m*TQjS8~&CuGc&0}>Evy>BbM|K(&^8Vn6%j0kOwrD2DI(H3d_ex0r4>Ivwy*2 zxW##i8P-O$F~8#QoaY)R?9bdR0!`z$3Ey%m{)zzgrT~uw&?B1Pb3j~Scwgo~kH4&* zBO1_)k|lfJ8F1Jr_cod=>a2`JWYxeT)W4zM#Ul`p4LOuEX-Np1xIYt*0>+J@)zK8Z z=iJKe;;G)Bf_-^kM%^y*Qbu2@a{BZ(W|3YvvubBgwYNpy`|-IW+JoCr6)&YRavWq^?6~mU znC>8Q;Zpj#I})pWkwZuAzYW?)%6;Rh3C&D7C(+}D0u_hIwYfgG~q z3U<&ZqL9dO;T)9I^gmP7neuSOqXQ|lgZDr7iABXI8#0M%{JYNy{?>g?@ksL=oDC7L z1H4`TQAsJib%=*B#=l`oV#k}*rn8IM8a3bB-(q0-4*WcAH&eZDP^TNHHwePRE@rJVputdAkp}oJZSfV!QOS1$9K+= zSo=aFdV0Ot@t{E6$X`+#Rx1rF^+lq^nD72);e{i@)wfg&FARy^~}# z`w~g7NoVu+3DU2QQjU2lSrhS4kq0dz$zdTv8_z>2^hQ1Q4L}y73u6eal(>#WFy9J+ zkCjxOta&c@GHu5^ft-kL6wg{6H$MH-m-L-g5zH$^-1-KZb2lD5a5%4_4EqS*JosqH zs+?k4$G`;%qF)Cg25IUurTI^LD{ZZStGE{SusFJ};B1QXQlVSEZ*{orRs5@e9y0O! zrvssdzh5dmWmL)6-W=DGA|_%lY16I1(V{fIEedc%8x+$q{VG0S8GQJqw})FYQH5wY zb?DVMbO|y#ybmnQ$VxAkc4O#~4Vy=nrNuM22#FeaoZ?#Fci`sCBsMsq^-i3bM&mwJ zHhs-3{8>eQq;VY}Xq@ESS57@&sYO&Gc#g9tK$hw&CI`(E1MzCUO5e%Yl6udgMDbGUM0c%7j%YazT}*VfV=w^575 z3-M#P2Wv7$Fps^4%1>E@O>LCv-Nai@1N@Qt+>u5+X$cKu)4?x!D0cFQWCGn&&#zBV z{H|#_#jj9AY_Z{6LasATsC~UjDoDINJw)=5PiqrgFyT>F?mp{>+P{3B02&fb05SNf z7sI(!_u8gjx52vL!*RYxLD|e4Sf__OF)`7xMjv7lS>C(|cGKc+;FfPm;L`T`BMwE8 zi2934-_s=g5dl-uE=1hkbUYFA-LOJmU$$!KWZc(+s}y)RuYc6D+G2WH)s84~-hmKke<1P%D99pUarA&q`n7ZCRw7T| zLF)@l+Q%I3j$#SEQ$?-O`MC$0;^LX^*gTR|bUCq}74{3S#_aQ2{(kHNqyR8Zc&qzM ze8KK#Br8D>W|X8CUYK%9I04$ZX+*oEU>o{W{YPAo#85k0f ze|X-0E_7J!W4fB~^(Sq4$?5E^JwD%(_$^&7_tGagpC58z!V=gb_MY(=M)_0Lc;bFb zWC!3U!=L~{VyBNEnw8c-$lE6qceSg%!h+*b=Jx#KPH0lo0nqtRzP(UMb4V-I_T=QM z`fWe@)6kSr;FOnQ(wNhH2p`)MoE*(q{`!MELh3!qls&aaR!>lrMOe~Gd=@U0n}Suf z2k$hSUi|Z-(ir{yZ_{vxn4o-^$W=IXqf)0E;Z2;<&N1+mMQfZ=hDTwEKLFjU)bYVG zLCiUA!alFmk~YWxM@{dO519r zDom2BIj$giKD*ZNx%D`jcvZWwns=_^#UbW}BgP=+(iW3ROhQ}BF+yBFz!kb47Mt(D zZ`_0<0JG!`y5t`uV50X3%iigvRPq|VHP@(ffxa})^gxo$qX8FZP-N@bm0RfMi5NA6 z2qLC8Pim_-%lQcK21Y=rtiEAqGxs*V|Y-wln$GKzd)|0_N_4A0G89G6@6~^e;DR zsk=h2KI+2CA1Z5o?Q{mdcp(PXo6U_vJ3hPWbMjgXPXbKYt2>{1A;Bn^xDAaoQhNDx zEi@`WIG8-1k-e>|1~aT>jN644#j_jp1&=bJt$smw1r3R2F$}liyy_VDN*V|;k#Gm5 zo9|H9hhei;@lhAC9JHVV-NIsl?n^gSta2=9qv@y`srLYD5XnT}fw7s5CP__tNYR3S zsGL?xc_kA^-XlNHVod#9-n;`{Nri=C9tu>(LCC&LV(AwE9= zOnWFYEOg7w1-*Ur>`eaNoyA&N^cSoAn1-l|XF{1DS7Hd^Y+2(ZiR(uAW|o-OiHtlq ziX)NZ6v|#IQAyoc68F)9AMYjfnggKEY?1ADT*sv7Wt+E-a$ab8|cozSYvT33~J5 zv!(LARd_Yw^~n31*8B&XLB1i15m{U2H>2yHPG^Nm=TzZk@W+n+zLxzSdcOe0*f?G) zsemlWJ`RcSzi%WZt!2^t$GJbfk=iB*mCqh)j+l=t8Kxajfr>kgCzZ#P-&O&S>9qk9QgN$%5 z@FJdXg=y5?Ua*FF&=)CmrBa=h5~cSyi|0+!1vt5ZLp6AdAnTpydjZt4JVSSX^efXM zr;=8Q=#NYiow~6gWNnwnP>T%%63h8mQr{{=dI52JF@(ahr@P}Sk4~vKPuu?Achj1{ zFm|Qs6m=F|x*Y$jQ!meha9CpVzt}goTmWlW=D4W$t`i(#<$;&xL&KC9XO_e=k1$)B zbh4hzd`1m8KV3}dCE1jjObj-zZsoB~g2X9~1Dx?My4rXTjhsxbmaE5Gb-IHdwKbm{ zJ70}n@AL>FlO@9l0 zP+n2??Ph7j#_pKUZ)YZSzow?*Saw$e{Ad5Vb64iN-=OtiyXJBy=Y_j2S&2OYRYf{&e z*>NW3uF^R~U%mGn(t_H19UigeLC|@$RVDa#^#XiHey#!b{*26kdIblL)t>aRUJ6Ll zlO$l4Udq_Hog!vcQ2S|Nv-o-D<0L72yO1s>$f)@)Y-+sD5IhUgHi4^f@SMGxTrP-Gd;YaJjWKfB`S^)M`RHq$m#U%qq8-V)2Vbj$5-2ddv$g4O zuL96M+=`#_#83t@`Ht2P}s1JH&+t}8uR|_&rvG0{mrfHRe@CVsHpiD612v4 zbWX^X_ggB8;2z&2ng9XRYvhOU6oI?M!(lMwclUL_$s$?XCO-yx83}D!+zKChZZr+q zgt)p6!*+*{K10VvECR1PTz{kWm?6F0d#Lxisi7#8wb>|z91BR}%1AcexqWc51ry$y zYCoD|ZC0losl;Kl{5s6+Vmn znC!JZoI7k(Q27>S<}-SPE_%(dqE1>YFf$;Vvn3B@dFN87Q?`Kc0&IbLQDB3YCe?5OOK<2u6Nvw|N)mThe{eHDhbWFRq>Csc%N~unAd#!7VtJ;E`CNXtwaFA5p!CS|TIQD2F*tD7x|%q* z6nEXdxOO%fiKcRfoHm@aOo6=2ZmU<*C}^KUEVx92it4hK+A+WjZjWtleVudy3xe^5~{-?=VcaHDLV9SqdM*H#B8;tb81Xh^^d&5gB-#OE_%pE z<_1{Ct1(woCsjw+BNP_(^OmvJ8>?hzWY|d{Aht4ocM*RZcGxeU38iCDZqVbkNyhrz z#5JdN_eKg$`yK99hcXz3Jw}-CvIGdfvK@qM!+t0=oPq9f)H2O%Uyd^;VIQ|iQZ#N< zSo#r8Ju$up=Jf;VH$OBLxE?Xr*W&$hZF<_?%z3_e7IKUf?A+rt>Jdo5ld=o`^>VQp zbF)JxdBK17b%Y-T>yp`DKjV&ZGx?ske|yyEa(jcZ&|TSu{M_`51+w-}W{!lRuza%t zm*=2w0kg+80i^Gx=`K#Azi*1o72nad_XmGjI>PKc5j(Kvq6nPGTi~)uxtn!EyuAIP z4@>SCJR_Fx-TF)2+Dx$G_Y|32ZzQ!F2HpR{6z7*qExkeVfGMfAf+9#d7nZdeI1jY`pU7J*r&o zRFiFTUasjn7Htm?375SI8@w#qzDNG;*u8A@qJIn)G_gY5xbe-r$;1uTwe0_}dpB9( z6VnF8@#{kIpAzlu%?#U%2~Go;5{MU`^fr_+E*|+XAd$)XKmc2fyBS*HL&rc;GPh;8 z7N&F)@BKhmCEUGMru7rC^(NGrP6gEiLYfC_otzgvTZhhb?XswAip+ac{aN&Xmyg)* zeAdqJ5KZEX{^7y*Z8IZPLQY5|o-pSES-V+#?k3XOfPntiY2PpxtPdOH^uJ3jqUQ#Q z#1kLfqOOOn>u@%rx=yv4C$-;X7mE(NHY#a*66yx;aWB{PFe&H#s?~ze3Zx?4(($(J zt|l51DWFWYtmSdf;azIXmp%0He#Ps!(CSv>N!N_Q5-k@Nk`~H5*XQf69_i7>&AnI^ z$GloDw9)BkUN6Gf=td38wz+Wn4F$v}Cx&eMEe38kry0COp0~s;rNCC72WeQST38|t z1C;M11D+Cx#D5(2KZa|Vv`D!;-TWcax*XMR11)Kvw-a_LUs~&4G!u0SJZiV?$P+Y9 z=~`n(Z%RR?69b2nE_6S;v>Gpve;PKldRWGT2B&~zBUs|{(e2P5(H|GL9-X@^-n(8b z4Zgl@ZPMEgAF^wJM1$y8?>Ai;1!$vfA-8u|k>^JVLf5PIIW5hMVzTNMA&gJ2@1eyX zeK?8A*-oLU=jQb!?XfSP4m|2s>PU(&tcexYJvYWzU~ye^apLD2u$-U>zi*2{h8yIW z4?iHtTfNz1j$LiJ!AscpHia749yvFbM{D)(>$xNb1Cscy`(JJ*biZlA4L+;sdqJq zB)!>3WaVcpI*+SatCLV=ehbg)T?sko!wq43UkHgMHQ)Ip)_fcBrI@>O$K9)JW=iBw zFKoHT7&Ufo?TYFb6>n}C?`msdbQ;9i0gqJiH z4Z1_D1Mx!&VlB67b_Q45%a5A6n4Z)4w+S8!TM&Az;~3|Nf_joM)WjVrhsx!X@csy7 zv>A1Y6;Ena+tuzjI@yagrUep+y%^KOq;b@B>#1te(cl!ct+9LO!Fb#%_X#y*Z0b-z z3cqV4uQgd}r?m+dc**>XAYW$H)}FDFiC~Boy*qM_^jo$)_eD8fz24M+4nkWwM0*cl z^3T4Hh@QC&s9{*gOGZ4H(0fda*V`)H(DaTIXvS{8UwXi4kW9;ztXJ@2(0SI?irC6i z*y{aZ{^EwC)GZntX~k;lV!1q zL51P|%$6hmRkkIgt6knZYjwMUX#TF8M0#E-&$=6fDbpcw@s{N+h6LN|CCQ!LHk}^* z@keRzCkqLabam|Y)=BM9`cCSP2$ZSrACcbGq73Z!!}I2o&jF2%1SU!roedj(z~pL2efbMw^H<+iW}gLX{_aqt z6>GsAFm!xH3AfhavqNwAtj@A9hP*>w9)Y&I{=j?F{PFpI4XoB}`jqh#zOPRv0 zAi-02DJhDrQ{*P9&Bei&eGCg?0^RMw##hKKy{#-K#AD=-mOnEZTM{??3#~RVxK`go z=8@q*yMqUE~-~rn*rq3-dEk+Ah?bkDBc60$+UxFGb zlkQZn%^&c&ri$(7^4_`^O5dD|Vccyyl$ZnIjg@qNsg{_^M_Y6WC$vn(Rr0lGl^x>Lp4wLh9dP#itm$LC71k**0+`hFNjsXFN?+^FZJF^?r{vk zU49PNmOW?kesF-u+x0=`5$9N-Xfb%9R2OPhh*|^}4h`~v3+?h-Hj9LVNq>^fNG1Hh z@fYe?QoYKffY*y}Mp3Tnn{^>=Xr9uN*-De=h1&_I8*_VC*Zwld^~4_oUO-bU%$TCy zoQ))PS4xL8_}pI5LMliGYJV~vDQsmO7Ugr+s&1h?(>YEXQTNWpXa0vjn@0km_ z)dq~_Kpy)I*%G+tqOmOnP;gdk0g7b%TcRIt1D(s`*34z5L2@zJprK`t+mfT;vzAPQ z5tiI7Nii97PM5diG3$Obg@h5V(q;)9nwlOTm#a)STE|UGNRbY-`s^mwq7p zWL2q3Yn9onR;DGHWpHKgtzhkN)2LL@y3|!uzuzZ`?MxdTePn0m0TleLqHC7}dA~py z2O|r*!BROS8IGlwT(*Nk4jwB*SD9R5g<{_jM7@Ye{x($280SOp{aP(9@4t&P<;(PB zrrr;DarA_68p*=L%Kyn;gbG7N8>R=RmEMqRV z_Mf-#qmz}T7TDB|ORE{&aKdz@5(F9=Rt0??PIdj%imSw!JM=>q|MWZ9z!N)^p^&6?!uI3v2DkVwkg`xx(u17wQ_Kr@O z;T5G?V*jyl2%V4X&ir0W*+u3^pyfEG94zP-&HVm5U(LCy;kkqT>^%F(h3VXIQrFho z#%^||B!{Zqzv(i65l_)}yRa12&(=FuuV%Jo&BmCGN>$*s2m{n&<_xUCVfc(FhoI?= zL|daQ(h>Sc(8`9=JAqnZE1*xK%7|juIc}_yPtlF?9lCSvmpFks(}_-G-Oo(>;XVGo zg&vj@XH1Tm>AY(i$h0J%Qbz76hDXK@`xSs#lpmN|;TM&iomA|Y@7R8P z)?a@{F*$1W7Bi6NTTFxeq&QVeBNw^)$lFD=5!H`_ebHxFRhXKfHB zPI-h{=dk!VD|yWC_VHsvr?naCp#zG|odE8)1DK7qZ&|TfBaPtd;WN0I%?$H4W(X3Y zr^ApBFJ2I1eq6Fy3J*sPRc$dHY(Upuq3%i84eC`xBIx(uJ5y3^^L6&&gkldZBse#a z!}=gJ`A^qZcLw+c>8SNUmj3URF=+vk)Z%#aEJxxL4v#749xup06UigV_U*D}9uJbq znnp!}+8utq(zfl!g(=4D{>d}=%clev++O<=55rb)TcSkU)gV}i3{aH_lXFDnL2WG_ zN4x*uic6KpmXG{8m-NxgY3H?f*^`0;zK;8$p`s6?ey;E0WNt8of3%)!{kyRyyDY$T z$|EoOCn2iF;NMA6yB{==<2(q%Dz>&Rc#XoQ@9mSAgoiGqRWOjn+8gMj%TWrVuhFaz z=sCEhTORx7@I1wc%cVoG6gQ$pcrm`3@7J(0YYZHZ50Yf3m|;r#4!?hAMYY6oA4(V) z3)$gv(tpchQCy_uVU;`LB5v8A6?g&CC99+2!~<(ZRrc-CypDu@Nv5Qf$h7yAQ;#nc zW%1=hQ|4fe6sFwnzmwO6Q&7cFVO1dXsB{o^(l6P+2yv$;S0dOgj1ADNVqtuVNlkxj zI_1^C;;&IW#N0u`xf5RzUQ}VPK1whIpnroX-kJL>5)I!)Ac_RVEo5$AVn3!dnW5)E zmq@^$MO%`3=etB%k5Uv6V>VXhV_}b$vl#a&(RY3KpP9jHRY$em!|tbAZo}qJU!!Xe z%*`+dH|7UWeIpG2AKZ%BhaF${?nGi1BL3(d8h%_6)wAZ^-;kXth@Sp39DcQQI9;%9 zoTovu&l@6{IqwuQ>{3NoQe=#v#mwlUo;k-s=)EGsu^owjXLB>eyHX!TJp!7_~eeU;|SV(`rZWb_+ml3`OF09Ec z3z*#JuKeIcdX@#4ny43y^u%piEq+aNe|nEnN1-5ix8l`m?8 zVwDuzLdg~H)S@a=bZ4R8(7cpyy1rf#WcW0rC;2L9n|?tP-0mEchS%tvS8sps$uA4i z1i70B?d^O%hCZRYW4Zg?II?2Gn{m^_ShnMLzl0Z+Ks^YHDU4wl(x|b#fXM93@S#OW z;~;~e$2#!Vl}+$R1NeVG$l-H0Y33r`6a$=WZp3!`peA4aAei>vJXAnkz-z4)t8vL; zB2RUOV?n-oXFQn-of!3c5Jc3J!YG3SZ%)S=5X#wB?yndyN9o}8->QlRiQEndRF5K~ zd!0fei%x411eDT@QTJaKZMYq6!?2frf{0bNp=8;RE$t2g2p_gwE(cDlq))Z&Y*2oC z=${bn(WKxq4Yxp=;hR6G#0T!th6sjdogC3sj@2716NcvSjB&a3+V4+E4@e-^-RY5# zb-@&K)I<8$D3ATm!VyE!416XQM$gP%U-(wT7@x@D)GHL#Jy38FuVIix1OL;FYGaK4 zDqrQX&x27P^~mF%Lh+_TOaAi*6x3nQmrHj1=CE{zMdBhsk9pB4Ov-dEuQan>)_-w$ zOASef^u!EMa~}PKG4sZxG3yysp-5tQF`xeLf0Yh-iV36q__Q(wlJP+L6K{3C5;gmv z!BOEWC$4u_+lF^Z$``b~!wz+DU(2{`NdNNXMoEEqc+>}B zv7jemRO+M+_X^WDzm8Bt@_h+EvMDX;O!XKSY?F}U+PtsOr%%U(mK7BC+-I6Cd?o$S zb{hk{ONm0*mM|dvo7bSsQ?%%BRO9p+KDaH{^{jy8XXw^TZB-ZJkhhPOtAJQYjRCT| z5=s}!Idg&be>J-aFi}bF zQ?c^P9_`qnW&EH+@cYzrni#W2hR3Fl5>|`}Z;lWZ!sN|e;4kI~(2oeP(=P<+phMC*^_kQ=?yKdbN zr|Q%_AMRW8t=ChlyVrEDUcc}>3sJFBajdouQp`L)Y#xK_1CzkL(Gb}(XyQzo2TbPP z^Qnj`M}f+%iMO)PFEosWe+vHgyAo4q5VUn_=Dx|@Hb1d&sg!y%0zuAOe_P4uAvCw} z7-`(WF3@!Hp}Ly&;yL-!!OMXTd%2!52u^^;GO=SG-rWeX9ci5-FIQ^YrrWY!O=+?= z5;@ad&*({ouBeJ%PP~@+q|#20=Q{Z~eL`6*YDOfrPJOO%s&8&3{<%3U_k$~NJEV*< zYVuuttM`l?l-tXB!MivK`Jt03l3$9C^!6x4F`r3$iTGYhYm7I3z07tNwK5hOK$VgR z^nkH>KPtM#7q6%l)%35beHv+$3AxY8Zpdlb&T156ko1NR=;}>RMqu&}rsmf=h=NIA zxP<#jvE}6>^M;(zNki6WL?&Jbbr!`}(yZDSOO4{3;mc1P7=cTu|R1nQt3 z3w=~y2Zd%ItF3&#tEwiNeHc9m#_B>8qLfD~g-m9is$%PxLEqmL5U!itr-zw#0B!VsRrb%98q@GV+0V^r;*_sMGWk=WJ3wC|#k&=j@#$Kx zD5kw?=B+m&{t~?b>Yr%N7u*Nv{*dXBG;iPiMI8{Az1f%ZxPGzzW+1QWH|j^$5jUE* z@-q=3Gg=~CfAH)}ivfb$C6abC(CblbQQ0vFQ7M)Ly!_I}m_S)$%+6IG;m{pmd*z7` z$9gBj55m8nMW21gxR1x+T~(cp4Nh4NEC_)_#M<08d*<*+&9mt#>E}`ui>xR$=cigW zQ*6!{w<4Q2`aWQ(<2<-ra&axi+3#E$AP*C{mUXh|qU@3oW1@smlfxe$)Hhr}PJl_X({OY`3Yb4e zfS)t=Gy?BfM%dRu@X07xOnM#kkx@S{)`n1i9rCHt=D0$VUhc_#Y(BxGm<&x#<&&G&s_Q-f9 zwLltYNR>r$a9fvk!{rr20E?`#9eQ?#65RvtHd=h{a&JN`8ouo}ao(H`28pkwLL>T{ zB{37T1Q@ob!C+F2cavw}e%|nSL(F}?I<%{gi0G8_%{&OU9Mneb@x=F6y7NyK;XcQ2 z=5ZOG@iD(f()|i#zrPPqR4VQSSE`3lV1!Iiwv~=QE?>}V=HGYZQEx6gR#T$GXBk_% ztE9#zQ52ZGCJ^>MFRj$p$aSy26D*VD%#KQ6dKM9=Jq_gv4%9~JpkEukdi@gMd#45< zFMpdT87aXE9y|_L(*=wqBR%$4!eA(anGrjh zNZT~fHrnjXikbo~E>XW_qa!QoqcWm`Uv`lw*UeK%RAhOKiKh668E6r~LtK`KU@^yy_zv$i(`omC|u2A2F#n}9ud&1@6)Q*Fs zg3bttA?61KQ0Iff)L?I1A-qmL`Rm$4J8HLYf2uw)iL3eRsO7j3^L|!$k8W|{oRShR z%~3MklXzmJW4e`;Ik~-m9XrcmkEDl>z!ERpW-=R#2=$et z`G6+!M+ss=)*;Ifq#insHC9=+3?55l&qNvNa>Ews(Zsp?q{F1Lg7ZE;*0Fp;p*`Dj z0P$jDtMj_LC9Kvy$y7vhgyaV;QJIPmH6ip@4Km5gZ0#udwD{qR6ipB^6%`87hgWgi?LE1aGOf^_iVm6Lg^tnp7p@HqkhBS z2H0i;&FdmE{F+J1QzMaWcBD3 zSiI63GK2wQX?4Q+^_DhTD}q{)9fQaJDy13y82n2RUXFQ&CueOxeFiTF4>Ku07G|qU z9fUTC#Zw-pD9nNchJ=Fk9)0iKxA!T7_<8q9q`M0iq{5lznHf}gUi8F$o;8@+Y7@sjt z<0qHd0Xrj~TFrjE;R<~OC7A3@g(k+>fpg@gek)6OInT8$4#eqCI^@@W!++YM)}Rbw z$=*>2BL1VpXFUQk@idZM|HMU(Yq?A!5&?Y#rKFVG1K22aig+>riWVI^8AD&iHlxY$ zhgdbQ=5Y5N`7Mp1AC-)u1977yKg?(~7HqI=aFR9#!B<`?7=chSo=l?R1)Z0sW3%H= z2{7~QK?*k}HU4pYAu0h?q@gS^AM2fkaKuXRSKA&w#BFBys~rBi(<(GkRv zE1)Ja3m2QUYg)m_73#mpiF?5E*uhRA>uK2#gJfL?#Y0Svpu|ff9e0ht3PoOym;26G?GV!RqqrU zQ{hLOOdYA-U!V0-90%VWo?8K_8(bqo8~SpUv9hL{kMJIZ$Rfrn)de0rkX@}?zFRSC zH4|l>fZ@RCp%uUOhgANoteUCPd|_zeunv;0KCgfhl40_Es`1Ria2AIB~@h&0d+-^ZQ+YmdzZyI|#tB{dDcU@&ETMhBzgcAJ6yeZYmy`icrQ1liz>K9qww}ls5YnB-<-&2>I-J9GS4VmVXlj1Fom-UdvVEntz?0?Z(@5e#OYDCEI0naQ zy5(w2gO6VSR5uBW*;QxD=+A3L>!39>PX%%wFgmGwmN#xb{{~Go{Bsnz?i?;hMG>?n zqmnE10?f^$SQ7*8V2`4?Qf8WaS_vmMIuUQj{#=j4-C$^GxT5&SfC_yJTl;9jm@4mP zykvlW)skr;)uuzwnVA}%vmEMEVQA}CAe%IW|7zFy-_!oo8J0JA9{&N6=Pf zL)0yRrS{O!Lp`Rr1+ZyOD1?szqQDENCHzOD5J;$^_AGtVvfY!xHRpXCM<0cy=@Uck zwjvTwYKkhfLtc!lbcR_?R^|Ql*~#BeU8;=ZJ5ou;8t4QkYoYjArz}y+bORj&E07+@ zE#i!kUSD$0fL4(fq6ohe1sh^GtHk%|g9ubgADJ)Mn2Z-Rd{#NgX?D!CE51B+k8-s8 zwde-9dOgv%F|cCdp9;*V4P!z*;7F?8{=HO}-#Dsyi>F+tH3*Xp<{)!j6j}J~I)EL+ zps0;zzCTPfk?LK?VwB)BA^vl$m)~`)(RrtA5F9CZ%SIm;#DBV*;wMSGQOGY*kmN>P zO!{u>@S{@x`<+Td z%;c3C)nEsy1btVCVuEm69)7{loOpy+UImF*RCh=W1JNaDl@p=ruOimm`)wgT-c-eb z--9Jef*wEgQRF+L_vlU#CmY&!@ARiBz*)2LBtV~|3Q_as@>${82bUlh?PohQ=DQgQWg}l&9HgAxe6~j;>qr=S zUrKUH)bhhLM>uoq%RI;U$9Lp@Qn`=7*0C~isgL2S8~S*2!SHw%QkP*(n)|qZTv$`J zmSuyH;m|w3v!w!-W$2(JA@Y3~F-#9e720LSyN+4Gd|HKb%|*x8$A+&*S!~AY^e1t_ zV`cJ$PF{vreCpKdclajdQIWkM{eYw)XUDuy(`aV?a}}&!y-@4$EwBLZ__~r2@-RE0 zs#+rLKjbQreNj4qvJsCJ$+>E_4tm#ulY*}{C4jLJDnV&o_Ho-y?9Q3BqUTq6 zvF_?^hKVS?N~ifb!(>ueAeFs?NNHsW@ChArJUNp=seW#rLe*5gKt)2snp)qi5ahc* zflgfJ@4HJvr9AotF%)s`zUYFQM`*2=0K(30E!>61nm=TzLz7v&zu7!>{!qGn)c~gN z!t>?b6FAS6T+UQ;j9C!sdkQ{$PM7yh@=`Te1R#9BY6nA2vL3LZ9eyAuOcnx9-b&=E zko_^qbbGs=@m1`hYC0VMYr3YFCN}SYE$MG1af6A*jTwhv=qIjaZ6t@{D+=tQa*PQ9 zb`i1!72g>9c&9NG z7)d#aJFHX$80qdtZ4^ymC)UK1p49G)D3J$GVuzd;)R8zzD-i3?ou(EkR2YjeQ*|26 zp%qA=1_FGSd9F4*qGbviM(U{)S~9=`p8LmZ-s8cGtd9MqM)6 zJ``Kl?ajOV)n}!@=Y67zQ^C@-AK8E>fUUE7CMWu#T_g|N0P_^jmQa)VJw=c7tKxKp zZCbPYSvyZWSM^K%J@ge5YG=F!8q<4I!OlDX=-gz=Q^9a1brj8isNld;T9vmR&TmJD%U>rOG8b6rV$p;r&`a5P#;RnL*4pla+ka5+JtV|tH`(DcvO|-> zI^oEqr}j5JAeMyGrz|<%yO20KB{6c~0iCuhh^5eg`9`J9QzxI%M% zsTm#1;C{pMFi|7-w2o+Q!D_G>eJ7zA{e>wF6xbt@-8_!<6PIfw0eXr^M%xlInMl)U zx0Hl+rq|@iQ=l7kaHFp}tgfG0K1e~CF%qlM;y5hZ|FS4+zcQ72XW*&XN%PkgP8ie1*y) zS}`XcWf1cDt6|<2yPgq|^v8@r}C)f3WGpo;6Nt|G>ldxnf+?PqH9|W&t zm}c2fQ-AKY>%xCmGgA3@j2!^A6(|^M9Fb|3sd<%oo?&hO+#op6VjqH`e2P{+vmogv zC7LS^`n|w$p-=N~8xXVU}SpjWVVy%pI!B;?+?A2L< z*~XV@+>h5Hgzh}OS9T2UkjWQrpFFE5#|%aoVqR4jo{{iv6qjNWi{nK&yv2fkLWG9e z4IF-^CeYvg<8r8wbR?Jv#jOtC^LB?98-6b*gYN>PVN&SZBByc-RrCa(L64)%0rY9X%Gvf46e?zb{M&BS(X{BHd@=Sg3JpVV%~~G5 zNKp1SiP1U{57T^v?u}T1bgOq0tujyZT*2vG?I@v7LVAEPBLx8FA)=tW1UMP+L#3&RaS}KYi$V3_$G2(CQ`L4-V}E|U2N!JgwNKjetVB+ zZGf>7!y{$F~nRGhN=O$jO|cgt4cvFu{zfsxDD8zBs5UE?zL(DK7j zE>_%upyYqlT9X(nI_M`IYT?r)g<5$NC|%=*rytIJ2fTNVb%V9tu*MoL6deFtVZx+} zCiqg}(rDI#PacegVyL>F&e}b-#VRhe==&b{sIdCK+DrcTwC6Eb_^IH8aU!#6Yo`|Q z7@3wgXz-#yOylIyHXf4M)gZ75gLLzw1JuDoFwj}WPOg_=J6ldYEJkme-zypq^Gq{ws)x) zrgGc1+fU>3VI%Q99ajRtjOvu(5CNs+j*6QVTrI}?4k)q4fD+p=tc=@Nie!3tyAIGs z%ftZEBWW^CzTnAwwMO={e9z2`XzPu1m*vT~2~bKqbh!Bbni|VJe7;K`+F=cAFIDbs z9cH}r^UA{e^z`G~m?r}s4Er^=H>fYs)o!hP_z zy9h@YVLfwK7WgM32EpOv4@D%`!`g+}F<1}!a*nx0yXFE-BSr3+)S-*cGPu45F?vaa z5W(1;e3Z#mlj=Mv5K0h`8+AAloy?PCaIe8i+EucfTeNVCBuiKFoYkHxwYS7WVh+l- z##{TBz9wp7W;?4(x(KOd!j4fvYFsw-MaYuN8)NPeknLQFTWAX1O)-Str#=R+6qdsi z-}tC9Y8V0HZ$=vQ3_*P@gYP)wInC_ptY{>;l~4Z494Q}>4uVrQO@TSyeq;8W_xrnb`YVmf4kR5F?xXKzV@;ozYVgY8 z?P0og_V3V4?wwT75VkZC&l8wf5Xz#)u#%i7MEU?}gjH%gWSBrjj=5Vb?~m#X z5<}BJh>XFwqa!hC=#U<>K>*+0>w_BC(y%x%k`Fx|7-cMpD4`S;96EVN!Ft>GIRRi+RJczX)rzhTJ zM<;)#SiOD6o@%mVhQ%>kSP9U(Atnj3*)J#(p!l8H1MqXN2eu4%`zL>hr^XMg* zE(%|%p*W%26UKZoFmdf)6MdE87LfM=L7kawsEnY5PrmbX*TSQC%WpYAH5U|H3 zNIe7#Hl;yt&mg$f1CNh9z0?*xZm)X@r~;6w{OP(LubYNGbFBO2qhu~Iu@b_WRf<2< z)%;)nUgh^zL!A<5ENtusA=B==mt9($zXc3rq^{oIx*w_R3ZU~(-pud%p#An@?a*vb zch6C3)*PsUFaTk{^wyZhF!ViBeSgE$KY2B_y}YL1b>;+>2q8H)o3Y({?b|7n@rSm> zAx1u6@r{_0uoqRraC zqsMt7U2A?XWrH;S>AX&K_7MpHT5U%Rqux`!MUY_OKe_5i!6KtBsv;}>&j=)yIu=pq z;J+e>Y{F!P%>M5V{%JNF_+M$p?xozXO)-1{D6IH1&Ow(2SZ}_&iWX89TrPM1^_!*4yZ8E6`G|7j!`6(0?g> zikL>xBtik78{|?kTbc{M4lOHG8LiLRdsYB+S6ym%H>jh%n&BB%Kh;8Zb>8P|QLokG z&IGvx$zRpRA!C0;WwS2QCoT%4h0NWNG*Jb{T##Q$u68`x0{a`p22crQBr$a(b zbegZlNU*3{aUIjY_mp&?8U2wjCPeo+P2BCrOwdOgT_{la8@1&v)``wr}62_NmPl(x6SS>|X1 zN~!~;SV9juB>jFKFr-Ks*iOtr{XX)}FjL;q{xNCUIE7-O2XrTH`I)OouqwNte7AKE z6sFe2oTYWC#%4xagaQpSSnga|qh3v;n$hvJ57MfPr!mcF9vG+PpWMm!?3nc(6~k8R zCzjBkobwd#bex|w)NI!UAlB(lyrzDCe~*r_PYUGesAU+d?}SwHK71^)#=>~gj8y!t zAobV{SF;BKE9Hvz`e-q$i%@*$ok<1~YAZ+Hf?js?XP!E=v|*h1j%1CS?ONnjkuc$L z1h#M!tuBg9oyHDrAXa`8MR}>sjriMPd+5WWXr|GS^2_mg*dE|8_D>4~+{0qddIR5q z$92I4KY_4Wh5BnS_%AD9TQSgoP^ERLD5IgGVAA|9ZxHT&!ziN7_ zSNEHH?Cv+rieg}_NSBxHIoO#*MyVW_tySKe30j38fkK5IdStlzfU0S<}3(!BN>}^%QPMNL&Q3U$h8`#An5rUVpU2ApW1RuJYqz2C zg<7kh>LHI^BvjgRzYnxXAJ2vT`Q2_Oh=&@06UD_wk+#E(Z+6YY0X1T}iCCQfYige>6K>RIGU4wdtCh0^cPHyOpD-lcKv z!5M<~BZq~zJ`scQst-MWKv{JIz!+S>c}oymuWwr=y0>5A;phS&H>bN8m2=q#pwE7F zeV;5av3vDVhkw&2*S7ut;X*EkLvLv2b3oVK9v715j-K(*SQvTQP3P3j)G|s+4$MQ} z=OczrUBW(GtJlC{y097}DQ{Bn_JNWXInvjtVW6z<)Q5z_6+ z2x8SijEQIfbTgqza}NY+(v#a#N?+$579LY3ly1}3J+`ruzRc6Xr_uh!bo2UMY2@Qo7Z#D}@r1^KlXTJ@kzPyTIchVS0 z9o6{u(Q1mkMmSzD{8Vxk$R#1C$83!!1^m}(VCLC^LoUT1025!#N48`jx;Ewn!1mkX z#jWzpc4CSSz*VaaFa968W;&h4>@R|8IYKxir7TuX&;LKUu(~zXYl{wI|2Z><5;42k zPD5Hn^V5}Nfs>{)=U8h~w~l}TW``E>{e^S?t&;f;HPJH3W4$qTpyK<%0#`fI>};8O z%5#5Y%zwGPH`q^-4s(@?L2>)%NnZCa+4}CcWuWF8B$d|)+fkOP+@bsTX+ZV~6jR%5 zTqx|3O9(n*rE$92fBxOYVuhp@&%MzNP`qxF3jx~D*YFMIuO%yZ}BfZ`07kb~OYi%i?G{PCd7 zhjizYJ=4M?OIk=nsEr7ANbM5byRoU_LDmUcjd2FOH7i(;q# zz%A(ceKpJ)^S&jwKf*8#a-r&(bUoZA_lEAheZWsU1af*BwFx;&@aV2dpKxqiPxO1{ zP*PU^o&|ceG}lFpv;<2D`c`ezLZ#RTCB(!>#&Iaf^C?ocGMd@HViVHLcwSazLdXz z)ooq~`4pSiDwNIoJl1`b{hKbtC6gXOQlsCyXkVo&_nfzs9Vom@GE?~*72%eK$&^Jb zJvEP_uh;)JR{NlYU|h*@GOJe?n3Y(J3Q^=)mD&}4y82N(Ot#U19nUionr+x8nun$3 z;$uF!`q3YOvYOA#3;ZYvT*T^TrI(4IsW1?G}6%TgpVGNaUz#Oi?1yC9f1$d zFbtqil_q$?U&}N{faLx*oq)*Y3;UvHK^Y%HY${K~xbf@C%xmZ8slbSC)BDdJv|8eJnRYq8 zS7VPeNczL2^yfyK>dg4511gT%-L>sZFvF-54`*Jgsix3P)%FAXX%+96>J7*w(y3`( zcfVx`y@45oIcPHr-(zb86J{ex=ZJBZ!Qwaq>0UW<(g7}kR>&WXapNWi^ZyPUWB zr93bYmcmOyC}SV{k(%Fk1;e+DV$4(uv2O@YcDNjM?_E-*l`4O=V?ygX1uQZjy^Dgk zUrV%xiT7qSy@E$yA-&sokY|2VmukbpaR}wb8ZI=>#|YrxCBvs#K66@L$BYoEChF5O z-5UTKqBsc zYX^|kO80?JYjmdX|=pHDzp1LQJ}OtT9$P`-lLL| zW0QF3kYS;3@V=hgqwQ#im+{lfVaT^>mt^r9PU~}FnBOVTA1`@IE`bfh2{EEUBzuO= z2;n^~1bhYhq7=@K7Ct~ui|^l%Ixo!$i`G1c6*M+H>u7@QG=F5uO2{^JxN77h2i@_TCC2=Uqm~ z6ZoDb^iTbt4}=SLwCou!e?APoSnq3tc9KVR9Xm{j1<*elO-*=*YtJ_zOQ;Di+L+JLeyHqSafMKAr`A5OWMx3IJ1XrTu7>T8 zb@(HU-R_mvW$2n=>!mQ|z7gC_^XP*hz!xSL-P&MIiCLMagv!snXO$sOJ?AeRf!(_- z_u+}~$}(if=E$32jx}QOMcR{zT{x4}(CG-TR_B;!fJ(k?w};Z^yNo_~`v!CdO%f-Z ziu(3P2b#;d*zl#H*M5OmbS-YbD|@2hyZuUE1{+7kqi zzF!7$a-;DncG=Jzfc4DguMXOP^-{6@Mipv=?;Grz!|{>S3{ud!^)XVWCLW4~#pd$* zrHr;6W~Uw&^loJv_Twn-OC)!5?o9{byWB(bzRyN}KVo{NjujIYZ(M=7g9l7L!mZVQ9J?4sMl~oYV5Wj*MRvRMGAW6FpEoAx-jM-TO z-+9vlZM-k!Vk5D_P?fWpR z8Y1i>Yu`1H>{|nJ|22i5gQnFT7NJH}u*{0TXc?>aIJZ`H;!e1zT#acqsM3ezH;;vn zQ10zop#xO@XxyfS*r8+Yjn(}=5ykiqcP{c1qxX_=9cxWJ5B;;3! z2^RhFB;tI2=|9isn|&XEEr(zQ1oVd{^fi?4|Aw&QF6=QF8KBaDkb_+cZ4_kz)@Ci%6Z{ZWE-SaNX1NAD(xTnMvkd5IipQF`eU(YQ)mKrH63zw@=fzTK%`j~3BB8o2${5mCHLt>A&kGmr`N&e8 zCV)(oApv$A&L)4A&{5uK5}c1LP=6+Iw~81NBY?&EtDS%axy9{#K&HH)fX3xrczUj~}!9?=MJ!xc=K_JHQLi6{uuL*YM2 zfcl(@0+!=QKJ=+-%ZsF7?5Ar#e_rGVv03qrs*s0yZ29M4y2qvtuiRRq%=u$BLEioPWnjw97!3sln?CxE_V zXGgQN79-_81N-vMl^q}EXF!2;6WRi)nRUEjrS^t#+76)|6M4OJi7)^7auytGE&yLn z>wo!jB!^W}yB~f1F9I__eCOR1ijFX8YWp%{R2Qj6X3&5TPAfagc&drSAzPO(gMXrp z7n%J!mCUTse;yv~Fwu>=k*jcNcAV=H{}aa0o45A)Ih} zGjMltzb~yYT1NcE#mSpz$K+1NIUl3mWS)NQj3)?ttr}FQJ2#NpE7<4Afg*RqFX)7b z%4Xkx<$i;wb^q0^x3D|->q~8peTxLRb%roees|ufmy!pe=)w1sM_5ItL z^KWa;zpXj{w&wiXn)7dK&cCfW|3|Gk3q~CiFX`I8L+o?du-V`IepVO!f+F)NQK>u! zN%tJYtrMocpJG@S(Gtz_VqZ)TBc(b5zd~j>ui)=PmQE`6Pbbu-PxyNf@!3WIlS1Ai&GrB()dqo09tiX^Qy-^qi;@j5YN9I3H@PVjCvw9J}+g4>Xm2n#;0c z;`i1cHC}~;ARw0{-mS+N0nF4HNs%u3VQV?qqb+6kO6Rhn9QidIVZF)d_Dk2ltR^SkA&b` zr`NU8p^^r-M3E&tEh|6d)csrAa?eSl~+f+*~WE$W`Egh-~^8)fv}=J3XZ;{rc;7ZhdM#+*2ozK6v9QP(d&aK-%n>?K5X=BaBc3A^*@R zGyP~>`SUNT+Wgggf1l!9!-79Ghk*Och@AM}gV}2Hy$dIdc;Edp&3$7Na6^v3p$;h3 z7sV6Za6x@q_TEfiT0A@OtluqfE0;WXfjMydEsuwQ^Iy3_J`6DLCqOTg_I;Bei}c7J zc=bt`*^D~N>%E*!Vrx{Z>sY+Y;zIlRSw#cHcSma;gkA>Kr+F^+jM3wgYZRNuNY(?J z6T9zUj`;?NuSW6Dd2+XuO0I?#G)#joeCjah!g7cMDL<+kWgO z2yDYLly=y5-t6f+KCZa?2aH4~G;?!%p-<*7Dq1!7;V1L(39iP!pU%?`ji%5mV~}x= zMRz^_&do9>@pk`BpcwFGV8ZuJTb-ohX6fJuQ1};v z?UTcT?_wt-gxu-g6K~Pp8*lpHZ`UHX3eRRUz-sn~>E6@ejLd*7&t+lm^rpYc5F+?k zn*Zpqu*Cz%g0#z~6c7fsdT10z(zUvYE2Dw;NRblu;lswKGrO+%vR@ub8~YG@oauV;tGQkwRv zhve(Y;Eb*=#O_BcKX6F8tCcaY2k|ex$NbBEB#iccnu~A#aqTSkUn4s(_Ek)auX(Vz27=C%CBeafA*kP24oNQ9p+^Rxpec_j`;VV$VqK}cXdC^a7He7HHr^? zr{4XcNLzT*gsC=37d@MtuzGjVJY96NaOg8V?3!_n#|~eA;iR!tQqit7-*VUP|L{Ini#!!Ff=B?6Qy2-*c_pd** zNb#bq2_rf5=$0+bP=@6|>e!yngj{xcLLmEu(9f;rm9%%6WcpE#%krJnj`TK+Z(E&Q?J&y~S`5a_CL?i|{GGatOvoZEIrhnb^C4P7|l4YYqh4(Fdw zYDWo5CPJ@&^gT%@3z(~r%G&paLEeK zb8naC91-%($soHd>wRFJ*=$+- zJt}@E!Hc6OcO6y$$}+Yzjr#2=e(nUb^y48FC^J2wJpFVTndcY(Q7N-Z#WFt-*@tDIgE(LB(5%HuhP2?^ZK-U#h^|n zR2{6pUl!F@AR#yLCG$FZ#tX!fdp!G8+?BCY?brMBQrL*rvu+t--L8AWU`{UBT#z4YDWzRy1WMVmcSJ^hXnSt zGlH7h=e3Kt+Na22lWK--FWQAlFLOTjkWFf?#yxQ;bl)GrOcu~Dp0{w*Z^ypb=#ae$ z43(-(^O-A{uY%reIyAKG%^e8Ws2t35IY5vrm-|g{sP?>fQksPerp{wETDTsE#H*6i zk=stc5_(wzu_Foi5#S(hK$_uuaBp7&=B3{0?yb% z>v7JZne>=%FieuiPbOj;&p8FkUmr4I6pyc~Fmm*hQY|R(JQ%&ORJ&h4-@I_xJ~XGp zQSN|o9nWiSAqYPZ&V2jpAmE~95Isx6bJ4aWb)4KMJQs{{brE0t8`=Oy_d~W}dff5y zH~SyHUoSd6Cf2{6713OD3~D<`JJg()^5wSU_8E^{TLRVbk0B|ds-gVNVQr|0q4{Ms zkw1&cPy0@iD*W>Nu*CAxTt`K#Z6w=_efI^cu>#7u!p8S=ywPbYb1US77Vw!UOA4Kk=bG23J9yO)xvqVTMsoydvc zf%A=@i@wWr{J_ap+LdVDDryrR3E#(ITJRS39-Z|(^N6c7nSN}6cCZ}x`yH`6=`*uR z{~NsvZy$GT-OfLM)x_Vvo91b2?RT|z{<{L2bF=6KR=z;9R5zkgqExjG@T(=bZO8*^`Ov}KPq&u`#q%$|FjL}>Z9ix#wx!CHh4ef;=MlWux=hNDD)$R6-z z>vuietOv>;sbv^61he^=D5S{u_8{izto9fw%8Z$2=7c76`$?Rewt0Uje*ZJC(hjvj z#rfeJWrMGnnrbk_O?FT#-|mligZx`VbHI+-h3ywfEy#;MyXlLN-nfrPZ}5epE@#>f zf4w^^7Ph@U=1!YUKW{s%JE_R99kM?7W3@IGv)?%T<=prBP-wJbQCB3vSnip_UI5DG z8WFkq@Ng0qj<@#2$)hC=>XWw}4K>wII@z5a)G7gHLb&-inZi{nfhj@^0VYtCtP)5x zDM6Y`pVDSck5cf^V9pvqG%>m$SXE1&zUs2GLzl5aQmfFnL^mxe+Zn8SLo%mx?cn6u zda)#-)45bk4#uUK*ejXumlQy3kp=0bMZ| zWI}6<{Qy-g>w_Lz15eV39(4I-v8Y~rM)@@6`sTp30(c|n7T%$M<;?pZ)_D3(=B$-h z(GPl|F5*C3iv|Y*T^EnIeNBD)gATYoXF-{+`>uy=7U0oJ|F4S1Qs~z$tCG_Q2>bQP z3-3wX_`knnlivB*`fhQ9Uyc1_BJt4|S3E~#E5j$~-H*Bsu%NTtvoT`FtT!@S;VkJh z=;gBtC-K3js3R5$83jS{1AQ=R8E>!wf3pD`56W0+I~ens;s?H$t(A0$C~E<4tF{5x zmHn>cS3^VVZ5u2Be{uF-tNCfRU~uSvay3z0hq_qJu}C5CFP*CueMdFM#`~OjgdIG3 zqwO~q-0Zz*uQ4&UEQ2kJYG7l^|0^sG)A7wudm2=_zz6^2dGz*!AN-(wK;~Q_chhy# z0c^x)A99V#rF8eAFB1`SA4JG(VruZI6{6Ldwn}x9=}o$d@`;qSU|(mq;n__Z^?@54*}`S7 zJ^R<&o8S7+?f?AAtJ}@D+|nL+|NFJW<@tC`k~n_;U0D%-<7rQ5Z#@1z?InNuY9+(n z?{T;G$VcL_kk+34%wKE&@}860XXJ4i-2H#>1NYTOWah#j3)T})K1J?CU!zaDJoD+l zs{4j<_T6`HdCq;Cw$HuqEqCtI^X!TN@z+NC#)aRMMYjK;AWVr@ETHEY8@Ub=gx?$!P+cCk#IGfs{nu~wx>;8-S_<>J=u?Ww99e9ulq`T)6${z3Wc zrz@_xwmth<&uV+ioprU#D;%%6c7-mo(PxGH!1Tlqeo$Vc_-*-S;Gz0@L>pC%BCNP( zh5pskuYCE-?V%5Oh`l}$^I)87u9oNBpRA~yciy@BK?Cz#BlF{t7yLLBV_}Z-&Ocv2 zG~f3{IS2erNS zx|jC9SpERhrI%i;e-Ps8^}x;B0Xz7|*xX6IlR`ynqr}GfGf&uqwRz^UkHP-o8v^~4LPcw%#K!(> zWByOe2h77BCx2Y24=OXPzxj3AG@Tw`&EL1o|h1iq=Mn zt?)M-ihrFalvop?UYjM`Lk_{bbgQ}z>GfF6IsanEzmDIM2$|D~NaA@N4l8TZ zX(S%Cv&OFYU-bE};;-Tl8RZUhgr}SCug;?Idyy}5| z;-}x#$Jh04^gG1Xb$;{jz4tw3(zLhhd47X#{mhTI&K&mmM>+a_)COV)eiJ_aIB*vf z^))#DPaGf%a}qUOp#T5&u6DVR8-~qf`eOajr|!eG1W1sSH%>FL(@S#LndpP$N;Vdt zWbgW}$NxtB|1|#H@JMhqM$z~v{<=eymo7%hH!(vS|DDkim)q-M{LR1Mz^CaSV<+>n zJUVHz{*Ax+2Q5$uuj=HP```6=OwPq}&HZY>LvI6*m)%j9Mx2KK4fNhK^!vSg{y^Xg zb3uA_TrC&$IiB%1|K6j&zvBnpfBhN1-*{!QevO#s-yNv73RUyOJR+K|U^<1qff#rzva5RN3vL;Q;& zjzM!smgZlBVf_IL>+g_Ck^-<08#H9{{_FehKXcPQSF-aXO?|ss0d?)c0UV1V*<6P0 zrx`_kw@_hxItFnXKJ4X6ljjFIaR{KZ*4Zt_-Hc! z0tg@>fX-%v1uWxFC7Zk3pqqaU1<(?#s>7K$ntz1E`YS1kAkkgTCJVU4NU^6*Q#v~z8p2X_IOz``P3B(_NdO6$G7GHeW^)-3qAqI`=3herGz6>aaMB;XxA>Qvc11>T z9ygy@G1MAZQLJf~Gc4WgMw`Z>7gZy9{sU5=b3$VLn?xrtMWn^7Zg!(j9gF!#EQF=% zW}*3aLJ~cZ=X98V#6{pZ|2I#j(XEA2+QcQ*)?Xpu{Bu$wdLqy1aQ^uX^G|Hrz_YDboJ-_ic|7xvjU5z?gYhjY++J<-DJhuM!Trr$9 zADi}AmN|Z!@+*6}^Ax%BWmH_gL~!{(jvcYK?JrYC0ul|-w6G!KNKBBjwK zjl$-K>hDE+<+Zg=Q~h%KpS5|OG>sgxl2jnIeatX4Ow7?OGjDv>iF>?^%^=TT0Nr4` z@d8mN3cbKCK}3hg(KY^siEujkoLHHE0Ll6rWlihk3vnW&RESq4G~fuAx>Y;>38xcJ z>knK>l30JEx@nz!fwZ=dLQ4|C#pCE&e}#$lC*th=RC49(>hGl&lA-o8#j;Y#1F|Tt zrwULmrHn6)`DJ>vD`xySFO9UF4vsx0&u{$22J=ryP$VcyTWF3ijn-cQCEk?7MnWkb4Lj{sxs{3C8OSqh)%)0MnJsYnD^ ze?$RA9f=b<)?cB}lv>RB=K1H3d~14VSeUg?*OlkhZwes1k8Mpz>L!Em$$(;zIwL$; z@~kAB=QsX(B#oJeBuS=-FCyT!ntwp$`TE1Z9e_%lnqBQ>IpXl%f^jGq?{*kXb8)m2b&VO7o#1(cLB7)}p zFL03QlP_NXy#A9F-v30h@csuG^F8~&7Y0Qz$ukVX`Eg|S-R6Wgy^0Xvh5Ip`&!|Jm7{xpV6}lJcE%qZ*|3;@Bt{pBN1<{HPDMSWzqplX`~%245Pv%U=D+y| z9h-m5X16KM`g?;ML@c%y0h0G$#T+bV-+cec|6GZe9dG7V5p~h~pMQ)PF5qQV%0D&wE5F#lRZ ztsCiO*KpR~XzpYBqYTYI^A8AEfB(DwNIdJ$`m_F=e=7g><1tjl-U%>K=;4*rOmDFx zj+=oUuMm^i z1;f`!Ied3#;%Yr}{$p^@PdJRf^$#MH91e+~WBolZ{~h2u{}2x6pI@4P{sqc2e&uX! R5qtmu002ovPDHLkV1kha$B6&{ literal 0 HcmV?d00001 From 53991803b4135df2e01dc17ff9694d4fe18babb9 Mon Sep 17 00:00:00 2001 From: biancabuzea200 <34369307+biancabuzea200@users.noreply.github.com> Date: Wed, 6 Sep 2023 18:14:40 +0200 Subject: [PATCH 03/13] Update docs/guides/browser-extension/web3-onboard.md Co-authored-by: Stephen Horvath --- docs/guides/browser-extension/web3-onboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/browser-extension/web3-onboard.md b/docs/guides/browser-extension/web3-onboard.md index 8c955792dd..06b6007a29 100644 --- a/docs/guides/browser-extension/web3-onboard.md +++ b/docs/guides/browser-extension/web3-onboard.md @@ -10,7 +10,7 @@ Web3-onboard is an open-source, framework-agnostic JavaScript library to onboard ### Installation -Users can install web3-onboard using npm, from the [following package](https://www.npmjs.com/package/@lukso/web3-onboard-config). The implementation can be found in the [web3-onboard-config LUKSO GitHub repo](https://github.com/lukso-network/web3-onboard-config). +Developers can install web3-onboard in their Dapp using npm, from the [following package](https://www.npmjs.com/package/@lukso/web3-onboard-config). The implementation can be found in the [web3-onboard-config LUKSO GitHub repo](https://github.com/lukso-network/web3-onboard-config). ``` npm i @web3-onboard/core @lukso/web3-onboard-config @web3-onboard/injected-wallets From c4d0f215df0955d6894f334a4a669748a7a06654 Mon Sep 17 00:00:00 2001 From: biancabuzea200 <34369307+biancabuzea200@users.noreply.github.com> Date: Wed, 6 Sep 2023 18:14:46 +0200 Subject: [PATCH 04/13] Update docs/guides/browser-extension/web3-onboard.md Co-authored-by: Stephen Horvath --- docs/guides/browser-extension/web3-onboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/browser-extension/web3-onboard.md b/docs/guides/browser-extension/web3-onboard.md index 06b6007a29..a6a42fa058 100644 --- a/docs/guides/browser-extension/web3-onboard.md +++ b/docs/guides/browser-extension/web3-onboard.md @@ -6,7 +6,7 @@ Web3-onboard configuration allows the detection of the Universal Profiles (UP) Extension, along with any other installed browser extensions. Users can integrate it into their Dapp to handle the routing for the different browser extensions. -Web3-onboard is an open-source, framework-agnostic JavaScript library to onboard users to web3 apps. This package can be used to integrate LUKSO [Universal Profiles Extension](https://chrome.google.com/webstore/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?hl=en) support into web3-onboard's "Connect Wallet" modal. With this module, **the LUKSO Universal Profile Extension option will be shown even if the extension is not installed on the user's browser or used within the LUKSO Universal Profile Extension**. If selected the user will be taken to a download screen and prompted to create a LUKSO Universal Profile. +Web3-onboard is an open-source, framework-agnostic JavaScript library to onboard users to web3 apps. This package can be used to integrate LUKSO [Universal Profiles Extension](https://chrome.google.com/webstore/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?hl=en) support into web3-onboard's "Connect Wallet" modal. With this module, **the LUKSO Universal Profile Extension option will be shown even if the extension is not installed on the user's browser**. If selected the user will be taken to a download screen where they can install the extension. ### Installation From 9312f66bd75e1cd3ce5a0fc6e3eb4275d9e1349a Mon Sep 17 00:00:00 2001 From: biancabuzea200 <34369307+biancabuzea200@users.noreply.github.com> Date: Wed, 6 Sep 2023 20:14:12 +0200 Subject: [PATCH 05/13] Update docs/guides/browser-extension/web3-onboard.md Co-authored-by: Stephen Horvath --- docs/guides/browser-extension/web3-onboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/browser-extension/web3-onboard.md b/docs/guides/browser-extension/web3-onboard.md index a6a42fa058..0572252262 100644 --- a/docs/guides/browser-extension/web3-onboard.md +++ b/docs/guides/browser-extension/web3-onboard.md @@ -4,7 +4,7 @@ ![web3-onboard-view](/img/extension/web3-onboard.png) -Web3-onboard configuration allows the detection of the Universal Profiles (UP) Extension, along with any other installed browser extensions. Users can integrate it into their Dapp to handle the routing for the different browser extensions. +Web3-onboard configuration allows the detection of the Universal Profiles (UP) Extension, along with any other installed browser extensions. Developers can integrate it into their Dapp to handle the routing for the different browser extensions. Web3-onboard is an open-source, framework-agnostic JavaScript library to onboard users to web3 apps. This package can be used to integrate LUKSO [Universal Profiles Extension](https://chrome.google.com/webstore/detail/universal-profiles/abpickdkkbnbcoepogfhkhennhfhehfn?hl=en) support into web3-onboard's "Connect Wallet" modal. With this module, **the LUKSO Universal Profile Extension option will be shown even if the extension is not installed on the user's browser**. If selected the user will be taken to a download screen where they can install the extension. From 7f907421bff54d69052fac6da8d05a33e4a056cb Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Thu, 7 Sep 2023 08:59:06 +0200 Subject: [PATCH 06/13] add additional context, address comments --- docs/standards/rpc-api.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index e6542775e8..9e6095e4fc 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -69,7 +69,7 @@ This method returns a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) signatur It requests that the user provides an Ethereum address that should sign the transaction as well as the data (encoded bytes) that are to be executed. Returns -`string[]` - on a successful call the method returns a signature, a string representing hex encoded bytes or 4001 - if the user rejects the requets +`string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code 4001 - if the user rejects the requets ### personal_sign @@ -80,7 +80,8 @@ Some libraries such as Ethers.js end up using personal_sign under the hood. That ### eth_sendTransaction {#eth_sendTransaction} -Creates new message call transaction or a contract creation, if the data field contains code, and signs it using the account specified in `from`. This method requires that the user has granted permission to interact with their account first, so make sure to call eth_requestAccounts first. +Creates new message call transaction and signs it using the account specified in `from`. This method requires that the user has granted permission to interact with their account first. +The transaction will not be signed by the UP itself, but by a controller address that has sufficient permissions. ### eth_requestAccounts {#eth_requestAccounts} @@ -88,8 +89,7 @@ This method is specified by [EIP-1102](https://eips.ethereum.org/EIPS/eip-1102). It requests that the user provides an Ethereum address to be identified by. Returns -`string[]` - if the user accepts the request, it returns an array of a single, hexadecimal Ethereum address string, or -4001 - if the user rejects the request +`string[]` - if the user accepts the request, it returns an array of a single, hexadecimal Ethereum address string, or an error with code 4001 if the user rejects the request. ### wallet_switchEthereumChain {#wallet_switchEthereumChain} @@ -106,7 +106,7 @@ Returns This method returns all of the addresses that returns a list of accounts the node controls. Returns -`string[][]` - a successful request returns an array of hexadecimal Ethereum address strings +`string[]` - a successful request returns an array of hexadecimal Ethereum address strings ## LUKSO Specific From c1f4761226ff618697c9e1fefbd7110833c5a5e7 Mon Sep 17 00:00:00 2001 From: biancabuzea200 <34369307+biancabuzea200@users.noreply.github.com> Date: Thu, 7 Sep 2023 10:33:34 +0200 Subject: [PATCH 07/13] Update docs/standards/rpc-api.md Co-authored-by: Hugo Masclet --- docs/standards/rpc-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 9e6095e4fc..3c0bc6bec9 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -61,7 +61,7 @@ The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) ### eth_sign -**_NOTE:_** We encourage developers to use eth_sign for signing purposes. +**_NOTE:_** We encourage developers to use `eth_sign` for signing purposes. While a security issue potentially existed in the initial implementation on Ethereum, the current implementation has no such potential exploit. As such usage of this method is preferable to [personal_sign](#personal_sign). From 3d98ec13b4527edfda4265b52be8c95c3671aa65 Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Thu, 7 Sep 2023 11:42:36 +0200 Subject: [PATCH 08/13] fix eth_requestAccounts --- docs/standards/rpc-api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 9e6095e4fc..92d9c2327b 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -86,10 +86,10 @@ The transaction will not be signed by the UP itself, but by a controller address ### eth_requestAccounts {#eth_requestAccounts} This method is specified by [EIP-1102](https://eips.ethereum.org/EIPS/eip-1102). -It requests that the user provides an Ethereum address to be identified by. +Calling this method may trigger a user interface that allows the user to approve or reject account access for a given DApp. Returns -`string[]` - if the user accepts the request, it returns an array of a single, hexadecimal Ethereum address string, or an error with code 4001 if the user rejects the request. +`string[]` - an array of accounts or throws an error with code `4001` if the request was rejected by the user. ### wallet_switchEthereumChain {#wallet_switchEthereumChain} From 2aa721cd985c34b55b484fa73dce729d350b8981 Mon Sep 17 00:00:00 2001 From: biancabuzea200 <34369307+biancabuzea200@users.noreply.github.com> Date: Thu, 7 Sep 2023 11:42:52 +0200 Subject: [PATCH 09/13] Update docs/standards/rpc-api.md Co-authored-by: Jenea Vranceanu <36865532+JeneaVranceanu@users.noreply.github.com> --- docs/standards/rpc-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 3c0bc6bec9..634f7c9b22 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -103,7 +103,7 @@ Returns ### eth_getAccounts {#eth_getAccounts} -This method returns all of the addresses that returns a list of accounts the node controls. +Similar to the `eth_requestAccounts` this method returns all of the addresses that are controlled by the application. Returns `string[]` - a successful request returns an array of hexadecimal Ethereum address strings From 48b8d3a858ea85eb93b4f8151772f25883bd0df0 Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Thu, 7 Sep 2023 12:29:47 +0200 Subject: [PATCH 10/13] wrap variables with quotes --- docs/standards/rpc-api.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index bd52537890..a8fc1ec5f0 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -69,12 +69,12 @@ This method returns a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) signatur It requests that the user provides an Ethereum address that should sign the transaction as well as the data (encoded bytes) that are to be executed. Returns -`string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code 4001 - if the user rejects the requets +`string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code `4001` - if the user rejects the requets ### personal_sign -The personal_sign endpoint is enabled to allow for backward compatibility. However, its use is not recommended. -Some libraries such as Ethers.js end up using personal_sign under the hood. That is why, for compatibility reasons, personal_sign is left enabled. Note however that personal_sign ultimately acts as a proxy, redirecting the call to the [eth_sign](#eth_sign) method. +The `personal_sign` endpoint is enabled to allow for backward compatibility. However, its use is not recommended. +Some libraries such as Ethers.js end up using `personal_sign` under the hood. That is why, for compatibility reasons, `personal_sign` is left enabled. Note however that `personal_sign` ultimately acts as a proxy, redirecting the call to the [eth_sign](#eth_sign) method. ## Standard From 81be074b217d691f2dc89b1762f99c1b312ae4da Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Thu, 7 Sep 2023 12:47:31 +0200 Subject: [PATCH 11/13] remove parapgraph --- docs/standards/rpc-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index a8fc1ec5f0..13f66143a9 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -112,7 +112,7 @@ Returns ### up_addTransactionRelayer {#up_addTransactionRelayer} -

Add a custom relayer.

+Add a custom relayer. #### Parameters From 3109c124ef0912a7537f7977dc073d11f1b4a227 Mon Sep 17 00:00:00 2001 From: biancabuzea200 Date: Thu, 7 Sep 2023 13:12:34 +0200 Subject: [PATCH 12/13] replace eth_getAccounts by eth_accounts --- docs/standards/rpc-api.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 13f66143a9..83748104ee 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -28,7 +28,7 @@ The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) signing - eth_getAccounts + eth_accounts standard @@ -68,7 +68,8 @@ While a security issue potentially existed in the initial implementation on Ethe This method returns a [EIP-191](https://eips.ethereum.org/EIPS/eip-191) signature over the data provided to the call. It requests that the user provides an Ethereum address that should sign the transaction as well as the data (encoded bytes) that are to be executed. -Returns +#### Returns + `string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code `4001` - if the user rejects the requets ### personal_sign @@ -88,7 +89,8 @@ The transaction will not be signed by the UP itself, but by a controller address This method is specified by [EIP-1102](https://eips.ethereum.org/EIPS/eip-1102). Calling this method may trigger a user interface that allows the user to approve or reject account access for a given DApp. -Returns +#### Returns + `string[]` - an array of accounts or throws an error with code `4001` if the request was rejected by the user. ### wallet_switchEthereumChain {#wallet_switchEthereumChain} @@ -98,14 +100,16 @@ It allows Dapps to request that a wallet switches its active chain (connection). The method requires that a target chain ID is provided -Returns +#### Returns + `null` or `error` - the method will return null if successful or throw an error otherwise -### eth_getAccounts {#eth_getAccounts} +### eth_accounts {#eth_accounts} Similar to the `eth_requestAccounts` this method returns all of the addresses that are controlled by the application. -Returns +#### Returns + `string[]` - a successful request returns an array of hexadecimal Ethereum address strings ## LUKSO Specific From 1e7ed3275d4b3949c9d0495a4d0f534284eccb89 Mon Sep 17 00:00:00 2001 From: Hugo Masclet Date: Thu, 7 Sep 2023 16:47:40 +0200 Subject: [PATCH 13/13] Minor changes to rpc-api.md --- docs/standards/rpc-api.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/standards/rpc-api.md b/docs/standards/rpc-api.md index 83748104ee..7fc2ea8d8a 100644 --- a/docs/standards/rpc-api.md +++ b/docs/standards/rpc-api.md @@ -10,6 +10,7 @@ sidebar_position: 10 This page is under active development. ::: + The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) uses the RPC API methods from the table below. The methods are grouped by category: signing methods, standard methods, and LUKSO-specific methods. ## Supported Methods @@ -61,7 +62,11 @@ The [LUKSO Extension](../guides/browser-extension/install-browser-extension.md) ### eth_sign -**_NOTE:_** We encourage developers to use `eth_sign` for signing purposes. +:::tip + +We encourage developers to use `eth_sign` for signing purposes. + +::: While a security issue potentially existed in the initial implementation on Ethereum, the current implementation has no such potential exploit. As such usage of this method is preferable to [personal_sign](#personal_sign). @@ -148,7 +153,7 @@ It returns an array of Universal Profile addresses. ### up_import {#up_import} -

Add a Universal Profile address.

+Add a Universal Profile address. #### Parameters