From 90903ce44816af41a9b23a53b5268760740c8633 Mon Sep 17 00:00:00 2001
From: Michal Sojka This block allows receiving messages from the CAN bus. It can be configured for any of the CAN ports (modules) CAN1, CAN2 or CAN3. The acceptance rules for message reception can be specified by a Message ID parameter and optionally by a Message ID mask. Specifying the mask allows to receive messages with multiple IDs. The block supports both, the Standard (11b ID) and the Extended (29b ID) frame formats. Note that if Mixed message ID type is selected, the blocks will receive both frame types, but the Standard Message ID and optionally the Message ID mask has to be shifted by 18 bits to the left to correspond with the extended IDs and masks. For example, if Message ID parameter is set to 0x80000 and mask to 0x1ffbfff, the block will receive SFF messages with IDs 0x002 and 0x003 and EFF IDs 0x00080000 and 0x000c0000. The mailbox number can be assigned automatically or manually. Automatic mailbox numbers are generated in ascending order from [-0-]{+1+} to [-31.-]{+64.+} Every mailbox must have a unique number. It is possible to mix blocks with automatically and manually assigned mailboxes. If the manually assigned mailbox number would collide with the automatic one then the automatically generated block will get assigned a next higher non-colliding [-ID.-]{+number.+} The mailbox numbers are shared between CAN Transmit and CAN Receive blocks with the same CAN port (module) parameter. The order in which-]{+ On message reception,+} the [-messages are received-]{+mailboxes+} and their [-priority depends on their mailbox numbers. The lower-]{+acceptance filters are consulted in+} the {+order of increasing+} mailbox [-number is, the higher is the priority.-]{+number.+} If {+a message can be accepted by more than one block+} you {+may+} want to [-have the priority of-]{+assign+} the [-messages under control, you have-]{+mailbox number manually+} to [-specify the numbers of-]{+have better control over which block receives+} the [-mailboxes manually.
The output of this block is a message data in selected format: uint8, uint16, uint32 or CAN_MESSAGE. The CAN_MESSAGE object can be unpacked by CAN Unpack
block.
Every time a message is received, the function call on f()
output signal is triggered and the received message data is appears on the Msg
output port. See cantransmit.slx
demo for examples of different configurations and the usage of the CAN blocks.
In order to use this block, there must be a CAN Configure
block in the model.
This block allows to send a message to the CAN bus. It can be configured for any of the CAN ports (modules) CAN1, CAN2 or CAN3.
The message data are read from Msg
input port. The data type is decided automatically from the input, but it is restricted to uint8, uint16, uint32 and CAN_MESSAGE. The CAN_MESSAGE object can be created by the CAN Pack
block.
The message sent by the block will have an ID assigned according to the number in the Message ID parameter. The block supports both types of message IDs: Standard (11b) and Extended (29b). If CAN_MESSAGE is used as input type, the message ID stored in CAN_MESSAGE object is ignored and the ID from the parameter of this block is used instead.
The mailbox number can be assigned automatically or manually. Automatic mailbox numbers are generated in ascending order from [-0-]{+1+} to [-31.-]{+64.+} Every mailbox must have a unique number. It is possible to mix blocks with automatically and manually assigned mailboxes. If the manually assigned mailbox number would collide with the automatic one then the automatically generated block will get assigned a next higher non-colliding [-ID.-]{+number.+} The mailbox numbers are shared between CAN Transmit and CAN Receive blocks with the same CAN port (module) parameter.
[-The-]{+
If there is multiple messages waiting for transmission, the+} order in which [-the messages-]{+they+} are transmitted depends on their mailbox [-numbers.-]{+numbers and not on the message IDs.+} The lower the mailbox number is, the [-higher is the priority of-]{+sooner+} the message[-and the sooner-] will[-it-] be transmitted. If you want to have [-the priority of the messages-]{+this+} under control, you [-have to-]{+should+} specify the numbers of the mailboxes manually.
In order to use this block, there must be a CAN Configure
block in the model.
Ddzf$Uu<$qhFdE7FddtLTpy}p^dFRc|B|B}{ zESVVTATWLjh58;6&mK;1Z>#H}&+v9##ZR_AOgNG}g8MYTqbeg{oWN7~zL`QDJ2j?T z_V93LXIF>E9gx|w^@L(zE>*N6;QgaGV6J}OzqkVToreG_sD~!R3a6fOz2{2SFfk$g=TA!@f=0wI0SfYvf!T!0 zN>7q|I2sy%XIwd D 79`C4f9csYZ`sITH#sVCx{_W}W(_XG<7w zM0YVT3yC7C zHBJ4 z68&Dxg@Pp!zDOTU!YJH8GOM^{9)LP1_B+kvq kATsDiT6-|;he6%@W zP<1bDs#MipK!zJp{_`35{#^OkQZX |PAhmHL;wBE6OC z?9~Me^SMfk&glJ=NmG4NYU@n!`syONQ(rO2Usgsg8_}K=RPaI$ixY#8@v-}%U4l~A zaFQ>Kp)T<_!U7fD$9(2hfP-T}3%ML%1}BrU&{zRbba-&O+D`lyNf6jLr0r!_!oDuU zP4^BKG{3BIv54dm)Es?gu s*4+f}LpVlMfJ-j_%^*oMkXv&wiVPd7lfBmARqGk`qeYy2G zCI^)W;0%->4=#(}Y9I2m3&C ah z&M5!W!6lf2@3N_ Cu zuAu`f9PpCRn|nJdxpZWG4@nK%Mb%y|{cw@n 4h^ z0ow8|d%mLd!%HEM`w&=MlnkI}{>zHP6TKFf`NPfkf`ong !zZv z{=_+nEbw&UnO=ma5&Sc>n7^PsIuTOb$+7L8~o$I2z(UTLNg&UQFAja3ZEGL4kgX zMabX(u8$bQYTO1+KQpj!#PsDNy+LfpV%ApILf|*#d~-9}A?G03a1h%x_U|s_KI>La z1rwH+msK^%C#S(FQfwFP!Eg;gIrjJV`fOox7gyKUUhg%|K3(FC!y_X4LbV~>`k*Zl z6vwTh8V*~|3IRr@QpNgQ{|=6EItqzgDqBu5Y-RhKGt3#|>k&%s_spavjQaZe3j%_v ze KHrYR sgo?z_)&F)Y8%zlo0`!m1lev0$7=*Dq3Tjd&sT}X`QG0t^ zo13fOIj6f_c}@=U5`bk14*|5moJC+r$R-F>`tlt;JS?fSj(45lJ6!883E@B?hM*i2 zFe@9K4LJr5Lwy()q7FeZ8cSMDF7BG3{8|^MS4`}CyyPB9^tRN@gal^K|ByoDuU$46 zpvGhSodEgo1DyQFnbRONj^VwmaxLchi+8oVq%{qCqq9u;<<8U1(XBF833Q7@lpGl| zROY^$Gxi`oj`gtZyFzAA{oM_<&ffm!CeW%;CYujep2ZmhPx%E>ot(B)i0vlC e6`&>gfUCtK*Fi#uX hTwNOU3hub!bN5Goa5jTY33dHeSZx!ad1Av=)NGa_)V_z>z1sh z^STe6_MNHP9reCKAWBX}|1+9*<*r?LXK*PItjcR8;Nx2h@XR PC&w2H-WN>gojt?rm)HNv0&zZBcY& zCxUrHgv0%iTsZZOL=o$$>FND02k503nL)s5OQ-@3adQiQVDtNZCg?iN+TsbQKp4Wf z=TEE2%ge_NP+LTU1lua1?HO|b24$sm&`&mfU((Vt#BJ@{9^fXW7`LRI^o0y>*AUQT z&Ozb);J$atE7O&R>jMKO|G9Yrhmp}GuRP=_DU14rFHdn_GgD2_YinyLLodI7f2e8N zLCJo1+DS4>$%!{YpuC5Mh9a#d|605Y%YIf-R{AW%VSR!ezW%)ZAs3ttERS`)fnMMC zjQ t%n_WUftZxD$XIX6@z~d zTp!wuf(usgEv40z{ZA7tFStElE2D*oNksnS5>498%hzxbAJo$HMFs!Q9l5d?85vF_ zV;MXOEQLi`YHCu*Yjq+0^*O2j*QdtOrzU1y%r^3k3lxsGy} LAz^t}!kRz1pdorJNE&I=I;b*}CBBQsGs^NFH*-ryuUH z4GC2s c@52}#9^qgbSH}#TV&TXA#Iv!I>e0G@>^3RD z^yo ^`rNa*q9n*1{}B7H zRU5qA0^kgRA*Q*(mdd< =%rBI)`50D4GE5C-%R=s~jRa zh%BUB1W4C#W&scu+2RV`^x87#HHm^FV&V;jrA?5_ ?t)su?Q2VXTn^=z*(XlDJPfI*qEPT zFC77an4!tLzQo>EhxLSkhY(SrvvVaJb_6Vp@}B3RX)wq^wx1s=K~`4ZL`-PWsOxvd zqBhD6CJPjxZQ%EPTS%4#J}?}-%gUGrJ%6 *s *eiY)isUvdxy!C5u{XAZ#oV85UE;AL$q~C@IS8o_Fhp?({R^ zyG{gik{LoZ7 *?kF#h5X!3 cKaKoMfXKiXPA@uRTW*5BIRwwEXG-3-?-`l~1!j5Z(YWNro2 zrg2qS3cHF<`F|^%;Iraqc9wbts$VS+ogTYLg8tedjJD!=P4B>|t4r>Nzg`}x>vd(_ zK912e;Q%w%RD)c#F<|^{+h%fQ9*k&wkTe-&gR0wgR?&ZEqlg1S)Xl8*dH8B&%yYhS z&Rg+1bQ)j|!b@C|-GAh3WSz;wbJGJ@c(xSIg>T0Ny#yRrLB1JC;o^|_e=SazjzD7L zmU?(x$$4w8F(4ezEpEqB($OJ+?STG1U|NZe5~8G-FZ08aLoZvu|4|hF_7EYdp@E&$ zeED~o1T#I*LKy8YjNy=3uif=^&$g#i;*M*Og6uhT9}G2vKl~XEv67m~y+u2)o&8_A z&ec8 C d)VtrwN!%nZg4JZ)0KeVo2rVz_pzVS9Ox)dTUnW9bfl7! z5;y3v&@-8rmzNc(Asrn(Kah~x4aQtIe9NexSXzk8C7y3&29aC>cYK8=ak1zesvv4= zW^7_i h{F6KdjM?AZ)Kx?Bgu0_X1CN#t?1A7I@xSB~ z7niS6w^d-bCy6L2>Y*-N`=1=W&}kg8poA#GE=P3*T60VI>y?(YD6^&iO*qB(+c)%g z`h%bk=?R+P-=3k`qE&CG$L@Egxk__;2*^o&6 z=KaE;QfDz!7^^QG_(f(D)oyGbkr-KYxn-(CgJPN31qKQc7Q2>l-F@A4HN3V3l09~@ zSWLqr^`TGvA5X48Civc1pl~G8OuVD|;KI4OLL|WQPM8^38WGN+H|Qb$*cgjCkUDHI zBw#2sJunAx>!wQV+CmOa!Ukepe21_jGWiZHUfj=hJMf>Jm|Td{fo6B~l?hE}(kP-V z-yDN(f8gV|88j_qGS`HIiyM*bTK{W4)OhTl?dh?wM6XV%NfMHLfnxAuLAu-;%YTno z)0~P=+gICtbKBec_&(s9lC3lAZ0(6NUS|wo9B^R$CZ7{#`0if3xxg{0KT%dMw8d(u z>}JW>>k>KgDkkz8CcMU)w gLlraB?^!-@`f?Ho-ByeuW zX)sPXv*%X|WKYi?A8-AkC}p=JJn5~KG@9A^(d$U0n1zJ2TWE?10i+ >E?+*i?wF zS=K@(2}hP~ptuP(UB>T&qu*i3*(Z_KbUtfdbuYEhNh+XR0Yd%o4({osweLJkEn)K6 z?M{+=wSCrpEQ)262soGLcwrdSL1Q&a){w3IvSSl)P;4Igw@+ ki`CaqmGuvLilVcsUIwOoC)J8< *)cFsI6!FeJ@9q) z-sLec@cI1f26#5)`l#X-QI=cm=IqWE-%G5aus^BRWHHf#(iWhnQtJ>H>CUWE;0uZ6 z3q~#V?}FN<2&t~1kzm4=nf_S#C&MBboJ9PEW-1tSNB1^C^FAiwj5PF2kulvv!?XC@ zFu64toD^KRH`mwERR}K1PZwXTxWu|iZ;cnG-_OCc3kV`1Z!eeg` NoxIWYf5J{?m4nt;N2tMAUnIZtfqI3iw+nl; zm@^460nTiFmA%|D4I3~Rx2x!%E6stCzZu&4lK(2jo3Qf0Dw+ij)%OSdo$QhFO~uji zx*g;zM-gK&QCOUvCUryq;!G@QH?_hSzQXk{>N~2dyP1zOF&vuLcSM0?++*f2OeJSB zXfHih!pLfuunMrsJt~7FA%yG;Hy%z85!x3<1Fi+bn2^vp?F!;{PRu`;afytpv@kJH zRK a&)1Gn!N z8suMsQk;o{BJroHM26Ho9v3vjpXFh;gacia=HKn@^@={;On&9IlD=W3gTN+Tk8RMs zxeEM~mt!adoAqmm#Ftq?Y^(*hk>^A~8CWKJvpt9w+WgJtL1&hT50YPSa uy-e-0 8B=&$D=HTo(mrSlbP1Sr&evhVxB)2Bzn6 z+vKyEj_eWS(ZW;u)u3~Xk$vh42X%rCpA*1ObGCmYApG${lVl^wZ!=h-BOuS5F7N}O zo&p7@elTNJoz%e2F!_m?^S)U(7m5>et|Hy2i5MD$fy`Wa`4aJmGEMtuk86*pH3nh1 zCC3n8fJQswPAjr5Cy6<%t2}F-0&uCdD6(;LwZT40VTs2nb)ifA3-K`y8Q#Oo2)L7D zQeZQY))G?t0vh`d6ewUii`c}_xtp^iyFE7_f=HnNAreiWKkiZwVe)^8^VN;vN_;0; ziZDIPxC5s-daxjhd*gl=3FCsknauX1?HC oB1Ng^h-1ZFxXK%zv4B8qO> zDEUuGQAtLwmmDw_@V3U9 zGc_IAeeJP~iKOio^Z8&)_#l zvFnpnGm1`t)a%61ZFK1X=HtL>YHD{8ef;v$ekO|MU;Qek`HPJeqMy@iIuq$wqY9g0 zl(_4~uQ|sFlJkC{$cPO_>bt?P*wdlkxN8rif5mghj3-x_WZ3L(;tsD2jS5A(YbK%3 zSV|W$ok%4IA2dTf0O6XKoR@8jQAx(6Wy2J_qIB|RAN`{&cc?EC5DpmSpA?}|pGxAJ zDz+W^n?KuN43|9)K@3HihJtTZN4E3qnS&L2jHlJ-LJyS8vK{=s(>#Oz!MG$&bgYVkMm-k|nMo-bg zh`A~)h<-y}n2Qnk6N;1nn3@r?7nriuaxjYmO_$`^eX7zZo0BNFQb@%Mm9qwSY?%V# z1(r0V`5>1AON4Wb9~w`HSgCGDcjC)&8q_-(E?ggVXPbcuWT@%5+2V)MDfE+_V0JZP zhWpXoBPb|UTj2ifhSxL?ig=UWZGhD@$?1ifbwTeuEa-hZ9p3((sX1wPVBaXrwPEMJu;wr}#K!Ka zei-n^@t#saw~=R?@~AkWS&y;4*pj!$_A K z N4hDfup{PV+MxOogdy95ZI`L;q;Au! zCFHm0(y+uKkuO-O<1l0It^XHT3c7W@%cRpbCEM#PQ8xM%(cnOx45=VAD9{;{D_60o zE+HNR#+VR(wyqfH%tYLt3?42r$zZIDQMpq@DE!qB84iz5+3Jjl@&Sy!aePMd1!%;C zvfLI<%@p6Zj`f0kz8)`MyO(>sT@EmaK>>z%ka>Z15GIUNt0ZewG0lC$qDCp(c*Z6F z*i156$LI623etA=pn7kLCXeZMG0q?&x-eCNypvJ!bcdqasN3#hzK-BG5Au~K_It-^ zj$3Tbx Q^Wp7|^NEBbkQMoiyBr9raUn9NSt2-)m|V?nx@4Mw zP}X<0anT*QNf-Q0!f1TY-o)|&6^7!*p_#%i>?kU;67CUL<1?}h%Jfv>gg2Zp70zP; z%s{K$Qf3`qzm`4yozY}^XJ?D1zEf9!`10`JOQTlNzI4_DrXkVmSKFyhALaR>ev2sD z6DpL31tLqM@!`F@bwr q_y zwEh<->{6m^<`6E!obY5PAt98EfmgG-J&zs!iJY2kRDjfKQu44RM-piF?3|csdXO8Z zbmEwo=QP}sgz+?ga0rwiN$qa0*$3Yq@+@DyJGH!ERHvd#W~P#%fBbTF^L8@Ov^b}5 zkCF^~F1)?z-=OEOXsegt)yk-Ap3561X`|;BIV1oc6urm9bY~>Gv&a(VewxP9B`8 zoc Bckt zm)A2LDfbZH^Q-Or5IN+K5G*->=v&kMljdk$oTP=dkt$kLj@o+>h4rQUXRS`v4d$>Q zwh`Qy kzEVu_xo_ZpSusDl*0M=PE{-5 zKzZ;8WcP9rk>`9oWMJI@BvE79$edJb T4X;L_ry;ho}K!DXfW7iD=pXesm zEGZZoH_`!ftBF9;aY(7y1rJ=1lDE;Hm1Jl)Y`XLtSJ8Jj9?!jqEjY`_l-v3U;gCGz zD{tl9?RNXWfw~}+gtnOg$_!GSl;jU_u7VTL7OG3TgPwnlCK#gQNNwCxDtnnLFE%xX zc;bg@Vp1GtJ^%QO#Hk6t3?k2UHrk*?#1?HUxKt<{in;|&d>4$aY%J@!Ns4icqpPiW zvFt+gAE2pk*s$GKt=p{4#tlnQ^sua#V{hgr9vJIS)X$qojncx2`6x&(=} t)~pq%{>;YyA5@5+01m=lo>%I0QJg^L%HbFi#QI0pW9%Q8%$rQF_eL zpL}iQ4=TAV(rhP&Y^5vqsg(900x0l4O$E!L^{s2`kA=WU&IJf@h`SNkkEGGZIkyWz zIJ4{@%Ex3YN|pIIktg!>h(5)s0&Nk >md nk;Z}IhCvJ23YpSLWN^g)iM;j{3$KXB94vrD|JP~D2}FVD}d zWiU2S=P-vHM?3l?F-wVMCm(RsQKX{2o}P32?B?hqbFBhhyMOLk;YlS{DC3Wl6|Yh^ zX{H%E)QaT1E4V5?I0DsStAj3Cbj95zoiNwQM*y&nzdvol+fB9NZAm5TWAzLETRb^T z;rby{REX>a@m|Fo#>GD*u7bT=MdAbN41WCdgR{&K;^@z?X{+X)Dir4sxgD@)4fe~0 z8}lyB3dd19ke(Y&iJv)8ReLYzlNqay2GEfbeK2upyE2<}x3kxB1z0{?AVqw-TFTSy z^8g(2_Qh#LygWTUJIB_6ce0tVih{WOwH%dS;|3Mnq_(DxkXHbr8exmv3eTQfx6-XK z4;+bz+1Kvxe#s=J!7I4ck0H6m0+QsPsSw!7=N_IXwzaWDO$*L`zbzo0*gqcHJPo&D z6t6jufAztw7~1pIIjos*99JxBD6>#YApw{+TBHHoNU6oB&$lrse;W88#mls8E^|nr z{bmSt_i4(WRzU?&(WGc&kImE}&hAjKUP4+p7`X=SRV>Th^f+aLSn)vy43N4TEx;3& z`b`@UixQcK`$`9l@cveYvU{MFG}bDg-o;ilq}V&Q^ioo=+_(*Arpp@@a)fG@Q3HRV zZhJ==;*JFBM8JygYnZ;&*0?XId4uY04_fSr2#Ef;Bgcv|j`}^pQlVEm6GYx8Eq6H_ z!bgT6#qD7dea>y9GTby6+C&~TV_@U^kbAzN{;A4Be9w_m>(glV+`Xv7#`>#8fF<8z zh^`FE7Z96g>mcj}YTG_JaMcxSkqr3!iK($4(MYDPE4&>n*Pg=+Yo|`XBB73N{LbWn z+0fGcAtIB0$kt}Fm4H6dh^=xlfY!X5h?HBCXv+zY;55DT$98pB4E_aIf%ff!0wIT9 z%lMhdW5eM;jlkOee8DhABsVlCL>j_}=Ws{Y>2u?Yu{|OYEt1Q@- b-H}jOX#%`sNB42~2L=@G%!AW0?L)x^HuefIuUJS?%Hk>0N^EHv z1&(e=@suZK`Z5t3_DyNk@8z#jm88*!s|%&wDQ1ZcqH7Rck$Hf1Zp3ig!=QqS;k5ED zk72CFZ~SX?X~h6@f UK2t5$P~hIPbQHHn4|;9%;g7Y|eN- zEqc&=$JBDscu#2bRRb!NckF$b(Ih{2C|J4e$Z`*%jj1Iw$W;&vUZ{1F6OQDl&~&|@ zp^)3$&(3kV8c&*(cqnCNbR7^`%bg=ZuD>dj{15oy-pP<`Em&i{cm9Fom=Q#kK6D78 zBwk%lpyeURX-ey0{#~lvTvv~2uPpKm){zaf?|?lyadBeQQUE^eF!*L}N=e&WDi!z} zWH6w1y=t_@v~T9&ee#!HY*hxh$@h&Gg%*pwdc9SH%3A1QEFCtnJl!5lE)F0yWnxDZ zc%*J#5F|GwDkDA6B>xn|5I0nI1VMfMBhhZ{!}hQd$%5IK*WGujtcvKo!IzX6v(_nJ z*!A~qV8=gModudz(N|;& +Txx*A zZ%{SN*YC;5nUxZBW<+YRJ;}93yt6$mVJ<=sa0qR+lLq z5BEmd?OqQ@cSj866JAyoPa&Cbk*PqZ8qHbqqu =L@Si>hoBWp)I=7zb~kG)2I; zi!ai$fvWlr 30 z@U-u)AyF~qDIsf?e3R_-Q$b=E$+g`M`kMU2{Nj?{4|} VQK* z^M=j?kNuNMM|}S-ucZ5CE@=9EZtw4x+JCpWt8}q x*vDxKoL~ z-u_+_EK<{Uxyk+~VqZdFL`~z4{VjjtX;}V;rl-)p1nv5 3C7~<(bko>d7>Snsrq3a^EX~AxF|la zLwl$XNBb7%pt5sHLGxwtQ|ntPmDbN<>xxn9xk9x5Bqcs%^_E5lkxix9P(X N5|ABH$7`#~?zPN6dZpY4GeGX9;%2)vVB?6{%DA=O5JM0|SPy z398}Yl*Hy;f8H7V@ky8Eq1AIx6z5 I!TMST7g;?4Q~#d24}`LO$Y^touNk0)-PRdM9mQ);mP z@hTJC3a`<`TQI{*0I**>MFu2t<8~VHy`njxa5wl(`jiJLE XPAYPB(z?vy_`{XB8wP*j4%I^Q<|sC50RNuRK;07Mq;k) zEFB(fi-P7H-I`oAXvd>q5-3ii+P9}?MK%T7g85$?*B#XKwuEU02}lV|sR|cJ=z`Ll z2+||HOOYZy5NSg2N0BBdy+ag)(2F2a0|J65ML =FFUP zc6WBZ+4IlN?)R?z%Sy}h96+y-Wgo*|!U|-|(W{3ADq4-tWrWFo*lFmjm(fVzJQRXV z*L_>UwS3ZX9!t2dROHA}RBakl*%|s1N6NO{-sqEh`q!z{y9TCA+#BP3uVk+b-@*B- zK^W>5U&ImvxDB(W=RuEaJu!U4b76mVm2SVx8fCD~g*vR+yR|x{0+6t0gNnDZhf{te znT9=mW||x;Ar~Sd@W~6}F3{(JI;9%@Y?kP*FH8mf5D{RK>v=JaQK{J<)9 B!gO;1@c`UzH zybVmbHg1$$BEP;N1F&aM#^JS4EXy<-;-a$#wnWl43iz?5UHZ1y?A8$or)yz(kRIQo z)*URS*7gcw=Q@)^Q}ppWqO9C-gGS>f>2%;k6>gyE%Xh0{3Gd3@vS#~scq~Hy+2*s- z K0ad(aFBh|XZhekw@Z1AfMB7_I6jiijM+V4# z0!ED=p;iD2V?{JBf4>Sx2m9%7m2hnSqV1p{4@K8D4L!0bs*9 DcSSFmAogBUegGWbEe zAl(;2hcY<@z)n`w69R4XVslty83L2WcOT7`z|G!U @H z&U?+jAOiEcd27(xohTEw#Zv35{#tGR->=+zA)gd0u(r8!Q*~g_g>qifnO4QW4-$79 ztQ`huE9x@_wY`6YE@7?&F*Pwr;J&STz+{P24k`XQ)%i5nE5-8;GC#pC@YoFp3^wY! zq5FAnEu_Efm?BzSzuZx>ZM0leqeu`s_H2v*_KKS2#aG}RaBD_y$X}TGw84%$$zM$e zpxtz8AJ;gh%&**G!$D1}ImC^mqeH$iG_U~*yu~h2F9Wr?Om7(7Q<84{%J5~8OmvVs zEggK6Y06}g-(o`>P5rLD05hMWnuMJ?yNVWmE!}&S9tz!)`=s)qVwz@2qoiDKf?>46 zbBB*^AVu7)zD$@sc7*ftam7p{ID#!#%{(H+QScBiar{$Vt8+vq+>ko2%lLCxh%q;i z4(5!Sqec(U3l3yyW0y2Dz+M{!Mdz8PkoSnLCFE;s(eiXm&$EdoCx;uanS<{J2Ok+j z9?Q|EgA!LJY%G{Vc8KK$c=lgbvb3-^502)wue4G>P%j$_K%ZNlYvqx=fZ!@d?X^b- zy;ewB4ZL`LZ**_Z+~((?3CN?C*ewGR_0Z0pps+nvR-R8tElLudG5PvLRM!h_S+dj7 z9HB;$Nh^OX)A#zN!b@rrc1&hmuM~*4l)_0yLtq^0o{rh)WrX?{rTxhaX$&@D=BWyx zv_p!JC~wjg@bJxo>_ppzhu2;GgyDp7avHPUm_d3sWlOsWVtliW&uw?zPALE*)1BI8 zys~8iYjLJb0nztt`wU?HrVU%Dgsdfs Rni;Xut z5;9@Q26*vKX%o3;xQD6o2_t0G%9wC{=K>eR^KbP9iXHVGoIIw32}A3u#Za^ml23Wb z8c*zrt*HsZ>#|HHak$Jm13%E pZ`@VEb=DD5_C(5ny z&_eEZ^PqL=Y2buEn&p)U=uTubZPTuSdAaYwmI+qsV{WP`Ze_i_Rz6aEY~lh mC7n84ee#LVT+zC1O6VqXoH}W7SCYPj?phbadE36c;0Di>8OpmL-dg$ib z&ByTY?uJM-Qq|r(t@ddqy@tI~l3byFm29}1;xku}fx4_O=d&>r_d=0Xc#bov0R~`K z8TvS=G3pjjc*~}$wfi}*p{5|iwKnV_;lgCQm{($*RO~xlu*xlR78WI}0&0itYyw!) zH%r)s=8(}{yT2v13G~(C&nC`}`hEzFMP&(V^4o^KFIMZ)IN0AZMD53t2y0pdWU=l_ zh)p`NB`%6;2`e%04*~Y;QysH$=+fTOiEO>*=7^v~yu-~`#jbGX?C@Hex+NXbQ?XVa z%L7B@b;T1R_xxUvDsJqqV)k*B3-TJ+iM$YfhWD+1L-KYKfT54^$8)TD!bo@;XuiFV zt+F@xG)8iV($?3UFvo4!9m>u5^O%l6=V}m?HI>|DArV&1V#cX$>;i#tcVk^Xbvv z{-q^Yvs2QwPS)D01p!ZEG^3t&m$>sK$ZPI0Q %uZsaDZ#EN1NDxmUG#Wyxm45?vKIb*4VvwU;fAxk1$?^K?@& zs6n8ot5CBL{yayjfICJy!d=WcEN1NSLu!h;d!Z3+W{vvJ4RD(n|H=&YC|1;-4Eq~@ zkA=TRAc {rCIIP$%m8L zi(^L#*hrySe)_Qx9XD9>a1+8?Hu28(1b$LiTl3cLd}Oy@q9dgBm+JVNg2Xe~<6wJo zY8dnv)TGY5NUqi}_D1sgOm|}b%txuQn<*yA;R<1+?{I8g{$+f;dv7ywN5Nd9 a*y25n-o9zsZG}RfoHMx&x z&x
(%Y{a)#bJ%aR&(c}sM!x8`1yKBfZ(Rx%`ihRseb{FK_Wd|%HpUgGv`MP 5rNF%u;2% zRW9-o!agt{q1-jK4YADajtE;IVcN7c3H)IqD=({lO4R>r&840~?CQSLw09IdsAzh8 zGh@lYugikR8yp`nzNyGR$P&^rMX4(+)-t*o3!MTdEk0o}TqAGpuRy&~xzb}mkti7t zt;)t(YHnQQ1Wb$-0%vCyz+a=rr+sWH 1^d1N}&bqEH bGtEMvFFfd5KJGUVIyQ4B@S0w8 zmP+n1+92go3>y&b po@r{E>3OXoNd z&vBwY=UlQyI(a-46aBpxB@bwmUuTN6<#U|<*e|SB=qjy_hdZJ|zb|G}r6?zlPBuut z8kbvx7W5H)J|D<9Ha)J7YPHjyl!xb(VJPy5hVtD6qk#6tqQ9KHAwYaUFM)xPZ*^>o z;nE^9C5RIOyC&*0xy-SCS*JjQx^#>5-nGw4mc2_?n5nOV^m`|p+w3>pL3z%}m5Xmy z_xzVt*tO+iz>>u*lA68mwgk$ $o#BBcOQXX3dW(a*9(sPXd4~N+KE&DlgzvUdrzvUn9DhCA8 zNgs*uPI*iQPPro}NLEUkf)o_9`#0Iu{|re;%FZ4BWBv#A)xSgdrzbC;gyhQK4*m{- zKLsnunbHHJ<@n<#{Gk+~ol*_sQ~q}f{MPxemu8(m5<*|+0_gW6=zL|JYY=sRpZ){U CllVOV diff --git a/rpp/blocks/rpp_can_tx.slx b/rpp/blocks/rpp_can_tx.slx index 98204790f9f6b7a199ae7ef5cd7ba2f2cee900db..aec7cd48b2fd4e35298bb77ff04bad64691d26da 100644 GIT binary patch delta 9380 zcmZvi1yCG7v!HQzS=`;-CAcjb+$FfX!{RPk+}#Nt++`sU+}$A%Tml5W{C8JZ@4dR2 zs_E&Op025}>YDlrz|be^1nNLoI6NpQC?qK5*jBlpKFgwS|1`eTY#9;|_^0YHCzdP- zatoltV8xPB?A~pPV4XlrIJdKaaI7t??C{vJNDP!TlJ1;&T&-TXU*)e_u=7W$nye(^ z5qk3SqvZ!0is|}%#tSnWfQ00Wnt?4kZFQp~WUr6Zg@tg+1Ipvb=cKE@3=K>OTVsxV zA=iQt8w~kfVdtEl6v_!wm*tUWUzax;9tHaf=Fgm{N-0g-Q(l(04F-nm*qG(dk%?J- zuQqCujH?vWRDEeQDC^=3?L1&Vu3m&ZC$^Z^^tye@x|{r=8~oi7{k^s|iKsSBf6DS^ zvpZUuV>i1*6o-&fy`|~ndI>b~zWK|+5hPi&^Hxxs)Zgces15}E*Ogg(Vyu7qw=#w> zP*AA Dkqe-tn}k->qA1yb%=KY7rxG}HvK?wtbQPg$gwm74^V#HS_I zMB=5T7$DFK68eg5mws)*VUMeUBPvYHrmEmz+qByo!ugRz42+D^zKeAO=o;}3$};Ja zEU6}AM^Y=^EbQqu<8ekS;A{L$|FR$qJ_tWEEI!!Ir3=;m^2w&tU%$}A_+zS;zQC!d zD|U+HzaJi*ibYLVXeg)+FaaINWrz~*jRpNGJ@|=B5n^c==sw=u>9|HRUz^e@5mNWC zlU(9$Ke@e|H{2N=;KH@DqJ0lLib7|@NJh&DGp@~a=pD7K6aR!EyUeBEtfZJ#3}B5r z{=S>zYPGw@h(3zk2o^}ma21ml`Ncc9dP}xAiP0nF?_R1rmDiucwwwS0HL>loDvov_ zj42%xUZQ>35-BOQ8V>-zIn|h{yQASRQszTWDIuVBgASeHDFTLD<%@yEhYCT?UUwJS z2KyZA*+a=+ca={Ec7KWch*8&C<6wpFqlH$P7v{_LNUYak3d12yf_n&}I&yt*LNcGY zuKo@m*oWF?l=^p*bls 3G`7Akfa;6xM5e^KWOBAMm#RnJWoaUG!1Qxc4oS{5KYPr_EU+W^l!u* zHK{%F-%ke_^O^M&X9I;r(heLC;CGn+z7zF7Q F8AT{_g7vBB98VeXbVF_D&yPn&puWy!%{ zw =TN_t`toPJ~(LdGlS&e&MR{v^#ES)mm>T{wIX!Lk%h6tPD zkH2p#R(?#lsW$u-^*$hYMFS<~llXw9#JwsmY3^opozMN5;yJA5^4~Mpmb#NGug35@ zSS=r#&GX;&vHUP^bA|DMeP*ZvsGnhyij%zNPvwgd&SXjW&EvD^YKcsx*Ioi%5anN9 zUcAoPTxpKQYZp$G`gUVQFjpy&kdps!0K8V0eEG+vUN=vN5i1R&6E=U%LH=mqW3KXH zuJNH}p4Kc}J)o%c h3OS-Z#W9=RefCC>|a_ z>9UJCsww^e=`(#Jr;pISH$EK34o*%}zo90+R_7QnlN5(KMrlN*@ImOk&-02Sc=_6A zGg?wdg1iE;SM{UH XhbE zKn`2{i8p@45Wc@6+`JL9IsCjzX4Spt$oAAzn&d*-Gpy@IE%Jaxg$9}xc_-eUD)r^D zU$;V5<~fV-y#bz^(tGc&vp*xdB_4rzbqx}ca&C!u*L+VG7T`uLp8T#CiU;v?ir`mY z_uHH6ssP`>+hrj^!SypT?*Ms33i10S5N1+0V!uwb!tdDmo%H_cQrE#u8UfEt)`DhU zc)r5Jv>J0${=VGi8PU*!o)CP-cR$$4L=P+7#RM}RK;B;)4qZ!-@EgTDR@o=?X5Qyv z?zeF{cW6jEea_@19vSni-S2vV{P#hP2A}J_lQNsCX!v Sk1?8=7XN?O?pU1yLBe$bopWWI=Jd^Xz6F6Bu8E6 zX(&Cpf62!>zdCr9P9Uq17KPhUjt2TSE2q8=VPo3g_NEz&FDx8|+4A^d3Ki$s#Os1( z&XXT A{Y}!aEH!smNUv}np0)1ftS}QXBT2u zXdMerDF#0n6F8a`DX}k!L(vz(i9sV!U81&gX8p>fPi|4CkAH}zC7T}{qr^DN_vPFg zxf-VGMFFv6eAxrA!(PF(K|3L%Q;WK#(i}J6;s|Pj0$le?rf&t2xFb>He@dBJ+SjUE zaZX{*k;$IU31j}T#i(!LBVBRfNXjOdBRZV*HDOEkM!MNej6bn?753Vevzt8c$dn*z zj2EY}=w;9h>9N&WJ&OSH?g!_Mt`*tD1tsw)DT8QokHkO6w=0Jxv#IF>_2< o1RD40B#m&^HyMg=)3Dsq=wX2Y!jd0UJdcM%tD6~;zG z9LaPFSL4 -hq zN>etx)i%v1Zl|!bx*dmkpy~*j(Y_ajdL{LPffDhwdk+YEPn}B7NCi^;6lKO_#J|h* z)JPx_(~FPfO(OL5^3>_az}IYsP#IX9oPc(VJxUV+z{QJZBj&3gAhz08b_XH~c}32? zIGJ{ozZ0)-BHOKv80bTQE)c(-lD)?p5`3{@b|71s!!cM?=XY0!;~cUQl%LX@#_4TP z+tMs&(VLXw6q6gqxJ(^oB!=OMN!@2u2F%Q8D_T8rsos&6#!a$(wWYx_# 3m0=Qv z_Dc WS_r%p2|Vu>cD&@w!wa861fDj~0rBcw7gvl&!^;G4hz7Wb*-0oWub|LT#y ztq)(P5S`0$8x2}k(PzRCf9?Y2mCa#1;!0T_= y8$B)jCt z5$!UOw2dZIAjj&jbAE)|_V~B(srAf3Ac6%ATsZ4d1X>Y}nF{@4{c@|ZE;of1!O3uw zIiO+a>X=i(p3uZSYw4m722h1lV+ZhL0h5u%& k^0{6#|v53 zc;!|YUzz4l^h^ui1gmoAR|_Jy9ts7v;cUt5X1dIyzWY9e;SWocQIEE#gu-&e_e!v+ z?c#(L% ?mHv%h$PH_TG(9yo<}X@^g@( zf32l_)V6!|4^iPX GyS%h179PMQW`sqc%o&obAdA1B z)9urXOPo0gYAH{?l$H|4-~1Tx=q%JP!OJS%K8Bn_&&@ C9Q6T2^j4jXA&F^B7quC<;-mf(X7Iz<=0gYEuqOYZ_5~BAAO0sJ;(UHQ*N}e zGC53S=+f8KR8Aj%D{wnq^29cgP^l}KgC_N1K~CF(gvurG^V=mGu5;5adGwE*G$Tv{ zUyM0p)Yl*IETC|>W{qd|tn&;ygk4niNcQj9(f)9B;u1G8fBMWjKo(ez!tsIzA_KGK zgOA%ae0gg&8h~eK$AXRBOS8=ZSO5W8!G(pA@vG>109P`OcZORYWd(bQUzi=yVRf>( zpqs#EB{k;-uC}#9>DBU<3rTjfpWNj)e!=|7(V{rPRq`kiyaXX03{BB{lWE<_07|-i zj=<%Pup}5R5xY DAlr}prnt)Z;iS~GtN6&T^5e5~*XoADy9chZjA#?X0)bazBuf2;1{ut5j!s1Lt zA4v8_iz=Dj2sm825a>Qage>D{N54#1J#@OoSRxSeInZQ0xcvo9rQi|B{(PYzzB_^w zU?JK}8+tYELA_)jW>oC7afx5$X@w0{a7a4fOZ@!Bv>a^y&Po)uu IoV*5I`2b7GavHykP2&z@*ZHx+l_E__jvF zu@cctze0Xnv#zOTx_rktU>c0b<)q&c>nd#F&($Q1WdDZ!cD+QlIA?hZfgz=n2GozG z!KE##=i)fSQqa_fbRs*bXA+8{Nu$U?gpEDuI$HR|QZYzQHP&w`Ok3bdg9&$U13;C@ z%7hW`5l%++E|}K<1 cwR;QC!DTic1+jz<7`upF{|nJ6F~0pX)T9& z2GR!7RDa+|FHm8vEV4i1+)vt` 7e=J-(`?y z!~a1m+F5h2oy*;3J3DBr?y|`n588qXqy)6t%T}Xr>{qa?Bo`Po!v^B5M 4&q%*=6Lcm8qC?bWJnXACxLfbn5`!2E?0A4?-fuhwN&11R4$2gN$Ze8x>PM0` z4-hu79z#g)iPcxIt)mPE;TF?=%oO9HeP_ItD)4e({o1Cn>r4a$uVig0gXSfP>pB@q zvs5XF){|uTpGOH9phEQsa?M7a0ecU`g&8S-3?07i;vD`&Cn6Vl#yMUirg>$L3j%kv zdU|&4$9slFD;EpFZf;vD<7hA(btHa^wUP<$>o!Z?Og)1}?Dg>|5dPGHW#JhFV<(4v zWIfKdf8J~;vtHI7(=y?L53)_)rCwzpmbDDWBPdpJXKfTwYL2Q>%zz)q2%|l-rBj0G zUeLm(6;TFA&I%gCp&kAGoR2K^2)n6bz{`3uzp@~O)*D)6dnkT@vymn+VVS)P l{E;o23tZ{z|76ZEz{YTvYiE-^7& zPIvT;h3#=~s-OVrbaDQ()q+^Pygq>UkJjP+cGSE)iM)o{^3Xa=8{(?^lG}zS8}7EH z13m|RI25(kvClJ}Tuy}f0ek3_>6RWFij<;-qN{3WaCG!E@tLiL2-}LhuMU>(@QleV z#Uu&z#Mbd1rQSaAB&d$zfh}NiG;rxzN{OCoyx4+`1&(uUa9(R)ybnO_Q9xJ3$mdWu zg?m_Z(HYKSM7KmPGGH1ZGapy#myI9VB^m)Ad|Ee&I(_{@#Jkj0pF29(i5{}YfoQtk z68gj5ym<}b^ElywS=t_FB96{bj!3MgfnK$x+sx9Ml0Zk{0f>X1``Rn&3_X8H&IzsQ zvo<&Sekj Ww838F9Q!|Hj3 z-!Fq`Ox0OEebKJ2ZIicKJwpo-L^N5w%R7uVSOyo8e>fgFu0AT)pj@uLf?Fze^wO-| z^aR&JRTSW_p+Lf6&AqTkbd9IXsJV~A1)7&u!ad}e4NSTg@&~cnttBiNUYeX+5-Bux z9|BHTZ7m%#5gDA*w(gl-Gz>|092Kk4bdH1gWa6fyrzXUN`*~*`YmKU=s82*{EYIis zXeO-s7LU+A8x32tV?14$=i;h`%8)q;sz^~{ms{2zM9_60-u9Rrnp7dbSVw`=r>wG( zPiR3y`6iOp*aIa2riaOw3$4YQjKyrqBiL)YZ^YLR%t$<%)w)ZiJFQJ{ot;Unx$qLX z6Ls=!=+Eq!(7xJTu@VP~lq?eDta~$mI-7r6%e)mpqbqzf)-w!89%Q=F&=bktUU->- z+!eyq^Mi_rcyKmu(ZjXGwbm0z%g{Ia&CtAWP~k}5G5}_w*a8YjW$+K#o#OE%=JQ_- zxPDKgpvr8k&a0 !)fw>O(iE1{Ky5aa^rcn|oe;y3I`3o)^@|oAih_ z`nTD`wj b^=E#g3nqo<&=j?g zxny(DoViDdg!bL80e}HLw?jI%eB#}Uu9C67gnU@7ihxEyy4i0hM3{Awc32a#H^OIM z=;g43n^ZX*QE}M$HbCuuBHZT++k-J)r~0C>522W2=j)}dY%GSMdR|>$QU@Dq4$vzZ zZMbhI%aZ;zXU|qPx~HS9ZVmVhqCqnk@fOuht%N8Z-}K=Fp9p*`0SAWB9fjtMz#D4G zxLoLBpq??d%s20~=S-*z`SQUx*q-FN(meW|)QVJLc6o(#c}c^)taHa<`GtgD-p+^J zY?u5D(M$*>*cj+{;Cc3@!MLz>0rAy&6Aoi%3pb+0%bjI^)t$;p8RZjDaf)ljgug_b zxq@wgRW>MJ_z1pzn|dsjLupb%njL?n@e*EuVNj8JIxY!?ts&YmZIukaJh?x(e=)D! zS9GEb4&JG+EaNh0%g2*-pbu8`lYlQ=Db_yIL%Ubvsc<|{ZmhZB-D94P0coJMvMUVp z7Jt5AR-S}TCu+*5VUJ6@Y(qC_KigH_eaFmjfnyy0$=|!sf9yM_`E{|$FyE!h&@z%< zs_yTTadmoRWZu I$20oNPbH*+9$=Sfg_w6z_( ziXr-_V7&e{wGXlO8>6A@{%z5(w(G&X>9e`L@(1mzVe`7G#euz1Bv1qOfPb<&JB;5R zU*W+~IdZ=m!Jya?_SM3lh3$2fv){7EZBIs<1=ag6!j_~9_`r}!)9G0=7UUFB648!q zj4M7J6gEONQ}s#9 4FlyItSPQJNQYaiwSOQrsxVE&u?60e2edU z@+~Yu>F}Wnb!Ti~Z%`k9$FC!Odv3XLU*G(z*m-}KBQ_QL< I8#@QmA1dSH6+$@ku-1tb9Z*N(ZkHb0`R^e#otPRd9b z7qAe*3|VJ5{Xv-dtkerfB5t|08EaylEw30seJNc>)02LmE(p66Gq53^%$Bapn@!)T zzIw`Z)u830g%4g=^su_v%Sz1o>wS$^ asnH_e7jF3w6gg&Hly8%cA*X9sB^| zIDp0_N}x SQ4!+~cW>~%HK^EW7MYa_J*P5#$LyqK z+K^L1;~rPQ85Aa2>XE))6r5hi7qCx5Kvi+$uPSd{{W(+m%kKdaUV`wpq8?@|4wc?` ziH~ex;vg4RJivN3MlAjU_FSm 62I<)0RD$eL;SBq&Vdn+GvRJ!{cQ2j!Q!&tH^ zl!Wtp(_NcgM`gI%3>I))J8r%$cYX#^c$*??QS&|S8wenVLM2KBi8m9f2*TY@3KLF1 z3B|$*{q5DzcQ+*@IBGMFk+fU5O(nkV8F={m8|nG^K(QITkNJkaQArGR>Y*at+1V#o zGcWpVuX&M;STky}U46ZFNS^FZ_l00_%W1OxtUZ+EIrf+H{gpGN(T&2S#KP1wT>45F z9W<}f2j~fRurH)l@j95=h3?AhTah(ssc}S-#3%Q~mz{^lBwLt1FUP{*R=jpg%^CEp zQ#QQ7CM3>VYZ_-i&Z?&&Qn3WN0&kWMUuq0evo{tNlSy?k#14)FJIKO(DP2ynSo$gD zuxmKF#ZN*J+MjvSPuE4YM7Sh$mYok44=hRi`ylm#rs1b6J$U9e0^0fk&)Dp@>_H=l z7(IQ~g&Xnfn`%$>iuxK oe$$X74&H~>DLE1;q`;W-&N{R#Ez$NI{c7y@dnle z2gK#m8~s}%2jL=ZTb^fTj7%ixw&CRN^u?b>?PiqnOLrx!Ud(FQ`=|=n*IUZ87`7Hf z=ysCF_Q{wmORBAPf;kae+~cu&{U{`y*q;T7YVvzQSU3j+ZQ}NEDb~nrMqyDU1C7Ey zG3Fcb_R4wPfu7-$Dv599wdODfGxssnm!M_tI|=&PM5rF&x}LL+bs76m7yB^(zYB|@ zj3^^_j^>f32*-IDrjfO7Nx|MHrr?u;z76L-mLBffKD;|7ssqNLRwGAz1WN(b*`klZ zEtzq({T&ov ;QICmg8B4Wa>)_XfXkKYHK@)g zkjaNaJpa7VHlGB^Z0c$ZkDQqAFR4Xk`e6y0+Rk`(Gl9$ZmVZ&%6Wa4H3^)>AAlmxP zt~9m{iS$t Z6g~kDu zk%|MAj7uT2+G=9a(%mxf!Q8PSgE1F+bsIK~0QzR<@NIV}8KJMuG-=NuEK91qT>c*X z;+Y5ySFoyr%cO1mYuF9icf@`(hgbR?;kqc(6x`O39 fxSDNPQ6S1O9E5!LCBZ#`6u)Uv;6t8y&C}laEWn^G1nf3Uz+iA_ zmbNnD$5tVIi_m}82LUZ{lH2O@!Mbbn^(CKlc*eJ!#q(6g+)4D$OV9zCCEwU&LYTKb z8c9pWkfXodW{(At4$N10xwW&I#Xhika(PK;L1Tui5iHHJdxwkegRTk6loo5i>JUyh zvP2$GF>`#72DRZO7P<;euGzq6?Fzz426DJ*lswoxLdFW@zLNO-$LnGxa`vT0W(|}( z0P^0(gs&uZe&W1GNo7g1%n3bK8KW_FH*Q+Emx b@H_Ii;^4>y679H@L>7fG+SIZ|H`5VNe%UBAvQM}I>QW-qU%L0D}C>aFZBuR z_+=D^`IJJ?Je{JI)Rj6{Zm-0!R~G49?c?_~aH?<#`jP?T0Hov0ehX~%*`U+M2HJkN zWmG1Fq*pSc2F~J1LZzxLMtJ%;VF> Xd`ckZ9Cn4gpc*g|dXJJ6)ycX714a?0ABizVd`^ zq61ehWu_G)XyYiWjz)#K7mZt7>JYLUE-GPmp+RC&g*!nZN&gq^RgB`8{3d1WkBM{x zC4YLzJ{-Q$&<2!+&^LT(8UwHlr-55+)~Kb4JreR5FikR3f+MsFtS}Gv^SVOeJ4pxY zO@_pH9Iede>dog_#aM3o&P6AiuNl3?hdB0U5%|{kAj5H=911~Mha6oxyKK2P<}C#u zQa!dhe_*epqxrm0p}OOhqNoW+?_Wdt5uyoWd{FP-( qBk{nX@V#rHrjI`LN- zC;;s@Q0F8tAUpF9cdorpaM%u<@V#kvxAzm~QdC~8-<(p_Cn1QQ+Cmf?=h}$b2|)w= zJx8(UpJ316YlyBa#mAJIAMDLXJWgE<4@jo`Cj5f{j5^qfv5uhxd=G0+8B%_oTLZoC z%{=*-yz}RM?U|FqbTK(HuF^7M6yV^g{P#BtYG@p<8oz|?p_0Z)S<=QchUnaP(wds? zwN^DeJ|=OF6~MX*zxnZMM(ls&uv!sOa%a>Wu1~HXn@xBC%NpWr)Ez_)QHrxS$#qde zZwpySj*})`qP;)a*B{M}sOH*+t6?U-jNS<-lwoXSKU|W ){ z9T$u8tM~5dYf3U14`2TLmPEx?# PG7fxtnfv69iP%+{m$xaxDLG6Ui=kt2VpN^& z5+B*SCOqO4QUA!171znoHmt>pD7@44@mBcZ75H@4Z*F3rp}#)8UnkyhCB{@I!|h0b z<7%Gl4gY95POx`l NmLLCVGk3{+ZkURfcasTlt|4IK?jQ^cdg%#+u|0lrm zpPv6?!2VDC7o6pPdj5Y{$3M>`|Ht9~9jFEaCM8Q1lxK!{f=z`$Q~ax9sr*0SAO#AF z=)al&g@c0fuygWqv~zaguyAzw;$UfKZsTt5#O~|ls1Afj_>VRGzpVXlLT~i{(f$|G C&arL) delta 17686 zcmV)KK)S!^P@a(i7f?$B1QY-O00;m~iM2)<(GZbv0RRBrlV$=Xe@_D;5d13_-mgHf ztxB$#sPRb?qcs}eD7Uu6<0F99`}cCRJ!{kW1~bF#u)Fo;w{D9s@IhHKM|4C`0Y=(J znbjOUFK)|oRD>u@BU)= Yj zt5xhAoP4n-57ZI74kyK#8I<2a4XVv%Gul*Hm-18mdVlwnzgjBOw@L!q_D4imS>N$H zwe-SwH9iFEU2!HoB&;b?3AT;CXI`r7o5d~SV?wKvOv~|Xe?cglTrhI>R^y}hz2Ww3 zJ(t3_HuRbS>gfi8^vcCFYo5tJKuXt&5bx9Q-xV}h9oI^(MVoUUF++O2!~TyyEy<)D z(*-?al(32(#NQj_`X0Vizll7}w3_9@1Jv`oMdgouOO~16L)-5DSxNo_P)h>@6aWAK z2mnlpwMMSXlL!R=e|R+9(5@c<0AeEm02TlM0BvP-VPs)+VJ~!Ob!}p9VQFkGaBgSK zdSzHu-M8-sluqdm6+u8!UZe#CM34?CX+%PDBaNg;zeq@f0!o*3NGK8l(p}OmAdTFy z&i&u7_tU-4IXs(M?6uaMV~$_VMVQ)S1tNSpd=v^r^iWYwe*?aMM?P_};cJmzaXNgv z;v(}<3l~1TaV=iM?|6=iPh3za;&$W{Bc6+x9))5-J(Rnz^)hv9+Q;z6(WTU`0`-b( z)Zkhs_k*0C+sg}@KCwT!9~5auDAp$55jJmguC;oYQ6(pzEt4R#bebLfV_47N4{aDH z{zLNHHfsy6e_8u~FXl(iRyK#~vui)DT%g6OQ;#-$ev9TY&FGdKZRE7_5n{ crZ@YyOXfR;@-P= zufM+^mC+X}&GOO%Ber{~w6d~2n1Fi1Ha@5_rM+FQQ2#SNB_-vidSqRl=&`rtit`p7 zsf@9;b1g$OvlRC3K} +1)`?#{KT(}6J3`OdgoJa=S|?*G3jQojw>01Tt6O9`&c z8P88RX!qn1U7~%M;T;8SZS9oN*?}s9d>8mJPIaKuqMSXksHn)^+0)0zCvP=0a}axR zu``Y|{432r4yhVXG&HWYoAIBYpHDQ*h`Db|e{)k+AB$L{(Za57Zj%jvb1f_^=GsW4 zf)sBA=y8XHh2dpqXTM#p_dXF2x_ftiW1~RJ>ctC^M~@y2jf~t@KHA$0Xl`z96?&%} zqW)f l+#v3Uo^x%5i8ye@q=0+VQ+EFOEbU=TPe#8{_3$lhxOGc#1mv zN-a9Cz4Y)f{h9rMG)zuSUHw&25l?Gdo4STZYp*Vhd%E7;9RA2BDA)$Kj~`ju+KPnx ze)#Y~sJ3WeK!cE8m@tlAMdtGFMM`Sk`?VpciMzY|=5&3ckKbxPtB9zm3=3)Le;_fl zBq0|U*Ho ^FbfloDsF<=5^Y(4f(2!QDxW_dD>O1Yo2=epajE(7`q?MH;e>Boinc3Nx z06_`QgJ(|klU4SCiHX!Gll7rb-@Cipc$?3&g)%ZSm@7YjE_?QqEk{5yBYJzfzWVoI z<2Z~?j*aYt2It|{Waz?z8LWHD$VdWD$;Xdh(!|_N%+1>#d+jtHsp;y5HZ+KzpR8n* zmY17#%SSPcFN;FEqfnB6e~-;;>grmDhbbRCc))Y$Qdm?(1h+Ul+Tn`tv=De3ACG}@ zn5ucTztZ>Xd+hZXrJUW}U4LnoFUvnt;uAD=brlQ^8PMBPVZS<}t4}Iig| 7!VMEATlHbyU?)qnvRYRpO8>cN(z0I-FQHDHrw|l=R$+( zC?g$JRT5fST8`VdWsHoB;yNy%CmJ?JOWwmGwuO>}W@WKj{YVamYGI*@4QpGOF#itb zYZs8x(}(Xgoe}5cTGwUs(yw%w!P~5@Hb+rpoX+f24&~>1?v I qjm;(?a4kJOT~SF%#>YqEgT|+U z@|l^Lu`2tNR>}(b+qZ9zm6_vIR#xht{}mOW%uVx5o2hZSzOb {ynCVa2`U+D97Y84gl|i)Ke}@#n4ZXtN4aED@*}i6YbW|1w zFmK$wQQXwTB+jI2 |R#%V=tCp75Owue~;y)|Z?W|&A^k!u=M)hcIPYEyb9c>pE zmq6h2f`SdMabM^_-{bjEoxWz@3s0CE4jmmGDSj}Gl&`qMY}1bfdRp51Y_S|ZE1jL4 zFM4)9f81nbV~M=Y#r1o!lRS8IW55pKkFk1pUWb{6us|G=rhi2Z>(ND>*7uXkt^1gQ zLPE@d@t~`vO-)%rR9NGcC_^S6J$|fn+G}KJIJP%>;yysfxIkKP^WD35HGY?p>Ea&H zc$hs&{8*T;P#w|C9YqG!EU}7ni;L~X aPsnYgb;z Gn{Zz@DH1p^N67&qW%slCR)!Uo)szG(bIrJ #-6w&O@`mkQ92?m_6rlS+WshP{+V+~L_ z?(_TGRwcMG( V(3ki z48*_40k5Co%ryJ?iF+TDqDUzyu6)vZf0Lhon}UMkOKU48AVSXGo@Z}wkI!{g4NSu4 zG3CZsur~(>2Pjmd*HH*CRk>yN-1c@9cqzkL=c@q2J7=UC-rnL!X?uE<5%saLvDrO1 zkkiwnL3q|~T!4^Sk^#6_w%TEOZet@{B}Etm1#Qe{)k8x;P5r*S{91+8kJheuf37S5 zJ~Z>k{QPY9of$-m&}ekUKj`VHDaXUjClSn2Oa|2s4|H^>02ZX= FMiNjjm5D_DNk@p!k66@Jm1 Y+k^^bA{ z2;<`7+Kx|81+Z|4EdZi4SXfwAqs2ycwa~)v^Yim})4V)A%O@93(;DpX@bDsHW68+r z>AO=!oB}#~dMvhQn`alC?M2(`+%~A1&i5WgFx KJ+(lf8Km~eq7di>3ebd$NZ9q6gRV^gk;W!{w5I-(a`89myqU* zp)utPz>IxWx^9VaFfevRM8ud4Ok1znSK_P*N`v2hur--j)U3u~u`zhuRJN`0i2_WT zUOk!zA0K~rcV0Hw!yw$01_6fMuWoQWn-iZ202%VYEJ!D!RQv8Te=sm48 |SM)?SPlQ&m-0hkpKi_x$3*^!f8QH8moKEd^CHLeEIO zeSG-64((8?84^zbe~Q=0$(>I2EQMJZjZ%8==RQvBV)6?K3Yse@X?ngVdRzh2#v0d| z%w14i>`=8i`!+3&2v$kt-o2Loeo`P087C*F0_+4ooku^0Qq1k`p@c+*Pn($t+cE*d zSy@>slA@DT;9VelIJ&w91qWXRER&IwxB1?2b8`bYmaQnBf1I4u0NuuI>>VC{11QGC z#P~zO5Ilo7{od83;c47_-Bwe2#^=Z=Rn#qinDx`APp|a2<)fJ--a635CnRLsjuzA0 zeLm!(b8&KVd<@3D?aLPw5U{+J75ld+#&AH`XB!EgyP7Ye0PkVsw;T^v)mJw*%=F(9CT#>R_%t&A8QukACINLCy1DN&zO*NRYm2L}fcr-dt%@yhq_V*s#7 zY;A4Pf9YWN&A~31&|rIbcp%;5)n_(dZkZ(Jeg}A=%wyk5IbEDqA&S9cCZBxZIj`%j zM*bU-(Vv8=V~iU;Te`aNp_?7u-4%eNp||q+RDlRWNSLGUxh!YGz-S~qg+QKR5~1Lg z0h}p~B|je@lk$wSqBlx;S-n-I-zBX}**M^MolO zAz@hOiU-1GCxUADm)vXMUZa}y9izGrj@vDiR6s#U387mM=T=)=E8|gO+~~O6L%X=L zVm{O0G4|P(8sZ+ywXnDPev-cD#}D#V6bmHWr3C~85GJp35il??==FbQYuoni8@92r zf3cDm2?|sV8-Voly#fj1j6r3FhlgqS&91x@XR3NJOFXwWeGYJ5DMA-~w z>8_;I>P3Oa1d0Iix1rYwvAuZ-4LX zR2RKO`6I=tb0hHd^jw{;{|9hR3jPQzfB1EUC>F3=a2#=T*n~7Fw?BR*ta~`j-l#IY z2$z*!&iE$=2C@)iZ54qF_+hb8U&bq}$5%LRT*HIXdmgO5y7?%f@|2{yu#oWAx5&V< zGJa4-QaZYc{3Z0(L@)#_r1c>qFzxN{XB=I3qp>IcF4b1%x~35n6eLu8M2dUGe=day zl_cpS3T|mEcLDsKovj9#P9)KM{ra`WeTNCjaiBt4y1Lf|1 -L zD||u*3}}|7E$Y9BAWgCQA0U#$@h~vk$O1wefpNHBkZ^gv-}kfRsnk@X7d1EsTmpi& zcY@X;iM75LqD{vO1gTPfOdztsfA8O4x9UwDXJTH79Le=JZ1mJ-W#~@eX#=^t96r icL)HU}CQd2A_dV!W02QY&Ttp 242eDwxDzd9=e@B1<^ zQn!6CFWe7yW|=uTIaen>a|s9vUjF%O#>34GHjsk20yvy9z~j%lww{5(FVOOjz>VSI z1ZHMtC~=?FPH0>3Ovk^Xf2B-pZ43JKtBb(-eIq``5|X;n3K_7!zyHhMEG$(6%$4P3 z$lM5VL+^boD3DcFCd9 Vq+>#9rQ9i#pVYgI_VlJ03@0m6*mL7^7_mk9Sh zvfnN)DvE?Wx|d_O@dU1cBnUfu``Gk!Vp#iN_H}Ar R1ga%NIef6&m@jt(4fH(w#} zXTE=r^-ejr-+o;xaiege5{I9k|GtLCwS+rHr{9EJ{K#M!A}@DY5F0&R@6Ki9;{tKB zw)P$cxC0GbuH7D70RA5v?3stVZ{`HQZiw=z8_m56Dn(MG=p^8_@KH2b;pt9c>9b z25S2HZ~FVy5DU`V+Y7lDUie2Zj1OjhK*<6S%eQ<_g =KEQ{=qPV?VdmCl4Yk z!Y^QdIJmj5ppsHjpcm;k#pC1SU+&If^z`%?f1G(Cimym8H9d{Qe?lg4nu&=Ce9PF_ zSi4Z%!^1;IXJ;8Vx4XyQl8BwXYdbR68F%YrVIg=~y_BlSW5T0ZzspFF6{M^L)ORct zUOsnF4Eo0Ze^^FF2HgAa(Wic >k;^KVv6GD)BmEQ?mg*dc{ zcb $h*eVa!FS3j|yS z7}> KgG3$Wz4l;lVohyc7IX`;9*8@c`ccr%mC; zWbwR-34Mr=LI%c~npl*SlsO(20<=RzLtj?*<45wcv$KU7v$8M%IYxD^>Z@fJ<8Hui zKuWLrR=9Zj_z1yT!&|e8i;)CvwZVNYO!PtCf1>?;uNYyD+qVOvqe<%AcZkE}0zjC5 zb@MiBty4BarUsEcZoWK|%5fW;oNOByxc2$;XZ*p&hK9MFof08GBO^v2mJr^iV;R%a zll_&fl9FhkPecPCZ$sB=>Pv#Zg`a(WeQR9TuGOKpx|--hJ#D=kBYsxQ2vNl7fG`Gv ze{BVG;RJjJQ(}>jU~IlPq__H!oWr*hdtITw`o&Xm&jZ}%zo!KQb>-#drDk8>=-BIW zP_XgylS!TLVj)U{LL_HuYKoMMtmUw2Mx>?}tRO`~baZs692*7-qExwTy-~9-BWic9 z1q-bYJw17t RnyFOtE