From 795a876400b8a261ce266e742b40bb2064e5af76 Mon Sep 17 00:00:00 2001 From: Hannes Siebeneicher Date: Fri, 16 Aug 2024 15:06:27 +0200 Subject: [PATCH 1/5] First Revision --- .../10.can/assets/differential_signal.gif | Bin 0 -> 45819 bytes .../10.can/assets/differential_signal.png | Bin 0 -> 26784 bytes .../10.can/assets/message.png | Bin 0 -> 46543 bytes content/learn/05.communication/10.can/can.md | 210 ++++++++++++++++++ 4 files changed, 210 insertions(+) create mode 100644 content/learn/05.communication/10.can/assets/differential_signal.gif create mode 100644 content/learn/05.communication/10.can/assets/differential_signal.png create mode 100644 content/learn/05.communication/10.can/assets/message.png create mode 100644 content/learn/05.communication/10.can/can.md diff --git a/content/learn/05.communication/10.can/assets/differential_signal.gif b/content/learn/05.communication/10.can/assets/differential_signal.gif new file mode 100644 index 0000000000000000000000000000000000000000..121a8983ec7fd82a51f1b8a511c66441377e340a GIT binary patch literal 45819 zcmV)FK)=67Nk%w1VSooX1oZ#_0000H5fLCDATKX3FfcGaK0ZJ|Ku%6hP*6}`UteHg zU~O$}aBy&betv*}fQ*cckdTm{pP!+jp|7v6va+(jzrVx7!_Uvp($dn_?(pB=-`MZ* z-0(G1=e@Y$;o;=;_2|C1>chV4$i(i>%J0+A@9*#G_V?@e`0x1n@YB%o z+1B&k-1X$)_vz>G@bL8d`}yzf`}Fhw|Nj60000000000000000000000000000000 z00000A^!_bMO0HmK~P09E-(WD0000X`2+xD0000i00000fCo4P00{m7YX}@ju%N+% z2oow?$grWqhY%x5oJg^v#fum-YTU@NqsNaRLy8oJq5$ z&6_xL>fFh*r_Y~2g9;r=w5ZXeNRujE%CxD|r%fOt?uiw9b0}CEZxUk{Fh!ZPb%($`R$B-jS zo=my2<;$2eYu?Pcv**vCLyI0wy0q!js8g$6&APSg*RW&Do=v;9?c2C>>)y?~x9{J; zg9{%{ytwh>$dfBy&b+zv=g^}|pH98H_3PNPYv0bjyZ7(l!~TmOPrkhQ^XSv7U(de1 z`}gqU%b!obzWw|7^XuQwzrX+g00t=FfCLt3;DHDxsNjMOHt67k5Jo8BgcMe2;e{Ax zsNsejcIe@UAciR7h$NP1;)y7xsN#w&w&>!EFvck3j5OA07|%vs_CYjcIxS;poS{ysHB!^>Zz!vs_Lq&w(9Du{;>#VfaYU{1I=Bn$iy!Ptr zufPT??6AZZYwWSeCadhS%r@)nv(QE>?X=WZYwfkzW~=SC+;;2jx8Q~=?zrTZYwo$| zrmOC{?6&LfyYR*<@4WQZYwx}I=Bw|%{PyebzW@g;@W2EYZ1BMdC#>+o3^(lX!w^R- z@x&BYZ1KeyXRPtY9Cz&T#~_C+^2j8YZ1Tw{r>yeIEVu0P%P_|*^UO5YZ1c@H=dAP2 zJooJL&p-z)^w2~XZS>JdC$03-OgHWH(@;k(_0&{XZS~byXRY*wdY`5+9+i=G%_uO>XZTH=H=dJht-hB7%_uqgAF8JVt7jF3Bh$pW2;*2-$ z_~VdAF8Sn?S8n;`m}jo}=A3u#`RAaA-lztolde+f8lWKh>H?z>fdT>mAp7h91YiIH z4qWgN3J}0f`|JW3zyJigvu=F78YB?F@66ARKt~lA(ERicU}?bh*k`YO_8QEH!uH^A zf4r?4FhBqS21wBTNeoQyz5*Me(7yZ4LttP93Y?FC1WeKI{`!KcfcenJKh$Wzf72Tu zo-|N_20HM84ZHvVRRRI#31EUD`5pq9SG|mAAa)z1T>%HA0Olz`bx8@~?=aYu3iQqZ z1Q0;*gf{^ee#8M5v>|8?sKVJP@J{|E3?Tvbr^Ao%ka-3u2?2UIJNseegG`iN1qc)Y z>M13P04SnS@V7kwrB5Ukm|hZ1bHpD0&`v>QA_AsJlKC}{jUmAy7AKIA1Yi*W#S;(+ znHPX7Mp27Hi5?RLFv5-?;D2Pq;u-6d#wZd1kQkBP^a|;bGBOd46{+GKA&DRQagrxk z{G?CZ=txmMWQo(GV`(fI!bQ@lkyz{?NDetkk=W6F1|Z)0P{6Nm@`T4*tleKKGf;*`X6Bw5+Bz|Cta{uFy0n*r!4r&_(8bQ%>O& zCpqKSPXNF#B${lVJV9bm;1N_g^i0V+nMcW|*z=%BF{eOfH%5(UprN#DCTuDSfQQB@ zqF8KcN1#YM1WdFe9hKchM{-gTekY_Ufq*ar;KZpE)t^XF=j?JBfd)b#0W_6eQ!{db zY|3<|3AE{(a5_R1xbUgJ`)Wrf;DF(^(<5jFz*{{+(~p95m@Lsi1lkILpF$Q>s&RIFpIr9pT)y}1SjmCRFYN2b@uqvG{2fJF*TWr>iHGHtCbUMm0Bsp^*r{4awyRZBYZEe9l8QF0vuz%1J&Q!d z;I=3eup&cH0MprZmO8))1s>DbI9Do1;bTN1gm;inqqSy1blfVx) zfCKEhUh~4!zUZAug+XlIjdH|w=5w$${hMBnJeMdHe4|5N%n%Y=ID@@Yaes+8kP(-+ z#RaJVdojqn1{+ub5}5Er^jlzS-i~-C$*y+I#NE=m56A||s%Bj)oMYp*RiRcJ55K!g**&>0aA0bI18U5^w}U+ac0+ zpSS)cQf@4&)x{3aEoTqyka2Sa-LLKRza0`$_`w{WN>0eWnK*Kb*!$jK%J*d5mve%2 zT-_1rI06S=kb=+d;03w)2ARGPUsvD)3GeBWF&jmT^Es6r4*)QgPQQ;gB;>}%$fc`k z_Kav-D0b#`NnEaxomUg-2Z^YL=^hcOZ?NYS`8m+NBy@w=*~AMudcBw4?4I*y@jx!>@&ia;{UGTP7J&K!W$VopNWPjhWQLmBWGLHZXP=EonoLIQNz9_&?_wy;j_ltC1g}NsQPVboif@HP7>1O~5 z*M8W9T*ZfPlC=;xm3jiPelqlc4>)=vhB~NIR}^@G*H;4|V5KqwF@NIMYtJ0Q4*{s%!>Y4vqS z=vVEfhZSLmBEfC5vxNFKJ*M}EbJh_}C=|)3aQhR87bl4kp=$>4QyTDzGuIINCjf7S z0-7j0^B0TEh61XXZggdUZ}=r~I1qE_Ql!{?&0`XfIDFIdJg(I|+IM!8=KvKjQDzkZ zI+ze^cUrhsQ3S}0X=f02H#?&Ec%Ow5lqfrvXb>?dMF~M&@8^2wG)*0+04$dfzIKHQ zAypEW5VuH=IOTN*af@_l5Vu%F>U3RqsEfPUCA}yRzvw~1*oFoP62*uS<0yMtq>h+2 zij?+^2yu=U<$cCAgM`Hphj$ST=@AoIj=M*NGK60^C4~#oi9&(?0vt&{g%uL>m=WD5 zJ6c427s-mLv=BLYk29u{LWvLoS%AZMkU^J#3bBw+RFYiwkRK6|_Q#Y6fo=rJh}+1J z>v#}o^^a+Yi42jD3jviJagr?obMwc9U3nDlrf2aOmf>g-arKYtq>pV$5GX*E9f4Dp z7nMn=l!RxMS1FcU*^{{#m?OcL6GwCm!IQu9mkM!)A5o23#}GlaT-s2hZ(_` z;}?>uN0^)WJN&p2jYf47S#-VzmJ`W_57C+$F`6q;nkfF)j!%)AJydznW1WdeoWK^F zr#TS9X%V-{5$UO$PePWyX%WB~676XbJ+aRRW*WGmUkK zpd_l8B5|J(@r2c+qVl+v#u$Ad$(aReqmRa-BcY(Z#sDJ9o2JQ~Q=wM~AbQpZXyR!Q zmN`2#s)6QdqzUn%1HnbrNkr=tAQ`xC+YM61#qtz*>AVH`SfpxV8p$Y+$QIU$Cq!Acu z5vp3AsJeR{`k@lgrdNiWzZ0oiLY8*ss0CrDiAko5sa$8;sbGnH&4ZFaHQNsT>M<&uS39My?6bsgakQv~#V|N|Ne&mfY$P-lcF<1wpasstEzBQ_*OenV}7v z5a^1m3b?C~daT73015yBRrNp|X{-m4{;BjjBng?5^tccpyRZ0Kri9q6!<2qJ+p|9V zv*`z+0}B!~1++$Mw31n_){2D-Yo8r^oe$d(H;0A>p`9Cnu{zOVal@auuq#2=*n?+n-Es35m=iO?a7fzTdlM+vj=gn&U2g{%dUwxvOVTLlKHlIJFjv} zCA~P2zm~83MxUTNoXolrV~e>8cDNCNQ-8~(&7-iO8i}zhj<#!MsQS3zd} zB~iEtvAAINyC(s^3Xzk!OT3ZPp*lg90?}y8TLZP~bG`?gor|{o>bL_ey|yN=KE%CK z5{I$(zo9F>jJv%a;jc4xjNMwhP3sYR`I8UvPwsmV^otO7rjh3wya%DY3xU5?IlVwJ zkyjX3m5Z>eSP?j7ms4uIpKHMe;g=yRW^jAJ4$LIS7kkKfw_)3^di$dCi<2nW5E9UM z9NW9@*F0k95Dc)KHY`+3YsIkExbv&RRZF)6QL*4kJA8@~A6!2TAyu@x!~&tZ=_SKo zXuwUZ5ZRk$30%4jT*UrRB6Oj~!%9rSOl-P)Yo;ewY&|zW;F*GCY`KJ(wAQwyTDi14 z+QAgTkz729kxXZ#cykt;YWk}ax|X|&c)4+G$j4-7oveXYc*ihYw?3?^n*77RYO{z8 z$W4N~rBi|qAaA)_j~?i2kK}>cOT-ua#8B)$1n`QPXI(WcykMNh)@nlw22-CGs5)Az zw=5AkDSLCJSJSMQKA4lgw1L+*wg9kd)@H`U?16Dr0Y2yxz^4F+H)-&kh#ok$$Gm}k z_ga*s&jmcoMpwPz{AGizO%v#W7KqHeTqJ0!LV)_H&IVvE+oR^YoiV3R`O|?7_stxE zd$_~^9{pXHoc^$1ylhnrPYA%XMkb4&8fI7MwMZlZT!@29HxZ2Y6MiQExRXx|Ab_H# zsRfr`2?x||m84$CsRoUn)vLJ)yM+}n0XpqJQW$@O6wwl0YYE_x7cGp+yjjfbLE#s@ z457XlRd8GzWTa}iB3+7iRMASiQuG*$cQnig(bGS{s8eUu&L$C)hkvq6$QC`;oac0H zJ)Q-(v0M!#6OBM$4c4`W(d6s28$Hrz?NK3J%^oq>2t?Na{MPUL$ya(uNzBbOold?= zX*}(8Kw*o{W{I#Z5w}=>L2THGTFY)-aC&{LPUqN%)GgWpHXCIseP(P9ou-Vc?TNUzqi>poZI2L+lXDp z&Su@|>TJS2+&og;!^Cpzt;Wi|%l+EiE_L1+32LUDPGq-mGp*8@?Aa4R;8?ui0)@Gt zZB3!~+T|S-(H!2#4Vvn`-YOJ}c=^;Jc-hH&ZN_Y=jg8+yqTklV01{l{VNKb~9jcjK znE_`2%d6H2>Thfth$CzeCEUV;1cHMYLbN*pt!4n-GtYqi;X#o+?`T)Gy<`v`0L8S! z?@hhDO~S2)gs&OG!Oh~3y+Hv0)G+=L{S8$#4&cmv;~-H1C#Y~~4z_VUiSnjl-x%cn zYIfkq3gH3}h0$%-nUqyJ?u!~cr&T@_uEW&yqvsg0=o4`P99e^^gSUBy$8P?{8;)3q z-oL@C)z?Pm2LsGK>j1?x6=nqi4#2a+BVkvOOs5_Ju$~kez*anqU??0Hz{~*YXVMXH z0lSV9x8CaMCx*}@)woy`;AZS6`;4R>?RYYg^eyey9x9>~SEGFG+>R+91bEW6#@#;d zi$Y5ym&&tKl;pndqM}l>R}j2YY}?N6r}8>Sd++$3@A|&){NC^W{_g-E@B%;Z1Yht5 zfA9#O@Cv{14Bzk$|L_nW@e)7rJd4FI-LqLo@fyGJ2fx_#{vj@Iup&S5BwzmWCV%oM zpYkfd@+{x-F8}f{AM-Ll^E6NL1pDz467n^_^E}`4KL7JTAM`>$^h96uMt}4!fAcsG zA#Al!PXF{!AN5i{^;BQ=R)6(apY>Y5^<3ZeUjOxAANFED_GDl7W`Fi*pZ03M_H4iP zo2>wCANO)^_A$QncHbVbh(!v1_k6!8@uosQ-uHsPDdlt9w$oRGpZJ^-jrxSL<*fLS zANi6$`IKMzmVfz}pZS`<`JCVRp8xrvANry{`lMg_rhodVpZco5`mEpjuK)V5AN#UD z`?O#CwtxG$pZmJM`@G-#zW@8cAN;~U{KQ}U#((_CpZv#KMKmF8S z{nmf|*q{B{zx~|b{oeom;2-|tKmO!DeNgZ5<)8kpL4iA1I;kpt>L35LVbeBLMzsmG zq%HsY?;0odW%M=P08vBWK!ODg8jJuy;lhOq4n7nZL1Kgo5G`KBm{H?KjvYOI1Q}A~ zNRlN@ovV7Z@6t={KY1$elfZ{stXd^k~whO`k@cTJ>s{ z4j4ixxO5?Gj3_Qpy%3V~#oZdG;$|IO_;BLIjUPvzT={b5%}rWfh@jx)g}E(iKoFp= z0=-xpV${G;{P>D<9cZtMpuBVT?cKkJA7B1_`t|Lz#;edSLG%CwT$F7*g=p*RyNkjT zP{8#Ls-Qms8MrS(2`8kmLJKd%FhdR5V}POcDqsjgh+Io>Hja8D2*DCPgh&Gi6KrZj z8E2%iMjLO$F-IMD#0W$a1tL+Q1q)J9Ap;z6fI9uU+sr`okPH$40-%JFNrRLOzyZB9 zh#)^9c?2^|F~=mcOf%0!b1W44!%QG7ElPkP2MCJ(Qp6?|icupJ4WjGEfqYcR&NK%l zv`|A2MKn=GBcsSC1r`bbg&O+A6Cz3hXpoD5$pkNE?F8~QReKlESmu0qDXP?zjwmEsabj}VJ zLe`)F0T{A|382!`$#5&(Xj_E{KmdYnp=GySci)9KUU}itAiqd^QW7%)7RvOXD6JF- zx&g=a)H`xFic&lQ7yx))haZMGVu>fF*rPZX5;Ui6i{$m8e+?2CfN6mh7gUcfP;xv0 zeyzA=mtTfCW|<2u^2?oyyjG!x3EGxrfp-2SI8@$B-iS*Cyo5B{nU`j|X{VotTDg>s z>|zY zZ;K!>An;JvjLvPt4@W$4#TSRk>V*VQ+NN7;#VBR2qZIm~VGBaq=Mf=o*h}dcC%tsj zPe+~YgvC1>rx#_tXmSN4dWte#1IL{q0dO}Uh- z^Qp#&d;Ki(AHS~mJ^~idfCoh2aQuFr6>U} z!W8ooI6@MZ(1a%}jN=lNL9U>n0uzY91tK_;+eBajGUP}NV>m+;_Rxnv1Y!_}a={ge zP>4rFViJ|OL@=R1g(bQd6QwvsDpt{o?g?OtI(S7ccF~Jp1fyXVxIgQK(TrzAV;a@i zmH6$CUu%S89OXDiI-*2tZX{0~^|(hq_A!o6bR*XMI7mVk(vU$UA|3~JNJci&k&kp< zy%d?CC_>Vbm&9ZynbyWh)=iV21Z5~i39T`9av=j8Whzy+x6lcs!QD`h!LTGrA+ ziG-!iY`IHb_R^Qd0c0-I{`X5_7Sou=OiUJYDKca>)0xkN=2;}UOepd&n%Bf;HnmBU zS5niH+XQDg#W_y0dGmY~BxgF+xz20u%bY7>Av@(cPkQbWm+xGN-0Hbce)dz8!NjM3 ztm#jJ7Sy10RAxY#c~FKn)S+lBr9$h1%7<3eq8II9Hzle)jCRzcABA4XHp)Pdmeiyt zZ5}{JDn699)TJ+dUV>mcQ<~OPeKNIaPIbCd#Nm{uKLu(~XXaC(7S*UnjTcdox>Tk% zl~qc0YE-2<)iXhrs#nEoR%c{Yt#;L`U!4zE!8%s5mbExyHEUYcx>nGjm91}uYg`HA zR=L*Iu6I2PUGcj9SHAYuD0=m4U1NaJ6XzB)*y_v zY-TlESIlnKv!5+%XF)q!(q2`xrA2LOk9u0ww$`;dW$kNaJKK}SmbSOWZAERHTi*7z zpS$&KaD|&r;11Wg$Gv88k-J>x5>vU&g>H0Z`CRE%*Sepi?sc`hT}Eb?yWa(`9=#i0 z@|G8k<27%3)oVrcuGhWqJz{&|J74;iP`>rWZ+_i(U;Xyizs=+Ce+4|?#08kZ2Sza3 z44hyFH#lYsc5s9x3^52#*uocPSA{XWVGg@W!yN{3h!gc;5trD+W+L&4RlMRHrI^Jp zhH-{m9Ao|(*VsNYwsDSi%pM%?*vCIUtAKz!WFog%$VEnSl4X2kB{$j0H)isar95RG zN14i3#&VD)n`JI{c{M%ua+t-e6)=z4%x4BlnbEvvHrqtaZH9B4S@LE%*V)b@q4S;f zyl0Yana_U)G*R*#XhQ3G(1k{HoDZF7Mx%MrjfQlXA025*V|mh*#`KdfooP-ZdDEQ+ z^^ZRtYEs*H)TKuCi%*?uR-1U$t%h}nUma^&TX@#B#&v^looikbc-OrKc7J~zY+}=Q z*u_TndXJrKW|Mc>&4%`NpB-&#OLyAU#`bcroo#LlciY_tcW%EOZgR_Z+~r1hYR{c+ zcK(BQ-R*{VX5SredP8>J^~QH%@11Xc3wGcA2KZk89dLrnb>Ia@_*xI1aE6n0;SGm) zS05g6ic@vs6~}l}FP?FZ8+GFy2l-Dw9&(b~bmS#R`Abipa+aHPMKM_(Runm=^r zHOIL@Z=Q3W^K<7t2f93e9(1CUbLd4!`ZkZAbf!mh=}m_^GM^rGs{eB8RmZw5uby?T zw{q)U2m2_$9(J;8a_nVCJ0#DZcD5gK?QMsm z9(cl6aqxvl{1OkJc*YBH@r{Rk4<8?S%9C*NmB+jRFQ0kNw{P>E2YvKDA9~WK{%-W8 zM?L9IpL*8!)XJ@geR5wPd)ha1^|i;n({7)8-pg$Fy$62Fejj||M{M}TN4~s{pM2)G z>$xt3fCFN=Fg0Q;*XlAw+Nh?ND575wX;g=ii7L#O|vKxF~0 z{15;p$r%D6iTv0ik`NfYL67~Yz!C(&+4Bh8IU7ppKZ7wplkgH`0hG}(!5U;1^r95s z0SOhE!1JRVfe4Tnl#dli0TJMU4ak5bRKg`>!X|XWCxpT%l)@>b!YZ`>!YjnWEY!j+ zWWo*L01-$58DJb4Pyr+404_wsG*rViWWzRe!!7(m5l{g!G#oNC!#BjkJk-NIx@d>Uqq#%shzXPicT6GV_04+D@y09g@U1c~f{ zpc()a4vY_B%*J+fM_A;5v}wk7q{n*9L=kYBd9=rUy3pppIc`4;j!%lH^H|{Kut9fu0mflKe@R3Cf{F%8e|_zCy1c znaPnL8~~uflDJ70ln)h1%B-x&c$^u1)XJ}{N3LucuLR4o%toE_}P0W-R(oBKPbi&iLtKAZq zjCsrJKoW|2%z;pmsVoVrX~E>!$t6ri#8`;pNX;dbO^B&WDD1??I8M~CMro9o=6u5E zjEv|cjp=mGwDhx(h{`eolCa^;{(#7VP!a;Mze4l~;9<|>fK4Ub0BST&g@Df}WKD=c z#r#wZ?M#jMR6_oIm;L+<|11pvO+o>EE8vO}15f~@L8Useh+8p$>~O!7m>icJ4(nvX z&YUazJdUGu!VRbx1Wf_YFi_MGQPqSP6Ag_NC5;vBP`)azZVG@15Jw2Sh(yZ3m0%P2 zfI<)bPyk4d6@bDMl^7#^LL}`B7(ERcT|y>}{ud>6LMcU25KRpzRYEH@IJMk}2yiF; zFo5$U2q!`x_0xd(2>|Y333Gf;#&Q4_)RJGH#sa8uJQMcLF*@RY%?AEr?(qMI#)Lc%e(b9Bf z7Ibx+b$!zc^nd0Ea1SEn&qWUbP9!Pc40M<={kXX)9)so9Yg*u}}&X5CqN8QO{kT6bw$w<+4V zGF8z?TD8$qYZcnqB-*EKm#A%#8^P*C|quBLZ4-f z$u*9~WtO)U4b2q}&Q+_&{fz#|Jq%GDj>>%(&%IJfg;TbL+QofQO>+f5eM%~aPN-o%w#k~JLNEezfb4%Lla;0;va-BjguTiHEc;vnA8 z3f!e}-XW!2-?dyO#N5Sz-qPq^S25lKwO-U%-?75o&IsSZNZ-|v-mlf(?0jF{Yn$otgR-jQdrM{N-Ef6%7RzjsIPh0B+L$H4O>&s`-r!1P%-cR#Ea@-Tj3O z4+aekP8AB~U*x@B*tJ>atyhRm;qh%kt<7Eso?R6VT>@Sf6dqvyT?3XG4h9So zHVp=b79M5{BlZjvM*bBgmQx=l4JXbj4TcON{tG6KQ4pS9^9^1cPF@ynU@tZeEp`kl z#wsg*3@nxlGZqabR$Lq2-pvK#;uYZv2IJH~W787im|^3%aO2Q`agL z;>HN%#n@wu>tmStW4KVs;OyNQPTNBEj7mO^M@E!IW(-aq4o{XUHFk_iu9!itVKUZR zF;3z;rrAVxxJZ5(RHhhJ?p#>@Syzr@R`y$7Uf!cs99y0kT;5?_ZW>ZH6i}8KWp*l4 zZVY0U7-LozW{w$WCKPLi8Ej@MXl4v)ju>jTV@;MvS#A|=ei?3FDsNs4aE2IhR%B#m z8g)h!baokf{$4Fwb{Thm7nV2YPhRZjZR`?$>{51WiYe@`IBdvB>_k!P zx7cj{z^?3Nj_kb7;k_Q;?6N-O(+F&x8f?N~?XGa` z#(?cZx$U+H?!wq@9Vu?mp6t&^Zj-z0iTQ1=IPS$5ZqkyE|&{PR~1PgXgr@6O}7wCKUW#gXE|3JPfrz4Z)s7N7gDbf zQ*RbompMmw7*}3aBOR0|7T%ejFKN3h*xfePYaqaa$tXT zmG4g}XAF$@Cyj3lnZF602Mn9f5sN2rpg&`t?{%ENa;H}eq5mzIZ&*Q}?dDK=9AWw! zr~06W`epa|#6bGAuzH`v`T^B??FRWR6?sE{;IMb(vCnp?SBtYpi?rV-qGt=EcQd+= z3~U|qV=jBihVjzqdKvk82p9YuCv@^QcC-OaJa&%8*O0|W@5e_B{>-Nk%?EDICk)TW zD8E+=(%%Wa?{pT8b-PCk)lUm-1=)gk{k#|b!I1qp7iPps&B8Zr<^cQ%k=8Fpj^LM% z;V^7`6et4*iVb$Oj*8OLe#+ive5n(-hIQt)(jBfw@<=X zbr*Lf{uLkjZ^wJvPyCaAf3q@uv;fxgZ;qJF05xY8{s#ydH3kwaXz(DygbEijZ0PWz zLI4sWQmkn4BF2maS7hkuv7=;IGjPEE>h&v74qG#T{c5!=+J#zk zc1`Q{ZAGzL;a)vU7wy`WZSV5!>-R6p0bmMFaPp(PV?$*LLMu8y>1!6J?4gQ zzocsD_gTyLy#Iej`BeuXfdzgyo`DG-gx*RiDEOdSV`cCjgpNTqSA`iCG@nNlYS`C> z>3ygnhaGu1B8n-#g`kS?txzIYEk3xNUNZ6}U{3xH+Gt>iE7iB7S2#8ZWPv??^dpf; zDruT*OIoJ_gDY*|EI9u2CfbcP;@D5RAF`DT`7YPu<> zoqGCdr#f01DX68IdMc`^s=6wxtv)&`agw$=E3LKKdaJFk!s?r>xcd6(uE8#aDV4t( zYpkfk4%h3k%{u!mw43UxEN#q2do8xvx=L+w)@q9@x8e3gtdrlGE8zx-ipyG~=eqkY zypFEBY`pc_Ywoo3vgYl*r|SFfN#risul~0A0$iGv1S`BSuE`$kTEYxVJTa&aKg?Rh z6#IKI#}x^j5egMR;J^eLyre+|DXY9P3L}NAGD0kyq_MFZSga@t5kLUJ1T7~dvq2ZA zZ1Q6K(tPy79H?t)&O7(45YPn)oifpV8I3g7?kcTs(>(hev&vr+G<5}4!*zAm9jpD& z#}=XBKmbS?U^Yn%j3*J@7oi|i00&(llK>}WO{>kjYGA-%3?ziOL=_xFfJ_%mCIi}o zTYfDED~Nk|;)~1VxIvIhB>7*IUw%5gnd{3rQi>zQH~^p*Bsu`3-(@=L60W_wn@ze* zJ5mDVtq}ru12DWru**IW1TrZg{&?=Dig2@{7sM@_0SGlOk?RC$0QhDy&>21X*KQ!f z(w163UiJrV4?y<=eJ@eqg^6Eh`T3`Me)_PkkG=L}62BVE4*>P^%l-667Tz(?AZ?>a z0{Er?1PDMT?JEi60w915a!`0Aaez!5V36W94tfgA$p$zuJ^4@2=kvy>`uN=rKTS-f*ToQv42_!*8cff+! zZHxtpAu@+4O_3CnBpD1H{SeYj0Fbc;(3~bX9a7DaTyu8WJjgb?`OR>$Gex#+hyx5D zPq7(tc^WC8JyEhv*}bou?Ig-LMS=i%4v>V)RHXpNw#a`nv>^c{9zjQVPJ^tndwpbO zLmT?gj11HO1)XR?DymRUX0)URdM8FgiN}nrQe+BX00fZ7(u58Kb}}_7lgI;<7+&y? z6E&niajMZ%?$rK|2)W(?fhyE+ZWJXvO$bs6qSU2Q)jTM*NCA5)k_qswbtt*s1ua-r zOA^&5Aao`|6d)6#k??q99jZ>v+RL=Abs%lM>024tRFj;Qn+Z`X-t1b}yb?A!SEUFF z9En$oyiYa*6bWD-xk?BWHm5-;;6cwgSFl!=oqHt-W)(73&UTiPpB+hP6Ea$(mbSI6 zIV?olib#@70CE9vK+3imJ50v12HV`FYfTx~o!C*PdrM;?WkT8D((<(TRIEad3xMZM zmbnddZbph5T^?4~y55}(Y#p-A1iSw3%X>Xxl9PVYRpWv!B4ETiGQ9!B zTYEG7#tlOxu_0{8`&j2*5sQn&4>7SsJnX);hM2`RE=z+I^56)=B!)RO$@}VgW23|u zCMcktjBlu1Dh|10E^f$?Pu!3Kz7NAq4%d?z66F{>gvw05GMJT;V}$fo06Z4S(0mF2 zt%{_8fDAK3vb+%4LL`Qc%qN`JC1-`u`5|`xT%M`5=Y;gxA%8Ampc75j!IVS-fLm-7 z9pC`Gl2(2TJ&7Zct7r!n*(H&E>_Yl_%uVZS&}4~%+0K48w4*I;X?tJaO)keRt1Zk7vdCJ_@K2YC#0_+T$}l z%9%xC@s+Rq1K3uO7hht?yIJ`l93S>%U{C^<^StLi|2e!#@B$RY+$A#~PtDbg*2TbJ z1VDc})T7RGp|_~$C^@=pl3tLTAExP2hdRa!bZcN552Q1evS>TL>x%T6%_jN&I^3gO zf^1hx)mdLiWFPq%ugAUbe*ZhVJ>UXv*?lltCrI8?eis)|9Po~R{MQA)uEHbb@B>MF zVHgkjm4}@`V^40`O%7uZGDHKRJg@@RUXjS+oFtp~I}7Sw_USGp*K7XF44nS@-ShtG z9vHf?D1Q{o*TD8}?+Xk*(EH^xpWwd_m+-%Q5aS0X`OPPI=K=Kjl2ib=T29#o6rYys zL)`;(&wfH$K>qc!-`yra|3XaA{`u3N+3$ycLgZincH`eZ+gH&3@f`5=-$3YI03Kld znI8cT1Pv%30zP2#Dc}M&AOxn{0; z9{M>Tw1L10yukT25Dko*0X|z0(%KL<8wj)j74ps%wm=p-+ZM7~7c$!yhM^Ji4idhV z=0RH()|&o3TM5|PFwp=LKHCVO9|=U;36zo^Mq3|d-ycF-AhsbKy z&S4(zVY9VB=bgYLRwA@vV%TZovw;95D&p=iVqT>oveh6Of}pagB0D*vvyEb+(Lg7L z6D&5HECw1aKAR_!;v&Xim{Fj!VVor{TQ4#c4DcZ_KARJUQ~okKTOra~F)CX#`r?QI zV=%H}DsthoxgtYJqO;*4sqNw=e&e%=TJC@=*hS@E)A`A{!i)f<_#nqn^7Q@W&HDhOmEn`Guy9V%NQ`rm8b$3P|YI+ z3RR05XobY+h+a&8mez?H)`kMeidNN(u1AW3hK-t3kh*AyGMj$h=)B};XYD9)Xn>Rg z$&b$Ghu(*js@{DRX-OR^d}L{oF58kaX^WX>m_ezHRjG$ETZY0Jmu8fgUfG+Hsh*iB zn4u|)si}-!X`s!iIkKsu`6-=pi<4Fso{E^B;#8bAnV`1Qq7GT34yv#eYGEB}h9#YW7ZSPd(H73-faTbsJ-s%9#nCR(#P zYnwo8RY@y;QR_b~Yld|zDVghnp{uu^3Aj>~xV{&;Ix4QpX||&3w)W}0wri`|>6OLn zcg-t1sjGsqD>%>B8#V%~6yz5duY-vbZl8s2j zf)m0H2gt^!l3HoL?#Ia@WX5VNur}1&MaG?lDx*z9H~EF9@9aqz5T_$c!^ei|z-}HW1Jb$I>3g)E2Fc9BpCJD%4V`c(&)$GAGK4smfX_ zh`MabYOScs?2RSuW?XG)H2&={RV{7E?P6pt@7S$w;B8>&E!(=2+u9i1Vus&t2Hh&_ z*rsQX;^)iK>&m8O)N<(K2JV`0tw|LwWgISMBpBMSE{5!;>*4|^?1qQ$c8uuFklq$&o*$-{wA<>L@>Y{@b`K!ae%M{OD+Y2rPr3PjcD*2iE!MKaC4ZjzQ8a7 zKd|Gj?FqAq^){3RkCh8kEeGQl4bO`Wk5v)xa73nXgsyOy1u+91aaAR;xJWToQLz$( zM-Ma94_6fw@9hx37Z!7i6))8oXEEdcZ=Q8AReka9l(A5qv9iE1PRTJE&#xMvrxSyj z8|Q8qf0rEx3muzOAm6dovaX1+@ly4%+6;0@6*8}KJ^xEY<5)+R@B%xn>1rqr zm&Ze2G+$&iIBj%VVDMjjbPeBg?T++tthAGabWGzkZRj*h!-Y#v6HKFpO#1~*8?jC2 zZ%RXON!RUCmvWe%Z&2S`JOfx!i*!@}M^di~Pn(5L>jqFO$yaOjR9AFWTeT_QsWJ2D zR>%HsE??+LPv(K@FsshBW}Y>&S#(+_$WTjDR)fV+_eED%aa51+TQl!dD=uC~q+WLb zU-z~D67%}Dbq6Q5eH3=Mlr>fiHd>5zl5jRyWA+Cxwq&C;WdpEfA2MmLhh~%UVV8zy zmj!4OiD-MpY-2@jpLShbHGT#5XdCphA@rU$_Se>R>K3;`+h=Rfuxa!55~rqeuJ+D` zwRF5TwcPepxcsF!6#a|B-aO1XhHwSjlactjk*;2J~E8DfA^kYYM zdAn$8uQ7G^?RqCidkYJAoA-ae26@ZKfNyt!qsD>fcTt=-Eu}YBaFB4@rq~*{cm7Z~ za?AH!FZX_Ec#S@{gEQxT>oKz_T7V1kdlOcJt4MbS`~aS!vneEtEj_(2)xw+py@;Xx)7N~|_q)rS z7uvZ@LeB+M_RsA ztBBqQzJEGf(mSwonj!9UvF}UngXsP2-Bnav?Yb!FDzxw_T!K4<;O-XO-66PZ;U1)L zcSsN^&f^yj_Y!oYQ++QUhC(2e zZm024&i1P|IyZs}8XhlFp&#%AFc*wViIQFQu#F~sGrL%rlgXw?N;`q= zHJj;T(uHL)bo@PR#H88r5k(jD_DGdD9Kv{&!~e=`SRN?uqNM-ZVmyn}cClNqVQGvx z&lHJlHcS%*%*wIvBW%6DtPZ%9nPVBM4y=SbV%<5gx_W9b^j%XtBcOq6Zyn0b^AxO9;Dr6ymppe?e5r8tW33U%J zhocd3|1q-b0&Mt)A@5z>h4v$-Ae`{wDEk5>P{>G=rDE-T2O>UA(ERv>>X-%cf+M}A-RWFyASvi_lQ4m05oBtxcImz`!7EcpzR*pJB`)k23t8`U4#wqPNm8I(WuWFLW z1T*RimwU*n8Y((EtddMnjRM^Sokar^mH{0eixQnB6Tz0tMYFI-_j&UeXBY~OFI+{} zKxT%8P~|W)L3fom4@&sju53!zh_$L^am_W4jBx!8>c--_=PjbeCwJ>&Ng1yn2|iTd zyEjWRKHF17rvAsrOPixZk4rj%muv!t;8eUD+25Eh*?JKKC@B`v%$WpRFwW^^kr^I} zWn^Vm>|6CCp>b}IxmRln^VEa%(pJoiNA@A*U}1IT!NxW11n4;^y|BxGOXjjn@oO)1Phi!Be?@h6G)HJJVblkGyvUc2N z_KNJJW50Ior0Z`-#b5u!UDM(^+gwL%xnnt!1L2Yv63qcDE3u0-K>EyTU#Xqpz zv!%%oW}<{Ie&B==%N$**!(@53ASq0u+w>_hDqdT7o^mowswuHL&G0whihX6-TvFmp zx(x_>h+lIiro^`)Sdz?Uzviul$kO=uC+ISg;Mx3>{49I)!@NdP(8W(mUQnJvxMXEuIHCMT&`^`EWT!$_1ZTu!nEd3HEc?AzZkq~%O` zl_E;tD%-23<)#|h@HXVAIIkY&u3hZ#50F&4M5X0#^Vr6Z_^Co`(+ai}Y=wW2sQJCw zDL8N56+OGnvfD{}|9HXZb8xE`hMit$wPq^`$yJYxr7y&Q?!l#huc*UR(?9H{+sSg~ z&N`WDe-Mg)N+ z0HLJXMc6v!$o&(lDT+h|3Zpuh z#JvN9=l-3>S^`E(>%)7F(8Z>$y&9-!jL~tf7z!pY5cBlV40x~iA&ROlk`2uiOIWN4 zJ)<6y)2|Lm)*p94YDl~MW*M0q8grym?$vT+t2V^>`Z0*74ihk+yJm0tc%qVeO-@ z*EPG_t|!%Gp^q#wosuOdAsB~dNOP(^K=V3jUo!2@SM9avr5s1=7}_^*zILM4sz}lG zP5_Po^%buhj8()8ACIGTZlgL_Z&DXL+U^BGIf$VA`W6)9assdqWi+G}LYvAEnj9 zL;?(Eg9x2VerEjuIJMJKQ}HBnCd|r2`@4l*!OCJPbv1pw=BrMOvb$nK$+_uJ`pF%D zZ@xRo+#4)?YjW2sIRYE0`7HK$+f^kbv;lltmO%zrfZT$k2pXeRsAp)l=W()Q0PpI; zE2fqnEdH{Ig=vg^4|U`($8I?I>xbS(pci2MK2^hhY(ai?WGZ7H>E@05R-?B~&MxJt zE1MX{J_A3l9MzY;FD=R5NaMgyTQv;Ik>p^dVGedNcsyHVYGmn%;3HD=&~I9o?E`*6 ze|DJzsee*bj_AN=5=V`lBvC4RA>r_YqTrmJO;x{{kDu2`_qy98tUvx z?Xrb?@g=cL3ieHpM~i7wMYHTFxXwHezesK09<4D4tk3NqYMR`f zOjQJYe{a8{M%lZf7xFN^AXa0b7krxb^e}26GU1dJ%o`c!Jdc~#H$swaecE_(g$ zM;61)R9|7#wdmuvOvwE?o;iGQ@O}R8vL|0-oZEZHIr#l9_N>C>Q)$H$QnHX#|JYSE zpe+VKP!D8_1Cnzf;Jv(~t4AQfL15!R96(3ptw&6YMHJ;gaz;mztw(B#M^NEFR!c>p}E5pac%If_P9yJ=z8i zS^)>TXgpd;J$ge7dJPB0do+xedW@79j2;fmw`iEd^_b8Y%qb2mOEj#7dMuq7tPKuq zIW+9;dThZM>|+ibMl_tudK{7%oJS5Y1{xT-0sII9V{t-$gCGPAkRLDzIVbKM2$#O$ zdC(n~jT5g8gvSeSz^j1aiE`rSf$(J;@DpJ8Dx3r%AOf8R0(TgJ2`8Z?h|s!$PzOfn z%t<5%B7!y$N$!6Q%i^FXaFQg%5M?xwV8BQUI7xw^=Kz%SJestIlWZH6 ztfhf$DVnT@^TibEi{XYBebFzbILV_yBnu7X_Oav}oD^7S?GViL(x!^J9&%-Yh(dK|&p!}W3o>E&?a z%h?#_DK54d2-`v<+Y*FfgX`69^vmtWR~s>G$6V~cA?%lp?AIymk6av25Dw%f4%Ac* zEN)I5Tuy=}PNGy!a&9h4TrT=1F2+eTN zTwa|fUcFRa6K+1UuPs(hd0x?YjLFWP~TKpNF zg3e8X1zLPX+(IUvLKRxPHRnPq+`=tdJRMEKqUXW`THM2)B5X|}Q(9cJ+@j>3qAOZ( z&W&?XEN-!FEsp&rvBy7RXIku+p5gcu?(;0N7sAKN_X+&ZL170GGPAEa@^ilQL>vQnYrm20W$4 z=?qfoQi5KuP3m7~Y`x}`e+^A9@#T@S;0X)mk)Lvsr`3KU-IGsAFHWE54#W@7zffRf zQ`|sQFXxe~(MD>x5TWCF-O;Qhda7h^C6?=@Jg$v6bs=4L!Mxz5!d9;$&I8c&3a!*u zl}%6;=TUy2q6XwuM~14SwWwoVszZ1+2%s7yEgIyP8q~a+^iWOa7EQKGO-?wk7B5sw zutiJsQcIFoTNbLV(4tMW0O0W=Re|alwCI>z>R9mVT0?d1TXdZ-b=`UOpin)(7QLWL zJ-tg6KahS*i+;kTehRNa2Gk&@#h~EQporJ71ZtS315kH;Rl#f20yXMrG3vQA8sIe^ zh8mBz7*FYFJbHypLrqp%Og1h}e(;)ZLrwQvOph;hkg0%mXQsC;&k>>-kk1_1+Z?Uc z9Lrndm?sq5+k&Lkg8a&Yn(qz0_ZwziO%e&E`?5E@-j;%`mZDddl6+ROnR-|fW|tRM z%vP zcBkg|p!e}$Zu4Nf_Tc3Ao>i9qn+Mp)aPz!!< zYaeg>HgD%^Z+CtlsE?0dn@`ZSPZ+;1qAVh;%{PW9LfssJsvr2m9Knju_nn@1s*hhD zzkk4}zrC%0&XS*ro7|2r0uoWU`uA0lL0~<90ChjW^e5bVWJ%2KQ(zH)(2}0dYFpsU z5<<_lavVNA0~NwUmURItGN@4P_cfFyl-Kxe5bBLG#xfMUop*=G2Pr#Liz8%%kExm_ ztN~SC8DHG34B<*q%q9A*`21T})QF918K39~`=JO~j*v(hASPAh0v`jHeq6R392~qYNE|Ap>GUmXXf+!^?K!QME3En**(&MpEf~dc)e#BxdAx1& zG42W=2t^rhLNua_Y)1qqM@Y?P$j|X72SnxYmynyshzk|V z-O=QCc)cX0t`+=1)LB55%Wzd)%1!D6XEOA*xy$L1`tVry5wG(#{?ov>Udhgz>@+aw&2L?rAZvsM+*+$`Re#@dCFC?xkhA{rd~nyU*% zGmm;Xx3$Qi@qCrrsj3Ca*rvcJCQnKoLDpg>T-HO=uC|6K-1!mmrpn=>HAa}ad`;H% z-ZNepaP_hy$iG9YtgG+7!*v(lsS@3tv(kOs-dJ)c);z_E5DLKTPqF{hIow74Dj;ot ztv6^5x`pVJlGkI4+S6gg%Y)xNBiv`i*pHXrf7aIcQ`-6RHUaOn@hqU4{=+AepPw?` zbcr&)1NLvp7^jdJr<$?+e*(T6swT`W>SN#)u~`yuS-cggqo@1$rYq z#sz3kkr)r9KNR6@v=G2MdXw&G^huuYe+Udz5j`)&x)FfcSwQ?yz>7~`IZft%lX=JM z%hU8{a2m~iUJrXK1JvCJk~D@c26}0lEE@DIVw}Eb7NrS%oTrtNQ^wDD``BlOT028q zYPq{8EVmNY<&$sXRoK(Px-9dVkLHy`MiS|3_QE!HnmkAIHT&W<>#|k$@VTgfSq;<; zpv1=bdOh$+`UiREfHqM1;e)}A*quJ}#4$AwAe|rwcy}w;{lRMUev>Q^h6ZTv$lXB9 z`$698Rcg{i--~%~g}@NHME*hTp$$PoO zYTySAVuvlkhaJ6#J@CT;v7_POqw(IODfrQ>*zrQ}@k;OU2K@Mk*vWSA$$sz2G5q9A z?Du8x@7vzrkMQ3>@l)iGQ?$NQtfy0m_!&XS8A;z6`O_J-_#gU^Kg@l9*q;7yil6g7 zc|QY)|C1^j^{k76!Qf{)_1R5*MpM<))cylab#--pMpHvVLY~poq@<*Ops9t0h0kbe zeSQ5in%dvr|BR;oS7Pda&!wIX;rtn+IRDIcJ|l85r*yew_zb9Ct=d0pkN?W3J{zhx zKca89GjI1x?vI-P@>EX;A1=N=CwHD<)yJD3@cYyMS6=lmLiPWz&$H_K_W!7^|3`KG zKdS5hn(DfT{I}{#l>C?Knsy5KAF8WFC=gTo6oQ8Rx9SQ`4n_Q1btQW7x9aL5A%_Qk zR$Vd875=HZ5>3kgQ*|Yx<9Ie;C7xARbmiY-2xKXLsjkB2-;qH1u7H24t~viuU5)>t zy1wH0hw57Wth#Oi{#A7~{-^310obAb57iazA`yW2m+DINthz@0o9g-l@K4nhiD?}0 zAFAsH66gZ(Z>lTazpAbufd8Vp(k7=M{^zPI{{OAIV*hWeu1L?St9*Yyi0&V%E9f-z zZ`D=#FVz*0@!zPfTY&#ob;bM_)fJ_j;kdQ~@|WsL_pG{-{FkchqvwC7x*9*Lu39$# zrn(~jo9b%+th#;)t^6OV>uo5C(02e&MgbnL=D(`0xPPgxjttMC$^WFfcJw2z9)$j_ zx)waEuC@U3SN%c%OR6hT{oktV+&@&;2&9GF|A*>Y@vORj&|KZu7HTx9$u-PN9!S-0 zwkU8uM^ay#Aw_AEO$j9+kwVCxu5Fq}t96@|F^)(ME$xHKBT+~^tFG7Gzgk|(jKqCI z)%Wo}7Oi9cnK!$M9NN3R;3VUlB@RY0hhc+`BrjIKy#;YZ9loGJ)Q(AcR(b&ldv8v0 z!N5nMi2hyY-7tD(018rO&u%1R@SHFNGikY-Y#VksNo3)Opx^T%?3D(~&Fko~Y-+~W z?D1@$HVL1yV2GUVem=^{Xw5`#yWhHnLjXVwwTM1Y>&`LE7Wdd?NqIvSX5Ye`QoY(r zV>B(vw z!gH?%05Tk0AYtN>awiR7_&LXpPY#{h$V^{og&q{g$-rd1B8Wic_ec_Z+@qI15p*#b zb;_kLY3XW9Tww1*Z1-Pf-TFAZ9;@jvPQl3U^h=tA6)x>My6Vy)1iU+uL1IgOY^wQzl_bsU;vrSY7;G&)c2_&fQ0{49JZ7mzW^Y13@7dn_QeP0 zF3EYJi0{-$7t(Mf6>&E;q!l0SL%DWx{0%;KKzy)#$LAGkAna}vCx+=^QAHdmAV>|j z`7q9&>KgPmW-|@CIfI7a;cZ#GPsZab34SFTdukl1$?j~;8hY|hjHF3pvRxX999TXm zLZg2Der(kAI6=m|#BmAq`EBE_d6v}<8Ja&YvP&||oA@_wM<;qT_RcTTo`qDCv3HC$ z;PUgwpV~8b66LR!VnAXMKy#6`LsXAXl*QjbFKlIyHZIw@>5ebrgr((A#Af(^l~`Z3 zuhRynFMTukLj-)lQ=|MApBs#CJxWj;)gbTcIyv`wH2&Z?W= zC9vp0kAu&w8C3pZJsQOmn(JCJ*F?Y`^dNC? z{CPS z7-EVJP{M*p9S8~4smTgzV+fX%2!ZKJzxMXrEq1@q3Wt1`z&>@{90gM`y{3W*(FlM| z=)-W^ZL!P2ni&8*Yr7ZtA-pjBR#Xwt_i!AG2s!yMydTb2vKCnB;imI07imh^&o2z& zbfXc-oInHm0JZ2)v>SR1d9YrYKW>pKKmam23h5e#gzsvlWdtwrMj#dimGgzco4F$l z7PQl3wM5IICm*9wewYU7LkyX4jhTcMKwfi}(cvH?a!wzqfk0S`c!XVWK_;Z^H9#B+ zEEdpt({Ai4i}0RF_)0IX7z(C4jRhn}CohS(3ov*JfT4SuS)ibPU!TvidVle*8H(U% z!?qrP_sqLq0?f9-`HLd)0_FtPp;(e09nbmeLa&ZpW5$#iKz$5IQfboCV1YiQi6~P3 z%p`=+6P?MArLOC4+}yI)6#7Re_+C= zlXy$5txsK)L{j9Vo&jEr_QVd;T9*S$p#k7_mfS1Pm}@esT?+O-J(vUu_f`g9!OIPV zn^7JclLZ!OOXd?0{n-xDL{_lVNtIoU!F10^-$`XCN<3G z?HPXinTkx=kBmv3HyM;+TDfu%EQ1Vfj|>Aph%XavQVt|`+;XQKEUO@#kOQ{AfvnvK zvs8d3BW-`kXQMZy`}(=<31o5P;QEln!gBD(@w`I~U{MvmbLTl3Ii4-{V9(c?aRvrj z`|8Q|85Yc$l?pjs711WQkeu=Gh)e&^Xu;)~d5G{cLxZwJB}O}^ibNNtpgIFwuNB-T z63YSmycU@L``eV6@uWEgaGziLAxWq<8ZMt-eqUPt#EOUkf6fx&dpn{63eNX<4e2P! zmfOoBP_%bcKu1B{xc5j!81C-~B@2neiYPVy0$=sz@-A-h{Yyd))AJW)vV})rY zd*$5T6b1RECD<0iNuJYpV7+S?{=kRH?Dy1Rg}9uN3qv2Pi1IKM{4%m~r|{m%lR`-S zAul>12=iH^CGTiS3H+@AC30z>2uqMSbDJ%TFK+W+`TO%38iLGAx-*L<{6Fe?WMJ9F zZ;wMbR#VGIAaF)?Cwp_XT!<5?6uNB@9G$ZS4_KOWQ6@T(_J-lZI=dEbak zvF>{%c-HV^buQSo&GDN*c&@TW4k4w0xz>xN&O5gzd%u#@qEgfENAF!9$8wRFYZ-_bq1k?+_%*(KMQR z{F^8&T5+g-sSUvU9gtU5cvLo~>5;Gq}O zK+CX!IQ>}%YEdgD+@gcrqNmX@9dy=u4(pN~=+w8*$J(i)>o;f>?v&)HAFJv@pY0}W z0r$q$jFWXMaz$U2_wEaKT^v3SkED>g_X=W&mfVAtgnLd5dyqw-pE2@ij37!m9X~M& zZxn@-V{zR`km_`r8JIhGkS$d)Y6LMp>Y-Ym$Hl`P`&781TSo^Zy}Ji^+DTUXQ?$D- z4SR8_-<)W*rA5ZlbyNwygamlUPImUYDD_S%4Ctfx$`mC6i1ivUVjjri#Er8LKKF7O z_eED|{D~WS#OP*uL62bNCyx6Vt6CTD1o7f*o3Ls3T?QZfkOgs7cDOh&=>2K4`csZ3P(&P_3D`d`o+rG* zm2Q>D+rv%|N761Ghe#uqOI0NI@GhbOX;Jo-pOdJ3>ks&6vxFVeBWCqpOy#YQSYC}g z=fYJbVPQM@Qwm*HU7V6Q;lfGAgi%Bo%hbAKwEJkLSwtO0 zy+zR`F2mmuFgDqX3^Z$h3zDhUzQ)V)v3>Sm(IfzSgiW?xj`swM?P&mG(x`sH$;7TE zoWm?Z0U*SD0d5(2LFE1F@vF5rAXj9LAZBW!Ys5|=cmgxG2XknsZKl)Vv%Iq<^Yy%S zX7q84EbhzBuPFHMNuhi}E0Bf-pxiKFe%GFH_1BTX92Vy{1xw=L4e-IGAQKxNwn19f z<+mm_e%(EruW|1?H92cWgJYKaw5rI+WUVKQ)eBS?g+zlLSF9fKy4oFWnLYF2~K*x;Z>aNVy$_?7;DT5zJ*J5+Fw0_A#+*QhYo z&w?N_{&SYB&b?j-e^Pl_M?aP zXM)Vl*!MK2Z~LNy%~O!J7+GhGm0MBV;~q)u=&kFiWpQUnT0-x~-A!E1A0RqFu}?YD zD||($oHFlP+u}zmy|^zA-Y2eHlFPE1EANsy&2}-x2AHsJnHffhhhsA~b|~OWMU9&TT3@OgCP{ zR?|q1`qITy2M(d2*dx@KLloPh`)y43T#) z+fw{YU)e=akF@Ufc@|-j0CIYI>q~1tVGjU%(Ws(CNV6)0pub$ZR){(ftpBo|n!-vP z?oroUP!h28ws{Zr=alZ}zfst20H%7&pw?d~>?|Cx>XPTA(}KZp;Q3<;tv?uz>X<;{ zM93ZZV>%dHJwXOE$V%<9g#G)^$dQGnTL&L7Elavohyr4XwvDP8BQaqheQU3XFRadifzGu4i{kf1?3wztV?iy71 zS#|yWr?lscl54vy_d>DnLV5GzKUG~7+1Fp2QOnO<{=4eBdF7(^7x;?zNf$%s+B@Xh z_x-hh-*w>Tb@0=5DCJGK_)Ub_O;pGY?EOt_-%b4HP2$r(RoC#D?;wf4RM!O8ZI8{{ zBa81E^IPx4@A9NvS!8yK-{0kGij6r42bJ8_&oD2Qt4RodY54y}bv1+UguwUS!w>r4 zN1O1IC-^Dl(;xAt3$v%Ikf)pXPj`J!51UW$=S@!#nZH$63Yl#6A5u|R=fp(=%jp=Z%&VQ}C>YW&OLXW=<=jr`6?G1YTchyynl_T_p zphv_=2AkPPzQMW8^k1qgLx5!SUc^U*kU)UM<-r0-qA!Zv=*nre#d&iiC`$&gNQ7-_ zP7bhgSgbbLefb=~1(?@00bu7X{ z>_4B7?k+aOyZcO^g5i&kPpBOIBl4gVDxg0%b6*rbe!V0rWdz4xs;gVszV3NKA-X>8 zcRCcJyLu^z99@G9o|=riIEub!Vd0goV+u7cOJQAjtdufHE^4QWQ&v!U3#%Eu@FJa zqzokVhr53!K67*)Wow~3FGTw^uLMiLi*IVmBZ&i z9)d)h$SVyEIr(@ck)Zvvc`KRjoEv!Ec z4alspOd#iJ%?r~HWW(a8@o2D`r5a~S z&Vu$O&#LSG$SXJQ&^#l<#zA1EPPq;s0&7cNaTJU6dot}GZzUl9_f`9UsIF6Ay<4Cr z6M~BeG_v(nb+#z?w#l+C<>7{Lc!fXP{-L^3vMgGg#qx%ALnc<-!d~{S?KXs63Da0% zsb86n$o;Ll;@G7EttIy9->DOt!^1q`rmgN=li$*&3)~zCWVng5E50xK!+H z?TE?SETUFkx`s7)j{y;CQS%LtV7t8mzx!NQE*Frp4e8_ft;=;+TTnzs>q*czJi0f3 z8LrR`jEaXmUi0f59tZo3m(jE)pHufgHv*}y!jYuH4tbM#5$vdd**@UyNDMAC4vG74 zFe@-dKMZ`GCg&wR1VC2jy#wNu)bu2g(m*)H|3zzC%=3`X95yuVdfnh=S0 zMyz*3zGFr(>^3}U5{FoSg>}4q@Q0yeutb>T&>O;*_Tgm#7qvF-m`Q-T7-K~uz&t+- z@AjFxf+WU(I{JZPEkY2F*+icqO9}{WFWZ7T6J53h5`{XD>s`ca92kI_+G9+TP%|kh z!itW5C6h$8GBNF0b>;0C*GLIX((s~VloeFe%xsi_YtaH!o>kY@uNn7eA4v6X6rWYs z%(m_+@WPFZ@w4jMhg51o1F!$gR>YY-Dr3WyVUVeIg6sV`!iJ|rP^D5kHQVgtv+CNR z;K~=q5=L&uwr3*1aWqlXt-d$tb2yKrm1zyd)e{w3} zy}lI)eO6sj6RfyVC!`~uRaYEdY8F((7dleUs_QV*X|JG$y3ModioCyeF+K~8dRAR! z?FZi|eBC1EE@6+fSH^?#W~xpkaScDKuKo;Ri(b6)>-OrALfW{@^JM@kN{x(X)fGkl zgItN7R*8^KWvp$9Iu^EQRi{p^HN@Z}qb>y5$^7S*-T>iZeKazL1*A)Vgzt(u7V2b0FKqB$BC|1T*vZD| zjlq=nv+BAH`df9)B$P3Hc4Kt948vfVEp?I3RwiUdtBZW~O)btYP+`6Glf|~aV+YqT zVdE_po%Uf_7Y|E+<88jB4hriN&l2H{x39B0mxf(LYw}D^ynXW5E?s}2&lA#=bV$jlLlhw37+&Ybx71@%G%pPKVeU_t~|Aw$_S&r4)J>FWG z8csa3Ji?Enp5WeXN%2u`R20P{x!~NAnrLOLmHJOgMz_@rUCy{#l!s;hvk|Q4$D!5g zk=c?@^wM?ZvstiG)_{l&SC;Ig^=r@EHV+%#wv{Oji}So~k=>6&InzEPo@z(=wqnerf}ixS=*`%LxRx%U*!Ws;%} zVsW|iW$&6QG<{a=PtG-HrBZJIMN^HF7;tI)`f{Wy}-y@9!+d$ zNa=CHXU$ugf!8+`i8^B{<*hCS*S9qEI3qgdt!={V+6F{j?ql=TcU|f_W_w)D;gxwC zzfWqreu%mrOyqsLcB$<->v7#W$lHASR?`O*b6Z8v|Bh-_GXUvz`^u941Lt@3AhnqL zgkt^{k!$rZXRrI9L;g?7r>ap&F^{g;{9lZ&RpT1H9*vdx+w7Z_pDo1BODFPo_$e!= z+y%#4eK23-;tj%V$%1y`otP_SM+S=ZeIjfrZ}ZB6W7octwI5;x{7b z?@psPKm367`BJgGJ4@m(`nhk4i04a%NZ22^!~H!BcOLNPA?;yJB{Xa@3;yjQd$W62 z9H;lo#|^}?Xwf6l!n*~}x=TxT$s;KH{py<7Tu+-K)~mjNtt>G_MnLeXOW!3P{^o5d zzvLf{wuh>`@3%`c-KfQ`LI-M(mouXhC|nYEySC={#fR{@=)M3)81z34_JM)a8l`bKsO)S1Hz&hEDsEj7t97@k4<10B7=P4s^j3(C{${9aomm>qCl@X0Vlj#1W z;*_Oo)lTXwnKL#x*Cnm#MW`jyF61Sht1mmZCaotzpikFs_)=6dKSoWY$7o1ab5=GK zZ&-FRMlt=9g>w3vU;NhVXv*_4HZtibh;*ptp^|qXii#wc{7`idkVGYpcmp~6}!d(7L@WK?36TWRlpqHEL-?}_$WY5gM?#2kSHNE zNpxT|N*`CXB8?_oz~Gl?lKx;4vHU#im_zzt3~?^M0suv#ke_ojx;+^Xnw=hz9c2a6 zttgM2CrPxF!#ExOBJ?Q|Wt7Lm5_{R#zR5#{~QwCvk)~IY2l0iDz<9W^zbdc^N}|+EYoZNaXY2&~Wi2 zb>L*2x>8E^_{6X0{yh;Kj0|hP(>zmiGE?w*ZI!`?$uBS2@Vc;jBVb-R091)k zBsV~2Ak51ki+*tjY!^=- z%}*cyQk`j5ok^{~OO`8M1+6q>Z12OEEXac^<7W@2uOnt|WK=36Ca2QXwj76(VXFJx zGlLhQ1w85S!xtX&ajWp;#<+78bbjNvc$fvQpsGnm8O zW%Dz6JTc=J>KJ2ceEVN;b!G{UC-E{~B4c4AGbu#FLaUew?~?PoCt-($nA<6o!&DlC z1YfCjlzoiT@aolR9;Z{6)l##k33$J9Ny0U0O1`pePcoUjM3V*}0ScCKX5EG|l75jT zWPhe=2Zt!f=Qn@lwVpfloaOQRiaQ0EjZn;#*T4+YqKTQ~+ny8S)tKaJAmUO?{6f(< z1moVAxVo5=wboYu^@UefRVY#wq7#D$`iimfg{ouj_4Yi$)O=#x=Xkd?Tl5%>ZJ1C; zViyu-?9sfg^_&_(s?xFA*}a;A3Xh^S+D(%PO{5NfijE$#u5wMgI@ahNIFow;WXT4) z`~_3im>7|e-IAWht6xA1>l;7Pp{?xE#7AN(-GiBh8lfu~zUG2wiG8ThCiw zZetz&upo^$Q*tHMsk$j+_-}9{^;3mO6zYyZ0qIly>N1$8OT1~z-EKn;0Q9qiv0^l2pVv-<94{}79NCKthv0$=0t!6A>@H9&@>qu&l$XBvK zIz&agdE;ufS39TL>!2{y!U}%sP)atCnr1@ta5{A^E=mv##J1809MQW!GM3kT0h+AXnqS^|YpP^vZbd2qVxIKE)MYk-vbW@&~#ksf@ z)ELokCvq~N%ijVz@L=~S%*KB$4 zEBcuQ@@xIEF*pX9SPFeGAycq9&1-yGu?)lfO;CjygDS?V3I@xFiEjRz~w?Q2g1vY^k|# zNy%*039@Pu_=WEGODo5!U(u>r|CfgSuZIkCdF*d(?Z3V~S}FDZWSRbHw_?>*U?l#^ zx&!vBk=Poo!b&S=yJzB8lm2#{{P^IW6@G>F_k@YAc54utP3xX@FVjxjd5=G|WmOFO zA2#hdD8dh<#~mNb9UE>OYnhH3Rvqj294qCI8bL?tiH_1c_J$NkajzWT^g30kTHE;@ z!7E@+joC-ynSTI-Fmb9?PjXd#RpCt~l3{p42j(&r#2f__t1xE#N7J(+fKe&>2w`@7TOca5(rb&Tu%w6m6}OK|Wq7loVu zqG^DQh3&1YPp@mkm;FwC*FW;EJUMO^tFASBzp3oq!h%ohiH|GW-OkESxk=nhCr+!E z-Kh3Y0nBGZ4vq@bt~fYuM(@tD;77IwXO#Bt0Kc<3kb9+o``*nN4T;CkyXP;5yHoC; zmBHPJH=Q~JJa(BpXmbAKD|zr4{K2>PXbAS8N^a2VU+G zi0#?f?y=+RNu6_EsOVm;e~xGG*$MZsOFYjM^JHZA)a*Dfm^iOmKK}svQ@?lqSbmlKgSRiXSL+Ju@G9 z9G_N~%Z@#0zJpJt@3n%GPc4P(f|yVJw2!8mZ}^E1vzhP6v^NjQ%>;{YbN2OlxexxW z&-$`&IqbT8?`AvqhP%R7w9B_&%y-AdSDM6c?dE1w(Qi2MX6cn5x1irUkYCN1@5MJC zD!aBKqZav!BpnNclaE z_ReU>l4&sBwcE`Oj-|8cH9GD8DUph0;QUl=f6g$SFZ7q{s#VfoC>esw=5WC@ltYlh z<$Qo|i&jGaPP4|L`ImCKZX4+f_{8O*ObN+AD%&BXN}gw$L`k}N1`(I zBA@F&Di!lmoBiRGuL}gB9B<0(*eg|>=Bj??xw4NWIFambrDgGN7C1FL4n#M2sriL| z4c3ZD`t)g#DsuAP9YW-+3w>CSO?@y0NZ;qhu(UGyNAeL>6z6!Lm6zr-XGp$tYJ}OAiCGvr zgr|QnoUdStHKeSlnlPj+Yr-aUbjbX0T~Q-PUbpC~gd zSK;eqbP8FlK0+8Z%q7tzNw27B`{@NN?7KP zvZ64w`MEj689c|((01;wu19w{Z=yxeyu@$clkTZ+>0{|`!D#i#46iC7&BMNGsep=0d#aHQ=CrDKu*RdI4FU*TcL$^GgL&NSU?26XveKn$k)bAx#>0`P%BO_J`W5n z*ES{EB$>XfE8(lMgc!zrl4#p@m=o5Cx2m1on^!!~9N#142hwZ4^fdR*t}U zX@SbwDnWt58B7>qj-~oN45B;aD|-Y(Nzp}MoTx%!Sf)mUM6{5hTLF=CB-AmJlL^p& zc_Rr*sMAnoF})i?((cYAXaEf{O1Z;^-D%0^e1_0h8j^w^XsHmH$53}PXr1usXz(h= zWVzstDT#q}b0kHRZPiXYh`t<+wk>_(-^)6tqkLmhg_)n_p9Jm-cG>f1Cv%3P-I_6Ae3AwD zroLK=V3a_NRrIU%v_}ZCmSmMt1(9p#Jr^FN#g@OsXwIi}(CsJ@e^H2}qGIZ@ES2!q zBZ|>&E@m+KE=x^1n!!wEH znGcOoyNXC<%0c7g$1eU^A%rcJcvGQ5b$klRlN|5SSIQXA>}Pt^7bUsJ zMX7P{W*@%c#+byce<@)j3_}+s)p~&f%muhfn7^u8S?En`n)G)vE%pPS0L>dw2Iv4o zON0xJeE!hO>OW#q2Pt*tXs{x;j7l$c?@D1uFPyhBLVHK)GXb zsdw-G*zfHjga@4t@QRKWa7UJ^h+g=KkgryrhXssJid5X9Qyn&&6L#R8DIyUW<4=1e zMLfa5#LF`#_VF;AG`$~@q|g=S`9Opj?;9&A=^{o7s>q#YL|2f&g40 zU6t@hBv9Dcu0*UX7YNMjN^*p_TiXRuw{qt#+LcpmpMXs?LiSp0qK|3k2kALShwkBr zGd+=;r&hdnZ`i=Y#Zv$Q!7+*LvXe1?3&&7A$_w@v(%WZlt4_NeWbFaGg^#p&IzwL^>? ze)5yO`5$?H^jAX07mozK(Z2M~2krfa9Gc7Q|33g0MgHLy;3Y)=QCxiP z#FatlT?)+{0La;?ZJ$W|T}0rTWF?>ne&9{)oCZP!2mW>s2&&Z8K>z|#oeVh&)k$Di zRbNOz7y?=v$pKxxJw)bN;0gAi4<=7BxdaYM#18&oLA6{2te{3*z+O2XLeSRO1p%%3 z97qrwsJVm&WT6&rAs2R`7k(iahM^da;TUef2Z(?S_`sN9;QIx|>P5uI0e}oT1`WhO z2ynm#kf9##As_akAO0aA2BIK}AqRlK2+#lk)*%Sw;UG4mBR(P|Mq(ru;vu$3#BrR* z<;5Jd0kTp1pyeqUfteD#GwOr1Sr;GEpk8_!pD@k zgwbgpLns{;3I+{?fGrlIF&-l_3L*&1!1B?+{s$x@G)AK|7UME{$S$@-FGff96$CKy zg)>fLG>T$h09+hK2P`HZ>@`F-HWLeS#9rmxNPwd}ieU(-p`>JIPwKKn&K%YME7AB|Mgh~ zB0xKG1keSeNL(a9y1+ehWJCr*=e=2C=)g0oq)px=G;RPht{n|<08aiSP(Gqg_R2%% z#Y@H{JeoyM2IV7WQ{DyYt;bsy<4%hHTus)cUaI9*Mo8U-h7b7UUJhnZ_NB-LCSmSj zTn^s?Hc4ViB1`(44UYc8iVF)0i z&-egwg5d{bCW3%~7>+>8(5D#QXR_&M81m0&XaxkfQC9vi+bUU z)|HHc;f98&fi@;YA?6pxT7+`pj)n~l*ykF~CVC9%78032$gC8 zTmDUlcA=C~r;>)po`R{;{3#a(YIs}@gcPcr&S{p4Q;n)<*;HqIq^JgLKYLE%@?ff>(uk$L#|(U-mHrKsrfGte>UFRw7rLpDexaJW zimrwSuWq5Qsw#T=X#QPIYNr-Wi%@B*ZmJi)DtVM8e26NwdJVQ>RDf(Nvi4|RSQ@Q5 zD~n)iu-a;nirKiLs~2)Bf2`}bk_oFW50&;QhQum+xajeGp$;IJ4y0@2@GFek$G^5~ zyke=c)>W})AqbGGhurEGMr-MaYOO-ltOBa%Q0&0g$HgYHb=~6;mm$4=tXKl0qnh=Y<%o2pCS*lYCs4e zn9<%W-z4qQiVM+FN7MRj(*f-|39ZSxNYx%s%0_KnQEA1#&DU;he2A^pCTqwln$|)| z&XPyh4o}(s{ubJH&fMzE+agEZrtQxrY+bc2x^S%*I<4p2txN6g-x#j21_>++QDY%qx6b|K-~trvpr;dSSx#E@6^1mIGL~ZX6D)gn)k{Q_%;sucJ9juijE`_;TU(W-bEr?>KQUE4?o(#c$$DFR7kw16Q#4 zPHz|f4zB~-mH#4`1Q!wo^9=!4ssSIz{{GAf7t#uUFfoPjZ;fysmGI_Tu)CIT2AePr zWA6^b@Jm5(A<-}$*)ZAmu+(C32Uo8GBiIWAG2Z&EOA+xC88Pv0@CC!i6UR&o=g}5J zv788T9#L@-S#j8OF>;)4UwpC1pz#y2F&G!H4F4?vyObG+DH2Dq5_6#k<1rQo?-Ivx z5KFO2k#P{+ao4!<)@tz&AMqdia3BjZ`|5?b*0FGquZJM=`Q|asrts%B@)b96wLS{+ zg0du&>Ksq8CA+OB!>s^&EhjH7BS*3Zi?SY`!|GUFbzE=MshLzE$Jh8l}TFyrqqdlMXcj3Q4#rvt_{Z zX6&=ixHARGGr~Z0u5@#5NVGv$bUlyrJ)5pYKZirt3`N@yMib0PlLkZcMM-D$Xdv{y zb~HWjE*JK${Pwdft+c(IbW4BqY~VCYbB0R~k3xeCPwVU}%dJhbl25CPPK!oL@5NI8 z^g@d<9SyZ(Jhg=$_2nkD3m3FC2Q>XIb1qA@K#OzG!t}xnGM=_I!YBLLI zBhPKGwrP5H5rKC4h_*J*_FU`mSUYkuLoy%pHvO7))}reeVtWp7KaX%`H}cRo#5DL+{^NIRJUFUgc;|39 zgja=x^9_X`kA+XPeM1n4cZ!EM&WeY)Q;hiDl=$$Rc)_&z-@JIH;5gstIE*8OjK2+y zmyV5_bc&O7dbjmuual4exKRYT+6;N<6#2gJcwhLy49LI;Z21Vtz_DUSlLv~GzfG7s z`Ay1mMW{!jpd^vYJ1u;B;zdLO}{I%>nQyA?Qa=@1-#Cn2fznc2bpE1Z2 zb{@Dse}?`coooHU*YbfUF)qJ7*SmXbKlf{& zjM%#d+2i)ruSJ}HVcSOp(`(_m;=ISBc+02p-d{$}*Zrs6{mJJ&<7a(e7kEuCzGVQZ z)PF?bo2a^PeIoz;UR!?0i$3I!qSxCG*nfq?_eI|?i`o0cxo7IlKLo{V;j}Aw;@>#w zJ9gt+#^a~{M<~3~v_4l@n964%O~btwR(ELVK+R_%2i!hH_`4VO>}U*slgxfuDF57# zJn;v;N23_4D!P*MFXP{z?)Kkh3c|mI4ewfCCW}z_^nbV2c5ThFeRy{gjH1 z!VAgz&ZFxv>`BqGs3PMf*3~+NJqjcI*&_fkcGd4u^(;=u0*xT$f z^Q6*n&GSA8iUvm6b5titIb}3coi+{C)KjyA)1(OqaKNAk@?`0Pm0;bKr9UTd z0D%M?SWu-u6+kFJytwW1s&19ERwsI&JBnE8JiRQbtzzH|v+ig>7GKl!J-Eh#uT|LL zhoky7rEmeb6D0}wva4N|jx6#ZwmjbUJq;jkG2l;2c5T#`M8Ixj)x>()BWR@?@q?5> zTN$L5amLW*o`DXUB#BX?*y59PC2nJt5MaxoKOLa=s2GISPuR(-hV0~frQ7-_p2h0- zYwWK62<)r{^BN?y@hjV-v)PWjYNAgvTBZmFKym?r5@-w8qS=Zd2wN+lSLcsFl{>qU zXHfhwdtaitHfR1nlDsQrt?XJ`$IXKLS!d@Q+ZeP2Q=|!dxc~f~U=Rj}q^ltKU6J-g(xR=Y9I?i$%R8)q5i0 z$Us-3J$3+`!}l`jF(g3!ZHLDid$C0K=;qp>2Wj8VcSjt3)_nc-{jB1rf%#2IeIYwk z|LpTW1#(JzB;j69_A~&NB#mN!%xJ6}5vHAXY1}mADk<$d};mLXqT@59*gdOD=_BDFn?VKhl8}3M>SBL<re#3ModoZ~XO)jKCY*`va+Cl&Wbh38ivP+*1=DAO;NItGS6b+_m zwr46Oi92bgU|b+DC0bEn8*srf#X^Hv&TO4DX(xQ%=^=9}NuL74Vm}dTn`mlen#*ZR z{*Wj_F}o;;CY>~(!epiz8B~!!$#jzsX5fN-5;CDZNhjh&FawTq#Rocw!ASXent#eK z1~kBDR6r_%V7|mmC0)r$nU~U)?q{Ge%IQu)(o>%s_Plpyu4ef8^K z0UKDs9#5}@WsOs9GJ#KK#370WCm+8$SjkS7vXz~z9Syrz%T|`0pwYn~H`~{|X4WKp z4ee=Bn_AU^WVEDp?O_o6TBX!=wY9bFZ3nAM*{%eaxGn1jhFTgZ`qr!=+U-XEdP`j8 zE|uQ+88u2iOQEXunmzc#Yk#LJg;sY6&HpMkwZU{CEV~gk@ z1R}<52i|)g86fbwBFM3h6T)L3+nC9=H8PT+T#^?@8No6T!3UPyWGx4F0~`oJO{rWG z8pHquSSIcUKp=w7wuc5I_yCPV+vP7GIm`(ebD6WeWj)_j&S0+dpE3S2Wk3&_(1kYi zp%I^rt}`YEh4x)E&J`sZpJ3Rj-=W zt$vKBT^(y#&zjb?E;X!eooik1n%BM7F|K_bY+(&44Ys`c+dpUe)2YG&qNBhDQQ<)fa()A-Z{68W=la)ga)YU>ASzPNc?w<* zcC`!J>uYy=N`NqR6c}A8KahLc-=6ncw_Wdj=ZM*J4uhrOVCpOI`{7;9cf>D#B4Q_c z3YG$R6lk6Cl^?a@EpK@sV4di6zlq(auJp{0e$$vI{o*Ar_?{4+=!QT2>n&}1*!P|F zXZMNZDL;GNH(K_)cl+k2?s=Mkp6H_Y{qYOkd*p-t1yg^)O=^z<*Ds&?byj}$p}vEu zqunOB$Nu-Be0}f-9r&HE3Gs7o{PC|J!s2H?&tWk2{+-h#`qO{^{p0I?{Ks7TkHhA(Y z(6B6U1j}vch)x9*kR|$$=>9Jy0?-6yFri9t2E$DSKKsRo5` z+Z<2sQ~(H30_Qvs1PiYSp|FyOFbb^=2XHV4t4=0bFy~&-Bw~;X!O(@KFbt>d2PDq} zm9QkPFzZy}2g&da6=)3MFxr?92_0}H>JSA!@FYTT4*k%1+iCIx!b9&I)r-2fc9Wx{xCZ@eq0O7*B;2k+Ijz@E2LY z7%PGYu5c7d;s{$nDS&_nmT?>LLm9bo*Ca9LRNxLr;sIh z8ENAOcn}2=k|uppy6W*K1&$!c(KY_?QT~K7DYarIl~UA>QtooEG@df&Rv;dm@+xP7 zDX|jN!V&UJV=4<09k+5Ur7S4PQr{qQ>P!O&Lh&Qd@-0_FE8#NJIx_G|0|-zs1;uhM z`LZJ9vM(plnS&au+U?+d^7gyjVIidp}Pa7FCGXu>mH51`< zGBQDPB~Kz8DX}w6^J6&kGzE?#Lo+nV&Lnss2Q5-HX>&1Y6VyVnH6zphMj|9B^EMgN zHi1*qVpBJDb2dey{D5&dYcn;O6W(iJ0~p^ zp)m*K&J@KnJvAac)zi_;bN=eC@gkxV1(35n?Qg@3)Dd^G|JAfG!x=KGqgdS^Fz1IL*-NM>QhA1 z6GKsy#aQz<4}v^bR6kWTMkfqLE#f_iEQycutcZsM12%Ed$dU5Yd(n- zAxIQS#q&s=l)7xRA|f6fV~^Q4^|3E20IA z6Db+>EEjcB*NHV%{;wk3G*VFjQ7!c-{DNiTjOgYs>MYSYDHB}kORMC?ml#^3A zlvPo3RcRHB$`m7{kyDrRR)5k~ebt6Y)gpSJSdFy@b^tOnHCTNTSebQ!0#!#z0xWs* zS%uPBt@V9!by{iZBs!LCoKXmbFeDKl_s%uU2`WSUGpL)R2;R_UFES| z?G<$9vo#NKU)?faNfKWHR&gxTIODNk>2+Yil};5l)IQTVU-clmvR)f@83ndt(dGwW z;5w;uCr`91zZ7E~@?u4nb3$<#3DQ$bb|Fc2W#i^f69Qi8(`7NTWob5RAa&|gHV6V$ zByaX2ZT4sWfyPk}q9t8YXh$|&kyg=QHV7Ve>QHrQk1=Sa7GlouOR05PtJWT=c54sD zQK@x7y>=eEc5J%^VRMgKz13{Fv258ETWl0vnvx9PB3#Y1wvMHb5U_c z7ft>%WlPs$B{y~9DkK23c4aqnahJm&@OF21bZ7T>U(0ciR(Nrd zbd48Aa&zjmHhDJ@d7ZaI^j7Y~HhMJ?daaj2_O<;&RZSZ{QcRG6aaql;A-FJU030_lRe*M=3?RS7}V?IIGfcaN< z6?mx-c4r%y3=24dTjMF0l!Bpff-(3seqc~%b%TpggF$$Nhf{<}_=Hc>gi&~fgR_5G z_=O=?g<*JxDb>`S0oN{=_=$7a zhoN|ipH+#e_=;1}im`Z$8&Qk7_>1Szi@|t|!BC9J_>6_njL~?F30R8R_>Ff|jp2BX z_fL-L_>R}lj`4Vpt51*l_>Xgsrj0j&6=@! zn~P1Gx%r!Y&6~k_oO4Z_$@!dR&79GBomWkr+4-GG&7I+SoG_^9&7SdjpCe75 z`T3s}&7T2!pp(y(3HqSjPM{Hbp~KIh8Tz3!*`XnNqB~ilDf*&A*`hIeqf42AIr^j3 zPN6}1q+Ls-N&2Mq%A`?xrAtbsS^A|ZO`~CYrUTBUY5JzY$fj|6r^QgF{(1VR-A$)~ zdZ+=>r-}Ng$4#h_dZ``JsG0hytxc(+da75^sj2#^mrbg%daHHOqq+L4(@m?vdaQXx ztjYSU8OW;9daV;rt=ammQ_Za5daj#9uIc)&X~eGadanh_t@-+|B~7mZd$5hjuL=9G z4^6NUd$FZMu^IcZzs;~Ad$NB`vMKwrIn1#!d$S!wvpM^-2g9>Ld$di`vPt{2UrV%6 zd$rZVv|0PLmrAu^d$xN*wrTsev(mM3d$)&Bw|V=wm&mq(d$>75xQY9?FT%Kyd$|YH zx0(C7GtRl8d%ELBxv6`(t^2xans~%+(x**<3fWyzAgR&RKZQ ziG!-%oXYWhk@bAW&)nG3{Lg_l(1{}edYsq_-OyPU(P#d=&KVujDZSDy{n9Z#(=~n5 zIla?8{nJ4`)J1*NNxjrf{nSxC)m44fS-sU={ncST)@6OxX}#8M{nl|k*FT*AYP_6v z{nvp#*oA%AiM`m3{n(K`*_D0SnZ4Pa{n?>C+NFKke|^w-joPt2+qHe$xxL%H{oBDk z+{Jy|$-Ugo{oK7>07R+R(7oN={oUa`-sOGX>Al|V{oe6C-}U{|C0*C{{oesT;01o* z3BKSB{@@Wl;T3+^1;B!AZQ&t4;w66KDZb(@{^Bt{<24@C17HDyZR0^cS+}z(){^eml=4F27X};!d{^p;Z0R9}_(Rsc-I9&k1yyu0!ura;kTYl(~ zemXMU+LONNmEO{I-sz>jJ1Si+rvB=&1JaEi>$(0p5S`b%KJ0Hp&j(=V#s2I~gUth= z0nonfXQRwn-tFc7u%I05=lKl7;klZ`?cTONFV|n0F5Hx{^+TU{2}c7!=C}h-_Xpz#L!>-+aHGaB=I2t z^OKDPeB&+{ApSY*KM0_k03wLMfdmU0Jcux%!i5YQI(!H*qQr?57m{EQ0D#7g3`kV` z2r{I|kt9o+G)Te$0Rbmlx_k*U=F5v2H)`xCGpEj-JbU{52{fqCp+t)sRVcuwQUC%V z@Qm;vYJ{Uyt6J?zV!+ak0z6**3N~zz2?lDi6pJ>k&#YTDc2x^E?oP61<=VY#l5N|! zc>DVO3plXg!GsGYZM#vyP6AvDJANGT0Ah^$-yO)AgzYWJRD(f0NSTEmeh6ZSVaZoe12#pN&;=8$=oLiy z%_otHEQ;veW(X97z(xVk2pw}PRmfv)HsYvbki_{&qLI)INl=a&?WkmwQcg+bK}iyn zUvmmwfRR!HFrXnq6mIp~mR%kPW|gW{V3Pv{Jz!G>YO0nL0SkEa;+(0mxsjU$!MTx~ zdX84-ok8R|=$dW58E5{Yjy?+Mb5{;z9sr6V1VL}d2`c7fHkFB~rd)9v>0p)K7lZ^h zO;xI64cv!ltAw3ekg6N8D(hgcVhLofvvODKs=f|OY_V!hDi8@LB6NYLxP@t$vo|Hg z=VSpuYb;!VYINTPT5aT1wu8kgu3g(|8Q`}XgGIG}J~tZT@voQZJo#*IujXZO7t9I!LN(BzmQL$BujMgwZT{LT)1 zxf>-QknPOJ1pD+1Ij<4)W07usOVxMZ5cU9QFFp9?pO2Qm{tD!P@Rc)Eef!QXk3K@q z2cTa0^^5fV{sP^fKkoVOBmEoTKmbT70UB_D415W{f(8H-2}E-`8UO))v^n_oY9SPS zk_9oS{t@~y@LU84ll~eQkpk|IgeFuV3LT3pU? zb2lcNR1+!E8XiMP5Kx0!si5~{pxm~iJyzz^dJkPnL{~Y{VS4JK|Lmyi5-Na)8KeSZ zqSx&PQUUjw4W%V@ArvdRkpuWMqtk<_Mr8U-nu5=!0Kln7e~LN^2><~iWfp5FGXV%1 zz#$jN(vuQEybByPf=RW>QtwExjSS$Vcho8KvPwIyiqWgx11kWw3e>bBkp$U{KtmP6 z)~HONp=^zSTmPw|2i#Sytjz0P`T9)1z7?>9Ev#V=i`c{}cCn0YtYaSw*~tD%cCwVM ztYt5Y+01Hovz+a$XFm(t(291nq%Ey!Pm9{rs&=)kZLMox3)|SrcDA&wt!;0M+uZ7Q zx4iAGZ+{Ei;0kxR#4WCIkBi*oDtEceZLV{l3*G2Sce>QAu63`A-Rx?2yWH)rcfSkX z@QQc5SZm@$N4B-e%c)}E}u!S#-;S6hd!yN9ghd&JB5Q})kBrdUuPmJOet9ZpM zZn2AB4C5Hfc*ZoYv5jwx;~eXF$2{(_kADp0APafOL@u(CkBsCbD~ox_Om4E1pA6+F zOL@vvuCkS{jO8qAdCOexvX{RM<}izS%w#UJna_;oG^=^dY;Log-wfwC%X!XpuCtx* zjORS-dCz?Av!DMA=s*j4(1b3up%0DdL@RpHjBd1}9}Ve9OM23juC%2ujpQIY%)TA!8sZWjSRI7T`tnOYw0029R5ZYe= literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/10.can/assets/differential_signal.png b/content/learn/05.communication/10.can/assets/differential_signal.png new file mode 100644 index 0000000000000000000000000000000000000000..3d44e92a8220dd57d69c969fa4d5e8a16d1558d7 GIT binary patch literal 26784 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 literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/10.can/can.md b/content/learn/05.communication/10.can/can.md new file mode 100644 index 0000000000..abaa4d6aa7 --- /dev/null +++ b/content/learn/05.communication/10.can/can.md @@ -0,0 +1,210 @@ +--- +title: 'Controller Area Network (CAN) Bus' +description: 'CAN Bus is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other without a host computer.' +author: Hannes Siebeneicher +tags: [CAN Bus, Communication Protocols] +hardware: + - hardware/01.mkr/01.boards/mkr-wifi-1010 + - hardware/02.hero/boards/uno-r4-wifi + - hardware/03.nano/boards/nano-every + - hardware/03.nano/boards/nano-33-iot + - hardware/04.pro/boards/portenta-h7 + - hardware/04.pro/boards/portenta-h7-lite-connected + - hardware/05.pro-solutions/solutions-and-kits/portenta-machine-control + - hardware/10.mega/boards/giga-r1-wifi +software: + - ide-v1 + - ide-v2 + - web-editor +--- + +## Introduction + +Controller Area Network (CAN), is a robust and versatile communication protocol that can be used to send data between an Arduino board and other devices in a networked environment without a host computer. Using CAN with Arduino is advantageous for applications requiring high-speed and reliable data transmission over multiple nodes, such as in automotive and industrial systems. +Originally developed by Bosch for automotive applications, CAN bus enables reliable communication between multiple microcontrollers over a shared bus without a host computer. It offers advantages in scenarios demanding robust, noise-resistant, and error-checked data transmission. +Communication via CAN is enabled through different CAN libraries and is dependent on the hardware used for the setup. This article will mainly focus on the [Arduino_CAN](https://github.com/arduino/ArduinoCore-renesas/tree/main/libraries/Arduino_CAN) library and its available methods with references to different hardware and respective libraries. + +If you want to jump straight to the examples click here or go to the end of this article. + +## Overview + +- [CAN Class](#can-class) +- [Arduino CAN Pins](#arduino-can-pins) +- [How CAN Works](#how-can-works) + - [Shared Bus and Absence of a Central Master Node](#shared-bus-and-absence-of-a-central-master-node) + - [Differential Signaling](#differential-signaling) + - [Practical Example: CAN in Automotive Systems](#practical-example-can-in-automotive-systems) + - [CAN Frame Structure](#can-frame-structure) + - [Standard and Extended CAN IDs](#standard-and-extended-can-ids) + - [Timing and Synchronization](#timing-and-synchronization) + - [Termination Resistors](#termination-resistors) +- [History of CAN](#history-of-can) + - [Development and Standards](#development-and-standards) + - [Origin and Purpose](#origin-and-purpose) + - [Timeline of Standards](#timeline-of-standards) +- [Examples](#examples) + - [Arduino UNO R4 WiFi CAN Bus](https://docs.arduino.cc/tutorials/uno-r4-wifi/can/) + - [Sending Data Between Two MKR CAN Shields](https://docs.arduino.cc/tutorials/mkr-can-shield/mkr-can-communication/) + +## History of CAN + +### Development and Standards + +#### Origin and Purpose +The CAN bus, or Controller Area Network, was developed by the German company Bosch in the 1980s. Its primary purpose was to streamline communication within vehicles, enabling various microcontrollers and devices to communicate with each other without the need for a central host computer. This innovation significantly enhanced the efficiency and reliability of automotive systems, allowing for real-time data exchange and coordinated control across different vehicle components. The robustness and noise immunity of CAN made it particularly suitable for the harsh environments typical of automotive applications. +| Name | Year | Speed | +|-----------------------------|------------|-------------------------------------------------------| +| CAN 1.0 | 1986 | Up to 125 kilobits per second | +| CAN 2.0 | 1991 | Up to 1 megabit per second | +| CAN FD | 2011 | Up to 1 Mbps (arbitration), Up to 8 Mbps (data phase) | +| CAN XL (Extra Large) | Ongoing | Higher bit rates (in development) | + + +#### Timeline of Standards + +- **1986: CAN 1.0** + - The first version of the CAN protocol was released in 1986, supporting a bit rate of up to 125 kilobits per second. Initially, it was used primarily for diagnostic communication within vehicles. + +- **1991: CAN 2.0** + - The influential CAN 2.0 standard was released, introducing significant advancements. This version supported bit rates of up to 1 megabit per second and introduced two frame formats: the standard 11-bit identifier and the extended 29-bit identifier. CAN 2.0 became widely adopted not just in automotive applications but also in industrial and other embedded systems. When using an Arduino, this is the version that is as of today (08.15.2024) supported by the [Arduino_CAN]() library. + +- **2003: ISO Standardization** + - CAN technology was standardized under the International Organization for Standardization (ISO) as ISO 11898-1. This helped in formalizing the protocol and ensuring compatibility and reliability across different implementations. + +- **2011: CAN FD (Flexible Data Rate)** + - CAN FD was introduced to meet modern demands for higher data rates and larger payloads. CAN FD supported bit rates of up to 1 megabit per second for the arbitration phase and up to 8 megabits per second for the data phase. It also allowed for payload sizes up to 64 bytes, compared to the 8-byte limit of CAN 2.0. + +- **2015: ISO 11898-1:2015** + - The latest revision of the ISO standard incorporated CAN FD, making it an integral part of the international standard for CAN. + +- **Ongoing: CAN XL (Extra Large)** + - Currently in development, CAN XL aims to further enhance the capabilities of the CAN protocol, offering even higher bit rates and larger payloads. This ongoing evolution is driven by the need to compete with Ethernet and other high-speed communication protocols in automotive and industrial applications. + +## How CAN Works + +CAN (Controller Area Network) operates by transmitting data through a structured series of bits called frames. These frames ensure reliable and efficient communication between nodes on a network by encapsulating various fields that serve specific purposes such as message identification, data transmission, and error checking. + +### Shared Bus and Absence of a Central Master Node + +One of the unique features of a CAN bus system is its use of a shared communication bus without a central master node. Instead, it operates on a decentralized protocol, where each node on the network has equal rights and can initiate communication as needed. This architecture enhances reliability because there isn't a single point of failure. Each node can communicate directly with any other node on the bus, making the system both flexible and scalable. + +### Differential Signaling + +![Differential Signal](./assets/differential_signal.png) + +CAN uses a differential signal scheme, meaning data bits are represented by the difference in voltage between two wires: CAN_H (CAN High) and CAN_L (CAN Low). This differential nature makes CAN highly resistant to electrical noise, ensuring robust communication over long distances and in noisy environments typical of automotive and industrial applications. +#### Practical Example: CAN in Automotive Systems +Imagine a modern car where multiple sensors and actuators are connected throughout the vehicle. These include components such as the Anti-lock Braking System (ABS), Engine Control Unit (ECU), and various sensors for monitoring engine performance or temperature. To connect all these devices, a significant number of wires run across the car, often in close proximity to high-power electrical systems like the ignition system or the alternator. +In such an environment, electrical noise is a common issue. Traditional serial communication protocols, which rely on single-ended signaling (measuring voltage relative to a common ground), can be significantly affected by this noise. The noise can induce erroneous signals, leading to data corruption and malfunctioning of the system. +However, the CAN protocol uses differential signaling, which measures the difference in voltage between the CAN_H and CAN_L lines rather than referencing a predefined voltage level. This differential voltage measurement ensures that the data being transmitted is accurately received, regardless of common-mode noise. Even if the CAN signal is increased, decreased, or corrupted by external noise, the difference between CAN_H and CAN_L remains the same, preserving the integrity of the communication. + +![Differential Signaling in CAN](./assets/differential_signal.gif) + +#### Ground Wire Considerations +Technically, CAN's differential nature means that a ground wire is not strictly necessary for data transmission, as the data is conveyed through the voltage difference between CAN_H and CAN_L. However, in practical applications, it is advisable to include a ground wire for the following reasons: +- **Common Ground Potential:** Including a ground wire helps keep all nodes in the CAN network at a similar ground potential, reducing the risk of large ground potential differences, which can cause issues with the physical layer transceivers. +- **Safety and Reliability:** In an automobile, the chassis often serves as the common ground, ensuring that all devices operate at compatible voltage levels, reducing the chance of communication errors and improving overall system stability. + +#### Example of Collision and How CAN Handles Bus Arbitration + +CAN bus uses a non-destructive bitwise arbitration method to handle collisions. When two nodes attempt to send messages simultaneously, the node with the highest priority (lowest CAN ID) wins, and the other node backs off and retries. + +**Example:** +- Assume Node 1 sends a message with ID 0x100 and Node 2 sends a message with ID 0x101 simultaneously. Since 0x100 has a higher priority (lower numerical value), Node 1 continues transmission while Node 2 stops and retries after Node 1 completes. + +### CAN Frame Structure + +Each CAN message is encapsulated in a frame made up of several fields: + +**Frame Format** + +![Frame Format](./assets/message.png) + +#### Standard and Extended CAN IDs + +CAN frames come in two formats: Standard and Extended. The primary difference between these two formats is the length of the identifier field. + +- **Standard CAN ID:** Uses an 11-bit identifier, allowing for 2,048 unique message IDs. +- **Extended CAN ID:** Uses a 29-bit identifier, offering a significantly larger address space with 536,870,912 unique message IDs. + +A typical CAN frame consists of the following fields: + +1. **Start of Frame (SOF):** Marks the beginning of the frame with a dominant bit, synchronizing all nodes to the start of the message. +2. **Arbitration Field:** + - **Identifier:** A unique value used to identify the message and determine its priority during arbitration. + - **RTR (Remote Transmission Request):** Differentiates between data frames and remote frames (requests data). +3. **Control Field:** + - **IDE (Identifier Extension):** Indicates whether the identifier field is standard (11 bits) or extended (29 bits). + - **r (Reserved bit):** Reserved for future use, should always be dominant. + - **DLC (Data Length Code):** Specifies the number of bytes of data (0 to 8 bytes). +4. **Data Field:** Contains the actual payload data, from 0 to 8 bytes. +5. **CRC Field:** + - **CRC Sequence:** Holds the Cyclic Redundancy Check value for error detection. + - **CRC Delimiter (DEL):** A single recessive bit separating the CRC field from the acknowledgment field. +6. **ACK Field:** + - **ACK Slot:** Indicates successful receipt of the message by setting a dominant bit. + - **ACK Delimiter (DEL):** Follows the acknowledgment bit and is recessive. +7. **End of Frame (EOF):** Consists of seven recessive bits marking the end of the frame. +8. **Interframe Space (ITM):** A period of bus inactivity between consecutive data frames ensuring the bus is idle before the next message. + +These structured fields enable CAN to provide robust and error-resilient communication, making it highly suitable for automotive and industrial applications where reliability is crucial. + +### Timing and Synchronization + +Timing and synchronization are crucial aspects of CAN communication. Unlike synchronous serial protocols such as SPI and I2C, CAN operates asynchronously, meaning it doesn't rely on a shared clock signal. Instead, it uses predefined bit rates to determine the timing of data bits. + +**Bit Timing Phases** + +Despite being asynchronous, CAN ensures precise timing synchronization between nodes through a mechanism called **bit timing**, which consists of the following phases: + +- **Sync Segment:** Used for synchronizing nodes. All nodes recognize the start of a message by identifying the transition from a recessive to a dominant bit. +- **Propagation Segment:** Accounts for physical delay times within the network. +- **Phase Segment 1 (PS1):** Helps compensate for phase edge errors. +- **Phase Segment 2 (PS2):** Provides further compensation for phase errors. + +Bit timing is divided into **Time Quanta (TQ)**, which are the smallest units of time in CAN communication. The total number of TQ in a bit period defines the bit timing, adjusted to ensure high reliability in communication. + +By employing precise timing and synchronization techniques, CAN ensures that all nodes maintain close time alignment despite the asynchronous nature of the protocol. + +### Termination Resistors + +Termination resistors are essential for the proper functioning of a CAN bus network. These resistors prevent signal reflections that can cause communication errors. Typically, a 120-ohm resistor is placed between CAN_H and CAN_L at each end of the bus. + +#### Connecting Termination Resistors + +To add termination resistors, connect a 120-ohm resistor between the CAN_H and CAN_L lines at both ends of the CAN bus. This ensures that the electrical signals are properly terminated, preventing reflections and maintaining signal integrity. + +## CAN Class + +With the CAN class, you can send and receive data over a Controller Area Network (CAN) bus, enabling communication between an Arduino board and other devices in a networked environment. + +- The CAN class provides methods to manage CAN communication, suitable for high-speed and reliable data transmission in applications such as automotive and industrial systems. +- Typically used with specific Arduino boards that have CAN capability, like the [Arduino Due](https://store.arduino.cc/products/arduino-due) or with add-on shields such as the MKR CAN Shield. + +The CAN class has several essential methods: + +- `begin(CanBitRate rate)` - Initializes the CAN bus with a specified bit rate (e.g., `CanBitRate::BR_250k` for 250 kbps). +- `available()` - Checks if there are any incoming CAN messages available to read. +- `read()` - Reads a CAN message from the bus and returns it as a `CanMsg` object. +- `write(const CanMsg& msg)` - Writes a CAN message to the bus. The message is encapsulated in a `CanMsg` object, which includes the CAN ID, data length, and the data payload. + +These methods provide the core functionality for sending and receiving messages over the CAN bus, allowing efficient and reliable communication across multiple devices in a network. For example, these methods can be used to monitor vehicle sensors or control industrial machines. + +## Arduino CAN Pins + +The default CAN High/CAN Low pins on an Arduino board are the D0 (RX) and D1 (TX) pins. Some boards have additional serial ports, see table below: + +| Board / Shield | CAN0_RX | CAN0_TX | CAN1_RX | CAN1_TX | +| -------------- | --------- | --------- | ------- | ------- | +| UNO R4 WiFi | D13 | D10 | | | +| DUE | D68 | D69 | D66 | D53 | +| Portenta X8 | 52 (J1) | 50 (J1) | 49 (J1) | 51 (J1) | +| MKR CAN Shield | dedicated | dedicated | | | + +## Examples + +Below you can find an overview of tutorials we have created for our different products. + +- [Arduino UNO R4 WiFi CAN Bus](tutorials/uno-r4-wifi/can/) + +- [Sending Data Between Two MKR CAN Shields](https://docs.arduino.cc/tutorials/mkr-can-shield/mkr-can-communication/) \ No newline at end of file From ab9ffb3b104443ebf9f235aca326772bc742c71e Mon Sep 17 00:00:00 2001 From: Hannes Siebeneicher Date: Mon, 19 Aug 2024 09:47:34 +0200 Subject: [PATCH 2/5] styling fixes --- content/learn/05.communication/10.can/can.md | 60 +++++++++++++++----- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/content/learn/05.communication/10.can/can.md b/content/learn/05.communication/10.can/can.md index abaa4d6aa7..1296fbc47c 100644 --- a/content/learn/05.communication/10.can/can.md +++ b/content/learn/05.communication/10.can/can.md @@ -52,6 +52,7 @@ If you want to jump straight to the examples click here or go to the end of this #### Origin and Purpose The CAN bus, or Controller Area Network, was developed by the German company Bosch in the 1980s. Its primary purpose was to streamline communication within vehicles, enabling various microcontrollers and devices to communicate with each other without the need for a central host computer. This innovation significantly enhanced the efficiency and reliability of automotive systems, allowing for real-time data exchange and coordinated control across different vehicle components. The robustness and noise immunity of CAN made it particularly suitable for the harsh environments typical of automotive applications. + | Name | Year | Speed | |-----------------------------|------------|-------------------------------------------------------| | CAN 1.0 | 1986 | Up to 125 kilobits per second | @@ -62,27 +63,33 @@ The CAN bus, or Controller Area Network, was developed by the German company Bos #### Timeline of Standards -- **1986: CAN 1.0** - - The first version of the CAN protocol was released in 1986, supporting a bit rate of up to 125 kilobits per second. Initially, it was used primarily for diagnostic communication within vehicles. +**1986: CAN 1.0** + +The first version of the CAN protocol was released in 1986, supporting a bit rate of up to 125 kilobits per second. Initially, it was used primarily for diagnostic communication within vehicles. -- **1991: CAN 2.0** - - The influential CAN 2.0 standard was released, introducing significant advancements. This version supported bit rates of up to 1 megabit per second and introduced two frame formats: the standard 11-bit identifier and the extended 29-bit identifier. CAN 2.0 became widely adopted not just in automotive applications but also in industrial and other embedded systems. When using an Arduino, this is the version that is as of today (08.15.2024) supported by the [Arduino_CAN]() library. + **1991: CAN 2.0** + +The influential CAN 2.0 standard was released, introducing significant advancements. This version supported bit rates of up to 1 megabit per second and introduced two frame formats: the standard 11-bit identifier and the extended 29-bit identifier. CAN 2.0 became widely adopted not just in automotive applications but also in industrial and other embedded systems. When using an Arduino, this is the version that is as of today (08.15.2024) supported by the [Arduino_CAN](https://github.com/arduino/ArduinoCore-renesas/tree/main/libraries/Arduino_CAN) library. + +**2003: ISO Standardization** + +CAN technology was standardized under the International Organization for Standardization (ISO) as ISO 11898-1. This helped in formalizing the protocol and ensuring compatibility and reliability across different implementations. + +**2011: CAN FD (Flexible Data Rate)** + +CAN FD was introduced to meet modern demands for higher data rates and larger payloads. CAN FD supported bit rates of up to 1 megabit per second for the arbitration phase and up to 8 megabits per second for the data phase. It also allowed for payload sizes up to 64 bytes, compared to the 8-byte limit of CAN 2.0. -- **2003: ISO Standardization** - - CAN technology was standardized under the International Organization for Standardization (ISO) as ISO 11898-1. This helped in formalizing the protocol and ensuring compatibility and reliability across different implementations. +**2015: ISO 11898-1:2015** -- **2011: CAN FD (Flexible Data Rate)** - - CAN FD was introduced to meet modern demands for higher data rates and larger payloads. CAN FD supported bit rates of up to 1 megabit per second for the arbitration phase and up to 8 megabits per second for the data phase. It also allowed for payload sizes up to 64 bytes, compared to the 8-byte limit of CAN 2.0. +The latest revision of the ISO standard incorporated CAN FD, making it an integral part of the international standard for CAN. -- **2015: ISO 11898-1:2015** - - The latest revision of the ISO standard incorporated CAN FD, making it an integral part of the international standard for CAN. +**Ongoing: CAN XL (Extra Large)** -- **Ongoing: CAN XL (Extra Large)** - - Currently in development, CAN XL aims to further enhance the capabilities of the CAN protocol, offering even higher bit rates and larger payloads. This ongoing evolution is driven by the need to compete with Ethernet and other high-speed communication protocols in automotive and industrial applications. +Currently in development, CAN XL aims to further enhance the capabilities of the CAN protocol, offering even higher bit rates and larger payloads. This ongoing evolution is driven by the need to compete with Ethernet and other high-speed communication protocols in automotive and industrial applications. ## How CAN Works -CAN (Controller Area Network) operates by transmitting data through a structured series of bits called frames. These frames ensure reliable and efficient communication between nodes on a network by encapsulating various fields that serve specific purposes such as message identification, data transmission, and error checking. +CAN operates by transmitting data through a structured series of bits called frames. These frames ensure reliable and efficient communication between nodes on a network by encapsulating various fields that serve specific purposes such as message identification, data transmission, and error checking. ### Shared Bus and Absence of a Central Master Node @@ -93,7 +100,9 @@ One of the unique features of a CAN bus system is its use of a shared communicat ![Differential Signal](./assets/differential_signal.png) CAN uses a differential signal scheme, meaning data bits are represented by the difference in voltage between two wires: CAN_H (CAN High) and CAN_L (CAN Low). This differential nature makes CAN highly resistant to electrical noise, ensuring robust communication over long distances and in noisy environments typical of automotive and industrial applications. + #### Practical Example: CAN in Automotive Systems + Imagine a modern car where multiple sensors and actuators are connected throughout the vehicle. These include components such as the Anti-lock Braking System (ABS), Engine Control Unit (ECU), and various sensors for monitoring engine performance or temperature. To connect all these devices, a significant number of wires run across the car, often in close proximity to high-power electrical systems like the ignition system or the alternator. In such an environment, electrical noise is a common issue. Traditional serial communication protocols, which rely on single-ended signaling (measuring voltage relative to a common ground), can be significantly affected by this noise. The noise can induce erroneous signals, leading to data corruption and malfunctioning of the system. However, the CAN protocol uses differential signaling, which measures the difference in voltage between the CAN_H and CAN_L lines rather than referencing a predefined voltage level. This differential voltage measurement ensures that the data being transmitted is accurately received, regardless of common-mode noise. Even if the CAN signal is increased, decreased, or corrupted by external noise, the difference between CAN_H and CAN_L remains the same, preserving the integrity of the communication. @@ -102,7 +111,9 @@ However, the CAN protocol uses differential signaling, which measures the differ #### Ground Wire Considerations Technically, CAN's differential nature means that a ground wire is not strictly necessary for data transmission, as the data is conveyed through the voltage difference between CAN_H and CAN_L. However, in practical applications, it is advisable to include a ground wire for the following reasons: + - **Common Ground Potential:** Including a ground wire helps keep all nodes in the CAN network at a similar ground potential, reducing the risk of large ground potential differences, which can cause issues with the physical layer transceivers. + - **Safety and Reliability:** In an automobile, the chassis often serves as the common ground, ensuring that all devices operate at compatible voltage levels, reducing the chance of communication errors and improving overall system stability. #### Example of Collision and How CAN Handles Bus Arbitration @@ -125,26 +136,43 @@ Each CAN message is encapsulated in a frame made up of several fields: CAN frames come in two formats: Standard and Extended. The primary difference between these two formats is the length of the identifier field. - **Standard CAN ID:** Uses an 11-bit identifier, allowing for 2,048 unique message IDs. + - **Extended CAN ID:** Uses a 29-bit identifier, offering a significantly larger address space with 536,870,912 unique message IDs. A typical CAN frame consists of the following fields: 1. **Start of Frame (SOF):** Marks the beginning of the frame with a dominant bit, synchronizing all nodes to the start of the message. + 2. **Arbitration Field:** + - **Identifier:** A unique value used to identify the message and determine its priority during arbitration. + - **RTR (Remote Transmission Request):** Differentiates between data frames and remote frames (requests data). + 3. **Control Field:** + - **IDE (Identifier Extension):** Indicates whether the identifier field is standard (11 bits) or extended (29 bits). + - **r (Reserved bit):** Reserved for future use, should always be dominant. + - **DLC (Data Length Code):** Specifies the number of bytes of data (0 to 8 bytes). + 4. **Data Field:** Contains the actual payload data, from 0 to 8 bytes. + 5. **CRC Field:** + - **CRC Sequence:** Holds the Cyclic Redundancy Check value for error detection. + - **CRC Delimiter (DEL):** A single recessive bit separating the CRC field from the acknowledgment field. + 6. **ACK Field:** + - **ACK Slot:** Indicates successful receipt of the message by setting a dominant bit. + - **ACK Delimiter (DEL):** Follows the acknowledgment bit and is recessive. + 7. **End of Frame (EOF):** Consists of seven recessive bits marking the end of the frame. + 8. **Interframe Space (ITM):** A period of bus inactivity between consecutive data frames ensuring the bus is idle before the next message. These structured fields enable CAN to provide robust and error-resilient communication, making it highly suitable for automotive and industrial applications where reliability is crucial. @@ -158,8 +186,11 @@ Timing and synchronization are crucial aspects of CAN communication. Unlike sync Despite being asynchronous, CAN ensures precise timing synchronization between nodes through a mechanism called **bit timing**, which consists of the following phases: - **Sync Segment:** Used for synchronizing nodes. All nodes recognize the start of a message by identifying the transition from a recessive to a dominant bit. + - **Propagation Segment:** Accounts for physical delay times within the network. + - **Phase Segment 1 (PS1):** Helps compensate for phase edge errors. + - **Phase Segment 2 (PS2):** Provides further compensation for phase errors. Bit timing is divided into **Time Quanta (TQ)**, which are the smallest units of time in CAN communication. The total number of TQ in a bit period defines the bit timing, adjusted to ensure high reliability in communication. @@ -184,8 +215,11 @@ With the CAN class, you can send and receive data over a Controller Area Network The CAN class has several essential methods: - `begin(CanBitRate rate)` - Initializes the CAN bus with a specified bit rate (e.g., `CanBitRate::BR_250k` for 250 kbps). + - `available()` - Checks if there are any incoming CAN messages available to read. + - `read()` - Reads a CAN message from the bus and returns it as a `CanMsg` object. + - `write(const CanMsg& msg)` - Writes a CAN message to the bus. The message is encapsulated in a `CanMsg` object, which includes the CAN ID, data length, and the data payload. These methods provide the core functionality for sending and receiving messages over the CAN bus, allowing efficient and reliable communication across multiple devices in a network. For example, these methods can be used to monitor vehicle sensors or control industrial machines. From 63491c08b934a1fe599a142c6f6d2985d0c76125 Mon Sep 17 00:00:00 2001 From: Hannes Siebeneicher Date: Mon, 19 Aug 2024 14:51:30 +0200 Subject: [PATCH 3/5] update content --- .../10.can/assets/differential_signal.gif | Bin 45819 -> 47449 bytes .../10.can/assets/differential_signal.png | Bin 26784 -> 31201 bytes content/learn/05.communication/10.can/can.md | 131 +++++++++--------- 3 files changed, 68 insertions(+), 63 deletions(-) diff --git a/content/learn/05.communication/10.can/assets/differential_signal.gif b/content/learn/05.communication/10.can/assets/differential_signal.gif index 121a8983ec7fd82a51f1b8a511c66441377e340a..937bef8ca33cd86e7673441579d00a4a867139ff 100644 GIT binary patch delta 35293 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 diff --git a/content/learn/05.communication/10.can/assets/differential_signal.png b/content/learn/05.communication/10.can/assets/differential_signal.png index 3d44e92a8220dd57d69c969fa4d5e8a16d1558d7..d4047cb196c3b855098a8b81d4d8169679e767de 100644 GIT binary patch literal 31201 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 Date: Tue, 20 Aug 2024 12:12:34 +0200 Subject: [PATCH 4/5] update content --- content/learn/05.communication/10.can/can.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/content/learn/05.communication/10.can/can.md b/content/learn/05.communication/10.can/can.md index 0399a81e37..6793a2c94e 100644 --- a/content/learn/05.communication/10.can/can.md +++ b/content/learn/05.communication/10.can/can.md @@ -6,12 +6,7 @@ tags: [CAN Bus, Communication Protocols] hardware: - hardware/01.mkr/01.boards/mkr-wifi-1010 - hardware/02.hero/boards/uno-r4-wifi - - hardware/03.nano/boards/nano-every - - hardware/03.nano/boards/nano-33-iot - - hardware/04.pro/boards/portenta-h7 - - hardware/04.pro/boards/portenta-h7-lite-connected - - hardware/05.pro-solutions/solutions-and-kits/portenta-machine-control - - hardware/10.mega/boards/giga-r1-wifi + - hardware/10.mega/boards/due software: - ide-v1 - ide-v2 @@ -43,8 +38,8 @@ If you want to jump straight to the examples click [here](#examples) or go to th - [Origin and Purpose](#origin-and-purpose) - [Timeline of Standards](#timeline-of-standards) - [Examples](#examples) - - [Arduino UNO R4 WiFi CAN Bus](https://docs.arduino.cc/tutorials/uno-r4-wifi/can/) - - [Sending Data Between Two MKR CAN Shields](https://docs.arduino.cc/tutorials/mkr-can-shield/mkr-can-communication/) + - [Arduino UNO R4 WiFi CAN Bus](#arduino-uno-r4-wifi-can-bus) + - [Sending Data Between Two MKR CAN Shields](#sending-data-between-two-mkr-can-shields) ## CAN Class @@ -72,9 +67,8 @@ The default pins on an Arduino board are CAN High and CAN Low. See table below f | Board / Shield | CAN0_RX | CAN0_TX | CAN1_RX | CAN1_TX | | -------------- | --------- | --------- | ------- | ------- | -| UNO R4 WiFi | D13 | D10 | | | +| UNO R4 | D13 | D10 | | | | DUE | D68 | D69 | D66 | D53 | -| Portenta X8 | 52 (J1) | 50 (J1) | 49 (J1) | 51 (J1) | | MKR CAN Shield | dedicated | dedicated | | | ## Technical Specifications @@ -226,10 +220,10 @@ Despite being asynchronous, CAN ensures precise timing synchronization between n Bit timing is divided into **Time Quanta (TQ)**, which are the smallest units of time in CAN communication. The total number of TQ in a bit period defines the bit timing, adjusted to ensure high reliability in communication. -In your code you set the BitRate like so: +In your code, you set the bit rate like so: ```arduino -CAN.begin(CanBitRate::BR_250k) +CAN.begin(CanBitRate::BR_250k); ``` ### Termination Resistors From 3c1c58fad54fb9ff63f294176170ac8009397e96 Mon Sep 17 00:00:00 2001 From: Hannes Siebeneicher <60609597+Hannes7eicher@users.noreply.github.com> Date: Wed, 21 Aug 2024 10:26:18 +0200 Subject: [PATCH 5/5] Apply suggestions from code review Co-authored-by: pedromsousalima <32345730+pedromsousalima@users.noreply.github.com> --- content/learn/05.communication/10.can/can.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/learn/05.communication/10.can/can.md b/content/learn/05.communication/10.can/can.md index 6793a2c94e..42e4550d0b 100644 --- a/content/learn/05.communication/10.can/can.md +++ b/content/learn/05.communication/10.can/can.md @@ -45,7 +45,7 @@ If you want to jump straight to the examples click [here](#examples) or go to th With the CAN class, you can send and receive data over a Controller Area Network (CAN) bus, enabling communication between an Arduino board and other devices in a networked environment. -- The CAN class provides methods to manage CAN communication typically used with specific Arduino boards that have CAN capability, like the [Arduino UNO R4](https://store.arduino.cc/products/arduino-due) or with add-on shields such as the MKR CAN Shield. +- The CAN class provides methods to manage CAN communication typically used with specific Arduino boards that have CAN capability, like the [Arduino UNO R4](https://store.arduino.cc/en-se/products/uno-r4-wifi) or with add-on shields such as the MKR CAN Shield. The CAN class has several essential methods: @@ -75,12 +75,12 @@ The default pins on an Arduino board are CAN High and CAN Low. See table below f ### History of CAN -The CAN bus, or Controller Area Network, was developed by the German company Bosch in the 1980s. Its primary purpose was to streamline communication within vehicles, enabling various microcontrollers and devices to communicate with each other without the need for a central host computer. This innovation significantly enhanced the efficiency and reliability of automotive systems, allowing for real-time data exchange and coordinated control across different vehicle components. The robustness and noise immunity of CAN made it particularly suitable for the harsh environments such as cars. +The CAN bus, or Controller Area Network, was developed by the German company Bosch in the 1980s. Its primary purpose was to streamline communication within vehicles, enabling various microcontrollers and devices to communicate with each other without the need for a central host computer. This innovation significantly enhanced the efficiency and reliability of automotive systems, allowing for real-time data exchange and coordinated control across different vehicle components. CAN's robustness and noise immunity made it particularly suitable for harsh environments such as cars. | Name | Year | Speed | |-----------------------------|----------------------------|-------------------------------------------------------| | CAN 1.0 | 1986 | Up to 125 kilobits per second | -| CAN 2.0 | 1991 | Up to 1 megabit per second | +| CAN 2.0 | 1991 | Up to 1 Megabit per second | | CAN FD | 2011 | Up to 1 Mbps (arbitration), Up to 8 Mbps (data phase) | | CAN XL (Extra Large) | Ongoing (as of 08.19.24) | Higher bit rates (in development) |