From 7e7678a05511dfdaa5faca6021f31d9fec74b055 Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Wed, 17 Jan 2024 14:10:55 +0000 Subject: [PATCH] Docs soft launch (#578) * Initial MkDocs * Docs * Update docs * Added discovery info * Update docs * WIP * WIP * Add legacy images --- .github/ISSUE_TEMPLATE/bug.yml | 6 ++-- .github/workflows/deploy_docs.yml | 28 +++++++++++++++ .github/workflows/validate.yml | 2 ++ README.md | 1 - docs/assets/screenshot-device-info.png | Bin 0 -> 20813 bytes docs/assets/screenshot-device.png | Bin 0 -> 57152 bytes docs/assets/screenshot-discovery.png | Bin 0 -> 21701 bytes docs/community.md | 7 ++++ docs/configuration.md | 40 ++++++++++++++++++++++ docs/entities.md | 24 +++++++++++++ docs/faq.md | 44 ++++++++++++++++++++++++ docs/index.md | 45 +++++++++++++++++++++++++ docs/library.md | 38 +++++++++++++++++++++ docs/services.md | 10 ++++++ mkdocs.yml | 43 +++++++++++++++++++++++ 15 files changed, 284 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/deploy_docs.yml create mode 100644 docs/assets/screenshot-device-info.png create mode 100644 docs/assets/screenshot-device.png create mode 100644 docs/assets/screenshot-discovery.png create mode 100644 docs/community.md create mode 100644 docs/configuration.md create mode 100644 docs/entities.md create mode 100644 docs/faq.md create mode 100644 docs/index.md create mode 100644 docs/library.md create mode 100644 docs/services.md create mode 100644 mkdocs.yml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index a4030fd5d..24af78bce 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -16,9 +16,9 @@ body: attributes: label: Checklist options: - - label: I have added `battery_notes:` to my configuration.yaml and restarted. + - label: I have added `battery_notes:` to my configuration.yaml and restarted. required: true - - label: I have read the [FAQ's](https://github.com/andrew-codechimp/HA-Battery-Notes#faqs). + - label: I have read the [FAQ's](https://github.com/andrew-codechimp/HA-Battery-Notes#faqs). required: true - label: I have enabled debug logging for my installation. required: true @@ -56,4 +56,4 @@ body: - type: textarea attributes: label: "Diagnostics dump" - description: "Drag the diagnostics dump file here. (see https://www.home-assistant.io/integrations/diagnostics/ for info)" + description: "Drag the diagnostics dump file here. (see https://www.home-assistant.io/integrations/diagnostics/ for info)" \ No newline at end of file diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml new file mode 100644 index 000000000..45889841f --- /dev/null +++ b/.github/workflows/deploy_docs.yml @@ -0,0 +1,28 @@ +name: Deploy docs +on: + push: + paths: + - 'mkdocs.yml' + - 'docs/**' + branches: + - main +permissions: + contents: write +jobs: + deploy_docs: + name: Deploy docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v3 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - run: pip install mkdocs-material + - run: mkdocs gh-deploy --force diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 697e6b3b1..202db9b0f 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -9,8 +9,10 @@ on: - "main" paths-ignore: - 'custom_components/battery_notes/data/**' + - 'docs/**' - 'README.md' - 'library.md' + - 'mkdocs.yml' pull_request: branches: - "main" diff --git a/README.md b/README.md index 7b2828713..739df1ecb 100644 --- a/README.md +++ b/README.md @@ -178,4 +178,3 @@ Thanks to everyone who has submitted devices to the library. [releases-shield]: https://img.shields.io/github/release/andrew-codechimp/HA-Battery-Notes.svg?style=for-the-badge [releases]: https://github.com/andrew-codechimp/HA-Battery-Notes/releases [download-latest-shield]: https://img.shields.io/github/downloads/andrew-codechimp/ha-battery-notes/latest/total?style=for-the-badge - diff --git a/docs/assets/screenshot-device-info.png b/docs/assets/screenshot-device-info.png new file mode 100644 index 0000000000000000000000000000000000000000..9c80894474ac2f3620708c1f03015e1fb1ed0b23 GIT binary patch literal 20813 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 MbWF8tZr+Ri7v372Y5)KL literal 0 HcmV?d00001 diff --git a/docs/assets/screenshot-device.png b/docs/assets/screenshot-device.png new file mode 100644 index 0000000000000000000000000000000000000000..5650ea6544d11b4ec894371d47fe294e69c44956 GIT binary patch literal 57152 zcmd?RbyOTpx9|%Dm*7rdaJLyexH}}c`{1r2IKd?lJh%l2gy4bTFu@&y1cC-la0w6s zUk^OzocDXr`PRMbu66&o>rQ4e-P5~dSJ$qp{j1%?XsRpVU{YWrARyo4?qr~l3W#@7lxanfhPh2tq}Z!D3{J_ z4&;$#udVN;ucj(uL&smI@@?zfc%`DTs%em#OUrNM1W)X z&)jsNdl4^3F*Y?RkVPzxE`%jX8`RQMz;mV5WKezF8b@GO{wm6tqfCqSS^TPiZ z<^FHi|2^%0CDn1U_Yw#HljPri{`XV{|8@O;Eb(8j|9e^u4|^M+*WA|@Q0~5l|N7g% z$OCsvM8?AgZcN&)u1@0rlWmD||GU(`WuOLherpRa3t0;<8*wlX7{bX5<^&69^Fl-* zLLz*;h7URXZ({#sA<7N!y#LafA1vkmSHM)nF@dE2VRqt}qr-K+2ndo0O0rVgeu%$v zQF181ev1+uH2nVkdqoCPsU)jmPMqn|cP`zfwe^5zvnAF8(~^c#RFu5~m!C=<%r94Y za;@vre=%hT2i>G6Llp9aPjAQng9VA-?J^_Lf#7dqrU?+e z^BlCp^E345Q#$u(iWZTq`N2)Gn~79SPu89^J{}_c?M7htX1AqH57lzx%1dtYnDC^O zS6$>A$^FH0QN+}(h&6)_&Zzj@4qnZxU#a2f(IN1+5C#u@eFe{s{mq5$XunX4oe{FE zB(f|>7df-+SlP-_PV4GHuo)f1YdS}}AA6rHS`r&W5o(F9We{_J-VB^A$u@A`*BVa- z=}i_{kGAfE3NA=*$OZBDuukvwT>59McvSof*P{&^7OWdLQx(5l)n-siH) z1j=$Job0$4{QpdGlK$AI&+ir2e1vZOXG&!DVs>2d)Ne|FsDyJ6j-7PZ{^vwVfvoZmwWnR>ZZG4G@|>a%jXxk z%^n9LdJdifi&BsMxC*Dllon)aHhE9rJJ2K*8MU0gdG4kZ1Zu7TIeR|isrh^EJvF`e zZkm?cxF$q_doV13u(2A2t>QLi6 z!y;^6T08uiGPHhq&3|^VGW5w)%WUrRvZ_Ksl3O{f=^@uizGg@7Hi_{^Hd35_2>Nl0XjZ)@{T{VjP#hHuId z&Y~DU$2TQ0@%c#7!TVtvP4Hw2r6rF2G>mZeO2YVnrn4`9gX}xick#ayP2wV2m#$hC z-%hdOI*d0JpX9MjCHwE%2U7U?I&VE~bG{CdH~l=Bd3ds;kvz4Ri5@K(Eji86XB~`l z8H;3(<%yJyr9#`QSgjGr9T|r9!SxY$kbEkQIE*G6$(5V)+Pajcoi)ye`7Q{j&1BDS z_D31#7={z8vQm&c8TQE+Yo&A=tHZz~ zc2}ZOrSIxH_}lDbla5+YbZkTQ=9Bq>xQivx`lCihxu%pt8MFrV*DR2M-nmlZAD=hR zA)-$O&kv@jKE3p$!428{tp*lrOgT4g`Br9vA5Dt*t4jjBMl0~el<(!T=x{ID@%-b$ zWaC;aZRIbD;r-KS#*c~@@^|RlocouJV@-a8_%|RNHKlwg7?Ca@z*JBq$Pom9_mh#mr!C|fSy#Be!~*z5M69vfMdN zD@mEdr^7cNIiYO?*ZcFZmvSGm+e#$_(5SPG_^h--s3X5id^Ga^xpP~BLY2)c5F9Zy1w#II=nu{t=!v#k< zgc`MWf?8Rg%<(=-xbpN|-7~`q*8jQPDZWfybZUL`l<%7md|b1*yG~jLA=!VZ?b%J=i>9u+r{=?2APu9{rPe#SlHRD zg*)OijE!+iz@_)MY2^!{NV(c|sTlb4-0zu-mY1|?!B#Q(eJ;Vt7qTF446mw$VAnR{ z@girbr(5jw_{giJYX&fZU*;}qK}X955w2XUhDJ%ctGFlgZ<|Hdko$tMZGYPMB|2mT z`OL+SdCRbMA6Pg~PsU@Fk))RJjpVL&7wG#j|Hc_%Ks9~aaibGBWf3gTcPhril4955 zIJB@JAK%j#*1#D7jTO<}N4{aK9C4cqHr=LqTD%(7h`0`2v)*>bXlv#Xa&M<`=9%QY z+`!{t_mSSsQ{B!q<1`x}FM=eO;RJjb*gPq^T0~N2x_IJ@(P9 z_>$b)p^8t1f;(DL7_C0HcVt-Z+tE5AQS%J{ z@sPssU#+`5tImT@=-<;L5T5d(x2VPE1>G&CFmCl3Q%P8(e%aG!ZdeMDt-_&y-oK=} zV?6&lRcMm_t-r<&8D{d|4+a*yQ__TyW*<&A(&dE8WayIKBj+$JwwTCM`>~a240YN{ zGU49#dSaUCYo{LKatc`GrG%35A*tzI_XYUo{Kcpqh&iGEo9q}Gk~ zxorG9L7S6*chQ>Abkc_m7phLI{oduOF0XR3x@dkhnl!1Ugk@b7MOnSe`RTs1s2&cr1_kO$Da>ZG?P$>M0n+~=mRrp1QnLEuNe$ED)-Z5hLlu5Z8Sc9D(5VLAWHe!@{ z4Vkakrcx8VY3Q2!kPCMG2wE2c;R^)>Y`L_Ns{-+m3&FNQn(YD^2$PS{RDNk*3ruiGv(HQ+4 z?eR4Thbt|o96St~IR}D8qsn|9t4&c;s67stZz=z zQfl8=F~yiGN&kJL108x?E5)=NUl#N^>YP^JS=4gNJbepwD@_2KR}SyO#zur&as9MN zUdF%?Z$w`Y@5X-LOquiq8tclo);wHBS|It#kvw4Swbm?`T3~;ZMt)<%0+_Uk?wvC0)N;h8HxO6ZO}Nv(B?iaFLFj4zcrh{ylX$1{H1 zOL4bdd4t?;;1K!rOSovA!GOzA*PD17C=JK&AM?rYM$4}SR;?N{Xg}ntS9ef2>v@c3 zkn0BjUHK*LPhcsN6RR_Ztt9{H==?83hTDP<58Zyv(A9UFmK^)M{VP4AmCbhWZ`b|B z7K4kLaZdxup5t>ADPw!nMeD@v@J*i(LeZT+ZT5d=);IHV-(HK%ZEmgw53RQ%FyH3f z<=dkulKu_vA`ia8McbMFUYFarI(j!gbmve8L356ie2xct6MqHWB@K6{v(kT|Z}X7u~zQ-c?GuT66VSZQ$RyCf&ENjl9od?UB?U4|$hYv7LVnXU{AofHZeenGO~ zi13=}tg4{5F}!X>)pQrRtr}8MY0#os|5Ep;(;f#7wy^Eo)3D0yX z%tB6M66iUpE0zoCGF!*bErHXBnEveuDy$_U)6|xBv#n>m$Q^i#had{YsYt5M1@9g;A8O*YlcUDi{$%2G2jw%u}B5fg|4(}zd zv)i7V6(m~7yx6e5J3LW8d~H00Mx{$!lep;1sv(Z#?QO9@J z$)sC5=!pxhuoF+y2J83v{0wbARtK<}z7AX85$mijQue>t4w)h{#F2u>9&fp))fSJ& z`S6}ZU@L`;%x9%FHHrq*pua|LclSo$(3#fxPNyYJT64~~&HUjMa%CoM_=F^sLM~(# z0x4)x`o8DiVc`7xy=Az?igRbwY=%$8PvJTfkwX~I^^fG7M#iIqsUlL+2-D-f53G7R zu^W0)>F5?dP}j$NuDS=pDGNr@`5bYkcAo_sFzo{^?4qdxcRkMn)_pIywJ1B0-ZR>o zUIshZ&1&`5`K1vk)p(nG^>7609=Ai+VuhDmL!*2lN;4JJQND-5`u!OfN2{t_o$q|* zvpb{osL)7|pvEa}ovwcq)dGBR2Ldb=w<>a*rk$1-zqP+W=XOc*wCp3II6jo{*QYWm z)wuhc8yYe)-PqlNKq*Sc6#%*mj>2*&7W+j2aW68V##OWV5=WG&(ep6XO;L7tC`0ocgi_iYgA*sS9;%jR&3+dJ5-n{5b9^q$TN(2>2OaI#tEk+Gw^_ zATQqFG$b!kX`s5k6P&v;y%9&c@#vq0fU ze!Pc3t_2-8gE?CCU~ucV;2~ImDrOw|ND-~A@|?i%-X$G|tL!Rji+YRC;CnqW?qXAM zQ%&XPb7?xwMi86GomuZr;{l3FdRE#`Hb#=rAB-U}KU&zS5hE#{9r@N2vfz1~ zBslh}LJ{Fb*q6;rO3wyJ*ntZQllytS$-@BAX7 zP3HrG>&e_O`cWS>VV6FEk*BTYw!l~PKr@g-mUUS2T5A@^yDyl>-sZNCF&a$>ts@70 zeuQRt@4ma}zge>5b$Mp>gj>j-FS4 z&^g0-mpG6hMRcc*sFetHV7_Jq?jwIV0=oct%5j6G*p+o@0{5{+Vs18SeW0jT_tj#U z56;(FX{J4yt+(5A9S#X5TP={oMXPtt=55B&14&1Z9Pz}dvPLITxD9D>H;1~j$ewE5 zd`$6kv&_VW3a*$f1XD)hNvLhNKa=JNK-tc~LDWuiVE)D3a@S5Cp2mL|Fp-Tyn*unl zE2CR0$QzrcC1IPUJ9zEet^9@D^0G8c^Q~WQh6bRf9m5N3i$+A)C*OG1_)XK}FX^xj zosV7V&dX`8*Ad3CpLfqW`t|m0>F%MLY){e}nEdq5%Q2JHYqCBdMAq#3jFThc4 zv5F&yj(#WT@_KuHYRNyHkG<%AkWBSw3VYW8Ba&t9Hwd!D+xrI;ovK51u>Qgp!7z*F z7$dTb_iBvr97ck#!b~MSy1@ChFy^^u8(&{R3*v2ZpQdJFa4%DLFuxR(fXcn)egE&n zOc~3m@!hO6b~HvfW(s{pr%4zF#XxCzlh$3PUj8YLeSyk^3(j&1g}MI1sS+G4sUtH$ z+>t7s$3OJOHk|kP2bA@U<^gR*(<2V5QmwH$KA^6_`0IZV6cqrS z*3tD09>|g+bO!CAkaa~#Frh;8kl}ralHg+Tdz40prvPv%p&p&thw|Q#pWo9lyig&6 zq!Ac?b=?CkOByN1ePCX&WB^trx}`Nfz$$C`z<-oTge&o?vg$zzK!r#Duc`nF^uo$# zd8kvgWDdIDmJ0@q)zOCip{0=W%z0QaA8J5{$BgtgJBCpIpNn{OKtoFW|G6PSVu>$Y z^Syb<&iq6dX;db~m@%6?Jv>fMPwVUJ9p|c@V}z#X!}&evy$ucNUGph)Am~KI#A zSCt<-_P$omW%62qArPy1t`!`?CA{8W%0q12+^)y#U&vAo8yy&n=WnjI^HtJ0q_8Oj zoXD2@oEMu$^Tb|WootemldD&tYbZVLyuJRp)Z#gaWho*CHeYQ>60|C6^J(sb(eDWv+*}~3hUoDtv4K9IETM=J zVO(9O?4lLFjfDEx;CP5zSVshLW> z*N7d%o}Ujp{_NoRiS|>!tQxK9p~Tj=!_UyNg;{<2?!(T?KBk@p{<0)wsQtW-rJvlk zz(L~X=+W3^(4T!<1tp=aX2%91re|DptiYfrgfFShGbtLm|E;l?E33b)puqh4Y*#ds zUOt{jDnmJ)+AOOO(JbH?g+iv?sKJicVWxcNI7?Z8sgO&-*xlx{@8Lm}4$uz{Tehj= z`6(GuaGzyhakm}82sNCR+geTyMWv-ZKNvQ8P*>duoZL++(CmNyS#9cSJx8Kf{3iTS zPMO5*<;E~~=dXo&W|N-TEUr-QFJzb$7X<>qVE8@~fg(I>9nqSvZ9DHJn9ACxOV*&~ z8FsGln;o!>cP)o(6wmYW;f_BCKkHg_!oh{g-CFjGP0nX*76AF;T!3L_8kyD}`f0x)uXA5U^Os*EY2 zuZ8u9EXRU?{gm}Yfz&Gylv8h_?mb-3oY$Qj^5vRngm0z35|cBNO#=tA~yTi07;Iopx<<8Z{xK zq((E1XF;O6^#Bu2cb*+#d6z10>XJ={Nuv1m4qzo|Xr3S2 zFV=-)iOZV@upz4P z@=8bG$L4j+KJ+S<4WC3RVS>{Hr4KcK7HX~fhq+p@vjH3a1UXXBP83>4_mCkt!bl=V zJ*mQI!t7RjWg>zX*)elI;l=$v>VvH_hAw5s7h$V2pkZB>n(=>UHFI*MRxVCz8N`m3 zU>Qa)!u-OXCZ4pPjy?5V2^2KBCED6h0b^5U~ced`W8rqq{m zi4#l`b3ES*V6f&&5>Eu06V7z2%kRm<`!c&T;lMJf@Qf!1}pMi;{ zFcfAP#;&Eo0k+Wc@Vi`#N+#FthYn111pc|8l4Xd_<~^1Hze4;S=Iq3WD&{}A#N;sC zxY3s&BM^yAZn+P>s!62we9co}(bv+{VsV{JXiS*HCd%w!qbh+9;kvrqcx}*`7#=pF z`9ir+1q5kc>l?1UY8E&$pAeOfLnfZIN3vu>B_itfi?&XGLy8pQUOL^=?1#q!>p0h~k{I;1|$N8C|(%G+mb!m-s z9cR0C(DD&1o8}oyFK{?Mme9GPPoAsM9^8KVr=mgGvXLAV-V{?6U&NZYMp-V!@l)9b*|Z8TZ<9Fh zIDIdretM?FeW`|k*J2kS&6rd70ote|0_;;p4w+TP%sMj5jbfgN@Vih)X{P29lh0nf zu2VIVkGZ2TrzNX8KM1!%Rb_Yaqa@@Fn@fzX%dxr8OKTX$(`^Lp60-up_P^YnfhD#q zZC7z@UyT5B5r9U!2Egl2J)fO$99HO~jS3b0goq4PkbD zx==x3`+-cbW{j+LoHNnx>_t}OS$Tv>z^}Hp66c*`dLupkkrG=_-+SbyeLhvCD_~bD zI)pZ)-SQl#7CiSE?3u2Q{xfF%18*v^RTjqP&N)G?1qMf@J;p@+4my^dVOm>o?Zy&M z)%#kn>PQ}okkEH)O!_}WC=X4xr2Sam#1`TVV9y)yL~^B98dqC3@&*rvR=m7sOlCic zAv-B5#STNa;QeE1O5vUUlN(08Y;`i}k^78()kquGLi(3y zo?BJU_=-|UqWnUPfB3!icumujF7S@q#bXPk;YN(KwMu?{(l{#i~WeIEkfOnUT^o z82Cx`r(QPu0{k^ph?n3snK7H*-vos(zqKa_zzyv3J1jE^=jK8rPW0YT8_yOnGcQFr z?hq<3dqeE1ZR!ybxEIajh|}+H9`V-({1!&tzL%+O^d{!Kv9Og@p=!u|i^y@Q&g>TG{Ba;+L*EaWW4fb=UFFAdvipRV1 zNfBx{fIFH`+Ieu-|6mvQ|9ZnZ%~`UBu?i34!s=i7Y{!@j7G3o~kg^pD|rL z47ShT&f-(TO29)tgUp;?)<9J-T&y_7E<~(E@EUTBa!>hV)5jvPf=Aoq*mnzkW>O_F zpu(Z1+hzr)di@-1gSwIO6@N!8R6M4cq!w(1>@3S)L7j(rrG@4h z>#*^WXMa2cC5g~8X@L|LzRN-p3022(UXx zOM(f^3;J5UZoGAtNBXt9b2=-HH7eFT=1_>|zg+WBd?~YVitE2MwyrrjP=w0S5SMcM>z1a++93Gg@U&=i0YqNYYh-|#W>ml8wtEjp~ zC0ok!7Q6OPSAF0|)1u1;RyH~{gnf-4LqZy#C|0~>S-;3T8gX{XexicsM5aZt_~*rB zu>P97ONkV25(_dD9ZsEGtQ`^#^OpQ3txOZBG>dQ6K*@vNXh1SNRdQ>4D7`8~sj$oI zvyky{4Qj%xvdX40I>18t(-8jVle;@b)Q5^@>IiHfa%AkkPa==)F5n4{3!Jn%{EW!E zV1pXX9kMohR7*pt6sI&cBnwccUG!JO*sjk{gOCn|=kerp1lSTiA!AUUBwM~c(W3n! z!mgNZVsp(qV69byp4ptk_wGbHEgYTUDPjXm_#LyhBv~6pr=_vnvTEH*6Rb)?9Xr3( zRyR^3v~WEjsMAs^_(uL=hW|=x4_Go?2weR+jA1Bhe+T zBmWp>a7Qy|#Q69N1gYXSw@5R=PlBmE{|c}p2P%MUCA5}0B*6g_13{=?APOk?Tlwb) z)T2!aTy8AX>xQG9Bus!gRk&q*m4{=nasdEkImmnrgA*taF}fo3`5ISc0$fnj84&y$ zX^H~JVv=llNh2jaCc2bx!Gdpq;Cq~Q%zIv^4FY8;MYL84z(cwu8}XAyv?=|GIp9pG zLQ)c(g6V7EOaupe4)ma`3V|~=eK=2h9ttoq;)A+xEO5cE@{(XJ=N+9IxB?|eKz-Sk zY#N`z1>YxxSik!=QE3jZuObRiU+v~$hhn(kzbiI%dUEo-F!$jiP!&AIl^P3~MxrX| z2fzlDX$yFz6%*G}O0djM)b6Ss2Jja=~{uL7kItm1pHM?%Q9DE+i|_(UYgmeP{(e zetcWy?$7qQF3#YE2ljf&C-vkAx)kY`~o(oBX(C^<%bx$q!45`hRZc+A`+6i z&{=EJJ2p_xW;%I^&FR+Y&FIk3d#$p^6ycvU!`L+gka~2|fCdNN@%b<_KGf2+pBYzI zSJ7&Jug|ZHxWqS8$VD>~Ce^w+K4SC?41T*k^y=a(~a_5%O^Ee6aoDtO?*=X}n=NOj*1symqPp`n&5DPeifCOvs@bJ*2XiKbPQOlBc8iCRyL!IWDj@4XOwBpOsjAk^(uUj!U2WgfzYCnra~lBzZFf{MDn9@@R&a{fI^`a z3#_3JLJ7nM@Y{ctW+|{H^_O}wH!>9AE0j%9WowD7!+N$VxLnEs^8l8C%Zg7 zJv}Y0> zOsQM~xK+$Bgz$mzN`q>vh_WnLJq>0nOPMSi@0s)S90VjF!zj(z5j?LHcEa3(`|JQu zM-s&LR8T9Of0A`r4~O&~KeOmCDIY^+HShbeBr=-}U{U1$pLOrg3y1)_d5*B#@Sv#; zV83iK8gmboOO*yhF+sTx*t#4Wus)leUBi1!9{L;*RYokChWAwvFku2Fj4fvJK#Vmp z0a4ZvuLnR5FdGI)T49;vgRvJL<1I})&B@R`?#hYGL)qNNB^_77zY0fUQn zWL`D#gCY@tD3PSd1HacK2WmbvG2Qr3fl@#;6-lw|p^X0vB}??S*1@Jm+S+I5b7lZN z>CX~}KT&|mgXad)w$~;_{0T|b4rO~ot|gi{3|{~Nz^C@-?>~ah z-}nGH3;^2WD4HPs2D`}*pO!y+|C|lS6&HH?bWs<+Htq8w;Cs3n^5|E0>UT1UpqrD; zVL_KAKfqxUq6LjB3SoLpNTCV8cDxVweV;3tHiZ4IMlOzI4Bxji=Ryodew&*w_axz@go_{j*>@hX0FOw&^L6OuoY4jTkNJL)iOYISJ| zV85Q*V}WZCq^Q_rA)qW+sAPyAeZrMMTZ1e9KRL0vc5CZj9jZ(G^>R7@ zpk5>omH$rR2ySvmK|x3WUW|#)!e%6;3qa(!-RhGNtEFREBKWZ`_1DrV9K}7iMr`u~ zeWps3j1$kx?EPE;KFzVlVaqcy6N`MhJsx~Eslcq7De1o$3lP$5yTZ_rMDe4pM>C-+ z^IM1Ui~l{-N<>KDYxo%t8C#W3X}MBKd#9eO{I^UkJ3T+&m14QpN@1@P za7H8b248$=x?dZdAQMPK?NEzvpZG2v17;-!!ON~66B%xB2FSk7v3qkK)QtCf8))aw&2%G0N&Fkt zMuU{V%{09rzznT7J(`#_@&dY1NGBxUO8R@y6B>p#2mSu;+YrIOM5MeZtcV}|iWU7Z zVMNXODmx?N6Lgf~N0#ngR93sM6=iw;2QAz325JW*%8T$3 zN|P5Uh7K~5XHV95sPAKp$PU3b`eHohJ!cXn2c@$e$>a@3#jy;e(0Z!>LjK@VkYxhc zh;Zf)Nd-W-1Vy;^YBx`;t$K8L=iiG(K(}5UCr`FE4kzA^e`@L+&vqsO8X*;hhq{a? zZRMA33rNw^yd>sAQI7OqWBc#$~tx&n@~9ElqF;<=rv(jVL+M;KWaf^Sc0_#&^^ zN?b0F)^aS>kPTJX0pO22RwqJkBLa*v#~019Is|rPSMcG+_)Duo)7cRYA4WpU)?3Hb ziT0Piv1CGSpv49XA{cW5S-#IVd-X4v;|g#NBMXfD1d7nibRJLYkz84Of?F8St%i?s zk~<6@ITIn(?yhu7ob+lwf%qSPAtl6tTosUTciw;(^^K_Fa(%wV6pFRVuKBD4`jT{7 zyr55yen!n}iR>C#WZOqV&pH2B&-6tEW&i;6b)ovKzWq;pS9J=MUak5pIt#WDo|IH2 z(<`j^uZ{))NERU86z-fU#D|Y2pEJGGOooh$rr@OH5xB=pNSvK)=La*TM_V3maNsCF z(J>Ah=S;O(Epzv!Uj0~$qLFtJ@jZy22U(#KB}-B%IAE0nW)sgCfWM+&cV#C7pGVnb zK%wFSz4Q4r32V+5ENVT>U7xzRHjeeDmHeFq*`_|Zn#Hp|KLg77rkeR$ig<7KL)_2s z2!4uQ1A+O?f}b`|URp#wexfe4hFr-@rGU;lBm3h>+iA#sqpy%0xuE7->%r&BNwTr$ z>`Mgz=gd=yZYxx6@~&b9A!a0X*~JegNE>`jxGh9O?svl9{NBY*_a?GGoM}?^XLW5T z^~Mqc@}wpIix-}{{_wGsNj;{Z36rGiAmWP4Z7LM%@i*?N!d5nqWjQnh+WV09(`B@f zv#x=f_^%=h4i@u$?WRu@3R4Q&>jU$wTd96pwJ31lDl7F;7w_kVTWg^WIv-jZ{47NA^hJDx{{ z>uT<2`2-(6oMRFyg0i}qR~1xp4qfG)$Yu%c*KjB;HD3iDg}NzUCX;8;rcA2sldkT4h^RsD>SGN;j6a;^+qSdO1F*ZZDBeoA7; z@*9$A{bD-i{W+1T8sAs*M4~cQO0ZOxwP$1&lr)Q0q^$buR7`LdiHEY&X#w0umjki1 zYg_4!dpfdnw)d4?B=*f%k?lKW#z9jh(mgo*Lx-hH77bw6qqmh0r1FniRp_M36JS}k zgDH9!PugOHfsJB;s=(l#!l)zcfzd7VA5kX8jF!4k-fS_-6r6X0N2N)4d-AOKD=+vU zcdD`T!ep_11{T6pj^h)0v+waWtp4&H{w?5ZOI4=4JG{GnT~UmwP2kOY%KHNwrN7ZjiHZhcXc0YoE9(}cW1Z=3jF^s;ArjRc-(LF%9RW;&o7J5Q zp1xIW(|Tp1xbK8QH^jw{aW}(f*=zVHD8MF4`OO>ezP9DpMtwt0rbS*`T7Ax2e%Rz- zm|9h)Zdxq|BO(0WvLF*!N3Gd-x-(gnqW=@Nsx; zp(BN?`Q(8Y1>Tbcy^mK&k~fltop)Dx_bJc{GP#aa3fN(&lqM@Je=8ho0(nJCl1n>+ zj{07U=~UxjhT*DHgL?&QdOvP5Qg<{B8s&3HqDxfL-`{0+q^}$hRc#)*acyL79!qC~ zTiEJ%)vb&f=^iQUyR64jt~G@MYpsiGqZ(oe~Q&qquzT{HUS(%Yi7ae!EFVi7H(ijArmNvvX~)A?-?ZRA6~wAM7f)~_1?6gd0~k=J&EB8N(JRTACpcblF|gN- zDA))^Ke?Ohyp2#^qbiVW=GV7q?Qw{D;xFQ?l15I_*^Dg^$g;&@ebj!5{CMSqd!S~> z$6r*yRyVK>{wCtU?)Lruy8du4}a;etq2BFZ~WMVq?u~I}u^w z5gJbUL6*4sA5N%;P2M?l1Q7^$6;|L#VmlVX1%g6LX!J9Q6*j1shQBD~4fXqkY`HPr zN>yESg3aeFV_MBweeO~}Sdd;LN5$L>hK7*kDa&?-F4@uF5g>lu%2j^b#mGYPwHTx6 z#HY9UX+uvriUqGazVr|EXH87&RRyq?5Bg%YE}t@;x;Y5v6O;0zn_>U}8ED{jlmUSjjn zIeWWP1;=iLEO8^+r^@w1E7T=D<#K0LN9uV&*Y?ro4x@}WHrX+F;!Uqr`c+ZQD&zB% zTE^Z!9}0^3pku(r>bk`=9&4hLe$A2q?;NSJ1``X$ zXSmaZ#QlIl?mF}>E8Hh`r%NIL_o|A=#TZO~`NLi%X=RX6I+*(OXXFdY{22e2n(#;k z;9X0Xbf$tZ^f*jTw<@|T+#)a1#vC>(;=Koxc1Y)k@X9Pz{W4%Jg_j?VfIL)(42l54 z<)rT+2B-;nhz_FEImOX5keYojBIyKwd~{f=yH8DefzNBvPXR2lgkOmOKT))S6U&Z24z2f9$_1))5Uq1x zzY;Kab4uI;q zD^wxfldCj9?)lY0lL`bx;h&hj`Tt#*&8 zNw*KitLign;>&4J2eZ!1%37#0s0YAK0vT_S?gv9&4mtRP$|c}X0MArtl?DAhpR>(- z0R?yqCuYMM;O$LxX_j!Nm;VT1g9DAG99+!iR4}1C>?F7661j z0ndr5X&pdG9^~nOi*ozcu{sN4tKOgZWUk7d)a>u&L3O82#WbOw<4@p*@R_cBL_{c}NE0^e( z>2>|5pDV)?W;#ahNsKmX@N&qTmNi%5cI^2b(AgD{kTOjDSw%u$PL^rVL>7)waGSPW z0%Xs1`rRl{vH+C;sbyp?oLI70|AtOQdzaoGsoWY$Gsf+Zqn|5-e5mHfvvtq ze}3?NvH6p6G^EvTvIv0J?wv0$eq|*mhwiy0J%2IY^!Y#j7J!J?P8Vvjf&bc6smimb z*5gE@5fIz4ALtpWjfl#?gZxQ~$eIyAP#>P-(TtXc1#gbd#%>>y+pO$h4KCm~viH5B z>E@NSTkDAc!nU}(`KswglW1k|@-PUQfL$ySRxvT_?Lcvw;^&rLWGSyDZZm5=T7C9& zBKlm7z*@RZ`gZ^s{mOcqk1Jasu0A@#X6wre!X6lM*1 zD3f~5fIBK^06SwT`0j7KrQs)+1l-|}&5{&#%LZvAR95T6&#U0+P)#9u_EhQkuS9== zK6CTC^RE45h@BB)(;f_{gduMZ1c-50$iI@Ac(g653~bKS*VS!}|9{D3!q4j}s7|9jpCCyd+s2vy_6?kd_0Kfw@`^+70@3TIr;)9e4|UF(8sM_i$#90{fvTWPW{msc-$TRS$A1? zAg{zbPayi#a7sn^jKFk3DhCMQ6KufgjAeYJ&26~v4NNM)^JC_2=pI7h=CXrsmO|>` zHHtSi((`!J;=c$sX5LgqDan+;J8>Hj)0J7$vfs3LdPc%xwVoAeG1E2t zNr-Prub3BkR6jt~6dGU=_Wsour-LnY83NB&A*^CC{3vJCp2)kFdtX$K7bA|z{Lg@t^CJ84hh+*6CmuhuBkBtkq)Q@)l!Yxwxkd-qJP)ZSqobqZ zpa55<^w1_@IBFTt1_I%(76moZ`nVhfay7FHyO0Po$`tw&DBv4vA5k|mE-5lC8#IjJ zECZc1ro`gdV7I%UIuj)2O@?1%owbvdO!9_zXm$1twvuGl4hcFjR$t~<1)d|hOBRG` zcC0Bs&)9Lfnw=y;k*r(RijSHT$v}AM^#5Y-ExW2}zqnE9Zl$}sn@x9vv;xv09n#X> z-3@|-NK1EjD%}lAih#tq@cus^;f!&{8P8i-d+k;GT66wtD)S}0nw5x5mu__tq=Oz- zdXdpR5lzJR3%nLBLeptP+wfHuR@#&!JdINra9G;ryDC|}%3z{xw+kQNHD$&saG-+) zKS=MpQd7tzGNza*VLF2$bt$r8Wc*muuOYYAHu!!NrWJf{GUJU`so>3+kYYq^Z193o zJU_|T|LDw1^j-8uJFekJN|d<}55g!!fhd>Av5k)EbTMVw`rqQN3OUcJxQk)=Ar2s2@{=5%=g=;@2f6=6{smdYP*l5~n#S z3VSxygmn6diOi9*>wYsNVo9R;Y4mjDHB%D2!^?LmO$52hH(G5Ks?aa{UC~#xV$ah0 zp}*sG_ltYr+moBp>UoGqf=j2dp4S7}7bvFha-$Xm>*&e1%IFb>Q!y2jVQYkGG9p+en|5UG zldXtmMU~d{U8kjCb+=zfb3XHk0sMd|?1Oq=S=X1|$Fdj{Yf~lC(8KG4$BKurhngBi&2PgV`JXoHjod)M!-v}ts$?ajw_kWLRD<7F# z-2X;8K2WC8JErx*;1HzF`S*Q&G-|?YW27)b4r{63Odhl?ND8ZsU&albh~&E@bN{ca zh#!J2m$e}LQSsrzHwY&q>WKDVO^t~I4XV&6`T3N8j9|Ff7AV)LABA6|{VUfaK!u)o zvsZTXul~LP#e0NboTlWz_QC|T7t|e|Oc;1jUN|9z`Xr``1jJj2(SVuTWU}j|l(#BH*ZI?>6MIzk+vf4-bBJ207|}^Y;WB zeWr-RCpwldZf-JRxM*B6A2+T4>!_s2&yh6a#*}jE?z_MF^+bqUP(ErqthgN(kx_At z6V12Zgd4!SJCJZ>p#MkxQ}YKL=|TIK2F52BbKnvnY1=Ibe*A^(Ek!hqbpQDGl&#}t z3ova(bc*qH6*^yiw`2HdmD1HxerJgKJ%Un{-EtzkoLSSH1|^`du&}MI&8S*)`${z^ zm09ls)b$hD0+)G`OG~+8zdg9HV9b|wPV(9V<X)663yRDdU_ z>WO&X&wY9Ojgd(cjz%N^aM;4YCZJKGByN!j*!Mmx*%M%pGIThEIS1S{hob=aDqyck zx*4xbB}_%Hc>^?9Art8wpig_u&wH-K0J{%tTP?uE^`WM9QK>m@i!_*tM?$buR#@taO-ff9 zno0@X&gS`)#hAdwLQ`9B(vM6^iXDt+OepPDMe{bxzdUnE5QQ^BzL%jf=g=U9qqPLu zRSYXkyw>0Ap9rY<)dnoz))(uo zaRe}FN5;pcng0S6MytC+Qt)d;q}RRR!8W(F)DYC;v0q6K1P&=76{nw|6_rXsd?o1e zDc~6&brK+@E(w&0Aq>HHaa?Qj+-U@yGcq(B6s(}2H84Ls06E9Z(L29~4?wlmM+&-> z?=2sKc}UK>{U{fKvZBlo^l_iD?YIm3vEC@Vq$I8DG7^72P!o%n+4$EXKI&@=l(=5VaE}703#fyL>4-VN}HR3@2fvwra_nc zQn1uqPG^Urhx5$!2k^ZuoS+MxbR|i9<>KYi5=~j8k&aS@qDa$Tz4j8R;#Eb6V~nF_ zG^uMK+GE&2+C_|`nBQ~uPKBbxfR3ZUSOqW-eKL8c9bRf=*qoA*iK<7(P<1(~0zKW9IUjK0j0b@vN5c$0 zD_q_FdnEx3lfok)FDxTv2A++SMD|S-kz+<$WI$&D+>P0>vC#ztu6J4XEoA_ZG3#NT zczRfWI;U3401`NCRwH8f0Rl^-gNRdg){)>u9;>M?8m@(No2ur}+?Zb`zlLMHoQHux zXk;59(xKxP{(}Ix)7MKjY^2R#p$p0^!hKDVMN|8!xf}yaJrr7KE9?$ z^E>NCXbv9y3)DOt9DA1RM_&=~p_|xHZx5+0((HSw)Jj!Ia<%a&Ri=9nBX3|`*}X(o zBj|>xi}q&+!v*RTPy0u>{(69Noy7a324Vx@2hi3YfQ#N^C!K&s)fcp1!vSVjZ$rfw zaB}rXwGs<(Skc5p?K>abqTv|?LLS5|4vs9;`g=bBAx41~>IFMhuwk_#L|Mkd3Jc?K zkjxKsFA2L%PTL-o^q-Jv8Ir^-9`)PyrvK1h+pnL*8+iXYp6lsfokuch9o5|fh4OZ) zDOt0p2es)yv~jT#18g$8;lcq^RTK2Aj3`z5XbXec9(ZE+t4s%L>YnfTA)g%FNA%mx zi(U*-VjDTjXa8Ew_O~@JrjO9eF(Ds;h9Coj4;=x9Cib1@Zi=g`FOcET>?H=EN`8R# z{}tuj1lu+5=7pb{hD`kNYMNg@I^|$DoWL!QRW8)b8Q58;h7WeHbg%&m@mPKGvbSJ{Zp>>(c3TY5skOON*jRu7Q(z(sZSDuo9facoOxJ{#Va zG?A8oDX@?h(yj?Zh5~0I<^|A4E-4zR{VI3@g`-%hI9Fi8}XYD}+KP!ZpAJ+;MKG^8R zMHhtC8k0iCp@|AYMciF#{6h~av@yDOD4PQ}HQq82ku9K}olPdy| zd?gQjL<}8{$bD=Dacuq`_*Il2!DuG@KzGGr@evq$*iGs0xF7ueQxXV3rl5d}z+nQ} zJ<%OnFRP%SJzGxVy@1wCoV~JFxh#!*-EmcGVy@v3@5k7V2}e||e35(h^>k|p>KM25 zWtwcrwkAKsuSMh&na4(etM){pZWAH671U^@^K-ZFp6>7nyV9c&{9zAZS$HDUp=Ip! zok1-klsnhwL#h6uI$21)EapEuu*E&0u|I@(^{Y6&xRQ4y|RV$Ih_U zhDrJ`muk2_J9Hf759dgD=C*!+N!jA(>m98Y0kvpmTU4MwN7^s>?^kdojaRTg& zr>t|?NL@mkt*DDwW$Gthn{?#pawh${L_hj|Hx?AyX!o6*?rZ#NW%QL6Q6uDbb0^P& z)v*5kHV&DR{Zh5czP7z8@1DL=sAMRraogmBk(K|Bk>IpnCGSJm6@@-7Zk(~%Ax%10 z3n9bkYXUF$mVO%84ka&Esj;DvlNt4BNV>t8U@lZp!m~g#^Gs+rSwjulg?H*496vGK6}8RS70TJOzh>1!wnjRBN~p0&$AzEQ>fw%J-VPa6iS5&5exUbG7}g@xK15BV;pt zq+Ggkd+poXlE-TyH#+cpfV6d)X#M{Bj<2(j+g9JXFFg8cMn^ZGHc`}`%b@$-(E+%^ zB_OE!2JnX~5)y)ad=YS)B->w&CaUetnG?{(73?AEB;H6cWJ0BO7@26H(oHQ_2Jp-t z5;p{{eP@OTZOG~r?EUYkg9%=8BW>H`RO_SP_92vZ7UsB$z$-+%T7@fX44?&ixVj@d zPk8$GD+Dr;?F1uCVpf-Wyir5hnlO_HQOAQuhY-<15sn#z(^q73Vq_&zJE?4?o^6&) zaofPzIxS%aI6})oJJH>zfcG2$9s~j3-s9tlD_)Q!Wp9KQM`9PHBLf~0SN>;-{{K}hL9Rht9#K+=lz+`9u_|IooqRQ za_dqm+XJ7yk2e>Wg99M~3ulMsOu?ZaE(r(?yye#J|>zG>Ll!BTyiEkwfgmHB>qI-b=|BN#vYI_N<$p14yQv z(F)kT)H1Sj%k{CaD-1H8`lD}Ps4+`tvn8?-6$MYDhL!y^vR|yi)T!W^NFym2h2COi zY|xlOrQ2^pQ9!N6$)^9Z#GZ{g{OKxSihE$~Dt$*Gip^fTV{8ob(|93R$fU}Iy$@S0 zR}H)RE(%HRj^$zf+A=A+^U5$d464xcGZr;^rkVbbN0c87MB3@7x(dPIp=KYf9U94PNfHq{0?!HRh6gwy9N%5OWnhQ;n430mm$!K99@+ zh_SrWrw9j5uI@Wb2+;{%Y4x10R_I!~92GUQc)_3#c&RlFuSmDh5?#T2(FLKy3&B<* zc5f5*!AtuGf?R5-}9crkL^&Ly{KdFiJPcTS+%`g4YBPvFm_%=Rw5QEt)uxDBc z+dm<-wmeZ|XLub)g&&H>#ll7*3x{-T6l#3Z)*&HU;s(SPWmfz;3|A$k1a9sn}ErvDLVYonZ)xLWtB; z+k0t*Yt1|ZbsAz=xPc_GTn!1{vfDdfM*PS|t?&z#4r@4Z&$&n+|6xvYo3`z5uiGi> z)#2QI?ChVKr_99}o-CElzd5liL^(~9UA{SQ=Y}V!B|8c{*NH@Z&PUr?8aM}6?@te; zHOKX+175uBKy+holM;kQs_t~#Q3=bxoQ663pyc(7ubc80bm%-S%H#;KF?*~RhmmoJ zuDrGW;Ni;4NQzi|gnWG;Xccw&w=_vG$l|m7_Qd2mjacs1%*_dFv2jzcNawX;8Xjlb$;-3;asRco zN5X$PsP&%H`_|xV?7FFu<>T@9lHmb6&#Z4D9Rsr^*7bj+3+s9JN~_a{B;^+~1;qCC z?7z6A+1*)raOw~W;=&VdkG_3aQGt-^1k$%&HPZ|G`-YajI(HWIO70*%$F?HJz*2R> zlk>DF&vH_~>F5sUkA9PL@78=loFJ+~jo)r`0>5zRtzhar zPG;|N%y7F7EdchlWM0Hjyy*`{rtHfct3_=ddCR9yP-0Yr9nE~st}8cSTlJ8y=jjq< zd?%HV!6I^R)f8%@8)fDQCnM2#zT(;mnTlHi&zyOi{D zdg&+>zQAdkCxtecMkz*onQw!QrKTm_g(+r$ShP9Fp4Llj45>bQ<%+RdKD|1qLdrK$tP*&ArLCISoRmg=_6&`5ZTZ$o6p1XyTO>JoWqPD_rnk0#e3z5 zMd>3_xpLVGbhGVyL|ng1RTy5~VfM(-_R?_`z57&0sn&~_KE+qZu<#M5E=(k@wgOFl4xs1RGv(5-2wU?xSuI#JZoO7v zh=GDeQ(f~6Nmt?;I1JEiq*OD9^@uD|5*(-|loGk=XYU=c)Dmv6UN5AmVe?5ogCEmx zy6XuOF^kE_DAlX6N73M<$9$J|xLCC){}=uJJax~Cj)#aK<$nq%#AlL5=K3^UN4HNZ z>UceEWSA+v&Xt6WRr1Zv617xr z$2LsHd}j_oD8=rsCuhxTH!f-9L00$iG8EK4Cu@z?KTi;!QnTB&|EG*YlFRopE1|}e znz?heU90%WbrrhkOKZtF^UN_)q^8Lj#O^HQ%(+{wbmV@BjY4d0pZSf3gUjU-SL2 zUD_*`X|+HjeVU}G3i=-(BqsKC3 z+%Yz0WQ4RNof`nA=5njHFJ-g~@lK9>&h-k_QTk`u5rZ9(&i5Mo1C|U@-~IjHSuTMz znr^Fm*>4SR29i?07mNQy!C3e7ICZ0;o-_XMi3+Aw6IOg-!Kxqgk1fJS`ffjRYuC*P z*di?%Bal-!3Ar2t2DrE8GYw8=!zSbXm$W zipIQzd*|S!Vx;WrXrun7pjQ+FcJ})of?eReXE%#<_q|x=&#MVo+KgL8&bM5g`tLBa zTPV&}37-WT63-HWj?rG4=Wc~w<5=0|gL^8^^3gp}ryWC<_yOsYM$W~ay?eOd8__w$^d z&Yp&bq}C@`jRJCB3Y&@d_dc&*$A1apdfTe3I2^W=IHNs~O_OAT4VPWWa*bUlF0L=v z-xIab0}=@nEUyX;2;S?!VkdRo@I1Qs4G-4-P{9!1hSdCg?;U%b?rSo5RialwMT8QB zr^Mj#QC@xZirb-v#40nxO)cxnrPbWE97mzLjNM~;E>H*WDXFXe>epjNsVlmkZSr9T zoOIkc%NR=Vg=`PH{dQ}ytjxC-Lx&oWcUXrKNt&Y*elMkD#93L}3Br>K2haidRR#2p zwZAQ@vv6pY#2}a{Kw{Wk`>x_Ij8L}*chiS3xYzf*YVD3%*3Glg`H|ht#P1%IpemGr( zfK14WO)Y~W&uc!C3=$c?e|?v?^x74$Qp$&5SXOo>uiX+*zyc=oIj;znL@-$hj|J@Jr}l%GW+^{u@-n2W%2VME)0WAk#%A`L)y%GOE|lsU zoj((fyhr!;1c;N3h4pzqZu2tVH5HKGTvan$241$9b2Dkvx;V;hPtn(r$6x=tDD<{` z^=qy#ir?I0*3oK!<+r8Rto>oyB6+W5;GeX=rx{xOZ4rMqcn^u)X&iCYd6vP|cOJMi zl?Qg%Z~~qmZOiE;FZX_M?BVK>Cz6};>V}Yw^COXBBq?#SwGVk# zzIS_kJ-^@ED2bX{h+q7@>^G^QnfRpa!g|lQLG;=|(e-xH-3&zc&HYH%OCnI4LfD!Q zs+>460s~kq-HDW_(GN9oVWeL49dJL`fB6EU0|AZDbzVy+;f0MakOp@EFdoQ}Cu;^t zqw0<92paPodys~DK`y7`yXwuyeAc#M%0{B- zEr~?{t}eDY-pq`gt20}i= zF**Z(?#BAY;tGhwOJ45u^DF-dRM`}H)LmMI89*<|J-*^HDQq0rm2a4=BJvr%)*Tq} zotvL=bFtSrVme@668D5sRx8cWih_lc+UO!BI``!D+~nEL%`CD34)cVopTl;?oa!I; zw98$_rwQfu4>Q6!M;@od@eybEKj?B``$fieD(+if(jDmTKP?KO@RyA|#HiZUbpL`@ zbPw_mCWnW2V{&`fdbxC`^Yzb?SGyY+e@9*j9Z9~r+F)D5@%w3_!-Ie9gteEQXj|m+ zd_wp#moM+KqjO)!(rFb4<0dVL9_HT}+;>`)&?c*Ymh8G4<^%qcTysGvq>0;+7wkc^xj+nP{N@XDz9IBQBvAU)==>T!2&fbsN-Uq z!1>)+ri9V7U5%g5aR60I0T)}(H%sUKGY^;LjggElBp@xWDi(4fhl*7WG>rC`Fh!E4 zC9jl1c?Nh;p%@IEhiSl@J7|7o&R816vBLhasEI}iF`7zO8Hgs3wA%NFLGPL>Ko7;L zgtsw?+$=NAIQw4J`s;nF=ZrjE`&kc)SlBAe*E6)=gfI!OYGjmTxITA;bgjRDs?1ow zlt(~xn{eFhjJ)62zB37NkP**+r-8@H<{k33L|d1pH?vvwWJCTBKd10S?{Z7$o86~V zVz%=vE+M*{rRh}`vnyMBqVlPMhh2q=!2RS{in`%)BeFvKDk9c#YVVap>tP1@UnPeH zQ(o;p8!xVo+u9&Xu!V>~)xqz}Xd4JD;ba97`2A)9_-fZ2?v6AZ@?*(XC6P=>ow)BG zd4A}d9&y1cg({BU2Y21*8c>vM#ywXt;7RN64Q2Zkh{F1rGrXrSy}(*73{Y_r;mfNw z^`9)GEKZ6rNeT*h5NurU%mS*Ruf%NOU66UvupG=4@NEKIok-vO<}h&_JWq;7VonE| z`=vA_sWGU(7!`<5xedrNo2DNMQ7Gb@5bs-99d}gCPb@CFag$-sb5|EdR}31~4>*-@ zi1nn*Tg;kBNnhsjbJ>6NN8U@y*trUgeS6@4vbOSYQN{3-^ONS_;!OXP%B7vo{Yrn4 zs*G#I&iv%d=svyz zs)~3N`sY}Sp47mw>iy~&IRt-3B@%5Y1uZwk6iz{xYE^%86Ls|=gB7o3{g98eEx6D~ z0WU5{-3bzs+?2ENDbw-1ckNPMjxfUSHgQ5G;Q9lGcXB`cQDd>SR+CP<8i&mG;asHX zy<-13gqN=K^2Va!X?yok2iH?z-~C#3;&GI8sjTeywt&Iqo95Yh8r3Ob^{2pjEfRfh z{!H0i?)3pIL$r_75VkKlyh<0b zp8Ut?7gn?i1rbyz(@IK#9x@BMp#eR}xAKl5>_YMgeG=hF8QjN1@2|0a^!e}3B36Mz zVr<2?V#G$`DtY-Qwgws>$uH*YH)E-~SYzV(;nk7Nick1%Vj5ErI<*V= zkSmBVcl-(Xy4me@xSHJRFg^UZb~dBa zQaASC`a|QF?AJcxXLqU=((-g~o;d$7G#}mcSA~R?-^6NN#WU0tL|B)w=sp}EY}1af zo+y`>7<|DisxuwwVujsQ-ybHBB%?bp;V%JU#`ibpL+{EtUg7js%htuzI;0rkc5(MP zBR-{<^&0A;wqd?mRbY2z&qB;5zlwR#G*I>ycoc5)q-M>EaEdCnT&uS%FCp|q+skz2 z+`6BlzRqYzsH%~6tQBXscvX#v&Rv1PiItB$#ym8@-KQfnMmE#)K42eYP%Dm3m}USK z8|CeX=H_NI%J|R9q`}s3yBkp`L~lex#3(8K>zL>khy9exH}UJ}nRC0Ft6<(X4_5ug zQI4?qRGgI1;q&(@l7T4VZ!jYB%L^w#{AqUVGFUQg?HevXML2uCSA_&L9Ull&d1hPm z_T;Jl?wf~Q{hB9=Tqogr_@*~{5v8a&+NS#PVp&=i?fBg{UNqt}kP~8zKrVxoEce<> zc!DWgv5iKul4uz^4EvQ_ri4DW1z#a9V~;L{oQi(VAH}I-d2*SlZFh+fx?GIGcw^}q zJhHKufk$c+eGxbjg*cey7X*?9KtMt%j{dq4b6q`C*)rP+o~^`aT#SyJ`UV3bp347t zELvg>FBEb5rQA!H5ceQToCRGts@FKR6eKTnC{k)#qBr|zhNwJ_zkCaCn8GENi{AS{ ztP5*F>6u9k86%&;yg^cHLk<2B8{i=u#@qxn7=b53_Et1 zgx9~Euk+Mx1*7L`X6>KcuQScqiB6uJ2sE~re#pFRy8iXH1YU(qM}%@R=g>)M0h2sv zBhX&HIpq}E2!`ZG_s7fRE`n`7of|tzqn0vE(uXoCsnu^Q&WdP~6q3{5w;vgMgY`x& z*wA#AHpd)A=-F>7^-sc1QJrjZhBiL7Q(f56Jz(0|eIU(cIDaKW*MPdI;tYk;8}SE7(uk7a zf?!(1aVJ<( zhbwhyHOJxB1gfFAhv0Gh7!ZU_853f(caO#*uUKFSIicI0p0=07mg}cllNyaiQW?_z zk`(>8!%KmkJk1Pl4&t_1@8cL=(?vfg+7f=K zTWzn+=0bt#tVB^_L7eFgSxuCK@~^?C)hsA$bx%zaQHF!yWiic3NN`o5i)dN2zp-(n zMEgRPfLHtq%SXmgYHcY2JKKot0m4;@K)*9$>b_j(S1LyCv2P<9n^j|Gb$VSSbCuEI zI1cWfbA_IEQW=WQAFCe_J|>n*yN?fjBi#m}$75b!Rz+~?y%{%1YJ+LnY`1KBP-_*) zUn#+kL6;|3899)8Dxc+vGCfQGNq{#w!QF;c+*B;E*A4eWw{Baj{(5bYi)Zj7c)$ z4vjFk@vKLP-FXt3D*yfzg*V!PzASDGNqKn{hj@IJ)+$npIGypg%1&~llwQ7s`O4Nk zXaY2}cwXgHb`hqv42%lQan-q)BX0CPqxO6aNgd6K#i9^`V6N&BQlqbgp9Bj>hyDa)!(FzRb>>!n0&fybM!~t!Fn0|r&eG8%5n9GKW)IB#ou(Mq31UOW@2fsONb#N1~gFs%Wx=r z^bfp|21HoNwSlQTs;YXu8&TxjcL#+RA@@yRM8pMqMx`o44g{w!0$>mZY`*JCKPUWj zr+9q$>>KQli3y#6$W5NPNj9>ghCdQca|bqD86d-GtOVa%S2uF)R7D+)jOA~Iib_8UIg$F!+71-*T*{RKSf|CM=(uWdoS3qF++Y*W>lK0^^<6Y{m#|;cuFra~EkWb6eq<0Pd zHcOnHb7awvS}Z$bh1_jO%Jbv?`!F>k^lwS7sR41x)*q<(b{xlJTy+o;p(w~<32~pdo;DJbEAd{oNF(9$`JUKd@Md3TR_epQYb=ppKr!WL z4PT6?c6k)->0MF)ReJmHqrqa_i1ZU!XbR<2u>UsYpd`-1`ghnN4| z;9yCy?@B$woXWb-_a$BqaW0NW^v81w}=h&zOJS{x%)If$Z4&^T90~><-E#RE$SN}c4r|i5eK2RGeJhgbvk#cu zpn>mJ$i&D<3M}r;F8h?RC%m&jlnz|tDvheZDUFukhysxEKsZp94m>+I#DoC8XE~m! z)$6?Vp~AP4fXn;9^D9)2DuF=Pp<~sOTARmj83nmij$;1I5+TaX_f9>!NneIt%xtAJdSdFvQue;5|W!-`gxmt0RH5QzPp zqG#MwUnsCWGbKVy<8u(!7~R9dx^Ra&c>hIDuZW%RZftC*wxDH8J!MJ@ec!QpqnfpupgcSjRPzzxRR=>XM1V~)!VC{~B8#$G4K0y9F&_&KPdXOEu8RV>s{<%mfq=bwsE(~~@7ra}?p3Y#E7(|X9l zWdC{83;<{QDjN^%z#N6>z!4MPiVO@l!7m4XAST>42Y7aISCL;s0E{q|tCYiGI`BLT zDf#RYcyI_o7M$q*c-G*`!4u$ZY``>|G9(R7!HOW+|}s) zVhC>f5GaU+9j~mvG__jDiD z>f>?!ydD8e{Si#*sqQ_%@nd=)Zau`e`Z5AqXshq1Y53 zAbr})ayZD#drp{m&SVHR5~&QCHy*Dx(M@U=m-`OuN&(hKd}u_d=m=JW79%s=Z)&RQ zWLW6e6347~#9E40YPZ0qC47I@`=uym>DfV@-iwUX%lE9CFa7`!zfUD4ORa^p?FCC6 zw|iN{`v5Sj&d=}C6nnMDjAPX3Rl*{hC5KJ2Bvcl2d{+;0L&iGK7r(Bu;=u;t^NvcA ze`Qq|5v@`NC)@}Bp)d}CY4oNLo-@CvKYk08C!t`)!ea`K z9|LgxdZ9Fm)TN>K&ktbYlnK;SFg7z1aqWuqNF9-V>rdY6UEr07u|Y=~ZK=pH< ziB6El5=>(S;N6Ldpmo^pP|W-@d#8dCroFw_pQ@nh9c&%Z#rZ8BZg+GBcKWsYYyw4E;+~^D#N-t!d^9{xgH0vrW zng8ZLzv#NiUko}f2&5ZN?DM9O9f{Ey>#7GPq2(=r43GpaM}PCd^h{z&)}~PoZkij? z>I}ybr!kfZ_HSnq6uMJXKsxH;B{M3e*Eg@4cXNb=ZdG4WaytN#;A>cxzixGEt5UTY zIKKSKv`{bDiBC1~=C#F}k=zGK^iTI&wI7HieKg|8uEzmc_y~~y4#3eoCpS1!+Hvh0tFm1jXlqb%Pg*8L*yKf!cxv|y@npmjs z!uNx3)Eda;=!1okdlP#6OJIaJ{TS<%o#2edtGm2>hzZ{ya+|@b$&Bk&c_s#1pKIv@ z1UlG}-_;D+@ebslUa`ZW_jJ+45k@9&++>NUTLJ>tX~hb>SlPE|Z1VvQo`~iR0%EuB z#l}CWu3XTEyPCH#7}uNmI`dWLH9b|T+R)l^cpzLlb502Pq@@aEw6Suz9ThgfZTcNE zSIXNxNqwcWiBj%L@^{`Ka`k(Oo6FIIC$p*d2+TK4=~FK;AI9iLEE}z+Dd*5^QO3~g zkbP@kfiM_z-%vY5CF1*X$1Wht2g5}r%4;qu|L9SZV7ww)G?@1?nyN`^ zHhmOeVaHiS2BZ-twY$bOS0L%kL zp}hUo5qYkQ#1-tjXM11~o-^usPyy#_GHavsUZ1SSgG#p_f)VdOhaL9O90j4k`wV9xlgx&GS+RstOw$mr>hvkS%8`JLPc{+?xgfY{NAQ{zE!SC?m zAAHQiJtzqv(p%oPSbgV!La>0SPos9b6%(c+Uq@=?J<4;|_%5+cxh^=;b8ZjD(V3#X z4Z96iPiXJ>psZZN_wmlPL>Zen}?EdH>K6noy{0h)mqeJt&-Z(c{WG zcJ-JjR0{O*g>Px|>=)37lQ0%U1|R0NjNL2h@a15rD#O0w3WtX-=o+I{+z*omA}%K1 zxGZY*Ih0q*P$UpFGV`LLD(na2)MQuw=qR`OqilOq43o z>)pX8#bAUV9z3BYW%Po|M8Oz?P@9}c-NcY|wM3gpRIa@#Vi2Fo!fr%a4BqiCC`iZ7 z6&$wU->RfF#xtwl=<7X>{EH6rNsuHsU}4c#WS01SG3VQuXikgR*QTeb_^8K)!L(BL zx^RzTmAI}Tx58Zfb(Glf0v z%@|)eu-w@etB4;@s`h>e#UFdhrrameRqpi*@9-TC9~&)ubY%5FL_A}stWG0wq}%VV zQ95Zq?3sB6QM-xWF37aqhGh1}N>OY*;5Q{X+(c7bl=Nv2s8KQZy%l$x?HG|SS3~4} z1Iw=;d@N72eN~V|!Bj1pPh8LaXoPC4UNp0KUVt>uZ$eGr)KSfX2rsFL2sKgi5WPKi z0KARq&cmu+Vkc7qt6LxTS>SBR6EztM5Q=dfytW?pSkW&5qnbAdGxILNdhaAj`F)-$ zi$QAy?fewa9Y4Iz$`?k%ZO@(%FQ znPHcQPfS|RJ`ersC+|l#cCClWE`UfULo*t|W&={(iYA=_VD@1l1Od@9@A6@%9dfyS zUt1wXO0dB$4w=L>!Wl zY&1gBBa;xKMwzN3c^`~HNw{fh6`G_%$`H2Nri+He!ObR}PD^a}QXgF;7wO))X?w~w zrlNOk|Jso2t%zJSAz`RQ2hWO32c|z~VQJ|5W$!4_i%C&BQ-_qy6YC6|OnQjM<|<=r zcBg||HFE65yJi_T>GXQ|ix%j$jm>mQg4-3b zsk4H{H4R7vg9SX!qM_&2V;()}LdVf!^av0ZSlb?l*Oe*XNPZmSY4l#8En(T^cWgG_ zh1TS&8UX-hHKv&IPPNPDieyynhNUJkXm&wLI3&!ycJ^MUwK9KwfN#9)!O&vxOsx6HQFBn0*%8gpr_p@DGlgEMF+x*|^j#)in zvuy+v>xIJd0}f$7l=Uv_F3ikiE$7!lr|4 zQuwM1-@Swf+J)1JEd86nUhI6Ny=@;9MMzYK<@`U?Ln=Z{vLNHtF>>CGl}~b#z3seX z!Nrd&6J4H0F6#s>-eB(=O;5#;f7lE^rJCsJc$2}~UB$UJ(r>N4w0f77{|9(06wmji z_LxLxspV?C!}+c?@rre1Sm}7)cr?$ntTyu*Ed~di-wpPmQfJ)0d^yR5ccz;9@cYkG z1^m$An2PEynPA0TmBRno@ELYY%FV3*t5VQ;{q=uf;C(v)SV|Yyi8Q{b{D+}11KbVw zWy?RD5i#I~3P5(EB}eN2_n-eixdsAgO(GM4|lON#g zZKmfAS0-XL4gLqHkwX7gg;Cv813+1j9-GzYH3$<#pcJzqK}??*Iy(X{`V+~Q>s0EAG->v5HC@# zt8_tMrol&L)lKMh)Ow8Ww;`m~&rJRg*R>^s{_QZHtbLR2{JxfskLwFyYIdmkL`NA> zzBw=;y8B(F4Q&@1<`@BDMqo6g(1Krz@DDZJr|(K= zNfqmFL8E#Bkh|5CJdmddAUgHhSrs8qNKFu!F5n03?q5J!B0xw$z@M@{ZaC7xZ?8i} z28Q8`>Ij?@-&lCX1uT#4z*0dh=-+`|puYygZ*!-MWF4038MwGyKma42fvdW+|q!CdhdJz2gJWb~&yV z%O`=J1EA9zdr+qL>fB9!bC;4K$zf z%v{WHA!x-kR_Qh{JsRi?t%2w=2jan;$F}1;oY8@v zyROP83F)r`Gi%h3CAYRbAap!CnI<`iM7ReW^>cXfJp{D=>bOczRs>*9v=wZ)M-iS; ze4)Eq_W_n>5RBTq0V|#YEG-s|wu?*JcmQ%zLIPAxhW(e*$VlWnReAYM`{K3kgL;ET zTLMXZ!+NihVlcmA4?v375*9rJ=JqGnjU?_AqM=3EcPsCg>dSa86)^JRrknFc@DjMV zCDT$;Y6{AXEG8!4VedAB5+-2NMZdkU1e#dxfO3|qPb`v?d7@+^W(pUIg1buyo?yYM{w`9QN+y?V`_-96_u$2~>^$aDbiJwpIcREq2a z5|!1FD}W|#>4-7_UYgLQ%z*Y7fVPG}!Z0K(O6gb>OUc%~tqKq#63oBRYCA#m4G{di zD+t}50f((R;Gv@`lCk2vbn^Ck_V!Lb0qE6JTlVKHNQ7;84pZQ=vvE;-FX}D={=FpJ z(DgmxmY>w?5-#@aJy185`$g3rSm4zwr3XZ*0MuCpGCtlRCfg|h&Az!G{K^1;G$4sS zrgjFyV!6y{ks5qA3DAXP6qb9>y(qj&s$&O)q`*wb6ri~wlL9{;^`vn1tr*@jCV*J# zQ$VOl+XU3N@4xNmMepLZ6Eu$ldI3_@R)>**2a;^GP8yDp03Nwi_E4M8zX1T3q)qI3 z-U*ofH0hBP%r!e%JU#%Io;P6n002PSe$s0~I80#HG~di><30kwF!)^0v1S_( z!1|Hi1FBj-VVjnd`qe)kHO=ppvhQo;q0Ha~j{u4mH3XBAA1m%Pax9DnnO4G84g#ZF z@7wwm(nlJJJ|N<_*LW9Xw+}?t^eOMGF9Tyhj#7v_0kKPf!{((=rt$nvKLVT*4XKfV z$eCJk!7U#o9A=*_f4PtuLJJ(SAZ=i1Vvy{yeN6Qc7poIvUjs7UEk|ahZy)K$$+H>NbzNwCh2_$45r}W%UxATyx8?==gUiCI>nJIb{8;%l8 zhM7L0!SSIiiZK!F;0)IQJ;Z~9kR){au-C=AsDY2eC534~JyPkm6O1@!Gm5d>XlHMS zRC&UKNT44D!y1OMQe&dnG7Al<>v2-or>f$R#pk8YUPFj;83XdXmxv8z7o8#a=5!oeLrwK7CGGR*8iyaW`lH0Bnk3(_| zW)o{CR0?7CE_B6X2m(VQ@R!7FuI3ePBhNd4?fe1gV5{+)gqFMAj!ADBm!i(67#fx@ zf#hV;Q!}YRz*n>jmKoH7D-Pq2r@jgpGmdhkp-&=#Pf(kGxH$laJOTuO>qvS7hL3uB zXj(=X-B6VuBp?a;bR!s$1d{y|Q*r%pjt8D`;k0|8NTu`E8ISD&zpO4>9L14zw5r48 zVwN(E#)F(@8{VE@gBo&>T3tD?71`O7)JhIN@2PwIMfwkl%P|rWePR5-nu~r=wLf1X zKGOVVEnWWlyV)WeMEmm76?@snn3KcXpInyFqU?47&OWk=rR(_w%A0+C_w~GY3&HjblGHR zOBCMUfW66bJRzi^=4g{1EBp464i1%&bN46R7Uy1q0)|g|E$fwj6sCTD-TXyDqA*=i z5{%vEmSQrEi1^C!LB=F9$>?k6$Q(>f+vwITpH4S({7`K%$#!Us94%Q3B5#cryCgtt zd6n#4Pxmk>n9lHhxS0FMR6#npKT#>KJ7@~5M%PAyQ$&>=6+XhD%A&17a5H1<`oo7X z1h!=FdI1A*b{eP&h{?VQ0ewV>Zax7n-t7>((h;I#)y z`+JEs^yn523eD=u(Db9T7OPUeSiNpJg3uq>pgc^6DTLuUyN+uXtB~}qfju%VI7HPwgHrD~NNkaqWh8xCUXZ|hfGTL$&P-*Ty{2e6{BxL& zGzo~F;jZA9<=AdmsS*=q2tyAI8eXHX+0}Ch<@$3Kl|N%N;gG0!FIAX=F`hDV7e0_} z#!3oRQqYv0stXEU*`f9#-7;Wpkm6uzTO3H$r<`9jeZ-M2AXx0Cl_V_%ePIjAD$Vd3 z@%N8EhD){}>58eoll!sBn}20Ux1rK)@5eN#S~<7SY0;R)TtsNn8s4Ya=>Mst2~>y= zH4(Xv<4DCCXU9B`S(HrO0pFYF;}szpz-DoVF$Y&nWM`1DmHZT4p#NhEN$hfL-%LDh zh@3k0+vmrP`4q{M$rfQ2`d+aDSlN+Wds|LXnCfnf#Hh+ zQAs~+GKU_!Nmfei>3EBt6xxET)$0`0+s80<6=Jw>G+%L$G_?Os`O;u-EJKsqOPqE3 z_+?)UjsgL&#N8f(z zZ@C}QSiDsiR@oe~iJ!G#U=Q=E(YRS03JNr#F(YcCto2!2z59;DIq2r}UO=C6gMrb* zSh4?#G*(u+@$K*IBbab7J_7A5&(E7I$=I=DCxj_Hhg7MIUaq}1VV=Zjh(0`euINect0hT>|pGErYA|-5r zC*M^EjXphk39~iuq}&r zo62QFq)g_B)s1{xKdB>%Is&Tiz9rj5t%*|z@(8PkN|)l^l_xRc<0i(*P zbav}qxm8ZWDb66BjLN~I-=IP(C|4^V_4dhc@H>}PLFA9&g57WgCAJ<++&>1$R%sf6 z3^yLaN)%0)?XC3<>UKvDkMNwfw9j*RsT-62>S%5pGodH5%R5JcPfpI#nl#@_niT`* zxGFu;THSMTE#GjQS(HQ^=HVoA9Naq$^s?E;xFMO+?Gni-V+RK0_k*p3XTVd!Z_!||yQ{D- z>V*R=RacL5Or`~&64fe!WYXspf?^i!DTHkHkK6vkQKb7=?#!RqMCB0VSdQUw5}HUm z2Nw;3j-jxms#Cyy#Vulnkya^Ddd7S`1~`pk z@QfbEOI=$8Fl7;HLK{@^){)5_f8j!S{vfUFxRfg%ewb>h&V$rHTUrhexuINoTK=bX z$SoD2lsyiAUCQIi>MNTf2G5eQyc!515(MtZ-GZmi1vjIOAY`m%uh7T&Dr0B;Ma$jX zbBf^*Mm~}Z3ebCjAoSs8(m1AhxoRxZmO1bn+*`;j?LRGY*u>WS7_!treQffFJKr<6 z{h4Arfa3gX_g(L!0CgB?d}+_>d^Tq{JLUA3GL6G#(J0!BFpUdybY^dC+X|Rt!Ih0` znp*-01CJTvW|w^nH85g-?cjXlk3DNihj&zen?zRLN!* z31bua&G7DUsadmczDRbL;ahu7;Rh8`qUk?YHJ=_`@Kzf{wd{W=RPYXbX8iYkljKU{ z_5=mEJdN6KjAe6{^o+EKzrJ8x*`&lz^7H9B%UvrfbNoX|kgo7xd23U6sv605&!H3J^&EL`4S}+ z(7k`Y6hFZBLhnY{4gc8_1Sv_XbawEsA^>lbK%t`olDf@LY@`2*wS)jQ9{Rq%S@A!l zvPV>iJ>GR(j_n^M)&G7Z#Q(L1&3w$TnAm`Wf_N3Gyu?TipC0s9Xb683^SybpWpDoH z6r;e+;ExJ1Jcy?yl{2KXdjHM3QZM^RLrcTxz)iStP&8UI?Q%NX?EN$8B$aD)OwQka zvr@?kP+h!VM>oEJid9b8?7@cZXLL%n?bLE&+R&fdKpVQNa*c0Lclp1mkPjz~#ooqR zuFcajQ!OjGJ?A0tfmBOZ!vYUuk{i1HcV`$$7W5=j%qR#aFR zViRnauI=Zn=EAPJant^=k^pG+prx6@?_<=H7APnw2UWi}X35nG?v}cq^_yV|c#BOh z(s2WRf@1-4^YXPcwJ^&RM(<$>cfjoLWPf|+D;&E4)X?zo zdngD%^WKXl-+d-Yg8;7JPz4Z6LNQ7JH3Eg@#N4*o7Qx>NeICkNFJ->|o$sW5K~9}h zwlr3C>jf$nk}4R0Dn&pi`N!q7)!6W&V*2M7?&5;nUJHc%eBd@(n~;C_STt;Z%e%C= zb+Ns@O+jhJL3uk1NF=MYs%vVdr>EU8LPCYLaqjnZj%LfYz5og>Ik)-r;h`Zwf_M;P zy>eP6g*}$XP}bPn7>nGL78^SW$SO-rw!o#NrG@zn>jA}EZQW_mO?H+D2`MO<%VrhG zIRQpcrQwXt0|Zcj$`PnXmjfmaz(58?8v-^gZf52)3O#jrIG|_I2$=36{S_mcnpDrz zO~b`?2Us(2`zZOUj$CY{c83r{Y(b%K8b+bI$jZv%X0UyiFhaTRQ*_^L%u&4@mHr(N zUDVAG0JdU}R3>tSHEmcw@|$-<&wT2=yj_QFsZxO^A2vuYl0FQVRXfQN?{c(O6AoLB zM9y5(Y10dhv3OI!=fL(yX94Y%`c?Tz)b-h2upc`t>WT6hd-vA|V7?F33_H|A%T3f- z%mEbkk9LE#vD3#drLF*@rIt@Maz>JPdAGz@Z3m!c6ZAqWKwRE)pWo-aKYyCQ1`skE zk0k$7k4m@#L@HkZiMN0mb#M`z_v`a}$^xKYJWc~7Qt1Ga1=eA?_%dHci}E%AXWe;i zzOz;~t*^jIF}nxG7owJcsj&Es;hF;-pcsu-Rp5c zW!#N$S7dGI!1waRDQAHCr1Q~b+uIRE^BxugnYyQdAF;0>FmN3U#S!r2wgOU;-qVE~ zoVmXds2!4A#10S;J95LVuLJ7N{cL~GvZE8Q#C-}_lL9r<>9`-_wgQL%uLFWB034>O zMr1c$Psy6ukFfMJtMTS{1;AtAB$V3@zccd!29x+aUO>Y^wG6}^LDC5#5!Mrk^#H)w z*EL6=p>WWaTq2^f_y@o+feS&w&W@#-%AXava34q@X2#qdN$EbcMVe9sSa&i{<#FSR zapcz(ab51wN<8&FY$lz=Zz~kJOj+%o-HU#YsFtmOP7J6F=W`!IlO$j<8UQtJ0IgR*_#&K+2 zPw%pk{7%_`)dE7~1zbR8xcx<6AE?lL0OlFO-S4IJr-0EeY~I-j5ZaR!&3_5kowHx{ zmgx;FgBao+YQs^GK>*I$LLL@?Lw5?l$Q2;36RXVi3S@vqwgggsrEH`00jFmkf6$<= z%Ss@w7{&}!)b{pZJX(*qxOnZ3(p9{wXjZyu@)kg{zG5nTKMV;zD z-dQWrqYY-0bC^Sd&bZlgvC(mf!2`BqYkW`)^c0{YGO;WI!&!urm|b=N!NLM1r=kV0 z&|MNEAcMTnzfDa-Kv_y3!F5mqkV6EcPeEmQDnbX`0tt2erYis~EYNG;07q$~mG8=O zJ~h#nz9|}rx-1)&q~=>Dx*BXgbw={OTtt%|DqvU@i}Mu@vU$C8Fl0-|82Hc-LeWBB z@xLRqU`B=#@|aGLutU!ve@3dsu~ez2QZVA224JG=VbSku2Ee`SlQU6}+qMvZiNOi0 zG3P0lPiBgy0g@iR;=g+XNE)ki-U&KF)87W0HEo+em{&W1G8?u^>Cs5NO7)>n!9-i| zaX;@^T>&jI1?EbauUo_bMS~4+dB+cvBQ#}+D31meQbO6fp~Y?Jki=F&S~njQ0Jm5* zu36xoE4YP|jbai^eh$EL5%n3adNf_&C$HF1J5;^8ciZ!Ubim>|3m~sjZVuICAJfoJ zFFQkFl{0_{cL@#B3l@%;V{9E;@W1ai+ll_K!R$iqV(uXQT-F9SlpGE(KsQS+8P#)J z9qsqa4}<7?LW&X!gI#SAyu*5hXw&u+pyL&Ru*E*P0+w&sM$r&)RDfXe-u$EK->89w z`2#c>hd{A>q1BmY#srdY7~WbByO7w!sBA{EWMXF&jdo8H9v%WJIs^O>_>eyJMNBqq zEu?9XRcBke+JpX+K^1z+Hg2A|l>^cIu4Blp@W*mMM``Ow)@p?V$QOL6lNfbn1PM@i z-(|5mxV3E89IZw)!n=$O$uI#Xw`4NJFB3^Y$s2%;h3NP0(wsdj1!>FxA%AhO@lIez z9lQOYgM}Ju=T@GGSPbjwg2)|D3FWO1*@d`KIjocf`VP)yOZJ5q!T7};(}BUr>O2K< zMx&{+@A=>PP}GxnA(?h%_>x>I&;_0A>+24BRezX&lWj4&$}5R(sOKYx{}MF{9}E%~ zBSBCyLGEY9-5)yCpUf4nBp2ZAW?2?T5h^(+FlRxDOQml2cRBJi)`R|f5N({xgKJhq zn^`F+h%sB4UuqCc#;?E9dyV1Oxhe6|skGHC;Y-w*%|>8=g8+EDV+k-iQ=?)|8+G`A zOAO8NFTPtDH2ZcVZ#4jrym7^O;XC$#4|0GvQc0k^vAZ7P<#faVZuh>i0FCJ`BYl@N zbGg1u7rkJ;vFQ}rt?Q`6v@Yqy1W1U$fo%S5U;@y*B|RH|<{i@-y)t?;?9W5g`pcb` zj<#K=rm_P4w=g1X5WKWpA#sO*E5w%+&>RSqKzJI~{smSp$k}a;b-W&SCP+WPLFzjN zX6WFFFa!kjN8-ayYdA2Q;F1cx4Ir0zKS47(vdhv_dysa8?PN#45}LvcLta)gF zXiOGdc79sChx8Y~=L#0Y0BQCo%)C>^Wc!(2oDNk4Ql%Fs5KjX$c9b zET`dmhH_d6E{r^~l6q@I8XRI#H9s|Vdh3sRY7~JzHh}kb$4~7N4h8+c4 zgbgp8;;T}&l7XVw!6(rTe?&Bt0ByMJpi$p*bQs(MmuuzoZpc^@{7+WI08h#gP~@8;)u;jB zxG`Ztp+PZKcgDP=U5Y#}$yr7)cKSj>Izl)`)S5aXWa+(rF$5}pq*A{*ttNd!Ej!&z zM+)+9+m8BD?atMi_-aS`jEeLr^-{m-+-~<{^vP*DuIjfqn#Fre#&(~&IgA`r9+iH{ z(B7*ZDR03Ru>HDXKg>|bFbj1q7E2~F03}J+bjw}sS_tPzWdmVXs6I~y_=9lq^z&<> z>jAfLmt&%Mh>o@%Vsn~}I9WzgrStO<@gE3AWEG*%Nqhc5?p|F9Yy4GaOKhDFG=a}XUHM^X zC6b#MCYz3iNp{WBu-V!leQcbroj}>Obc(ti+ALI4ZF+;_6UQeA3Ruu}EnA)`*tJ;fR1qZq$JLxiAOT0Wr_$p;=_r zJ(S9}-q~<)d^#y1No_=@I>|exZzzCDq-xG*tlPaov3wVG%F+RENe!G0>&yB@HoXS% zrJNE1vkeRPdE$kS+bX{xCzLz5FJA(h$eoWdl0LugeKp)j@*L?y=#2~vIBN3DP31Kk z4qRe@H4kUcxjy|AvAi7WP2^(?ZaqqAP$1Nf5S?7K_#}v!a7IM*@?x-Aznca5G%m9v z0q#Q6?Rx;3beaBQY?^D!x$<{XrD(Wpe}@9l?6FA%Sc0HJ0MGYZO*^A=`z`#+S6(m# z0z6XK$Z2zPgQ%EV7^jOxWc!r7eqRw;wr28BnEUF8@$>_%fCm`{c+%us~6bN0a1@qpA#%+kgC<>PFt zIS$!fjL_CU7{9-(Ey$Kx1bm3Ep-50``-82=Yuz{1FNoJ}-ffIwpZ2Lk&eQXifr+Nh zD${9jvIXUIvR>kDiIXo%8@h*A2I}+Y9S4ImyzB0K9;Fz!5f>-q1+Gdyb_qS^YLiUt zQ8U@Vfy9Xz+KYj1o#t2$H8QAI7&u!3?jV9-UZug3fMEiYYo2+s%Ub)SSV#h+C$rwM zbvRYQIC1Xw<(=onBgv?6y&Sw1Jcj9Fu)7YHbA;px!C9n@kEOquwaMDDJM&^3lMVY) zOpBTD?&7cjeqn9q1mPMCr<|&>wo%Go5Exp9rx4Do_k7 zwMfFvYvZ?6ST1ZejH?<3IgE)w(1(gU7Vy_?IUE!xR4u|uq@xijSpl!CjNJ+iLBos1 z%I`K;)H74R4OdynANRjmtWtd`1{jFYmKYcl?*h~_A$bD*2;MMKuOUVA(k-__Mo+p=qk}v(y)gRUVsd)v|b|lTBdN@&}k193&l#JYB zTkItksrvfQ;lr(DY#s;AQ=`a=9QJUcQH?7Yqbd$4Z0Z^ETu&-xG6>am))3}!p%UA zf(c(0$VaXHUYl4w0W9-H3t<%Tq(}N1&Eis*bIsz%${a#(F`^IV>G&3E{$^FO#R;XVv6Z1l7-4W9^+IvK0v)%jF41iU7Mcj{i_@k=$(kAE@k> z%w9F^6M~Fg2gNIvZrFSnReIkQ2p@tK+n`&%?7uHX2QW$H&U~4FKL~g=H)Y;d_2a+C z9fANr$zs1yQ}$8)pT;LM(tlb8DmN>n&Q4M5h)3N+9?UF3af2e%6V*ffT}M)41-C2_}sCPiU?O z0y835itGLL4=^rEeZQ9?SF_3Y2c%b*%Q%=Kay)H7)6{%}DVz0S4b6J)fI6lKW{%U2 zk2Sta6RA6jG&$2LJkzYPo}N38x#OC-X}^=+ykwP-)FPsuwv>0!EUUh#Z=y7ol36rl z`L)xQ{u~CEhRaP>6k!quXZSFziA7gtBv=g$rhAf&jlE`311(>F8+5zj$ngHu5Y8qt zHCFKgTiPkCKP5^@vy+H$8F!4dJm^bh5ie8C$e7X%l42#xgh4;~6}Vb;1o7*Y#K_i? zZ@i5`)SmF*c8F|kO5WFS(e10wzP2)+Sn}!G&<`CCRFQ{8!QtPQNMtm`$tPA-^LP8% z+Yi0M`zOog(*E{3bBaY8p9$u-QQPWfxXcW}@(|qIk7mMNwA_-5Q@Vzx)=R>Fj1b#J zAUhgUkB{-BQJya6cF2Z%UWK7;cGjDf=Pfl?1#~5YJ-j|c*o3Z4e(Jv2(t68{6DsI; z6Z&|ke8PW@OdN2dXz_B!bj7svLCS%z#h82iAa15S6r*BJHoR4^9DW_#!!R`3EPZxx z`r{Fk{x=?;`}Od|*J$;7ppK-$L8$&HAB6}}v6%iN@+wC+Ul~aUd-5$U;isTUTt{i? z^Bc;xB7Dd;J!Ym}r_X$MZEiV(<1}#mJZm0~+Nd~Fka7`-XhTg-zqf~22$R38mENwc z2)bPqtXqWtcxrG|T*c|o*cLucC&bG&Y>v#8$NvEogiQ>9=4C$rom)h!cDYfMNY!SA zw`;Fv_el@~1&<rGVQn%=~!M;E^ zSR|nzQc@4XcmJ~VEv~kZl-lf008Pc{a3xK!UHxfLEa@<1%Od-Bp0j{yD_22JEq1@Q zusVnRG@@&Ia4EgR#BlwciU-G~3+62`o=%St4+1(Jwkk!z^mP$^&EKK*Xjn9)lk$x5 z%Ga|QmJEq`Q;=HyoEyh)33c=W0uJX8@cR%Vm&`sb#ia+k5~keiR#b%mCs|&~w-TpT z9KHMHmhQ3F#PBw<+lSJ>_wjk0@mhDD;Xv>u&dl}e-1-3VkafBWi?dN`k^iz-yFi_4 zNH#MH<4fM=){d6}^W3$JyHo7d6UVE!<1LcSDauwwi3jCN73p~=>l`@IrROWEq-sa?Jpc~m(-XHaD5+VIDfU#L%2SF3hIF5qt2Qqb+oA9e+z8?shWkZ z4Xe#Kei|20fa3e7jft>*)m!N!7lGSsfIWXe1&S;wiP(wq$#ZZNt%qZIwBFw) z-MCarK0%#R!P-dttB(=ina>2iZUi?AER#p37%nWc{MoE>TTOeS!jBI`zzNqNy?YpPYOB4LKg}21{HI?1Jci}_ykEDy?h32!OKP*8aC*FJU$&y9 zaPn5m-`6cZ*GgZ#I>0V0G8m+7GLBWgRsM<$VBV~BhNizm4;CvJujEf5Nq%!pIW%qj?1dmU2RfO zbKJBfQSo>;pp2G@7<9yRlnUiJ2snN_UUn$LEi2%bFMohNrM2$-D8bv3L25{OjL|F` z(}%msk0;>;>Sqw8g=E|hwyTNDfQk><0U6|IYoT#(r0x$8jjpVn#NUo*O2=j>O|=&x z+R0sqpk1j{rt9E~ROOOP5wv4b>5kK5W2_5mIJYOAUf_$Ias)BQ_rvAs&tGqJ8~x6k z-%D2gpl7`dG}BZ*co%p$ z-M?(`{BHxO6Zhwwry>AzEcvS zJoX0OO`r@! zs*{1)<&H}yl67bp+H&<33%W|B3XD85&p0IW@g?)V^V#;-hNaqjGQom5%RK0Xb(L)2 z*0pbtvrmg>$q#cxc@h$toS={fQ6N6oa{9#j>Wl3M`aHKkQgX0JC~5rmehCQ3rWt8z zN8o&G=P;d&hhMzYBNa#k?rwP1Zo)%JC#-`>wKb!HL;Auap8a4&`#DCr{g<&CBl zqMNBSX7pqHYX?)Esn>0TPq61CZT`oJ8+HJmbY=?nK(RI8bD(SsHK}d41Sy)H=)jL{ zfx^19TEi|PF1a#S$MU;h`iaUuQr=I#1*-hl1`AA;qJ$m2Z)0u zS2yS^s9s=hU(MZ?}2#8@^sEPv_+Yr?U&1#QpBJik*Hi+W4 z%?12YeR#%X4N`36j8km!5!DRdXC&33YWBt^DOMlt{ATIW zYQ>)cAkr1UoC@@RwfnuEYyyZnQgT(I~Od%=Ip@ZG+;$`oftc>u=7fCcN^7 z$4)kdK^Uaerru8qMf#s+o-xj5F+}5{ADW)$vxcLs_ZZK4Gr#R`z2sPU1W&ErcMxcx z01u9;5%Q&Gd+Z>yxi)SQN^B^sM1@<~XT6JhM()GhyH6o(4(0 zU5dQT%+8Ypq+9O|w47v6Q<#)&qKDv>Li|r}50YIJ3e-i%n&VC12Mg}T@%)Wg2vR&rRg z2>tIH|EC(Kqh|CK5dk4AEUaEr9`j$?m0d*&0&fR2F?j5)X+yk zjtciB_W0D))Wk$J2d3ta@8|AaBonvmOqku3S=M8o+KitFLClUo=|f`9oxrx*CebYth_;lH(*dXi}KFr!fZorHwK zC;ydaqLEi3r<(N)m>#_M4}jRg0!?BErmPG6{N6>J0FqWLDzWqb)~oDdsYM%WMC)IW zT}H|BiVQpT=_I|hF-s8-q3*vq5>M;1J2fo)!fhBbpZuWG|J*P-sKk&8{e_1nLy}D? zfo);;vzjpQOokHaP`%PQdRICoqlO1OnzUp_A_YrV${-+a^3!b)rfsOuiP! zn-lFNVU{wXj?p0`Jc?49SxZh+n3Q}rv96x}USjxHV!MnUd5i{0gYq^Ue1VadixPTu z9k}oLZ7PiurgFEK1X(wg9L7Jc`WQMZ>#1o<;i(3@vHEhFDeMwF&|brMFM$SR?QRF` z#lNhd`o*os#R=ui38U(=>JUz6%vO$=C`(t0HrHtPC6(`efc}yIQ#8nri!$M*+wSHI zmUwDsOv$tOt7*zAIwO>IqLpkG=Ny`lFs+f-gj>778h0R-(}mjl{0a_cuhBlPEHnTv zNZ8~xkOI<|zr^~xwo?_LB|qx#2aPs(dCm&G4;9zX0(|6G*?qo0_(!#veBp2D;HphI zxmN&IQess^LqY7h^8X*dKyb&c;i5lDHS7JhFF(>?`|9Bf0&Znh)(Rg{XfZ z>9nSq0(sDBVPW92gadKS?A!Pt=Cc@j1udcq?19<+R$vb8Qv}9&aVPF0~9tC%!lmbRHn^{G-R)@Sr{(Au^)-?S{RzJL(yS)4E zFF$ED5)&rKag?NoJMDA^@49}|-8QtAUygc4fNk|K%*y|9$ysrm*xTk|?9Ox+>!|)_ zRI-6_)e6ij*A}@Bs)?jOFs^*y-|w$B`Uxqd2kDv%*bPT0WCBA#dP~iF|C&EGOgD)S zg!G{g#D8ZU#G~_ld9+7^SB)`Y6!5>bWpm%puWw(q1U+&Q&))CIygju4G;vRt=SO*^ zKS83_Hfv#_o2&4BlHIX};~ON-h8PZMx(4?c z*xQ*k2aRGz$mlz<%yf`B!#>DT!F~T|uokKM@wLU_GLvE1IX0Tq{`)wEsqtlBM~mza zhcLf!6#4p+=UuxgBfx;0++Tzh4}s^0r`r4l{rq(vaOpDJRs91lQjv#>PbI^U8w|$FD{J`P)k=kqB zcNDCbSJt;8!cX%OvkVS)mL7M$Wy|xzq$Aj_XQ>+}nH$yGzeWQ3f9?RbR|u_bJ>K03 zVZks|XRDqi{n)d=|CuuE!?Dw+K6phEYi}=?XYOI$x9J@4Whe5m#dAS}M>#(M)VTUp?AFgb1(a_e9z&Ugx`Cl#14Yf5{(?@6*mux1)v z-{fnJ}iz;7oXP%Da49`V}Z5W5aNbG;mXedVXL6&%*ON;cW1tSh(vV zXkUM=7Wf!~wbiS2g0p}d-&IX*#|>s6#j1Ae?@p&mKuY&iazionM^H|RCQgrm(5B5? zuma+bP6J}&c*G{Nx?XOd?Mk}RxKt+FKz&!V$PQJbzdhbJV=CVis<(QgaJ~xY7_C)Y zI1SEksnniDL)1 z&QXz=IZ9ZBmo#e{$6E_dGA>qX-Kp{92~<8-&E{4y%Eca@^@q)X;R%T{TA>2m%#C}t zZ|H+Bz!u0C-D50WV?Y91vrktaixYQ4*pmHy9NccgIIe~2lrl{1of^KfmnCBoOH_3m zd2LRHy^88U(MIQuKYCU#N1K>=i#dlm0CUsjN_DIUk;~f()be)JTd6-qimY^kMF{;b zD!0)WJ6p30&4s0*cV<5xlHQI*pZ}`TSb^{1c&2aI?Nad6@Q-oqq)9?xQNchj3R3Nj zVk2qE_7vl{%&u__2jYYHCF`zYCMCN9t=e)>LLQHAejJpqB@taY;96CjBtlKkd(?lk zar2yIzFm5^)LTFE6B4a5KBpy>i>(nOAu2hyzUDoj!-%4)pylF{^Iwbjbny_08KNK= z#E_46tD{#W{~EJNfLno5g8P6`Pd*S0_w^fEPeuHtdZb@i%)0f%&$WY!P4hQmO*y@8 ze8(6AJvx?Oit3O10pXH+?t|(icyDZ!;;W|{*_o-i{DS}8R>{R|V4|u$ubynOd zP|7ah9anN@;(ORs`C4auxmc~Xr8}ISx!J7z;M3J|zs-N*xJPIq5TateZYJ3|Ag6b`SjI$HssRJSllRCJZhdtXwzWBd+x{xBzC0l((D3biiVOK{0W6Z_- zCmSgs{GnKA{-D~W=|F0?Cli-DHbb;Wfc|k+f$`#90CIt zqfH2_gSqa;5PEMv5D1SGg&CGwmUpN~HP5ung@1hi`%%oUgcu*$=96pWJ^ybjK7tCl zC0qnSV%H%?^~?+)S)ejwsxED8Ar^{=8mP+r_PjN+Jyfy!v$dXcL6NAg%1P>jgl3Vy zEjl8pVH)u?q6Jq0>eY3IWpb<%?3i3YU{-cWY_Z`}a(1A5Y(wN*q`wa+)Xj*Wn7DKo zxBG2VF7$H)V)Q&ecIH^3Dkr{$lsY+W2j<`n>;l5^$1WxpJ1gF!ik7THS z*DQ0o>^YsdA4WpbT6DZUUtQdu?K3GOi1`J#$)+uT1fK74|NP3Gu7_#tKjzW?A-LI4 zkUkN2Ee$pQ&VCut`3U$Uv$QN8Cj}t^HoD$1Fxb?9)8kM&9n#V!UaLm07Gb7Xo&JoI2mz2#l z_%Tiw!=*3!TJ5LqJjxOa*|zuY@NqRobBC7mo6q+)f0OC^7ej8N0r%p&S5(J-xa67u zyC>x(gYK<`*!z1g8@uJp&?=BX>zV=L-Y!=giSk+W?+G0HlKW=wLll>@$E^i1s}r3y zx}6?o(@2BM#EXLrf@)hew=~`R)N#)7tGv)04(dd+^=DIb-1QUI2qJ{v!COBS7aPZz z@dnHU<_+Z|d%p?9ou@0cvKf2Yt}qfW^2~%|s$BSS39*rHpj%Zx8Y*8P_&g5qH*FDT zR<1RD6_ZyM+txRyH*@}*>>JD3=ijl_P{3l%Vo8nKgQiSRah-{SN;p|D7+_c(vj1$3 zeK=r&=qj;$krJF(S2o>!y2bWWj_HvB=t)IT1|=n@OJC}FcXxMTU|=4fo*Ifl8TKNx z+ut{87G?CDA)w<#HA1)%j2B??%Ia1oCsiip84Ue6ifpWi&E=uQvbW&q85tSr>5Xa@ zVAz&0XXX4aPBLZ1<~(%cv&&##Vgr|h7!UFUOiGbI6(a&cs39QJ#Yti`#?%71f1*%j z;iQbU{FEc#H+fjpd%oNM`g3J*`7U+ zZ6>FpE-nNmMj`?Qg3br`ZPfjZJL2x{&KzzuA+|p*sfzg?9ZLcc0x{(y1f_P2P-)yq z>tq$BM2DX`U|&oe-xG}z{VN6>gb);O9GHj?0SSUHkFoJ1_`_HM zdK$lnhX-MQN>-CGn?(q8!&hXqGJn z>1$KW4_AhLvG;w7=`o>qC>w9Gh$&9sP>@8ljEvO6r)kRy JauGeh{}07MiRVw&bM&6{;>Zq)-|}g|5yrxj>gW%AycHOBbuB z$?Z#?B=1QXqKOR$w!m@&#?!B8qddI7}1k7P(_c zjS>;;%c%Kj@eCM(1mSKRJc1OZ;@RmH^&|04Pv@CUg|H2%1URW74c-R56=_h6mJ;B9 zi__tYQ;OpBt=uODR6*E<2z}FjB9$`yMbchM*GxOWe^}`hyB@7UH>oUeB2^?_>B%|X zCwr=QDx?za3rU`kl_IrF$R~9qgWmhpYq;Fug0J*0Q<>o+cvPV)kZWAN)a(jbk(eeD zZ`NWjb3fepopp1V!gDK1eas}LBaw+FDo*N+>wUTXsRmx8xJ#Ho_%X4sz2O*IxILu7 z@CT%#L6g$9Up+Ci91B){kfUMjWqlGcr%F$X@P525PT8waD$F+M!m(bqE@&3`5U!K2 zRyJ;7q=X-FgTPiOU>qR?OP)kf*?yA_%2Ofm{O@<0+ye33YHs|;0}X+dBq4A0tG>lq|kFBM_)~0Syw)ktIvB1xU=0zK2V1+59M~= zJM#pUR>n(}#mrt4kBcw7-0-A$E75T&UXsB^S$h!{n&fW@r`jc|C&nejIjCOMXT9=uIHcRf6jNSvXnI>QWH#@Xv)s9)UzYa*!;Y<95qpE{34QUm3COn-)+TwKdFA=~zp{fs;o zxX1SuV5<^<-PyX3pHg)!&CqN?2@-J%pC6sn>*O2ta0 zmC~F31FCV1aic~^l@#+SuVlAk@}m>J)J5a>zw1le7{!ncdEK4xMW{b-D7QFwN@+yt zP0-} zOVMRAWT{S$j1f)<6pT;5n&z_jSTk>dY2j?~Zd&JC%rwKa#vb}q=+xl!%Wt}hN7KZX z>gMII>+!1CY1t#pmL_&)b1Zo*#VohX8E2MqKPXmdhUOUOVitGLCYRNy{tBBx=Mm$~ zuiE9i<-6s$)o{<}P+WYUlATtfo!2bhsM;tmF5N3jC29Ii?(>L!8nU*`tW-jFN>QWA zmCvE<5BbipfQkV400ulY-u=DuEBDR|$aAoJuDi#D&5q}U=??6#?H#7svRQ9EAN)Do zE<72QIWxPNOxOBLyNsVrKXW@@zG$@!!dt-Y!Ik4&vY0cNvo*59upsAnZ|c-jFsnYx z)yB2x7Iy-_PKf?JI3sw>D6U^JX8Q#JOlb6=`k!~ zqUB{1| zcJ3FtM?P;W{dD*dw}rRHvslx95tq`O(q^5#Xzlv_&g=^MQ1(!lpO2rMu!fL79V^{D zJuba2abXB&%U}zd>C?N+S*tQb9inFbCd8(fZcm%*t1;_UgZUn@7u4+q*4gRT$u|z3 zb=NM}EcX-l9CyywDYuRfMfXIoiLl2|wXjYVRvPogKZ+B4<$S-ib^0F7FYhPqD+{YD zm?@YmSeC2V864lP29lVNB$2!(@yt5RntUt&8MTA7BR=rQ8jihNs)d|xz3KJP@fMtg z$j7eRpx$Vg=r4Ue<2yUY<8EHQ==J!po826P4)-Q2yy zLA*rrkr_CxbdTC^^g1T|J%TxcC%W>;FLLZ9rzMYK{Jy*+cMZekHrYxXq=BL7hz(Ft zvQXN)oO-NiH+&a)@M>G2)M#n=WM(}-qLr&%@6DnAI{Gw~0~MhRSq?@1fz(|`_?DXe z-6Z#J+^#1dhb__(w4hIG$O_ppW-*GB@wG{D-_FSSuvXH1%w~pa`ZS#p;w+-BaiFp7 zfL8{3S{0coF(6klm)Gr4&5|7vS z0g%?$WGkdK(T}8_Dm(Ag6|eQBCSv`RU+0J9)yh<*)SA72rzkOQJ9)C(v@6RdV>*-u z?17eB@fv-_=NhtA!=|GdKe(x!Mn)Q98@L_4nOtaf6z^ShPMdme#Ll*dyicWfm|jy@ zP<;8KiTDxA>U|Is2BVes#&@$HUu|>mC!~$#j5m#SvCgn`Z>Mi&Yg&=%`_(7DPZ{p^ z71q( z8BdLjnny8Fz3yeH&H>T5BhF(^tsgk$6)rL3d6lvm9EhAN%V^(oO9#Gv`$%VR`E$l} z@k?#mQ}~VMg^S;T@nY*C%E8VYZe3NwLe+QogrB9kug$`%^GvVme^`5bx@4c?nX;KL zYOJ#&nxp!0_0fCbF$I)dt zr#M06A(x4J@ml@JNiG#N)m8=$mxfd2Q|z_M(eBWsd@?1+4_>ydp^L4#t(huRQ>Iiz zZr3foU-$ipE!Yv-=PhmkgRpA!w<3-~_1HOWcUwb6;_7yPcdhrs2BZN!t% z(Pj#7i${%{iLK47R>((-UHr+}8>v%^)r&RGTU(bVXOG1xqRFRY?d8VNBWb}M@41`k zo0I$e4SDU1{EsA_8h6u|mg{vvwpXyHFfd(O@b4b!eA+`yj6lcku%K!T(9ZEkG29}q zr+&n*TvY?8*YfK2VzJmSK^8xsJgk`R8yle8TC9(+p)aO;AyD2z5w{~|mX^MCJ}#yd zd^doAnhwR$>m@rX4f~WwJ(4Qe_27tT^vz~<`%*WI^JC@;^72=JP}CZ$OPa{af@pzj zI1mg38VCxwf&hL%5O^Tyzpg+nolh}jrl11V5n0zk09HyZHC$%Op#1jwdLs6W@BEg%gf zto&9|68Kg&bTBryaWu1anqB&w4cvgYlhAMkfv_l^KM;~i0dc`fa~YmOr*qrWpT3PCsmhK zAbxA>U`))x$jr!0Du6&tOw8wCWWu8)BKEsD@E1R+nUj+p4-=ECt1F``8>6j*DH97f zH#ZYAD-$a#1CWEk@q>+%z8iy$BiY{%`STnRV@E>=b2}$=`l0H}T z&+G4YI+>gNt0o)A-`xT_$n>1T#KOqT^gk6db~FE9ian?Nuf>2d`lnm}QJI^*-QR`& z8jQc&$oJd=9t|a9M_ViB=e`KAu(LA*FD91f-+X_y@ITW3)xW>X{;Q~}jk%Km>+d4} zb^E_dssAhef2{G})Bn4yyo0$hFeiVv_IGvve(&G%KMxeoU&~ir#M~NKea}7QeD2r( znDXBxRUM5T-r8CN1)ctF%z%;mYb6O={ny<;30CIMD~!iV-^P@m)Q!Q&*hJsi%869q zUlzc}^t@!O%>V1Df8G7h$Np~V|J)M3fAvD+U;Sfc`;Y$pTgt!n4_GBUZyk)EjatRl z)=J?2wsAhD|IYJY#bp7LGtzg`7twbz7GPy&Wn*ArWng)&!otGC%*DgZ^8W89{71Im zkNCU)|7Jpe+vi{X2MkmI0Vw*%*aZ+?VWhExKtdo%5n&ZKh=VlPkC@#Hfszgr9&pod zurV+(Q4}%SAw!_|waawMnwR7&5-gc!bt*FF7Hhs5v?IWUOym}@@4hA{Y4((7wO5z_ z5)%`Z>Ug=)D#$l7BIn6*Ho|+<)QGRBrL`m#2p8n@`#mL2T-gHt&In0L{QDgT&SBp< z5(10-{cdA|RKmOO$PxJ`gA(33=by}^tJn}UNM8C%q^Kwmf4^yvZt?$IqaKI)#KN>P z(?tJMqc~i0O55Iak>JDmWUcigq2mzCuy(=#_TQy_x5!o#CXQF09$hE%WNT3i3k%bD zobd!cx`~MegtPm8`t)f$TRcBMf5q$W02LKg=bh%(?&;zPSz4~{j-|2?i=&xh`(_%Yb zpdid-{~%NAef@d_S!zbc)337DW$&j4phft6ZpT+E-bDELmJ{du^Jh2P8RFVeJ*$_k zFKTpu4_Ol&dmAb%1x4=L>G2XxPWpqDk7vUqfv+l!2jfZJ2F$%7BO`mscihH*wKUm7 z{m)3E5Q6da%#Zi%oSe>;<@u-UY;~6i=9=a{Y^O>3psrPo3UsFEPZcPRoNLzEc&>+Y zQpzTaRFXw-8LYPX7GRHnF)=amIc>V6SS)9XA)sJV-PVG652|C>eBl$~;+pRc8+E-O zUXP%61|ae7=EU%&?=dER%l`T`g8x$8w5Oxv%{@vmiwPR!=H_PW{pp}(S+m&SOTqhN zWjXH8Epzn1Lz8%%_mFw_+qMP~nVN)_i%P%m`9L8v!}s0&a9w#g@_rf|9OS*-$rg`z zB^l0925+_8bd&CJsL|lCdD2VdJ*6oAL3_IJ_e!Xb74jF87cUfC_NOLNTh&=#i(Vbyap4*(Pl0qBO@sZe+z+rP`BbW2n9`v zWL>}d3DN8NCu~d)d!fhGA(7{Kw4+oytMP!~(~W$db+#P}@q@PO59bbeszir!JB7!k z2FDUg;U;quydJ|y{+`|2i(ljK6%45TUA}%sx!FpwJ#4;O&WkE*x!qd}WqO`^Y=-wn zOM+$fYX}DQA-yo~A#V{%zGCN59JM}qmFYCg=y=)I|Ad*sgT#=-vw&ETW@`2)+t9Ra zHjbhBGr^@~$90=tWbY$Ggi0~#)TZKGM^d@XUhv7cs|+|rkoX?F$lH7Sl7Grb-=ujf z*>Vhr$Mx{OpDH723m7{Q#2a8#7@LmYXwq+{x-Nep-`WlPaJCg4wu`&D+JkS~Wu^B8 z36DJ}c!`>tBinwc3Ft;}`<{?rg=DJBf_atcXb&3{9V8y8CtzYiDdjWhAggqcv2lOi zG~@Lh)7(q3FdW}Eevrb3Tca7?hYj0G1U$aue0`$YPUxZ#(4nX18yco*7Xx%~XY- zQ3cVu)i*No_;9syGRZCoppcH= zZ#-(zGS&s<`ldn0!fZLbLUcp^1S{Gg!h6%L{AHWVBL3~iVF`RcHn6^z<#0+$%AhJe z(*0Uedl~ZYGY3u(aXuU(JGAk5za_(j)u@7Hdd3V#Mg0+rc7ZnLG>$%2ZOP^LSET(B6Xo z#n4p53TdPRm+sIieMu>^SF%re9BwvJXd1NHu!ToV}kLH;LOuG zx(rtGWK#%Smnuq^zhdpzF4}Af!^Z@`FVYW$)3pi15{U2(1kMYTZ>|;#>8!)`e+*-R zf`tUsCrHRdx?}Q8p>O3U*UV@=&}h;yOlFn0U@52p*qUSid|4~V*mc#$caTod#RN_b zdG7x50sWx_pV-f*-1O$q!pi*kRsVnmEvZZhDJU54OKdJTKXhe>R|0`c6IP$~QpUeT+U`_MPtMC-o7Vc{$1Z>K}L?ydtFg5=pzR;`g-);m9P z#9-4#rKKSgny%g;(j&zBbox79M5=;ByAm1Qi2SOof#aR@8x+%rCg5;W)F}8QcY;G@ z>r;Ld>XhdiK=kog_*4Ku8KeAHuNXx9etwW!#qY3A{{0#ymn*)EIeF-?CYBQJ8)$sJOT=0JidzTzwH z(~OrTuQ~$uXsa*;4%|IRd2XI7R5u4-SRw^sD?AhXWsv^16@H|E{a#`ImxL>k3I>C9 zcs;Mx1H{WD8OPvl*5k<>cDZ4E68j={CS!-KhvUwdAJY709kJ9!mOpG0#3XcK*yvCh zvwj`UL_0wd&k*n&Qj4e(`Yiezn~8$&mGIP!G{r?z5$3g+w;;A-V)8~cG&Ja!B>fD1 zbK6K$pgDheAV^9`=rQ?WHaKgu_e*rb64+^Xfqcr=j(>JqYTuqwQe)k!qbBCeBd$)% z3|-Zd;h`ZuRS9LE%4Oa#$o2 zLI7!a3KEmFEQzlH+zWmpEP(#q zw*NoPST%Q|yGeX4o?S(k4HqQj1Ajd1Zo%HVs9S^khz7YRuS5|fqzA_y3^psD@CoZ1 z9UUDUq+?==3=7La%_H#Lt+GIcKs9>>A;t*XIkSF}lanJNF3xGQp(J5$Zf;{^V{czU zF0_95*&$eH64Ji zWxEZ=Gf1F_v3$xFE_tI}{sA2g4KMax@N=rKPaJ4>cQ-t-7eAAom|j7Nm5mKwQI(q=wIs=D24dI)qesh0jL}5bDOIrr}e@V94y?5@!mJ!v19PW z5I74j?4C50S|{4xfGZ}r#4Vo|vtof&AWRaKnAo?&NJCRt>Lm2z-Hht2hdZ=Cv#qYpu24VKPCIuDU?F(XFlT zn=tR$n*@HtI%B_)teT z9i!)d3HI@TzgEXth2CBED%=EG_K0%qoj9A#UOr0VZSEaJ7Y~{070Fo{Cs1WGJNq0(=wLh(f*C(b1S+lC~Q|2DlW3BZh~moaN3f7{iY zD4*B>lqMRBFTX9%pA^D#nFr%Yig+bW#gl#?WQNlNc# zYobx$>cSwSFG%erK|(YN`p+4{Z$D(EgxG{*)>QO=w+f{NusQ#uX4TQ($62N%yqU*W zN&D|P<<1SpbL7%R0t!kBN-N@ubnj)Ks;Ebl3w6ajNZpOxC(v>%zi-GDC6OxN`%cdr zdz-{1ACcG&6m3h3Hldv7Z;G-g#x0_=qz9#2XUD8pt19Bp#G_K>W*IM;iZhv((tEi` z*=Trv`!wv^=XRFx(PIE++gd!YMmo5X1p(M2>Vw*1DMZWet812y68z5aPG-GFstCfu zg6i*fs>4J|UeSMv#~cf{)woJo_G0H;@ea?TBrqCAk8!ZSBw@Oimi66R(!t_zormRT#(FH*LTd}TEsIF#@Cvqyj-_#~H^Y1Bv|w0s$l z;sj?QlnoDLXXi1-@NGk-rlI+8Hq5!=d8OS#f?fY!H3n`Lg8iRamz=8BO>I(drPsVu<$IejNUL@zrO3AfkZm)ySWOsMGM=6kW?3s zKilLGmDXz;=aTMreHE(ZuhgpZNlT5xwx?T zdDv_1ypp{Zz9MT$Q5Dh8A9MUZ`dM9A&X&IZ39#IG31|^L4>*zPZ#Ye79R+=-ldc&C z1O0TtH^$Dhg+<@XhHRAIqtd{a^Sh;Rl*NHQx+iz`*6pX%E+^+oniurvKzC=dj4hs? zhDZ>Gm`&3zD?7BwwVsR;6T54;{7SOqWm+nKtER7{n3SI*Fanmb805T+oE zthBGT`?0WZZEx3^Pf`ZqL8Z;ULP>4)Q7CxL`gI}0ey(pDF?1k+sB%yk)@gT)Bv*Se zC#MVNkx_E&wKde!`-@~bzYnK-C%c{7wsR~PcqCYd3A0pYi#ClV zGtv+du@fkIt0XEvMhfGQU(>U?{F=7eN}V>;Np!huMwc!k>|OfMTkQ+QLr|_u#pt}7 zI$rTsO2!F;C~HnD3gZodf-rqNK8RV>GD_2AE zMTG_;{iE5&=k0?)uwLMsolkEvtE-)s>h1e{p^&+Jh6ggM+f`_DNrI03v@Q;l=*-){ zz2^RL)l}v&JHzi$J)iA*=XrPNG;rdf`EXXyMGj z!BGn_AFBf1ql`k+?CZACelK`+4Ih)o_~3Q=<)uKnZ7OM_bH6&fqmzn}NL^{kjp=}T zeMPp;m;&d>R5!{mP+snLp~5tz%j^a*b{~>&&ML9I-?jK8^F`%@8M)1lXa2C;b|;L z$~fcKi~i((^gh(9oHgIQ9re)aO@%iuE-oPbAa}0N6^;P4t&22Eb64BL2@29f4qiAr<6(MiguUd-i&>Gxa0Kx{EcJ?{unq5xN!?B zpij~b zZc=(U?|y;YuTfZWLsJ3WL_1PsU*tGBNNbb;gp1Wr_Qz1A4D>`2G3AojEp^uA9VJ|B z5k0IQAnwMY>8X~@6!DTt^Tia#c z7!at~P0N}u5t76TNq!3XT=AVw)E3gYpN^gfzH4`p)Lmil{4qi!2D#BAiv845_?GK@ zrp9w;rUXB-DvR;B5(`pzKQK0cxZ~ycHw}6E9~1H3d7k%KdEHynS|9w)esxxBd~|?p zZeKq+KUn0HX)Lh$i~u3PQ|0F9@t6ct5h4+}_^nJ1e0Aw`wEO@laXKv@KLDKa(;^zc z2R4sBEocNC*U)0KvlpiXeP^~?Z7Ve0TFJ6w)jW#@B`46>k?JX zKLkV$Ku%+}zIcBK$l)^qA-Iw(`9nZ5p9#qSQ!|pw<0{4%?><-iA24RYH)ekYc5^%t zVoD1DDaiQIs;rfh0^4)3O}=0n?gW{OhY`#NCP8)GvXj8-i69|rG@LmK7mwu6;Cj6% z^0rH2Cs!TM&50jZWvC^BIi?@CXU10^b=0-g#>e*U(}S{IB5h+ZrpLmh0Njc~3KqMN zoU8FX&*>J;-9(B9os6UQUPwv=Pg<~v*qERsljM@Xjrr*q*U8A&$#@>{>|6;Wq4=(% z>`XHzd$$*A)_hO(!4OMW5qkYc9fuSJMk-UHi17E=+HnJ8%h>8`(efK&f9xO4i9>3m`7%?Mn~jt9s7Oi%zazr^mY?o! z0dTx`P5dPV1zdpkd9Zs4E^XMtTWGWI#(c*I2&RDOzmz_K7tJXsn6Y5ncu<@Cfzx(* zD3>bZW91eF5epy(JYPnFzhg)|4~%4Ew6o{sylD!DwS&p>cjsR~YKOXm7ze2g37}^` zV(WhV8Rxn`S3%@`Z$Io-W|X>Y-%CIy9#MVbxIH48RgsSnBos>8#$_xMmyqCb;r?)Y z!Dcc<&A@OGQkTDjtAhyTQJ4i0aBzQfhKj0LYxQBjqW2PT5daE*Rn})KdG}jLe?X*# zH(ym9A&cbe$j$J&?Wb$mGGA%&Y`xjSN0-+H1b=n5aDz{8fW@Lv&MBQ6L_0%=#K6PC za*`EDcsg(~r7WMDljA1p@Lo-A3sW*&4mDWPu=U~6F|RPGTZe)v@L84Wh-+)}g<^R_ zPEI~G-JY13DEN5Y`O88Zs;f7Vl_J$?Lh@Nbn!IfKa0bXNX*9}t^qRFp8gANqh_879 ztJo0r%iNpgn$dcDdRk5g=td-HJujx;p>mB#bkra)ny$DmnCH(|nR;xVDmF$+>wMm+ zMgHf?gU5;29*#4FQ3Q$D! z%45HxZpi_WQp!aJ*s8HbQkpl474=c!@F9yIamk7kO^1`a?aIB6i{6z{5_WqC9*!CA zD{P`|L0Ih1S5bY=0OT`u8kyTd<^0MQZ5-uKk9Ur{)su3Dhd}d2VUh4eNVd~l3Da0< zn!V-=?^pd^roQvO*~DfK=zJ--lt)ib-=!j1(Z^WJAhUM0?C}y~etzDn42M!Wo<7SZ z1`%VuH*&>sl)wMAL08b`U_#2ZYLQyB8$fQ3v-ANvQkRf!M5n693t01IPkRATnLA6klIohlPc~5`7#q(HAon;t}T!jSB_lI^*e{3ZG)? z^Rmx6>lLO(wap`9V6`-5nC7Gt{cMBTzp-dqv37mAH z?>8|2NR?a+1uOx$o}ZGq)i}9 zUjD1J(dE|+lJU|9X31=|Nm>kxfOu;{zl>>6{tLMY=1}w=srg1%+ms#{iMEgoZLwG< za_EyKn{RLHSLHs}%DwO=d@cS2m z!M&9TOX%ifr=yeZ=(BodDy^4g3&VwILk@DxY3QQSm?_pUR89tEJD=~2>%Jqfg4HW6 zCp#~$8sT}oUbl94axHZT`SeCHhDyFR0fkGQm+Jx8zw7;X$F;uJq_VzEQI4mcWM;hY!{WauqGT|3Q?oN&?AYN zvYy-{6A8TXfP&ahjtvl=(lQu+i*3aUy+_f;TqX_a);%~e7K^8T7U%q{q^@$Q4%Tpb zru$8XaG#KY@aUfY)=-kn{iQ`SL=SBz;Sb0dP%urPE6* z+Kk|G%H43k>1;$qOhhD6x;l$d(FcPEIGc89@Zf_hko3lL9%d%mwj@+kRPHVhWECYP zCHG5jFQbhN0be^=%;y!lvL>{!ON_}pc*BB%Sr|h{nlWPFu)_1FGYi(x*PE+`%^u{) zEhvEFg(w17eKKvSOSp&66s4r1GECJ|eB&M#qyF?YJ3E+jK0NLViM6!hMv4UfI;Ie@ zLEW)Kt_ba}xeSv6kF_s&q1wE2^^JHheY=@4)UrI>&Y{`zBe@A%bO-m?#f`BIC3XyT z=L~n$@KU5MboOf?SU`izFf|&CHv?w6RMH_Vxtup4YFlZ4(7Je|=iOl}u z8n%`Ot!E{5%cs^b<-utX@x1$Z%Rndty=+*#UKuOpynZ)&2$Co%?tNb-5Qfk}-e$9V zfeep6T1wlP<+wG(l8-~HambYbN2$|FItB@!nSF)>4I7Dbz4GwGWf2L7IiM*Z@3*bd9+^*GUd z*=LL%Lx$w!d(FbUZ_m1>H_&T6P#AnSk7otN_sX}{H_&mIKI~>{O2r6EwOl~&bz4iZ zWPl)e8g=wcWhBf^>Qqh=ODS%6Zvm6VKgfwvK^;ICpxe5eD$drq<0khITR|6R7tAE+ zX2u&X(QT86jS~pv;tVFgHP6a=?D8x5{{1&=?){Tr^1zq8L&^!%=X~})*jd3uuPreA zW*cDlvQ=A{NYuyhQRrXmGKIePF^>`NlFcnZG-K$A7fRx?In%;SXd39X$4>z(1xZ(< zv`TzzXqwom)_@n8EBW=lsNEdPIO?GEeHksQ6I}UHuah}pu|=L5%V`DCSDw}HJH?+w z;ZyM7q_!_}WPQxuvbt+9?W;lqz5otdlgjt_ogEmai|?6eSgFBt2CI?~Fa&2TkqR|7 zKfY%Tw}Jc4wI<`xa65D%V=C-j&CDvorAO)gLY-t+khL<^k*B}w`_g|!-1o(E4eyyQ z(vpL`=bjE(Nb2#=WuG$oii2uq4`3tzM+Vc+;qyMG33F0y0`k{)N3G)K$4YB&Tgfc+ z;n0qC&5sAMIl&$Ul)(VkdPbRhL@@&RpXLtcG*%1WXwl@dR2Q`RD(n=~BW2lPPr;zV zu|jCzefkJ>UrGoIz1-Os&$4)O+szva^%?%q;3-L5EQzb@&a{*cP=O z@H@NkSIfLLTEB&ENGV`#2-z30{$V9d0LM6NcC~2u!%AWSR^qd!X8ebh=m2)I&((|KC!Q_4~Pc42Lit;SVlmi`X0pCC8X)P9qa+RbZXQYM>k5@Y-IVb z$xU9AJ+eBh`BT74x}a?8^G0S`tZA-CAp(kXwsw)IPjM8>EgjpU9j z8DJ8qSJGN*hQm7fFX#N!d$w76UpbBm!y@5xSj}p?b`!Uo@$D64*E<1RFASH>1b{1W z*kMWJ#9vOHqjZo7`L6rOB7p;mU*i+X4KPVBUvWi2J_k_&EH3&rLi8(ud(u%NZMRXP z^- zhHQ}A45d;lV*Iz>!7i?P}a0J4NpP3y# zxgUYz@%4J7EI4H2Cn522xMKB+uZ-MnD`MsEbKOrY z3`#{I?U?5ePU#fqQDa!ZTRC5g_CA7}Cc>;>G z=vF|jSR3Ct3Auf|J6Zuk<$&(ZPCcYGuN@uv!V>CPJk{>?4GpF8dvG{%n4_Vi&$|+j z6)IDST>#sP7*0(m9#rZk3L&q{J`m=%f3DKz??dQQz)Hhndk=6*od!Vq9L*r0Da`eeC~sQ=q%!gqyC}@UBfn^v5^=)0$7Ru6ET{-$l^{mgPLy?#VY)Ke4%~-=$8Wr zt1Qk*`yrH)pE>@lM4m-y^6m;JV-NE}4-l6l!+QR*Oi}jUJU{IcaDimq#aIOrxD?a~ zy`pChAq1HGwP-R}9TkY#MTOnMV93c+bp%9}0%&?&nPgxSg;f;ADGa3VjQDQ%^UXd5 zAj-E$X6gcmgfuY^&w>;veqCmJ4(C|b1jhhhj|BxA+Z25kQ>a2OW(_d-3`rlPwqmT* z-K6Vi+F~)Bav%ma@9YcPPyks!pvvf?2ft~nBo`1^PF13>{EQZb$$?#iURyIsrbg3M zZsK-#P^atm6T0V7k}Ay!*plYy5&Y?aqmIPG(!yLF(2&C3p)$f*fh$`jNH3B1PUTod zGcBT`wL1YsUm5@ADa7E{&v;Fn_MxE5wpUN@s;{1C{P*T^n6c;dMR7)sKH;3p4fM+)pUbtS{s9eb-0sP_aQ6G%nnxo`dzHA>-AYfTP9w-XbC@qpMuI~3-S zErHO2bwla=u9(6ere$hSeFGR3;0JXC!iGoO%9sUE+>|Ti_1B^q;Njtm*_rjxIwi#2 z6(ZQMDZv4??+%gsCSmYV=ivs$#$#zUT%cKWLWvV=YiR)dfY+Rh6g9@z9t&x>OqA`|Cj zVXLaLDrE#T-@Myrm#~);(1bfk7 z`8sqWaia7%1)J%eeVOi|NYMIp<4ZZt%P46G`h<*nOxnhi?mN_eNZv`LNerJjyFHpQ zdfZFqYYjb-sMTet%$_f^EwZNFMH3IDhP`is=4Uecm>2zmGU1`y4}qj}puJ}buWc4B zcSWZo1|EtWUCI$9x8_3<$$L4eTbL*v?1 zbBKFD?06xa_d)Hx9yN1zy+?vPBFgNFGW(`m*Y`jyCz$O^xwC)u$+aTBxP-x6iHLco z5uSNkc~I}AgdrgiQrb~$?$(#0tr}0WFO}#JWdkS^%((Ll)sHD#U%a4Xgd(CKU=B^4 zhYDYiIx=Si0%D4ZTP1Xx0OUy+fffQ>qHy?|Hs-Du<^!g%G0N+Deaed0Z&;VcaKg^W zBBJ>Ce_FxI^G7Z3;EuTcf-@%@*DILfdNV<;g&qcOdv88j4w=P11!qt$R1V!wBapH~ zQJo>N@Db3QlEUhh=fV)c={`>pQK&Ku0#jH+BRF06^K55|L5#1_Ayj;m@nb~3&N?a- z-V6e|hM;AHN^h(?f?M0m(OR zlD<_^r*y+U6-w=d&Q$}kC}oi~yf3V?<<#5)#dr&|3Rbpx4bkbXLGPGkQ@ z*=AzT^c1x;1nX~%>}&Vz`$#>^yCwat)DJ($u&{Ngj{k86$UW1J$sa1ZzkzusE`Ynu z#Oi6^|Hl3u!2qdW=(2r6Y!nXrYL-MMbUwNz; zRkf{D6*0}x-{m1rXUiIhB(O({TUZw?6W0`tg9qr|GmOywh}9L&EG1hz%1$?W4eMnr zLx8qw3tX$=)r&xih*b~B1nndrl4O$QJh$cifSSJKdel{OyMzhJshhF5OjB&i+An5e zEr+ZAc&o7A8KsY*wEkjoX@w(h+FpBn5$=58e96mB=}k38ptZ~=!Y^FN=M43ZU)W*1 zlbDvZT+TQ(A7o3MNLOJXCvfgtr4c#f0db-9X*Z4)^vr!grz_v0!hhOw?eS`S&m9Vc zuWMNX{xyX}T!2tH@Q9V=@-q%t2y^~7AgLJmN3yJz`_Jo9h z*@dIFQKkGn@P`zD=cf5ej^U5z#^;$;DJ-c_3a$#Fzw`Wi!em8&m?@GDKKdn*xWYs! z$O*i2*S}|SRqmO#d9LKJfs^a^{-$PTq>vZXNU|!SA%7f5sCN9on(=M|)*?`3g zm$TBn^BT!3Tj|YTtHpPWG}Bhzf99cJ9HpEqt`7aS0_OgS)3qmaL;uZtepKgFo&Fc~4 z>{Ql!$R*20BKp6&NaK)Hd9Q z2olLOrR;$L%@cun*!->e*|dXcf!j5&6Un&s>a~iD)BQ!0vR6^{;=H4|8Cw{!YIy|H zbT(sh!hHb7lOd>e=8+#5`f+{gf&j>y9LDNlU4x_oEYCoMfmNjj& ztyDU{YMb-(V!Dr?M?DfB9(s7u9ml6sdPh6*G<>;2PRopxZGydFHL9`tdGm zC(nVw_7PFgjh~`tUE&(vGUTAK6eHa19&_t%<;$nP`P8O+DpN?ju z>MY$ch#c{rG)cZc7B=?&;Ag*ClXq0xQi+(HstaL5bS4@Dfr1J8-KIqG-8mFiB1AMSSGuHB&qp9BFfvf3VXVWy9 zdlyBw$o+QXQgMevOCJ9R(UY-}io8*(i-7Yli+TSW3G)%d!x^ zPZp)DPV;|iIP-X@x<8KFvm{F@rR?UxC`0JUmcr1aL1T<4G#HIcmYOlyx5rkhkua7* zwk!=<=D`dJV_(bescgj{OUz^UyYu|=dfk8S>z?~M=f2K4-+SJl^Zgtrw+f=O1I80in{?dlh?E+>8HV1>p>_WnL|_Cos16 zPkRUMnXSB9)E^Ro)l8`Ker-x~dbr;j1H&db+;Y4%^#F3UOlC*0Qzo!j=O0o?{``%Q#2Yt~I2*sO-e-L^fV415Gxkhi?aGLMeA4F8Y1gt5z-K6kU zWe~2#XDEl356xL?Etom}RYP%PI?$UrNIuflIL#3B&{2nfRS34}fi*Iy9gkn9IMPSv z3L5k_7OdZb1iQYGWT-d?7ItamVx_MXcVkW>pO=U3iLe?0$*B<2<|@+tPYh^fJHcY{ zrs>RrfbKJ?`tG3p={1DkS4?OH%1am0wjjRqKCj7Be)t;C@S|}XtBW)LdM;MqGtV8E zcvh@Q&`QU82s`O1le$FDm9(nV7I}y?D;k?^n!Rqv^v084V@IsO`a>pzns5HjTRfYY zW%0!mnk^(rZb&dt(m?}94vc5}G6JDHI%6&vw4yW=u2|&TQRis?L?&C?X1E9l8x5sc zOF9=(6D7v%!ewJDI|E*q2Siq@1adS zCs4H-qfMv~a;+{kDt?91Q4A%(->Q+T_mh^YUe%f1(*J@)Mn9mX4e{!^FuGe`)9cn) z5idseyx$Q9@1Jc^XHq8DL;Q|zY#;vivo7+^e26{rqd(WZthuoa;}_~<)Egvs%R7Uk z3D$IUe68W7IoqW#*UsKHzhdMAwr3l6cCtNWC^n6~^?rqECM$eeh&*%-54i{RR_ zzrK-#f@S~`7*WjmWAOaY$9X=bZhNVz*eAm!@jqU*4M_8;cd8mi{J4Xy2;@_1Zx|+5 zF37FUuBWx+KRPzQEg>{hdcVvCnv*TROgr`rLD#Asy~!ML5{x3mX7%Sfv=chkcIv7R zU${!?zbhi*b8A?AqENliPm7q?XqZ6PuRZL9rKsuR#lm7HCz+d>gU}z-(~2Mvqq%v& zA4!Ur_5LhXxuLYF9F1>!htrpof~-8k?#A|sSui{;GXIf!oU4*=sV9<_F~|pTj=sAf zTwWM>f{2dG#uTee$SDU{@h*AU(JKQ@3G3OME{buja1|2xeMgzhpW57xHND{TaZWjm z@c03+)PkUm?!DV@eabTh$L0En1?VMK-}f>L#2LDg$8h1UKp+veA zy44aEJ-Vv>*O~AP-2wlrKwEpQ1dNW+esENB@J>>%=N5m*9Kr$h0(JHak)pHCe5B^oJJ>1_{~Y!4v>TPmZlJ&f*gmML9(TR zo2yUH=xrga3}D6t0^!Dughaj&t1WV#n0#YTLZdc0F^XgSCZO?$dKNzCxvT7WfDNnrar#xKra-iJl{{wH# z27y~wjbIUAue4JKoDc>i8p$npA_23=f7=9qCl~?kDWRz2-OL6Ka6>d~Q31&2FAe$& zO#NLBNJbC^*0qNJ-Y__52Sy1fleriR%BLht=}5eluJ%;c$Yn2s!!Yu|qh5>3s%dnF zmkqA%^v;5wOt*&2r(fsk39*3JVtFeRA4Aod?RrobX*e5i&COQgdqeo1$&glu+%ep@ zE9aTUF2sk#I5pvSwLTuDB3zczq;{FABO&~_X7mtLpu zZH*}V&1}GPuoaK>CahPv@3P9n0l7P`x0tny>IIf zi1UeD>2ZN&Ke^>(i-JTB%))jOM}g3;F7$O(04>Qbi$!H8uK7h`m)8s?H%~;?AlVj^ zQi0{H)(2Znzto3?t#{>now+n$XiJhc59qXmO?_@({MHZ1@f2IYk07Z;{O*Jb3xE~u zzXzcxzo9O(fd_DWWM^lu1?Te_Bl!++(TvRxeSLjEF7(8(&pKeYaF*hfxfjuX2!{u1 z6HFS<0uCQBVV?yMV{|OcKQRhOUK$_2RVL0U#_z&qsKw`h_JND!SAYC<9@$Wym?y<% zCrdM#SEFf}#cX@;Wp*b+6iNYyFyI8L(QVGf&kqjZkt;yFzW)c1Y!o#;?RqJ|`dPn` zN@8X3uK%US2=>;OpO~_`I^aRFw6G{H8UaMJ=H_NMH#fYJ6%F{r00BsakdRQ2IS1w4 z07a{*1yxt&IX_t9c#-Y!66NEu6L-G0y!iL?SFh?YU8#`S;u?UVzL|39p*=jf4VSI! z`;B;k1Yb$WO&k%KhX5)>9c^uI&)!`>r#U$}>FxC~YL3}m$Zn-0j}C4$@+jA!356(= zAFLuQF$%cv*Tgzg4BPvafHzNwIV*+U6bFZUosXCkYlFDJyuAB%kqFZd7sBGDE}(^+ z?{34tM~m~_7>uN$ZIPpDFV5+^+qElcmmy3Zo|vVn<6b$ zq2(iVyb{4<&(8_f5a$p=!(egy;vYU>L;H>Ra`;}(OiwSH^MbCsRIKe=#~=5-^!d6N z|79+HZX^&el9Qtup(*Bo&kB3jL{CLgPcN-sa*v-=aD}*5HVzH7IWESp%*jyG;i?i! zX}ZZ$;3SG56zqE;xed0V17S5JLvvB7IZF<#o3x;x#|2RTNn>lrd{7h( Integrations -> Battery Notes screen add a new device where you can enter the battery details manually. + +* Why is my device not being discovered? +It could be missing from the [library](https://github.com/andrew-codechimp/HA-Battery-Notes/blob/main/library.md) or does not exactly match the name that your integration has. ZHA and Z2M for example have different manufacturers/models for the same device, you can still add it manually or contribute to the library. + +* When is the library updated? +It updates when Home Assistant is restarted and approximately every 24 hours after that. +It will pull the latest devices that have been merged into the main branch, if you have recently submitted a pull request for a new device it will not appear until it has been manually reviewed and merged. + +* How do I remove a battery note on a device? +Go into the Settings -> Integrations -> Battery Notes, use the menu on the right of a device and select Delete, this will only delete the battery note, not the whole device. + +* Why does the device icon change? +Unfortunately where there are multiple integrations associated with a device Home Assistant seems to choose an icon at random, I have no control over this. + +* Can I edit a battery note? +Go into Settings -> Integrations -> Battery Notes and click Configure on the device you want to edit. + +* Why am I only able to see some of my devices when adding manually? +By default Battery Notes filters the device list to only devices with a battery, if you want to add a battery note to a random device then you can disable this filtering by adding the following configuration to your `configuration.yaml` and restart Home Assistant to see all devices. +``` +battery_notes: + show_all_devices: True +``` + +* I only want to add notes to a few devices, can I disable auto discovery? +If you want to disable this functionality you can add the following to your `configuration.yaml`, after a restart of Home Assistant you will not see discovered battery notes. +``` +battery_notes: + enable_autodiscovery: False +``` + +* I don't want to track battery replacement, can I disable this? +Yes, you can add the following to your `configuration.yaml`, after a restart of Home Assistant *new* devices added to battery notes will have the battery replaced sensor and button disabled. Any devices you have previously added to Battery Notes you will have to disable/enable these sensors manually, which also means you can just enable specific sensors of important ones you want to track. +``` +battery_notes: + enable_replaced: False +``` + +* How can I show my support? +[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/codechimp) diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..f57c42f70 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,45 @@ +# Battery Notes for Home Assistant + +Integration to add battery notes to a device, with automatic discovery via a growing [battery library](https://github.com/andrew-codechimp/HA-Battery-Notes/blob/main/library.md) for devices. +Track both the battery type and also when the battery was replaced. + +*Please star this repo on [GitHub](https://github.com/andrew-codechimp/HA-Battery-Notes) if you find it useful* +*If you want to show your support please* + +[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png)](https://www.buymeacoffee.com/codechimp) + + +## Features + +The integration will add additional diagnostic entities to your device. + +![device example](./assets/screenshot-device.png) + +* [Entities](./entities.md) +* [Services](./services.md) + +## How to use Battery Notes +Once you have [installed the integration](https://github.com/andrew-codechimp/HA-Battery-Notes#installation) you will hopefully have some devices discovered and you can follow the Notification to confirm their details and add them, if you don't have devices discovered you can add them manually. + +![device discovery](./assets/screenshot-discovery.png) + +## To add a battery note manually +* Go to Settings/Integrations and click Add Integration. +* Select Battery Notes. +* Choose your device from the drop down and click next. +* Enter the battery type and quantity and click submit. + +!!! info + + The library is updated automatically with new devices approximately every 24 hours from starting Home Assistant, if you have added a device to the library using [this form](https://github.com/andrew-codechimp/HA-Battery-Notes/issues/new?template=new_device_request.yml&title=[Device]%3A+) then this will take about a day to be discovered once it's approved and added. + + +## Community Contributions + +A collection of community contributions can be found on the [community contributions](./community.md) page. + + +## FAQ + +Before raising anything, please read through the [faq](./faq.md). If you have questions, then you can raise a [discussion](https://github.com/andrew-codechimp/HA-Battery-Notes/discussions). If you have found a bug or have a feature request please [raise it](https://github.com/andrew-codechimp/HA-Battery-Notes/issues) using the appropriate report template. + diff --git a/docs/library.md b/docs/library.md new file mode 100644 index 000000000..b727f6246 --- /dev/null +++ b/docs/library.md @@ -0,0 +1,38 @@ +# Library + +The library contains user contributed device definitions to allow discovery of the most popular devices. +The library is updated when Home Assistant is restarted and approximately every 24 hours after that. +It will pull the latest devices that have been merged into the main branch, if you have recently submitted a pull request for a new device it will not appear until it has been manually reviewed and merged. + +# Contributing to the library + +## Submit Definition via GitHub Issues Form + +To add a new device via GitHub Issues, fill out [this form](https://github.com/andrew-codechimp/HA-Battery-Notes/issues/new?template=new_device_request.yml&title=[Device]%3A+). +Upon submission of the issue, GitHub will attempt to make the required code changes automatically. + +## Submit Definition via Pull Request + +Fork the repository, add your device details to the JSON document `custom_components/battery_notes/data/library.json`, and then submit a pull request. Do not enable GitHub Actions (disabled by default) as this will mess with the pull request and are unnecessary for a library submission. + +* The manufacturer and model should be exactly what is displayed on the Device screen within Home Assistant. +* The make & model names may be different between integrations such as Zigbee2MQTT and ZHA, if you see a similar device please duplicate the entry rather than changing it. +* Please keep devices in alphabetical order by manufacturer/model. +* The `battery_quantity` data is numeric (no quotes) and optional. If a device only requires a single battery, it should be omitted. +* The `battery_type` data should follow the most common naming for general batteries (ex. AAA, D) and the IEC naming for battery cells according to [Wikipedia](https://en.wikipedia.org/wiki/List_of_battery_sizes) (ex. CR2032, 18650) +* If a device has a bespoke rechargeable battery you can use `"battery_type": "Rechargeable"` +* For devices like smoke alarms where the battery is not replaceable you can use `"battery_type": "Irreplaceable"` +* If a device shouldn't be discovered because there are multiple revisions with the same model number but different battery types it can be added to the library with a `"battery_type": "MANUAL"` to note it is a device that shouldn't have a battery definition added to the library to save removal/re-add because people don't realise there are variants. + +For the example image below, your JSON entry will look like this: + +``` +{ + "manufacturer": "Philips", + "model": "Hue motion sensor (9290012607)", + "battery_type": "AAA", + "battery_quantity": 2 +}, +``` + +![device details](./assets/screenshot-device-info.png) diff --git a/docs/services.md b/docs/services.md new file mode 100644 index 000000000..ed4ac3d53 --- /dev/null +++ b/docs/services.md @@ -0,0 +1,10 @@ +# Services + +## battery_notes.set_battery_replaced + +For updating the [battery replaced date](./entities.md#battery-replaced). This allows you to change the date a battery was replaced. + +| Parameter | Optional | Description | +| ------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------- | +| `data.device_id` | `no` | The device id that you want to change the battery replaced date for. | +| `data.datetime_replaced` | `yes` | The optional datetime that you want to set the battery replaced to, if omitted the current date/time will be used. | diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..fbc94d7e8 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,43 @@ +site_name: Battery Notes for Home Assistant +site_url: https://andrew-codechimp.github.io/ha-battery-notes +repo_url: https://github.com/andrew-codechimp/ha-battery-notes +docs_dir: docs + +nav: + - Home: index.md + - Entities: entities.md + - Services: services.md + - Library: library.md + - Configuration: configuration.md + - Community: community.md + - FAQ: faq.md + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - attr_list + - toc: + permalink: "#" + +theme: + name: material + features: + - navigation.top + - search.suggest + - search.highlight + - toc.follow + palette: + # Palette toggle for light mode + - scheme: default + primary: light blue + toggle: + icon: material/brightness-7 + name: Switch to dark mode + + # Palette toggle for dark mode + - scheme: slate + primary: light blue + toggle: + icon: material/brightness-4 + name: Switch to light mode \ No newline at end of file