From 42f38121b6bf9ba6af50013d7537935541c98cb8 Mon Sep 17 00:00:00 2001 From: Otto Winter Date: Mon, 17 Dec 2018 16:45:56 +0100 Subject: [PATCH] Add ESPHome native API docs (#7873) * Add esphomelib native API docs * :sparkles: Rename to ESPHome * Address comments * Update esphome.markdown --- source/_components/esphome.markdown | 27 +++++++++++++++++++++ source/images/supported_brands/esphome.png | Bin 0 -> 20395 bytes 2 files changed, 27 insertions(+) create mode 100644 source/_components/esphome.markdown create mode 100644 source/images/supported_brands/esphome.png diff --git a/source/_components/esphome.markdown b/source/_components/esphome.markdown new file mode 100644 index 00000000000..78da0786716 --- /dev/null +++ b/source/_components/esphome.markdown @@ -0,0 +1,27 @@ +--- +layout: page +title: "ESPHome" +description: "Support for ESPHome devices using the native ESPHome API." +date: 2018-12-16 14:20 +sidebar: true +comments: false +sharing: true +footer: true +logo: esphome.png +ha_category: DIY +ha_release: 0.85 +ha_iot_class: "Local Push" +--- + +This component allows you to connect your [ESPHome](https://esphomelib.com/esphomeyaml/index.html) devices directly into Home Assistant with the [native ESPHome API](https://esphomelib.com/esphomeyaml/components/api.html). + +## {% linkable_title Setup the component via the integrations screen %} + +Menu: *Configuration* -> *Integrations* + +Press on **ESPHome** and configure the integration: + +* Enter the address and port of your ESP. For example if the node is called `livingroom`, the address would be `livingroom.local` and the port number `6053` (default). +* Then Home Assistant will try to connect to the device. If you have a password set Home Assistant will additionally ask you for the password. + +After that, all the entities you have configured on your ESPHome node will automatically show up in Home Assistant. diff --git a/source/images/supported_brands/esphome.png b/source/images/supported_brands/esphome.png new file mode 100644 index 0000000000000000000000000000000000000000..730d9451401d1e607942457d2035d24d29464cca GIT binary patch literal 20395 zcmeIacT`l#w=jAT5giqD7y%`T9zY}uN(M(pIgOxl$;T1Ktj{fB%3C@I?V5W-(BB&@2_{?``)|jch+LTslBUe*RGwb4v(+tT|NBE ziC-WHI*e%kVE{pUOCX53eE&YslK1Nl75v)keF?d-A3P!Z?H_^n19vn{y&>pj0QSQa z<#byfG#>Z4Y~o|+>FDEs3+Dj&`}<2ed$@Yr-MZr->4|enT~s*%K_?;PkKbtXa@O2WTo3m>n7V%_0giTvEING|x z5Pgpik#1k8lj1~p0;tdrB(%_c3pc*dAca{pB`vp_JP&Gx>}(?=akYpnuVJt zZ5Gz=2zkp5K|1!jsJf2q!Q6Rve)AegO^ozHzPIeVpEk!rsOnZ`^b_ZVm^vZSR?Xt~ ziz8|zv97jrXS~!T^=SDp!*}${U4=8G@my1!(YKHgS(0^*sUPus0=j90uD@g)@zSR3 zWFP48n|o8NQKEsqKtlu_IzIR!W9j72`-7OE+k=(Pj?!s~=eTOkH}3o-!^8dqRI^c~ zcGk(voXtQJ4*_l2`P)ZF1=|;@3O#;-Bik?ue1HEvKVPLl0jFqHQjh6By!Ho7KrC}IeIS1+&$(jE*EdK{rK zFTEl?o?Mh3^9Ns;a{KgJc1s{ysn*_AII48~F|F@q@`pRlt#PX`rBzN=uX*G5&=$F^ z+6z-HLFih&ob{oY^FHHZ?aPfT3i?AG`m_?gE6>^3waP=vu!ga8y60YIsOg>wo=kUM z%R3V)sO(-VNqT&|f7>J&4h(ONqli<25&p65r@#5ypioTO~cJ8a~-; z0?zL;Wa#B^VlD<6L+OhHW~u3D+Owd9F1>C^ZQ6sisJ&2xOto%`kWIFf)r`ASw&~b; zAJ*KWdM!t19<=V<&yc>eA{ur-cxheuQ7%8Ohq8x)-x*PCS+PKoeN5^Yk^ zv-TuuYnU(P6x+uVM@#otTiR$UQRM;z#Welpe4$Dr^zD!l;}#lKsdQ<}G@ktO(9V1M zlVOo_BMySfIfL{0E8LZXV=0dMM8O(eG%k0OyRx@WL{aGd=-(U028()mmKCme-qE@J ztMgv3f;0bi9;P23Z@Ugb(|7)utG;iR>Ta15O&1)zFquRusa~r;M7{s9UACx%+)R;m zUc9XcH>OQ2u*kbJ`eD~$o_s4_)Un!lwsih^{n_@!0~)0SM+LlQtO=XGJ(Hba#$I48}Ezoz3q$k=WGV}4i@Rs@+$Wof+8jYom;I5YrR%IT}i$U z{cxrZ-D~cJW&B2>|6(F}SXA98v?3ZEsZPH&-zMnnc#FXQT5ZUwyKVFJAct&`P=^?C zJ$F$#pa|ipi098$8`^;5Je>w0h#Pgv-TZKSoHAP&W5KA@rQIb6WU39vBmAG6zxsad zLprqSGIQmjBCCtn{irei$wLW4B3*4C3%qhc$Ui*GlRaj`)b(;Uf8gCMrMi9WG zln2#UOI5FCZw3(D5``6Q7O(GxvdpRw+6zMC5Ao5kBy!?3@23kY=cZboN3J#WcvTh8 zg<%gKuc4G>9dY=W<5qh;br&B2V^-sM=rpMZVeM@!%L#-Y{ZIB zhGFVKfQFUv`Q+sZCl$j1N$>P!|9q+g%WATslb1M za@;#+zQ8ZqVaD7gF2&Bm$#;NvHMV+7fg~}*Z45zYO9|vQLSs__G1RA% z<>z3OpD?>lxqXpOqpLf6YUphzoK7?`uFx``>{rfC(XkpgpxC*MYnP`LOS#(3e$}E7 z%h@F$h^TOGN=n?-GcLpTj*|_&rIpeOGdfgix=rz9ZPgX$kCaV#xKpXgaOm{f!(lT< zfAUrTAofRh{9P&WvT=(mZpY@8$neQ-}Czauo36x4?*Z!Ji9?_ApAF;foh zW6J2_2wv!ZI{c-a?FV5yr$y~>wd!rGIecv(_pi!%bi}WDDZSYWDVnYJ)Nm6>_l;nJ z&QSFYx9{Q3P`qSgm*mC_OTsl=LPO4s2q#SH3^m||4^g`^kfNfjVvXB7YLndhll=$R zJa1Eqop>jm)64+2YbZ-y6Ys`IEpx;zV6E#`8l75o-A8V;7Nu;<%sYGBY%F>)IewZnW3a8t7?S%m-Jwg{lKbmzCE}-xi-P^Ny^R~XtkTH{AOFq| z*mL2>PkfC^JKuCe0y)b0U9CHQQegT`vmUR2_Q`TcWUk)-aY{1Gd2et3)!2Y`B zOW{braCImet)#Rq(H-+XmX9yoV7`0g_T+14M?dTM>F5Z)t~&n_p)H9WD-tWJQsHwH zL>x0RqU(phN5TSnV*%SUOOp3EpPo5!6c}AX8U7s@LTbb-uU7rvd+~}$>Rgorr0F8?h>$luf z>Yr@n@6^EIT{wXRzGq>Hx|YxEa}yYMF2=2T>d^3Q@}HcvjdGJI15VZrpMO{1&YDq6 zOZ8X-p=f*AtQvz>$+oeSkiq!TIqO(lsGPeaG`mxKKMaCC-(Bt+zx*v&cCbOKd`OVQ z2wvz^l<02^k0W~O$d{kTCR_K`M>cQmDz-2h0YeBcyIJ^ic^NwDnCOPiBYnThyO>vmC98}%v zhzWLz3T1+_gsODIxgI&?4*zf&WJ9)Jw}eqfZ7KS5rHeB}lXWdNo$^0k#HkTgKaqV^ zd+XJ7P5PqVca1lwyN_3w77sp7%o(&UX75~lrO$)s?YA8r&S`uy+o`YauWYH+s2w?M zab@Qz|9qHs&Eet%O7e6p8mc-|oAme)bTN8cVatLyOnub-RGngN?x54_xCXv4+tHma z!*(hX9Q;w|+r+F>4k=Qu>Y3-K{@}boJCwt`An?~t_tLfaA%E~^{|Z;#*6-22`rjxL zeGLYTDo)q!-VB!prRCA@c4osb8?(PlIhQVSt=(8o?CRvY{)tT|y!;Av*f0}P@FaGtMS%`hC|>hUb>g0FgE zc91}~Mj;P6k_+bX?Ud8zs$HC%G|OLiQ0)mqYDS%$g`)ILChH0d$E(=auFZ29dYJY< z=IB$U9bmbm3` z_Cqs)QH}I*&B0K$4U?L+X9+H$UhKq%+H5nY)mWeL7URkr^Q=L6t1lB=(m%|}`47(5 z#D(`5)T@90s}J>$96rCbFxr15E8rTtuT?T`!lSE`PfBW`P`>HL#()od#D=ezGA&g} zmNXL-kS0ODgvPD?P;eK=ySTpU)zZ^0kGm#XtcSB~iTlz=^%av*si{G3?Ww^5F&CQ4=9f#=Na{YD+~&)ZFqQICW=&K16Rt*0 zU|g5uN5aaITsf_#r&(d~sULN%T2Vl=oc$)ULvR!|NsRnq7BA;tGyM7eWP$w|DqrXW zO7{3CM!=4lmU`oG6Jf6j1dm#;c<9g?Vg>AewPY1Wa4mqcRr*i2*6@q^8;SzUu~T!f z|Lqq~kJYJ9sb{S(@s5g+*1Y-c8hygIhFYjoeHLkCLq7H9YmU) zmn*AnzXWT0-R1UGJ+3H|hx9Ei4r9W4?0i?~Q~AeFoE=5|oX2LabZsq9svD}g>8B{? z`l)J^#`T}D(b^*pp^NK5KdG^C>Q9PXo$bVH)dXgILN<|5)luqwVt1PQc#GN@Vp^P9 zMlLZk?y&Qo^%I9Ci1|-ajS9%Fv)kuw4Xi0Ye~u{&`@5r_ew*CO4Mt3SM{Jm$`h@?r zM!|;l^bOg(p!Qj!m2Q%_C_kCL9qzms-x3Rqq#1 z)+a6pNfmF^Gk=eO4uXs;BL4uWqk|H9%76FQA%odH(D#usgg=2Ci>zsu8KbKB5heMM zXQkfgdA`0ozNjk*)Z{Al%PQYb7Hi|^yy}evvZF+AnNXsT={S(@{I&7=^Uf{{T|#^U z;V0y&KYtp-)nT!jyAT;x50hB?lgRnMJhR8H{3dr%!)|r(6-=lU0N?p)urLtTp^E3 z5iHVr{`xo*bR5AI2h_7dx4Ua#Cy~JZ9KYYcxY#iLyvQsq$to0h9lfv3wFfG>IEE(= zz}8}x`(xr&OQ7ZnJ!C9}j6Z6{1g%gekPd`41lMvEv0Nb?5|6lLu0<<=!=HJqAKe4l zoJ$l6bVI8WCHFSl`vQg~4Xz;_nmC=dJQgVLgCD}5Je?yWpjTGvrYOzkXv1`7A+Ev;w)l@B4$TUlj6GDp0hgIfKGQ*PLo8l zqanyfc)m+qNTu9IQ2Gzhz@j%sPq$z0$j3;Nt^z5)4C!X}!MlPo%m=f=Jax*fXHP-U?GGJDkq)i2 z>tWN=q`NHFszOnVBgOp?WJd$3vV`T{LyxDn)E@yXkhIad9_~}u<)&-EM$Gxv zcCmoCD>+*(_!bifuthztox3ff{lU^e@h{e|owWoSn~tkz7!JFdjLgW_PUL-3k~{5 zW{wJzqR~3xOX2|XJsm*qbjmSI3)7bs^fhT*%ZbdOT}LD0!vM%U1W?SGW2&nMYzDWHv3Pq8qp;8#HPUfpP25np zBqCNbyx%5wwMT?oMSDLJ^nExJriTEJQdSYaQ!7k*hBTy+Z;d9fKs{O!EYQWwjC8Uu z(x*rF2FA-1*)CcA6N;F_f`#v&4j_6dlQaFmIH2#%U+sgq4}o|D3RMs!9W+*gZvT%o>0YK zJ^@6XM=a23U<@G}E8+v=PY+BW>2n}fgr={X{|k5u0~!${{{jAr0UfUg{|k5$1DbWd zOHLp9kGlXJ((hh7yhhV9$UiWjQI0J}`bn;k;wzt{vL@-|n54%n(EZ&h4Kz$Iyb(&^ z*wb_oqc-X9&+lJ500YN;5@VA2a!<_ZIy2$F_e9*q1}Q;vg#*22Pbr-QElj&DLUte( z#a4e3Taa7Fz`y!KSbzD|0`V&WL^s91mFj#1p{8kUjyI*b!iv>CM_CHAa97&EKxeU5 zlgcxo0{l1b5|l^481=_L%R2^q26VD+BM{J(7Xtt`r3Z>H=mVA=!=@LPoak)@9J_V^ zOxI-ltCj8*3w|$XzT1@UFLpc)=DLSb8Lbg;UI1*#Zx~}u4z*kj=-r3C zVyxtDoW$3?^f`L^6u{0X6t#p74V0r67B%~oya#jEh#-=odko?r$F&$Zmmq2TAVH%5 z4z!Dlt0j<)QC!&!eg{E1*iQ7rC?`LD|Kd*RdOSMXG{*}ITz*^Iu zqz+Xyu=9+Z*;PmF`Pu|ik+Mp#rQ-ZdoK0?haG*9i4C0utR~{HU z5RcnZ2#(_)%zzX&qGWQ{WvCUi>ZXPbkwTXCQxyLV_K!-3*sRku9&WH zcC~L`lO_;_>E%>}|60v{n+a7_lC~Dt+fMQ9YH!Lj+3n3aSl^{EWepsPc7k!5Y=H>0 zQN6N(ex^9w_f2sEjKD7px}2vl>VZKjF#(e<2M45h4l`{C*X0iv2=;9aNoD(1>6Qg! zfdVfG$LJK!)N1Cf@|j-gwla~v2EN{|%D;LJH0=k~HZqPpT3k(+ypFQ3O#OtVKrm&P>L}cIEg_pdTMxQ&G2%m#rCANIEB%I9 z?D~(BjWsF>F853TVVBto0hR*MnYX!>-WecqqL^#f--Vp2JHZ8{ zQU?J;)r*mu0UMjr9vDx;|AFQy92gFkVZ-+BwHIcz9)K8N)Ei$QWw{q>yBI*^2GTFh z#KdX0o($(EfDkDMt}_z{iZt-&`Rs!c{3@~}OT0<}*hOikiC$YXwo)jfU79)ia)~7A zG+Orp07{PONB?knCLt8)`%kn^JZe*V1{_g+gs%!!SKN_+N)+|AY0tYZUmF2O!&n^V za=OX(nVSyI4BbLiq)056Uo%DUs0h6igCZo#SUID=e}luTUyX{AM$v_I`(d2Wm-{Wk z)plSZ7v5)pBL#C1{d`HUdL}|CMga{57!9Qy7^u1IcPJvG z0GN^ADz(vCcu;K5Xz6gh5AY7WJYZ=TJ@=Z3Kd0bTgh@w{MV?M(D976kH3ZTPm1u_C zar&ZiiX?_E7y_x;hX8`EfiUuN=~>-7zBgtsLEPfl5Q2NeIo}$f{kf*+_Cw_XT4*A+ z**4b)D^f21=mDf9jh13j|8GJ~whN1C_KQgXm$jLHJ$$Uj_P~g9Bs&7!*O; zwIJ4r8fHOkF`^DVg$~;I^$Q2u&Yp^R%*P=M_G%vjveeWk&hK7J#Y^r@dgO5ba|6gm zcQqT>KMhn}pBDMf7s8ji9jRGrgF8jRe9^abL5{g^S{aGep-ub;)c0GCy8c-+7U+ct zu(fUAwuUgtTBthzjzp9F1LMze9NprD>eWD(ViKW)j_YsXM1tf!y)Bs3k3~n_&IxRL z-k+?y7nV-24@J2Ml6xb(ezkeKpr=Wz2J8QE@PYBQW>LhbMMoS`vf=QDY;-_NAA)4u z1Y6d86+|F04}bhJcLxWwy+Q|jy$fD(IMfM9LBtX!wHp39yCSuDZ$>201!x*KE0ADm z`%kjP;7-sUx4vjQVa|V4LBnDC*rE5!c$F96(B@DoaGl)Gr+&1yiE&370*`3J27(Wp z+YgMTb#mdrAZ#dMY$*7h71UVsdOx;{g*WLS2&TGqe6DY_W7SXtz0xd)WIUYn{CC5P)3o%!Eqp69K z_c|;LY9Nz~@5F2r{~k&rSG*%a*MKIsEuPLknB{FOqNq-4LF-PFlAR^4PISLaz7`2~wsI{TeDILN9!N?5zSoN(E*!;|4Z6h#rzgm=I9SSb>K@ zy`uTs_x;5Y?dAZE8U0pZ4|J$;_&Rw~EXdyPDxYn)Y-7#IK&(WsaBj8L+9O8TcN(y|nprmltAFBksnDk|_xr-SJuoq321{-{su2q972Ncth zfeob&%)!DpfcQgJ8@yj>;nQUT(RQ>91FL}jJZ^m!a%Wt}ieYhBb$78zXa763A8~Cfks|b1SY**AJ3a(Ifu1sIfHG|@(c_F;g`ciW0pEtA~qd~cBf(~D6SCg`HI+Ed5AtHzY0d_5t0 zE$7GIP)2{>x`xMhk1r$LoY|@((t1~4HqLx;2D#V1&O=x&1IiZ$ngc;uED3Hun9~6xKs*CwSsL2NNdf=qbSs8$& zuK^JR_gTs@rwc)CnBahe1k3;Q$_FAj@Yn#;)VyE?#1uT!BA`n1PjL&9R>xeX-RvHd zGxOLbOHd@k#(d?&Bu>c0f;q^h0H`lTq1XqT!VZ|Or15_IW)^lb{;yYMtmEd++M>!( zS$+e@&#FId`B{$LJ13eI@#mMnALku)`XGqBu;tZk5zYBvG}(2A4_}#XHoW(IR^cay zJC7>)j$MCoGxblJN+Vt;dvi{5u+G>%!g#4MmzNk905ZbvF(zhXDS#WbE zWL=Fq>QALEma{{4Id@s4)6G#{Yh}Q@rX*)zsAhh`>aY2LP}sD|l|aJ&9;lrwIPHSC zl@E(YkStQjuMm$sK7eks0N@FWBQU!@?sv*bfU zOps#}9n@IK;UaWo3KKN%tIP+5*Hdmg#`M;}{X*5E4%xj9zLNmbCVyBwX~Y;!GsQ@P zV$wlj7(BOA_JOPtf^@t8kyqyvAe)0AIbCLKOCoXr<>2>cxx>3+oC4MbUN3e73c>S# zuk#RCfK6n*ILU#i@j1E|F%qs;B*o!Djy;$E7>quhw2xC~@%s=HcUuh%vSfV}kBav^ z0VP3c>yby311Hqby8!Yt6?N z5QObZav{2z2?zJGfxVFS1M9^PpC{G2{ExkuRZ%5*_JUJTNZJuVyMqx5w%FZ0tVrgS z0k!{>@>kY#bJPM)eg|{i?AQbC=rKnJR!WkR=cAW`FUplf=rRU3K%HC010+MhSpUB$ z{Qs-kiGiKow~%H}h0S}}E*1ObgZdr_y>Hvd6tijLe9#u*!Ca5uK%0%BTuG9Al&~Vm zC|y}G<>YMPH)+Es!gM`35QjrHIiQo&whHM0QdxxA6UgMmVe#p=viQ1JVE+KZxf39( zT@)27PT17}NaqT3bZM{#s=O=okPhII3@9voA!-0@s2gl(TLx-B48#kw`e1ZN_F{}Y zC@BLI%4@qa-n1fD!Y!LxCHwLruuBlstc8tI24udq^*_YTn;@WCmj6k$P6G`9b}D%vXOoYlCXMtDrVhZw9Ym~B>~(ide^n6&(Ly{!~^X2f0aF#aeVE{iVc{Piy0kD%-ciKs+h%E*xlub zS!W<0x&O?rqYq?&5rW45CrJv6Co})g*M%`~o%A2UB7u&6#@HdIFY!J$EFK6Re;UX; z5Kfm}K~KQc*UJJ_^+rq-F)B*_H~}P|1Fv$D#PtsfCzvtN+X@vCp|``~c=E!40OrS1 zDxdp7d1TgkF{Dz9#)DMmaj{;Q(?-?=zFT^%q4bPY%Zh32ycc*|CshCg2ME!H>C)5Ji;kI9}A=A^z zn;2ide?X8vpqIP-+(j_$xhSOu_}=y_K&uR`#Aa6V4@C`KqasY7-(~q+>DfF6)ZA`4 z8Iy_#(=s63kXzR!6kPu;#Jr-Cmo|u8XFiJG(wDJ-}Kek2Rs~7x9QS z3AkE;bRF9W>G*j(Z?e4u<)pN00f@2=i-;&@V}>M$HVr3Yq}?_JGl&m)UdyPpF*wyAfxJsM{FuLwb7aEg=kRqXB6qt zdTv|2z2WwaO**&(!6B$f^SlCd@l#kbSrqBW=iBR;ZoZ$%vHunp^Ausk{SeqZN$N&7 z>->&zGXn*0EAq@)$o}yjqvGfJOig;(_2plbzV&fL4EpJ!?70h%SDRq-J`hAm_k(XQ zXfP<0W#c%xj{#;5RwUxm=@W`p2?rXXRNy>b*t3gAELH2HT-giN zCH|PSN<=#wSMq0b~-Oadd!xYnB2D59@RtO@Ti>dZiDR;rK!oVf;lR?IrpUJR@ zNOhjesif1u_ANW4!ofwwqu#@Xk>T;=EdEXgX|?y>>3(Bta5^6;y1nHmT6KSImWW6$ z(0QX*6X5lQrJn-2xUS!JwzCN1acX?=_U@fCCIxXqre7wP#?xpwiV#&9l7KJ4!A??( zmd_v8_?y2zts|pz={el5w?wr@$v1N-(Unm$I=sMg|^n`bv1HbJvAHcRNY%c zl-JX!eTR3HV&AaBbtv||GmUuZH`Ng16tI;m>9f2M@t2l0II6dF>c6P_fGfq@C zENdo2Ao-kiVl2R@uecwRxR$n*$9B$d>cy;o0ad``Oq1;(84LRVAB{i%S6d3U1w8*% zmXZmK^tMC*1XY1>(aJ^o&(}Gd>+=4nZTCjT{p^9tnMr-+ z%w-?dO3j_d*Ydh_Dx-macqL>r`#Zz`bnXcP%0Oy&Y1%kb4=gjS`pbDG>x?L^~ zSKn&2d&56EYb!Z38&t7f#rz#OUx>6KV0*!dngOJdu@rG?onoRUvW!W z#d1*Z`fAd{W9lGyY?$#DHyUruE&oyVBECPLuX~5fP9r3cNgOx<2*F+MY*9bCRa{{j zQ{T0dA1OIaD`Sf-6>S_|UgDa+&YWg9RK0mKXI$jAH~%1LdQF`N-%i{#@0}Q3MFo;-uv&|)O7_g8l>NqhsU(So&wh~5lDi%C?ii9Wu&gMl zgVSbhG3ow2K{wC^@HM6$KTu+`9Pz7|R{HL(z<+ z5AI9Q1RS(al6UFk`O2HRoW|54b5P)y#O&?W0p+dYy|rf?GBcf5Lsk7gNeg_uFtvpE zQNaq@Cg))F*{=$z;6~CGplw=3eydTR`Yp)fY1f&>?s9{jS$~Z>tB!Z$v2frvG&4YO z2i4CR??X!;K=#NnBr|n*_)_QUu*Turr}--$TUhqi_>?oPJY%-6FMCmdS6XDl`I=fU zo|)g_J~>~d+^Y1dID1E?q5efdCeO+FB|eArzb_z?)%Ptd`vm+5>(80W8s30@Z?3ks zzHMk3_^@pd#rD+OcTO$fTjR*@MUwL(_n+*8A|7wbZ8eH+zPomR@R5|~DPv>bTUSll zc~8z?Li_y*{;$?_O^^4k{~Y^reN6Dgp9hiH?`Nn6s(uHK=f0W&)93>76jzOI)dxL0 zo?BStah>=1Uq6?7hTFDIN4F{HjuJeKlHJR{l6nc<8N5E0t)TLLb1}2)*0dq( z$685We!m|b2bLv?+w=cS-PtMad8k-xC$4eqvz4g+K3-cl%R*@+lHM0CNIHJpk9jF^ zRW5e8Ujp%)lU_Gvp4v8vO6Ho};&U9o;ae@==_e}oGV-G;nRW0O((t8Q!NWT9yYxEq zzSg=64#cn57SUS`nkJf6uW#+xX0>q%ReMKO%g=lfRcF?SDWtNV0U<-tx$PL)<1#Zu)oL8NVO}2YR9sO8oC5`O|NC zJgFgWo43$2rES)HMa6nIR=yo#EU)&&F5lIex(Y$;N3j13(CF8+Acj{dn%v|u%OH<3 z$2wWIs`*%MFqoFD3FNHUWzX9T!tm9o6P;6{ucv}R7rJ2u62}%6?39>IZ<9A4qs(Lgh?H$F_UrUMp|D#B(Q(C zq*92dNK&l4?=Q6)GHNz$QVGISsjU1h@w3|(dh2D~m_2TyTz)E%FAIL%YGjVJ6C^o< z{v_tOiB>}W=bB3Y)?X$BTWE{?&0d>Lc0c`E6D2K!EzsAj{MwoAE+8(f(2v}@_U37s zdhav7*a_3)Yr``S35xTR?TlqG%_USIyC7li-J)of2%BnTu|HvFEpq5$!21oy)?Xe- zjwojb%B*m2SH9S+^4EG;8lpnt=bPFYg=dVpH3Xi#Ifh8`1@O9pFKf+TgJz=7YY*|pQz zD-Mc^Wp9A5V0q3ynKcwmmDRVM!J@bvgEcPQq+stwYiE_$hDJ9Qly5E8qjh2q$F4uw zWKWh}pXRl6R_V`iBZTH2@D>2qA&*bb`c)ODq6_D4Ewnk&)*X?9S zrs-A1-Xd*vik}Q}6>FY$!I>-CPuKA)-c(t zPRmtei^*m8sNSOb_670uwszg`zg2eL(dQmDDbxux`z`+oTJ*G_lu7wEh>#6BudAotToKrNx^Wl0iA3S9~;BC-wtI=;Od|1dK6TRQnxoxWL zYt<@Yd{oY!5Nj|qO?v1xrbA5L+<4^gVg4o$lM-jcnrJvef zfvu}=PGuuRht^evlT&N$oSV7u&gaRcINj=LqQuKOt1Wm+<7W+_7p~0>IkV{6+ig&w z>-T87-dIGE-$tk0f|?%Sm$(=~FpqJKtDf4xKX&q;jh*%4waZI2T+3sIY?^z6^2fz{ z5_6OKkp)6oxF*G`%B(Xv#6<+B+1kzI8dv+l3{RF9$sBsD^7_SsU4fYFrkbYb>=_34 ze6VP+E}KI%AxgA|-~aWhF!sE?ih)g|beEKilv; zXa2fh_xuaIc>;MExJfDB(7Dm=QjJ!_Gp?P#Yp=dIR9@BDypTz*xon@7yMdciyi za`X;b*Tvb*b!r?WD)|~Ex_#WosOrr|){;Dwa@VGNGNX*L?~!1_Yqy2H|Qh{fyl7kFj;|>dfgU{A;wk>*!hzP$d zzX+Cxz4MU4YRp0@IC0oPX2WISVhoH^s1g}^l0GC zxlW{g!)j=#mP|DW*K_G>F`ya|hlhnp{=2WPIT;@oM^u-$2p`WQu}MLkwaY669pX&3 z(UyvP$nJm{>GY9qd&|~+bA`$Mx_^fg%FdPunG4e|&2{QN*>FJ%b2H!RQ4+`tJ(;N| zd_!25`-vK;Mf`@htPl9V4ENZki(RF(wyIxU2Ok<*vo3?Li(`Iv_k?pO`P4thC(n6dX7Z`%WDw{JorsL5m_*<4xRdH$I&OxCG9uldVVL_f@`IktaS@xYjowUqJQbv{L$Cx3+Gf^M>L4wfW#{>eBAxCx8fhehkR?NxU$%HenjN zxydFf7Vpw&XY8vn6!PY8+ffOU^DFf@%U&Vpd4#C#8-QBpY^(U)%x&)8#{>;Ls)gw- zJ>l<_+|yC}xY(JTNM`)z$<-O}lp4{gz66;7`_`!8A#WvJaM|O4rM`|(=cffv;V?gx z;ioEd%$0)zGdwk}sDAGDh@OFn6R$vrypJX-YY^^{Xa;<`$kgLRJK6vtbkU`g zYT)Y7YW3J|W4Kg>)=3SJ%}gNJV7Mz78-33K1TiizJ-Bb z80+6F=QvELFD=sDsvbA7Of2i~9WbJgJgbERty|yoxO8qc&wYcXI^Gz8Q=@t`H<~vvs^tGX{GAC(;`s#1W0hl@+vctL(Z^I{Yj2w8#B9~| zG_oBOJ$#=7zc4sZ&=q9Z-aB7ZW`Q}S*Garg#END_J2S= z^wt&F4iG>ln0!v;d{GOFsMu2#!TbR=k~Tg>%vbGDm^|szxmx|;g`q_xRyX|$H3hcT zqAd_2WgRZ}DI4Z~2{uIIL;@|SFVYTwLRHjAA_h*4pR8fJwJ7^pCMaSIe0&Px{=_iP zqo!5cyu}}XUdUSPD(s&eo~=suy^c=eRm7(>j_~-~v{HgYi_KJ&NvSBWTw94_-+g?Y zGO4qBoM?hCE1T*>7ZgEj7blXD1ny%N>4f)B<`C+S?kJEt?#H-YprnymMD=YJyvNJL z&=7?w(Y)n18;1uX