From 9580a2f41e58da245616d3a95ab49b52495f2688 Mon Sep 17 00:00:00 2001
From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
Date: Thu, 8 Aug 2024 12:19:42 +0200
Subject: [PATCH] Matter device update: add screenshot (#34197)
---
source/_integrations/matter.markdown | 11 +++++++++--
.../integrations/matter/matter_ota_message.png | Bin 0 -> 26645 bytes
2 files changed, 9 insertions(+), 2 deletions(-)
create mode 100644 source/images/integrations/matter/matter_ota_message.png
diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown
index 74a06d0807c..1255b1fce9b 100644
--- a/source/_integrations/matter.markdown
+++ b/source/_integrations/matter.markdown
@@ -322,9 +322,16 @@ This section provides a bit more information on some of the categories:
**IP addresses**: Typically more than one IPv6 address is shown: link local, unique local, and global unicast. In some cases a device also supports IPv4. In that case there will also be listed an IPv4 address here.
-## Matter device updates
+## Matter OTA device updates
-The Matter standard supports OTA (Over-the-Air) updates optionally. Matter devices that support Matter updates will have an [update entity](/integrations/update). Furthermore, the CSA DCL (Distributed Compliance Ledger) stores firmware update information. Home Assistant reads firmware update information directly from the DCL to learn about available updates. By default, the integration checks every 12 hours for an update. If you want to force an update check, use the `homeassistant.update_entity` [action](/integrations/homeassistant/) with the update entity as the target.
+The Matter protocol supports OTA (Over-the-Air) software updates. But the OTA software update is an optional feature for Matter devices, so not all Matter devices implement it. Home Assistant creates an update entity for every Matter device which does support Matter updates.
+
+The CSA operates a Distributed Compliance Ledger (DCL) which provides metadata for firmware updates. By default, the Matter update entities check the DCL every 12 hours for updates. If you want to force an update check, use the `homeassistant.update_entity` [action](/integrations/homeassistant/), with the update entity as the target. Currently, Eve and Nanoleaf are using the DCL to provide updates. It is expected that in future, more and more firmware updates become available through the DCL.
+
+
+
+Notification of an OTA update for a Matter device
+
## Experiment with Matter using a ESP32 dev board
diff --git a/source/images/integrations/matter/matter_ota_message.png b/source/images/integrations/matter/matter_ota_message.png
new file mode 100644
index 0000000000000000000000000000000000000000..11ec08ccaa52ee9d6e940c95c5ddebd1cf5c57f3
GIT binary patch
literal 26645
zcmeFZWmJ}JyDs{e7}$XzVWB8UBZ3H6NFyQLNS8<>Wfx$PN-3Zq0@Bi;goGg7T~bm~
zBCw9@eZRTJ*n5sW#u{Vqwa5OkzaP`7FFenE-`91W=TYbV=!)#+Et}{zQ7Dux65y#iTzvW*R9SY?DMdIQ)C8yxgc4tl5p_P(Jl_$R9@@X6R<#(697`;E5WJKGlTAaIN
zRLtGLwU39|=zam`okVZR1`9to>Wr$A;31RSKRcYuq
zyhrYg+ivNPeY{qdn1Vvh%^V-uEV^>v<9F`dS%YuP%>GDz%4SuGF{&}+UJlx!Gt=cmKU%eVA
zTj-FQ_@I@QmSRWNrsriiqg~kk8)u#BqvbCY|L5NnBE@%@)kQz=o$fQ6IHCB?OPZFf
z<3l+GJjdgT@1%VypPLty=jT(Xs2;QlhLA^5NL5l$aPaboUQQgZT38!dAG^N~S;
zfx5=VbCo6gh28$}miTe<@%g3FkOw>&b|vFRzhkIoJtzPAFH$rS9so5o+c-Js95u&}uHR*78C-}n1yY4r>YUXJzR-#^C1*}81{
z=Q^KOW?c)Xr%HIiEH&_ZH@S}OOd*b?q5_+=u?YoUmH+ckJqBdWqoNGcd`jgfUPRsc
z=V9six3l?1bQxM%g}(gy&pr?~YyN&7zq)So-ip%he?KjC)aVWUx`fs1Hud#g|Mxr9
z9g?s3+zzPdBn#q7@6V=oTQaIr-PP7idJU
zU+3&}o74Jrl_lWr-Mf@eH|MMz##+{inwXd{Hn1%IU0O2j$QH1&vZ6nI{XjzOw5)Ju
z*Pfj_&!=0pKYaMm$-MdD!ws2^g`^446ZDXuXJcIB&p}=eZ6lu
z6sY5|bXCBp_MOaloYi~TkhkioX3`;oGdWs^vwRrOmU*sPbKSw=okEmkU98H}jk}Is
zUs+zVD?i4}oOq*OvL($@%J0P0>vndL=8f?dt!Xl`qgj7HQqyu@H1{ZayeCF2`Do6~
zIitndG0En>zH2QhrgtQx^nbNw&~_NyxWOH#o_an?VY1aa&vdjk)1Fl;)2^Vp`uT8u
zY;A&$NM-2R*WDSFA!kYgblfHIv(XAsn|}TJ6|`I-0Rl1;CZD@4IZ^o=Cs4HVp=a&mF0iBUWzX!rA3z||^W!QCFw-KSV@)YS*l
zEHBOJkmoD1^7mzTp<#D-_wS$8cUse}dEEaxow911*Btj_WXJ?JZJ939g1BpW9D
zePyY0#b)l87RpqVeTd_NT8vW6PG(78$^kB}=MT0q-S|6ia4soVuqRqYy8Fb7h|A6sUAJV1d%L@Dd3%4Sn!H4}Z{N3U=V{b7Lu|LYX!$jsDhb+LMiu*T
z6oc>_%^N<-`v^FU?!z7^DK1`*MgREmBjvNh7#$-cBb$24Lm!4S3h$(8z0GsVtIER9
z-APe*@u3&^l7DNBTAuq^98{FoTSsMHb@lXoiBWt{cEHPHat)`C9zXsF=X8&!e1zC>
z>)v2tw^!(4`gqD{F@7sYmzS5RnS_HM?K;-e({uaYy>%3Md3otqypM3?_MTL~*qUa!
z>a*?O*7i($gZd9wU1yt(>k@QyGG?dx%QNgp_M(WeX=ewzE=;ZZWLkT)_$gDB?{USZ
zbZaIT7Z*`8PDfkY!^e+rM4O}IHOa@bNuFuD>%^pVVvnd#=Hbo&v~w&RRsO>rhnw;|
zM6l*cACw;Tmj{@$4ga0465%ncW6AwHC51h3FDK`0nA4EPNGOtes1_t)k
z$3>d|`91V^zV~TgRalr!Z*jl9eMjl##(LGa7dK|-8kHSa!nz`DpJ;{Ne&
zJOD%2*jQZ3?!N&sD{m&Irpi)+-@iZRsa#&U7@m;uG&a^eGmbkm4I4&5L17=S$+MlA
z6!h{SE`#-yV{)NKjvtq3PPZRXJ}|??Z~t@kr{v^bT<jX+zzcmYV=@z2lOG?Di?n3$NnCuZg+4H!k-y&gPxurm`!PdNIA{qkRDtTgKG&@Uz-C(aXo
zk8y;|EIKo6k6~Y*78LC1>$`}qAmI2*GcDfIz~BPT2OduM@1fcu|3?6L2M%}=X!A+$
zD|OXOU+FHRiokQd#omd@$%@72q8Mto)6;uNMk!=|*EcZmc
zLisH%>b?9{d^659!WpF*lTa!zTJ1qV&7B7vtJ4e@8Y-nC)-_L372)P
zi)rV3eaiAJj%iz#mn~skKy$+q=-Q}l@qn&vo<&Ex3e^P6{ys@fxd5I#3)eG9Hy>-*3
zx7a9um*zSF!m1-Bb`emYp3XnklB&4+O-6>m(&F5E>&{%tK03OZJP(gQbK@%wYVOG{
z-uyBlf_|p8@AOPe!~qbT7N(fBwY9zWarMMi8Fyqm(+k`<(!PDq-o0X)n)E0XB~4AL
z&C3(r7Y;1d4*^m{$q%@JD=4hb%@bg^X!~pf5;0LFvcj_F-r2KfGdxy=eSCcA;*=;H
z+S!yEoj>Opd~0%-eAS#$qfm4odVBZd_~fsI-uaV}Es?W?nibTRxZU}}l2mUAD(`xW
z_RKxlGP9%2UsZJ6*5wBa*lyUi?Y;B#!2H5O_u$}V>`&+4KcCm|EqJWVd5pGa(cs6^
zEL;75aVR^>beL5bC@U+Y53_cUU=2VA80F-uwz1pAq*`|}iZcWTH@vyK5jWmmHoYDiR?kL?mnV7<&MsnSkUY)XR(KRwE
z#sWX`@o6{_@ylwsI)W-eC$FI;?Af#YKrRDZs&P-@qxr?fWQ%5Qd|V*6;il^9YA$
z7bwP$_ns`Pi&0#dZMD8tw{hT|YzX-)k5=P}GmTEQXzEQVrn}BKjOwBSk2WRV`MWS}
zJKDqrs+9aYxF*@G{zQL9bW~*Ib{d)o&!5X@+J25+(^4M5(YcUGDm1^uC79$bOSi0f0q}>Ma@(qUFiK@xr{2i^e%3qVgG2)F?>mn
zhi+T6u-K9Qv7P9ZoCnTn(M&U40eA%_==5?OTY!mq_N&uv4;#+R7o*!>6
zP*gQE*8IqFv_7HyF?z(zxb*#ma_?n^Y~dp~gWs;Zc&2EX4qFwYiJH?V{L)sU;t?G>
z`ijroUo2J26D(hP*-#fXmcrM}ch6d#!?i>K~GxdY0
zcYkLZb+8vg!Gl;@U%q@PAt6yZaoYZq#CY86kINq;`G5_hyyD_co>WiKE%9OaoRN_T
z@MHJ26RXO3>Qr%g`4jBHNqi68DU0ZtfdisAY^!SABCaxgtJS`srG54kdmLcl@pCF}
z(k+QLL8WE_2QSV>ugFNA(LBGjQpLX#;xbK>ysh-XA7z7!7ccsYFxgLR!q^fJf+B
zT6(9Z@*O;Q&~Cg#%OF38ec%55wIC&SBG{Z)%bHtS^o@;6ik{FAi1tiyb^z#vaBtI=
zE!(yYmie)Q-?Ql4FpWvq%DBNSHKRy%+&=dE>ss^ZmH1yi(i~1P9;_h4TA7VM8{+nd
z3+!ddx^ct%cV^<_J*?~hCKNHB`PGqAKGFTPy0OuC`R{_H)HPYd8Dr)+fZU#efp@MT
zrMEzIfewwkzuX(TpWjpTWV(n(=NYy>zP`G)R&jktUW{CrFse?HRl8tAf{vVp1)E%`
zQ1@V%hjQk@8lPkkOj^To|9)U;uo*u7XfFu9-*brv?$M-0^fVPt;hJ*I@yK(r{mR;>?
zC8Bc#4DX^Q=4-rv<)lMS9*~+}R1*4SMaY=|?8jPEMj$^iJ3C%9PUV_xmyc4{t{vHP
zLh0Ltrdp8r-Yc0$#zsf4-?-5Ofne?W^*vo(`8aLOspd3$_wGfTQiyO>9~K1UV{bS2
zJ*lA_(U#?;)A;S9{fV&{QXn@{+9h>($dt}>|O7}+*j+OX5j=r^Yo;wUcK6P3Y_GM`$3IQx~m}S
zlyr86ftDrO4b|A`d@hw5))5vlVlsT9BBm&oZTaERwo717Wc7=k7Zw&)nPiVeZxtrb
z$GnmKtDKllq_t%0y$Gurg>6ZlX_otKY;5d?>m-6yIdYC_&ZK!|-l;jIm&dB5*=q@q
zybqlD&6_ub_h4zv{ID5IpxEGm*o}N(yfZ7T;fglmdn?)Wj-2|vO?wnFb!u}{o-=OS
zw#{L@<2#Vd&mV8rTzIh65L;c6^7(-21c8cg`B6>LY5#b3?R*qd$?g8;82{Q)(z-I4i&)yFUMNb
zc}#1LFndNZ2!%4voKE)g|8m8;sx-Nwh>!av^fyqp45!IMYt~ci;u+BTr-Dosd+%?{
z^UyJUq^QW>97~m!%Q4Kq)z-YG6}!nyMl$+WlK8l{9MrD3M5mi`znIbSGVMoBwAS5m
z;8AyxP^pr7DA)e%;Dx5oHizfNJB^3@jAJqk>sxwZx)@UGR-aLyHVR$`cmL}7X=^u2-Naks(Dw$$~(%wts$`
zE-x=yd%K}xbm5-CClm~Hvr!O$atn)!cF@u;XvaU-*vqc@Fd%>i0K*6v&w7hD&cXVw
zxlWJ9eYOq|TA_+OeE$4-gR5G`@gqm>GI{*nA!^Q06imJy1mgE_{S%-U(pl~H8}*?!
zqoY0;X-ue1HkPBOr$=cEYsB60X?G9+13k8>rNxZl@ZE2@>{^*!U0tG}^1!)UFZY6k=-JURy#8(foY<*4dl0KR&AQfOFh|5)07K
z-H~&%?xWgtNR|=4;QICJ2RJ#m^YHMfr&}#G7)%XTRiTj$H6}3e7**&3U7{G=`tjom
zggHs{xrMRxPT!f8I><$YLR+?`MM(#7ql2i#nzO%e{B~SKM8r_p(ZHaWx{;Ecm?*D)
z#k~H*B~aqY-@hX-J=yy?GxG&HB!DDT4C60%Hx9|hziJQLBOW5fHn#f++GRf)+L5D2
z(OsTJN$4l{Ks)Nk0|vOhV_X#qr2Y*sAjO^QN^6!Q2U%$V(6$U)Do<3%6Vq#=_;m9r
z06Ik|_$DnW$N9|a4zRI#B^y`iU%OU_WwGsNy!#EZjpQV{JAF<}^e^oy)?uCDdLqU^
z1dWsKier2|{PX8G;LTM(!I97$8=bY1dlgk-{Yj(8;H$TC?#k!=;-L|
zg%;TT^}*!aTuE8kW5`q7__VlnZ&rbP7T^GWzTUkW6~xJ0swPYG@cX(qtA3~_9Y2X0
z?j1h@txM0^`YHA@2vX5M8aNfUV?eh@BjmJ=n>HzAQXjD2o(VGnE7kvmBllZs3_H7a
zwz#hDfrf?#yPrR90Rmpz_u^n`{aB~RN)fIB%2jQuxr%q9mgydrE1ozdNjTWEzuKil
zMJYH)yygvF;3>U7e+IJ79k?hPlh=0P{P~U{r!!}=wsG$!Wgcu33i#@l*R%l%@Doq;iw#B(ZOn*Zi3si~ShJ
zI#qd@|Fbrc%zF%&|C^EX|A-s(|9{ATcgX&CKa<9r4cX4NKpG9kOMhlE+~Xjcg)79I
zzR@S1xtO>3>kMQZcXxMz%*wkPcg;_hFxlGqq%Qz7o4`oex^*i~&?AqPB^84eFu0+X
zR8|KE2k3-hfO;mQDk4w#MId6VC$xpG6~(6rCEjT2^=EeD1&!5Ix1nL7o9
z@OR?tHZNM9`#6>Isb*K#Z=nM+Ui-|21G4TLAWK*j-VjkI+Z{V?!1=tV>ponS8p!~6
zP-_n3&=EFV9M4;+1l$K~qox27MLA9Opx{XN1{3TH>4dNY&wHC`k{rjiNsWPSG%+({
z2(Bu*aQLzhr`sPpv8RmQC>@Y`y!P|UHi!A$TmT)8QAuF*Sel^$zNw0O&vtkFA&z|m
z_Uo26gEL41V%ps}xqttDaCwLqQKGk2m(8N*Jb(7g^WMEnJ_&F-dg;Rs^K^7{5aPD+
zJ-i_XA|T+L6Cn$f5M}p5npOK_=rW)R#Z^^L@f1w&7Q(=~_NQ&;_ix`Na1PzS^OMA=
zh>m8dsHoT{?0TB?BgomiS(Uw5RpLK+thg)3sYeBW1r>#IL?|$YD8gt3w1RfgNqM*|
zyRnu%o?#x#K~=(wUR_q=wTT)y<+bM?HnA6D=NJHRTq;CH(R!(oRgE2Gq?%-giR1-
zR{w#RP$J9o7n=F6ecN8_MSB563W6kbDAv~Zzzx1np!~p2Dk?2~1n$S9_hl{76qiK)
zP7t)-pEaHv0Z9$bG70Jw_4pf)mF3^R+BFukZrxf159qK?t}CT2+xaE-v!0bzyl-N9
z`XH_|NceR+7q9fv*(2=iTPa`xY$s2u<+=(`0KSS#OC>gjCTQpMG$$Jak(?Ne#=Vk;
zi@#F{E;h)6eGIbGg$}Hi8<1#F(la_59B~uY@TA_eF24urDJJKXly(nFFkgQ5Us-^v
zFscIw58lF_`T^WV0RSYjAog)VVaeAe(K{Py;20=Y
zl@l4+GB|a4%YRte+1Ynt(Z|N<#g6GNe6$M++i`Ed|N)`S(yIB
z`KEl-%y?^)=V{z<
z1cr(MFqBffCR~MLs1$H+Cp5ye@C0CV^~NUTLdRVz8gcK644%FDB3e9OXch=#@lr`i
z3F|+V6bu}{e7{%#tmr<@FGSsUkcD_nYcBS_BJPY@(p_LQ;Ov;Svi2jvuV3%S*+0n1
z`Rwl9weCwZDzFdymeg`+i0{09qqg7=*ryJ^+G1P>s=^XR&0Evrru_A=o?zlvR#*OO
zBo-GGtinDbHzY0X)$rQEw5X&6wjyzKo4}x-wR~^Fv&0hfs+VK?!S+-7vWMtV8II$j
zHSM#fVD#)}xk7=1Y4{qM2}o)$DY
zY2qs*AyK{QJ{S{Sl^bjd$*x;<*CRV}En81vqh5e$@$m8E8WtXlCQig9c-6D&umNx5
zklGK|y@7rUDP~nnobofeHga|zY-Na6Pdz~l5*GRML+Ta7IRp#we(Q2!_-1iE2hXe1
zeeoo}b;mX6?CQ0=zsEbnfCs@HYNjoK>+y$L^M|Yn18{~&8<+(7sJfV
z{QSiW9JJdtUwmn?Q-9C!P2ZH1+=OCA7bi8Yk19mmXxPAt1{SY^f@mR0|A0TgU>nDt
zHA)>%6?pdMDcn0Dw9q$>x5g^ReVEKMRZ~|_f-eQBP!e=kzC*leww
z2p3p5Oe;=a-a=GjNxu_@BibZ&Kqnm6H8Z-CetvamNL7c8f8`H5zTGyiOsQqQAR^eB
z`Z$K!E;EwOXSRmx7dFE_r4^|QT7CLCX)8f`}czeXEvCdt%4^V*U(QbV3
zMZkbhiHW5RwhCu#de(yd41h-!ef#zh?Pqn&t#4nxtcHJw088L0OFDxRpMH=X`m-)d
zv8a9
z1VvjNliZ5$B6gWKH?|)!cwq*8GO0dhN*(~!<_KuaeXtggYA$DHt%KYnxE{=kpC{k4_JVZ6;bM*3GR`9w39hS
zTVIlh$Uwme3tRz2wJX0i=*qN{@GIYR8mX`c4=!6ZFdO?1-tjFA4!O{|A=fqJ%*+mS
zaEU)xZZ`rlLUGi?d0^_BxQliyA1=BII`|gXmIBtX-LlrxLn%)EymqUO3|er0CRrzi
zobju&!phtsB$D*Je0IF^>60g$p)h?#k^^_f1@!DK@Q3lN%SB)d5`Dq8AmI?YL2(HQ
zVjP7d!J`zX?uX`Q19jzqeduKx8X5}eVz5ub=>tOc$dR*)PKXQ-V9Fz`7>nX?wxzva
zh0nUNtFj%t>FK4RynwZDf@^Jv%Asz!l}T6{oeS=)0bGx=4+m(~p!7pp`P$qZgv~OA
z9W7lxcyC2^;)Lp{nZvmLpPnwSg3urn;YPv#1oV)feY&6D2VxyIZ#jRb>sKUjczrsd
z?}5D6(~CSEQO)SbUV;8q&T;PRwgx
z0Sa$4!Z&GYX~b+owODPfqs5$TkgN~E7jh;oOhtT9j7B>9V5MoLBqz=Yi4w-fvO=>W
z;xe82s`sh-MVs)g53oP*Nv?}y>1DnWOfTe&y;Q_Dsa|+*uwp(oY)73|_n^tk*n&EMxoSdY$;<$nP_wUo~;>i3%y@LeKGM|!8b0YrTD*x2l`rV3yqT?>l}l;RA#p`Bb@
zTxdIwu^UZ&c}|^DUe*Ky+qr8O(wc9$ts~U|aEZ1HX^Pwd+(AnPg`Kdu-$Lk8`w+m6
zlQQ!C$GR8~{|UtFdKmg)i?>hgVq%hmO~fO_e(>NqgPCWrVGIQ&up47ZW=6`Nt)QbL
z6c=9&|0unI;|y!4bnxltg@qTF7Y3P7ElS}5!ff?U5=pMV+Tmbfq@Cw36DI6N^e6Oe
z9xyNc`HAiz#t269*#T~I)03*7L=85c5jB4tmOVScc^j#z
z>zW*puYyz0>wi!RKxV^6Bm|U|cOa$!ITYEecIpIMq^#Q7+6XRzf~BryF?262g*7x<
z1o1>5Sk88H`ZEq*(AZeJ`@WlBOUo>4_4!`${Wbr_&6^ECj(49>+Hjzq?>07Y)L#K;
zi5D(h_!yU(m-W4(;!{#m59+e|+%kLY^K7{=qlq#$yBLXis63NfAykz>1|$fT$dXtc
zFFL-*s0yYP0)CJPKdL2vzB$KEQcA6@uW$1e-PX2t1DBe>sl$LCU(h{aINA=?Faxeufgq;(gaI_6qYi*B
z5KfQ6t{5(Q%dQGvri(~ZAt2jl$8kmyBLYkRo^p?k!&Q}wGrdsQbEbcJZtkG9&~FiL
z9S=_aOJZV4K$S4Jxp;Xa(GOr4$u4xuh>PpuMv0UQkr>JdN=AeFt3iW3J9ZSnDIw;0
zVoFNI$S@+nKF!U|i4J4x?#m0t4IkC+BqnlUp^R%HCFuGQh+|QR+yE7_3qb~=SQC`D
zIQac_3F_X3JL|WwsKnD_!y4f0%9e@x&{eSJ{#FJ_oT`0-b}ZP#2ie%DQ3>!-`(RKL
z4;{}#I*{{VD{ClebXd+BSl`&<#aPZ}R8f>zWHMIKq9*zo@Q^Ss#P@G#3J;NgBG*Rb
zm3#M0eMw{mYH1f}2ecfK+N<(NX~@BKBG3iA1Nj|pfc5lvfsf{4l@&8V_hLrZCh(UJ
zh$5efDi97BKwuE`f>Rbvo==`UnG%dgL-=@VF#pD@I|QGF1dWJ%k1yt5dh>pv`Z?k~Q?R&Qe*Zj&q7
z=^sJEywL}#VB%G0Wu1XfH#BR%nW&Y$v!)Jw?!**=kRHa}xG6HX=&k!6e)vh)$L7?<
zN_qV+m*V21?Tcb03@ux}$G2#0g~^Sc{DP}yh+Fp2(9
zO%$rsLtp|zy5UilK;_{bzW(#aL5Opu(ee?vn#RCK&VU&3wWpvp;s%(A7hq$ds=5!>
zP6@(j1Ysk|HvuKm=yXB*JDJzSl{+lvrQ7%Ixe$zN+^(tSIIyxSiaPZ^PEQzv-o5a!
z%W)z|5)76*AD?-{HE?m-t-O2AKWv+5HV%{Ej}UKszbkuqW&J(Yyv4~&AI{zBv`r8m
zA`T0>6)(tT`%=1f=K$_H1vTQUEsl&l&Jy$kDWF0m7+&w}qikgq5=Za~F{{-Oal(Of
zG_#$aW5F4PUB#hI;pm4e#VAB8oxtWP!5!YJ^N&XK5{yS|vZp9UIgSn|vQfSGEdbl;
zGiMCo-Qu)3p)XD~d_yZHZYCf)GMD#JM9t|JVL*X)6U+x^CknTp0@(hwpAA;9ES@FV
zO}LVL;4w@%7_Oi^pr9(oH^TDu?uCNlg_I=>pC
zn}9$NAkX%_d+#Hwaq01H`B?!0f$qM(wfV?YLwEKn9{F;@Zxf6d?{uXahY&hi+UEdn
z==k8xBpqqD|3emMy@jPEyfb=G?t*{Sh+&*-y~Yoq(c}Q*c@`EHBFl$$S@-OZq`i`o
zZ?RY5u$5*i(rae+jvtgx!20v8KD-xq*YR5Jn3G%nmoHybvm8z$OD^HarU)tm!u_SP
z(gz62*oB>ym6fEoQJ9KT%^Ovdu91<7Mib^m1XWZ0Em<@_e^O>~eu*=$d__`LR@q<6
zX}`TwnMINy`tSX1OtOGf&^^EsbU_&rOsb6wL&?QmA%aT}yPl-xaUwkHt^_nYeXjU5
zbU`Bv^BsjAU*Ff(&)<6dSq@`%tnK(d0wARr?lP_CrzhLGFiygU(D@5c@ux{W{x$tj~`q3;pj
z6;I_vZw}%Mev?{&qs3P(UT`%tE%J-JoNPs
z5patexF{xe1JxJLiCgn>15z6cVzsMkq>0jvToHvP0~*QR}+s9mw*LnTW#TVv+}UnH`N;n@l)IZ|_%h
z6ix`5Xdt}S9rWUsiFDl8HV6v~v#EaayuEI74VVzM&U*1G<1jZdh~GqHg?ESrG#Pco
z7zRN4Xj{fhbZaQoL#^ov#diBlXMR?%;o#u#XV;PhwK8c=VkX&VF0LKe(pU&dNR=qX
z@3ENpoa>;H{q7I}FM(x|3=ZIFwXUchRwo|MM)ShAK2UmS4Vj@xnJzn}X8|aoHCJ
z`!kF%2*qPu=;6xkQT)hB?VgCeSSP>@6O=jN7K_eY2I!6($?%Y{_|ELY%W+7bk{lw6
z-5aE~QM?!gT|d`8CK{gg%PwYNGZJG(H*?n7f}VFssxOXA*!(3g@umDnP8#bM{EJ-$)0sMX9Iu@BmxMKadev*
zJ8>81T=836HDLE!~^
z?7JugGl?~X*f}SV17-Qo2nWJoalWX#jKp9%e*8F5Am=CaFu7C?!;aE~nI5n*81%1Y?Jm(zS-GX^bu~`0crGR-z8X~moQBQWe#MR6?0L+dh;JJfrUN{
z=fP0p-yA(cUc1DXcB;fEk-!0(zI?is7Ci$4aXi7e8&7uvgAhalE$sJLYXH?YMiVU_
zOz=QJRe%{tmKGHR5}e{Jphhqt-|Fp*jPY0Vc#JE5#Hw)MvtqP!1c~8;-7wU_K9eE9mbyDjN)&SRd$)6csEG>xwr?g~EFw6Jxk77>s@}LCk_RmOifhot8rg
zR~mIRMl0(StMbP#Tp=M^NGy_hNd!Q{^cZRtvz=_v<1eGztil|Lh_4&*NQ8wM!B`<8
zUI1E6{Pan;>60F!H>*T@jjv)SQaCF{HeI_4*=+%1UvP4x(AFq`$qyhQVEaeSFw-zH
z`rrFMfDOcHWVZo9N=4Z>_m1WfkHqC
z(sS^W1iB)3qlgjRxRI*~+9AlsLXNwGp8!V?jZ!f6MbQtKGG4Q04Z*kI{>~Ut!1hDj
z_QtO^0r-yJpuU(keR@+o2`~0A1g0a$j!mPx<0*f|b;CwDhzS}bczG;ac#!~riCWcQ
zYhC+p3)NP7LVExJ_23w$bOG#afj#6sMJfe5yAScIM+8Y@aAT5rqJr5nh;~G_g%Cwy
ziBmwT7ERO4mkgi4X9)*Bfv>U+A~`AtrWVRn69JwSu%ju%4RPgwu`J*)_gi(coeHe;
zmexnQSHs~A0@r_m=R|BwT&yp%jGdchS*p%EyhN
zn`0`)X1MNnWtd0;pV$cSY4F*bd-13cP5OrE0Frs8pj(R$&!=(Z&ad_a7D+}%`4z9}
z+crnw6HLqyg-d3I+i%YEywFtcjZg_WxNEwV49v8z~#N>rK
z#gUJ*VBQpPNJ)Zr9D0B1Sb&3Xg}1u=A4`S2+jjKZUS`1
z&Wfu~BEy+hNKfM<5y(Bv&Ak&&0|mQfUe^9Jj4Uj~&!Hi5OmNc4W+6jL6o^sPES>4r
zIwX}pw%6Ya0><&V9{{6pu!*D%;ff+TfrrY9R3rwOYr@a1@wScDNXB-d1&!T6GN@>_zPF~V*H?{3>*NU|nHP!Ufe*NWp#}=}zKvZr3
z7VCIx&GG_R8*PWNQQVX9sZ)k6HaCU^17E*3uj7fs91Rw&6bUh9{zwAC{#i}n%vj}<
zcqm0E;=UY0j*fG7c@s$6eJ6?$$QDQ|Mi%d5_f0_g%e7@dHpH`zOMC^1fXv>Yj;jt|
zb-|>t0{JVMSxEJgG&=$=w2U+ui$o9z>!*h}FanS-(OONZVG0R~{gDyz|WkDyVh~
zAZ9^)=F0JP=l-$3unf|YlIP{*o;(i3O2BfD5_wJ-whS6zCccQ22U=hb7_L
zDhpirS~t32RDQ{&bp&xu*i{(Ia9vrNLnD3}9PIV}{d?|N)~vc-&$>IQfW#SYiw>EF
z$hm(he`)f|gi_
z^mXm+?L2IQqoWm|w=mwwpcB$KthSy}W3Ld8;HHqAF}48${FpL)Pn}L0IGk~B3@Nd!
z8G#bUawVJsf#bV^l(ae$iX_?XPo9#6?JYWRojjxu0KFiY1@j;M<`?7$P
zuPIWY_@8>M#AyKm0C_p^69hoWF+V9WbT$Bc69WqKe?}5$f!9!9h`&UJh=3}v-+Ygs
z%ybz0Fq77uMThY)B-LPDZ-%3V%6l1OVmOX)Oa$6(R5A=fO^^UEm9A(-TU)Unuk3yM
zfpO(&-hDlO>C%&>>z*kcIbNqJ;`V*rp5!BnQWtDXqZrwP3{8#FqJzYq%&1<
z?c*9)=RhH6ZUDt=;PH5>HSyladhXt=J(y?Mtq)pP%kb>bA^wMEJU#Z>=;a$XY@o0+
zWHa6zxU^?b;OpirA<<{r#7K9DjD^<+Up*BZo=?YX~|0
zh3W>S>lrNX*3=!lcNc0{=Uf7dc6N3q|BNk0%d%6lR*w4pF
zElyeb=q_mBJWxLMfk&7-Bo_K!%1z-@w(s0|8<+~w7NQIGJmK&cTy4f3^f>3@#lB)a
zz?F=ig+R=!C>!ZS?nZ1#057B{sI5&t@3{5x!-wMih9zq;e4ix=Z>LHXdZYCDZ(BjF~Xn^VfMGcW9g
zmwqb}VI7kJ=-WWDgGnW&-@fU>tboSp4-(T{2ISA=AI0vQXXL}Yu!V-qG37!U57rL%CYddwX3w7#wWZv$5A_BDqzS1UZ>v8jTcqTTS
zvGrvbVxti44QRg~2>j^Lqwnej0qu+{g9XSuIy`1VO%RYIrByQS<@4v~oSaZC1hN-@
zWqC22X-GQ>ISBXC@M{k(tpr-@#;se|A7Ey_2Opdh1TlAEV1I>CveqJSDe32gC;({P
z#t|Zi%goH|5_{EEo3HB<_CG4p&lnX3s3qw}2pgxvFCRLj;1?Mc1ySt_u(UKz!Caf|
zHasS
zaw*RVDmms1o^53i1Qk|`7dE_hjgV8U-i9q(n1zKqtQIdbxm|?R_!&>w8N=Wlv=32c
z%h1Cu#*s%=!P^Tg6>nu^WJrezw_AzNyWYfd;A$sZ%oC~+{DZHwAs?f+70|;>>p$$7
z>$u4Q?39|i0<6=ENm&Pnv^WctJ!rJZ;A}=EBd?^eY^`K6z`YZmhAP74IzJ(`9Ci56
zp{p;$!kEy20l2D^2YPzWqX@*<6SF+xsj%5iYhF48DUQ!_xJz
zH2N6oxB)`dhQm^_vRi?0nDNlDrHG7*3p@=Almgm=1I$WT8&K6g90%ZIDN7CvNr0I*
zcN{x%1ZD3$K4n#)p#2F9spui^!>0N98K4V|1_#2;g;4*D?@qjhSmydJ;<*dv8%O
zQXapU`&k{4s2+!-Z38z5FF7jIa%{g>psS0)ptMUKp`oELLVCe&7gwFD{*nubh*NkA
zz9MF+bkW`096Q|t#>x@%yzc0jelH8rE1=Bvp!!vca%YQIr$vnU;A_PMVjW1Nc{2)yZGH
z_#psKlnXq4YHI59caD%w{Nf3cJAMk<*9mAsl3ZxPjK${??Q`HidU|9
zBGZVJ4<`-_C`}C}q@W?O2eo;N9R@=olX7^t&`B<9YcpbNpHS36!br}=MG!tf8u!c6
zYp?TU<>W}7*1sIbLQ8l*Dl$CrPsb7pa&MxBz#jrQE_23x$5z{1Uy*1
zQ?G~WV;lE`lU~=nw
zTzZFD>i~#^re<*avRK6Ai!oe|H-JtcqPM~eeY^Iusfxl*2UuoLOTY_95@$auvmSjJ
zqd9m00OSE46y_2jvc3okDn+`^qq&O@^R+M{WR#TZm>aF?<1}bu>&^HN4UCUh0pmR$
z+mB!%ifzLD{R9XMidhbph;+}7d#sd0DvQ;e_~37z&EAh{sShZQX@C$FZRdOF>pS-B
zxumCeP&84;2RC_Rs!!rSlL-0DG<&owVD{D3DZyZqdwEpG1SxKG<5chS3xEFH=*nM}
zB{;aK@CvLc3G4@IhPbL~U|cpfd7$)B$eHG68Z6V>l`RTK&d0>WkfMbHLEh^EMu!=k5*GC15o9;X@@6ltsKErS{i5j)-cf=2dt0uqtmyrUy=*W%wIj
z{E}*%GI>pwhMJhz{r2$HyW4-J;ayjZ?(^L@!b%_(1>rp@T0t*gDrQg#(|2cX)*c!f
zstDw|LuO^4KQBP9fmD;aE*@%KB8C^-|4v@6Fyg_`N+E)DxQ^$+!4;rt&9JD0E<2%O
zlAImzWH*AFWD*q&y>*T918UkYs5VWgi0Fl`Q>Dk?ga3YExqkh6qI%{o|1n2rvt*r{
zo{oTHL?mT^r<$4?k|M-TJehhD77HRlP9t&Y^OzEEhC~IB0%t0ra0#Q1HsswbkkN~Q
zZi-(pOA#Jqxq0TlAn)7~3Jv6p}gOa&pE{>4=#EQqeTqoM!pDT}B55xF@wyySH9N
zhrH;iqC%RRhsV;fWU#Mq0&w~|-YOSvvfB*RT?le1EFMvL1iItC&E4tBdGwW!APdBGHFdaN$4Ju
z-H=-Dp~XT1a%hHkIVOd23{NPLRR;-wgo{a32?ky7=%^-JzfLraAr$mPyrBmsSt(As
zMdQ08Agg^S{=E>oqsWxCM!F9~zm_7boFPq7`G*GQt(*_3ypl_Kw
zMyNXD0`8}GxIDogCQ5gQ>$HqE0P^yn$MWFgmaJFQFaZNX=Q8g~om8hm;mOzmDZt;k
zbL2ln<-`9ZDjfK)JE-LUi?{r*{558(AQt5sLEd?F#|TLz66hdXXEn5M-|^h+CvFMT
zMm`wEA(>u`zFbl$#u_eB70oXm_-8*XmyKwi_GunJQbE7Y@{xBw@a
zb0Hgzwag>+1i0z?C_@(@w`f?U$hyfUw}Ihv3&H*{C5y1MI>*Nhjf`q?-H2hCu{7Jt
z8uk70rp=qb*49p|J6=F9r2Ur*m^6Jl2&mYPc!khRog$efL*e{f_+OL&V;2uFc0vvX
z;6gLZ66`MK2C$U_LPEh1%RBG_JmmZJTKDeQaSp+UvDr@4eU7}p+%Oy|MEgX;g>U}2
z+9VQ1sL1EJpWh{T=pag|ejvDhi?1{-8{H;8RH7!!$_6m`etfL6`UF6zj=DM>vtKpRNzP?xjGGFCof
zJs8F(*2SrE4q8rKN_>30Xmx?Z+0o6d6SAMU-S;}nx^r1*Uv0ejdM-nu_Z3@kI
z-684C3ABXQD1ZOF76sb7;ztqek0R80l>e48;pKS)yr9nNW*Dj@4l4rY0JwF(G&%>N
z(<9GE3zY?D>4=EP$_uyE`_4G90Zu24l%P2M1fwMX31kfN(Dz^aP%3((0<_v-S3uy4oWjlB7gxt2~vHL14kR-SnfEEa_88YvFEk3)wf9`QOf78aIIBZ`n^$oqbPa7kggW^Am|
z_5L8hfp@h@%4QyTA_q>Lntfp&0bVAFI%zqcZqav!=4!%gHnKuRViC*R-$
z$!IbJzExdALywY^d62?S`!RzTN}wlK?YGV@z#O_P?wGI;l;$-g1iX)WJ&7`53k0F&
z06ZMx;Mj(jjX@Nm0G)I2wa>vP#PY0}Kvzjd^M)n7CjVdTKA15W8i9vKoIYH9)0ab{
zDEqV+Wkapa*X7hqlA~c|W5bKQ9-~(O0FK3Bg#0OtN!0XqE`q_ZI2Taqf>5*8ty>5F
ze)V?=d3>0Qd%c00Iucbc;7#bxvpAu>YVMdqxiuNRhgdD0G)l=a=CP5AAA&qc8
zkf$mKjU|~{veyvm^+ZteWoW4El`GFIJzkbxB+|k-$5y-kAw>s=Qz;i3CI{(GkQd+DI$7$FzOwq7$T+!&ck@&ljZqIjh
zq|5LBjGre9cgbm{g(B~Qv*BPU7O{h6(?MVhGGj#sZNa!nq6J*-cCu|Vy9#K?=jqBb
z65`@`5oPtM7JF^Rvdb8
zUB!#L1iKwLDc9q5F3P*Rp7H{3Gu
zikDvWyKCsRk?-D3wb@p64-AN5$CTT*6D&+d*#8?AuCsb)gq3jM_rm#jLdY>Rv^^>+
zD%cXG6%{G%;eIb)emygu{S|wTg3-=XcqL*Vgm0uzf)I1VThfyB%WosZI)uqsLe=J+
zFKzuK|G`2k*ns#$87@!>;}QZJ|nCP8Dgnz5$H{2###8b}ryID))d
zfTImpKGHG|ze0#D;4#?=ml>(!)~Dt6o)
zKMO9lZMRH6nZ5?3jFco
zheFi~o~J4(E#y@_#L-}b-bW{$9C{x%d@%OVA^rD|RfryxVLJ$&Mg*FOQ`apji?Bym
z>}Xsu-8^P{;(y}d|Iyr)heNrxai!ETg;SC&2`60)in2sUj)NgfzQK%!XfY<+(2SZ<
zq@1Qgieo!tEmD@uShI|>M8;?+lCnhBO4cM3X3qU~uJ4cUukWAlk8iGPu6O3$=6Ubu
zdFQ?F-|u(d&s6U`2yr0c7}~c*S=j-SSpt8ZgXhLy2L5tL_B`M~|8|K#L8cq$qX9)mnOC?Q1!$;4TaWVPU
z;QPi;UisgH@y1@0QXV`22HEG3l34drAz8V#Vmi_xNy^jpqXohNxFp_J_|Y262826k
z`c1YL7M4o?_g~2}oKo$Ofn-e48zlu++xz?(hf#v?t(k_NO4eQqV7X?eb8!Jut97k8
zvm%~JVC(LM!b5##SxSZ@O4Rnn0#T@xcpZNt*iqHh)_2u2_)a~!F6}gxzPKUb_*=|J
zpXnPNWA{7SUxxjzE86=t%Y=GKx7bvK@|wx*tsF2@O}REn*_RURn;OI=a#<@|mW3Fy
zYP;UV(k{NoyDqtSEv|q-Gq+?tIqbk#ST)Jw_?eb`Cgb%fl1xEP)LOK*-v}W<6yU7-
zesHvl+f^SeMV8m?5}K;AmgvT3_3PsB5&CmOMxmcKf2}gv;~eEF$iIAD(Uh8oX(jy?
z+}M~W8sGnVkb$2GCNA5ewk|UBMxZ#nI!VI7aEnKq^5q8!_Vns{yP{|osW43>;4G$;
z;TAJX*UpaVp~4jv*z?RN8`s>S-4yXRqLifl>luf78X1|JqsL!71
z*5NOxx7}UJdnekObwA(+ZBXp&JMkpVQ82gn_;zg1)ciSih2~(|jgON(*)(fcvqn2f9(Tf?YTVI{spD16D-Nk=J-9L0O;mWq_d`V9=qkRqr
z(fwl61%ac6(&9(=Fqb-1eC%=bnrf6v#onF9KEgAn+I~WzO>2G*c77|2;Tk-adFXH-iKEXT9e9*SvVv
z7p3#9hI(IY`fV!4+(TC-Hzla3`&NP+jDVl&_{`b9^wzTa-a$L53u=_rE|(nc=Il99
zQO||S`lO@MX`yD-mrsW>R+gtDtRHJL_7yQub1gbISJ+YEcXtvcPoPbzUN&`^>)^$O
zMhD;HVuklEPU;%Ln0+7XC3&R(UG=T_z;6n+hw?(Hw}d<#Sb1mHuJvdj}s4xJBz*#-(bQ3uT>mAGD)!NG3i?e_uQOq
z4U<_UJcd4hh#j|gubcmCZkPE9e#9lSOS-r&N9BeS9
zRdv=?Ew~ZGmxqO+VK!4e=R!(_^WU`R6NZu5fEo!tXSPNXE{*3<*c6e?Y=n79?
z*B?)kMu3xewLu2%u@DxhVZ$~5VS8;DktxmDq?hoo&y6jtJ(g$D(B`exS2PYgsrBT{
z``ndW&jvR-+6BRC@?Z1P7+SKmPy}P7QZ>g)|+l_wuTwnIF724uvQ{gk%u
zLy2(ZHn|9H0O_7%;I}39vQ&X#F2=fRTR|i-`{fI@=`OUxlJy3`SRodTaP56kpzgW7
z7b==Th+Iw{P=MMk7-bw{FMA4=3Q_fY*ssp7CD?5?GJ7IS8S2si9@SY&w8QKqAiKFB
znngs2^Wy2h;MQ$GMP~+QfhgF|PYa+%NTE>yKNN$&UY6uwjf5yfPE%f9juuWg&r{wg
zu3(ss3`i~DAVjUoZEx2=qbE}r^N*}!qliS}@h>ryoH93U
z&?Mq+iy{5!jh|XmfDLEbYd|V0>zol{98*b8?9I0UuQyAB;ql;w$(}B83qH@Hl)XTD
zA`@9rK{!k4WM2b=6T2Q1B4h5qNGLuq*I;vVNf~OZqghI=!kC9;5mXJM+hJup#EeKJ
zzYA5)Et48yeuMU17b;(r-}+`ST>>ZnC|i4vC-^c${d_R7LHhdbSv+vT%VXPQ(V4&1Z1WV|{WFA^0Gb>?_?yvBs%NNk(5q7`F`ISF;
zx4f{vGlPlb-zupIPlPrAM&1xfm$+=bs5B)l4-@l95#4Nk92~^7;PXa!Bd<>91Y}`r
L