From c67fe623e866cd38a7fa657d6d41479012ce3521 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Tue, 30 Sep 2025 09:09:57 -0500 Subject: [PATCH] 2017 --- panda/board/obj/bootstub.panda.bin | Bin 14876 -> 14876 bytes panda/board/obj/bootstub.panda_h7.bin | Bin 16944 -> 16944 bytes panda/board/obj/panda.bin.signed | Bin 60612 -> 61336 bytes panda/board/obj/panda_h7.bin.signed | Bin 69440 -> 70112 bytes selfdrive/car/gm/interface.py | 6 +++--- selfdrive/car/gm/values.py | 10 +++++----- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/panda/board/obj/bootstub.panda.bin b/panda/board/obj/bootstub.panda.bin index 021ae9daf05903a4fd4a49838c67d2b8dca916d1..600dd96f51edf387cb5ab66973162d133a714d69 100755 GIT binary patch delta 21 ccmbPJGN)w2En^O|#8i`Hb3=p8kBqI@0Atq(82|tP delta 21 ccmbPJGN)w2En^M~^Aw{rv&5v$kBqI@0Ay(hQUCw| diff --git a/panda/board/obj/bootstub.panda_h7.bin b/panda/board/obj/bootstub.panda_h7.bin index c2066c76b0006ef4d9590eb5b973c765d15c597e..858c81d5fe6bfbec5b9beea435169c21997ebb77 100755 GIT binary patch delta 23 dcmdnc!ngs5X4!CP`GP;h(dt98^; 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 delta 13119 zcmaib30PBC*X}td0TMt70?H^S2?!F=AgDOB#-I_17MyXasAy5CqOAjHO%!l$t8Q(b zwQ2`zs{&$0tI#^tueBu(RqKSEqF5~`^c(_7?z;n8zyH6_y?LJZ?0N6C)?RzSfm9vc1J-(wmh>kAA31_MKZ5x`hr5-<&z18J_LHN5H4Rmp~~{4pac=fbRhda2>b<{02M({stO=CV-vJ$UJ~HfFBS9 zgaeU)28aWC0j~f_KnjpH-NeX7!80D147>rn3A_d50VbdbSPN_bJ_L3Ge*lkweZT?W zFi-}Z1ik?-0GEI(z)j#DPzMNr9gw`i$Xvpmh_4(0A0Pk-0hB-#Kr_U`jR$(ShG|^? zm;8g^Hv+?eF~CG%Dlh|ReoB5}cd@5Q9;ar%AUnAvF2h28X#0nz+Y zz*XRPpdOH3hh*}&?D1|%HJ8=8rvZARmyjY^Sv&7krn7$qt7MdlGO2+qv@9g)@`$$n zC=dZ800Xa=E|=%CRQ3+feCp(TMYBBF=heea$(u!<-0@Pk9f_P-z}rCKb<);5p^Hi( zg$SSXr#Qt_P+B)3gTzQ%`!{9(bu!yKIZ*w7EpYTY`O*7nFzwy@OTiz?Uj=>#>H+Bu z@=Kegl&o=WXHw^U+fHl*dE7RH^S?nneOz%1d}2Con<Be6WBCHHE6|0Qe1qI8kz93y?D7pn@>jmGY&Y_UuZ9xZ zuH9{QH-5^o+`&{XoRLu#h~4;k&%>#Hv(z;VqaeP1aqQ8 zNGzMgZlu6(u17*T+k>Vx`Gv_7v~1s7B{Zb;578hL55JaG`)egOwr+W`Q~1iss^SdM z;PN}?CYsigzw{0NciE@}9h*=f;v2D7FGT^SPRfKDyev-PhU2BoB&5C4D?$66jE$FR zSD>-M?LnlgDjHhW{++hZn@(ZUMeqI_{rw5wLHaLwrLi4CB=V^zmz{%lY3QO5wUo?0*C1*?R{mVVQ*8_V`0b>V6x2JmXG`bKFV zejFQc$`Nfi^`LfuLpXk#Qgi77tRXp|?9C>U-;}*P5_q;dghG_6=S))hj#q`eNO?z< z(m8?W>YUv#mjqU@==}sfxSWXHw31@R5QFR4naH$y@{IB7cVTAChGz8R{rHX?4+52!1*Y~Ha>L(rRwO=2J37)ljH zU!GQLPU@61aprHcGy}JXoPFrigY903bfhYR%Asm5R)U5GswGX#sDo(vVCJmsErU0S zJ&12)KwJVp!c`OMY*nc~+9X%4e9qXJQ**oqh6JB|sPIF55Dn@p9TPc?L!Y0D>MNa@ z^Jo@nj^evMnmQ}%+~amL>2L_1j80j`R4@ugM~4XQnkLY%c+xV*Jb6q~qdU5{M^O8u zbawOy68C}dbAJ=hE+x;s-*zb((-Mn>gXrF(Wui%(<6aRpDv zYhC+zZgRz7PJKc)c6D^1JvSXuxku+63rg7_CZx{_T?QriwA;|gg!F*&+^-!%-SOP7 z>2yW8q`ebnT#*e$X;r%*ZA!pP$`$cKxyV9ofAvvuk;ZDVS(%DvC(HkR`pdhthR`8{ zX1K;H9scB|HqGb7K!-L^!_h0QvrB!UALNa=sMe8*Q0a$pvFzA;Ao+LTA@B{Rzc67Ao=?Jw8L8rZu=3(iNSU-mjUxh=@*IHpk5u1vz%wfdWjfBOA z_kL)nrT?@)FMa>izol>4Y3UpG|1Mo+r=>5E`SFL_KBp}lH2v~~bWhmj8IG|+^&{?5 z=`RU^Ec;&RvmWnA-L7Tr71PQ5K4118sgN`=()dl{SnWNrpPA7dvTR0})qHMYVm`C@BmX!p>hFFO z^=~iPraxcB&^RJ_C6--C;$8^@$!V{Ivl(R0E1TUPU=otwB%ZIXp%c#suXc@_#Gfdy ze5T_H#7w>tE0_XtGF+xzfj9-O8SYfxEmfw3pYhEt5VJ_btKn@XE9fLOjUQV~W0d_n zn6k8f#ZoL{>a9{^6LgRYvCB#24_wodPOQyLvwb+cTxi0v+miLQ{TE|;is zX@ko#^GmC?&E#UFRcy2jJ~oDREf%D$i-j#yu!2!pUF$70%)1$*L1LS?`F7=$uleBU zZIYy0-G(ky3V)^4pPgl5KJObNHTYIZVq_I;gqQJ(D2vw` zw!;i>Mq_II0ouPm>esPLO2;RiWP2=N?80JKrv!qWLPc-TypUIw2hV8-*~lt_!F>@( zU#RGVlobkJd?Sc)P!J!XkQXz`AP9XGe??r!voX?}fyLuZUgb{VLPhRivT9H$yNrB1 zs2f&W*9Ogr%Hg?k&)m($r46S|K9)WCgWRbe>FSP~H=y5Sg4^dUv6!n!lIuSdCg-uM?0hY3cK+`yj5ki>6 zw>wG1Oj4R0#ZDr(lB2@2wCZBrQ>A{hURDu^g+MN*0{7EgSE;2d@=qqplpuB{>6@Zd z&uY>=T@k-iA8z4VTS~XN8#t9aT0Q@)jk{AwCZ?2tZV}8O>z+J}E0(GCV4Q+iQ(40_ z(|*fu`DdOD@Y~jLgnq;TkJRO2k#?JPBWO93GOGImUCvwQ#Pzx&u@G1Y6ag!MmB1=s zIuHTm0P}TUOd+YMyia~5bl|r#@hB4wajJ;dc{LyV?AEHzf(_bAUV ziPki=nzmYQew6ol-gdd<(Q?UmqEx#@Y^#kgp0zk;@pk{0BIU5(y4sJ-BS_q90i$k+ zQuI}lbDNb`vCh0%^sJnfpYmE-&4kb)HD|mZt@^sbJZJog=!!2In4EB1K~sp-=f@m_ z&)E;Kh5Mu~)RS)IwmoReWEzqy4mOzkI)&3@d|Hr+#$`ZQPaV>vLNN4u$sgSYTBx>0 z8yte(*#(p2AcTFfEO!WfoZ4EGiy7YFbp&gm_m>Syg#GuZJea2(l2#K6Y9ygPKg>4x zoZo~NziwdWd4)apzGzP3bcggA zlc_%NFx?ec989#@%0yIJ*@*kV0r)-P%395P;xE|h0aC`SAQ|bMI_D_vJoK%;^DyY3 zFIE=wGusz;nsXjI-Az!Ha%@y+N3zO7jOb6(;{zt!6O;V5T@|+|&WfATFO<+G*O9-| zr?LN#QNuQvBzdfBqiUfW)ws3#okuuBs3pa?A}>7qOkPjUy*_ukN1eA@$ALbVsO&d` zV=DIr`VYbP`Db3}!xMJOd1Xo1k=j$G4V5PEs!}khhI)OkT&q{Xz3;nL-@l6GA6u8@ zoyqg&r1jNVp#zULm`!uAp?6EG&EdMHWE-L@_BSwDO~NCm#@N~5{XI1tkGPT?c_ zC2N#1aFL>%ZS5>Msuv{jm!DpK7+x>UUfa}=KAuGVu>Np;9c!i9%%T`ia6-(KbY;) zJ95$MuqkEvz@)WSMza-bhI(`nJq%cf?kNQ5tcrn~^z!Ea-R?wx@`xKbIYMQ^IY1kT zCf#Jf*EWZ#-D1`~twStRyU)z>HP)5+N%`ZTavoj0>#K91cHaN0-Tt~zIaRl<;OmR0 zPE2H^`BA<}zQ0c4Z8i+9Ipgs)QlBg7^PHc$axQJwERM-Hoq1;VV`5-r)X6mxnXX30 zwDj8{D;*mS!OPyy_+~y4rz$F+dFu8wn6u8Ib23%EOBto=vnIjQDT(6LxvK8UOApn4 zmmY@CORHbGK%1)EI9AE3E+t4I5IPN?QQ>Z%| zXpjD5KVzlU{YDx`#*hBFwee%k{un1AFUHBC=9XSdv3jL$6tfs6+EhRA@WDJut%row zuolIlepac*RNv?DMs!?HE5j$CJEXT-x`7mqn!x6g`=espOr~wOHa&%ejP4!W)1iAh zBcQDs6psie$JA%7E&Rne$n4R>**fyg=zu__;_Ne>f2L}3EAx--(dxAN?=s1g(FtMK z?X*s%Yg>P#xkZY7j^v)AY<)xej~U9YCGU<2^X=1AY2{#N9GDloz|iyL9@$;jGlgXo7)=c!1DechbeKi3vQFBv5}@9 zkmYQvz-r6fG2JY1Gt^w^bgY4xb{=svgjfdTOY-SxHNPF2^vyGK!1r=GRJ&oQ23BP0 zn}m;=V_yu^y-ojGfnyCDOukje8a_0|VbtrMYW#NTpIX$$kVTBO#HWbNSoi%+4u%(U_Rj(#Vh2f_&-XGmj*G z1O7QXyyQ`mPtxMFnvwnkYtBfej|!#x8}5(9Nm~>X<=^izwWPOkcnQ!UdK_+U83)5R z+)ZC&QC*JNaYQ0B@D_dkxjdHa9M{3br%?WKR1@{thKU23gpSQ&FZc{^<nKp=89CrlWb<&R?!F6kEy)_GZp8zQ?IMNLB5~Z&D0A#7pQmY zQ{iqvd>U4htmkFxnN{OYV4fBOrL<&n#b*uXL{f~yGlni~wu-)}?PS#^QNAY_`A<~Q zW3^Jc67@W4o%x#2k8=z@7wFs``szx2KY)yM7zVqX_fhkd*Iacs2T6TQFES?6X}I6N z*)x%SrE?9&lS5F8Oti%^bv2_oQgz9?B5%DYH($tiuVp1+q@&@8=%IC0XbYC6)nv$$ zD?V>9_i0-$t7YA{itV)VE#An}mpee1xK7DMJ^(;FkxF*U_O9lJQfwm+8@ z3d)iO1y)dQUOhSIWFHbcDacE5hw0W5*B#*wCf(E9!-?J`Xbv;oO!c{kJ6V}-KUZb7 z=CN2y45GEHp|>g0aufva&l`VYXGsX8*$&eDxWU{*iq%X(d52bFjy1M7DnSdK)4u|{ z{p$k`)AoI>OsvhqbP+Ayban4p)=)FYRPS+En&etW+l2zB7c7mW$`ju|Ew(@DQiwO$ zg@w-B)}$KkWG`doZdmsPwvh|JBV%aKz2Im zKV_j$lh8-(=o)BRR6K^9n=-ZSS(K!;`~~;-yQJsTWcE5SO$}iGCYz^r>yUX50|an4 z29^i5?pd*yCAX%I;O5zgHjC#b+sN>&u3UPt1##;{y+BPpDo(>6lu5JohyhD4-zH4?}46&PPd zZ^U!4739Pl2Gcq7RO798I4p20&6W8!;nimKBEQ&CkG`JW1$;e@lgXa*&$35bx$qvyRasB-+ZcTu4P|dh#Zzo&0tus)at5r zPg9ZFo-V3jRE<@qyN;^5*fo@xvO`Qc+Q{l(SE*MIKe4gIGe&!3{E6))o|;V+jG7vS z2<@?kUrlE%vleU0f6Hh3(uDxFKU$4xM6ni=)4;g+;@_}GKx;h1!w}d%X{dZFL!U7~ zV~Q_7xKv$^1)X{qwrwm

lP0q3|@TzHHT){E8nfWi%hQt$G9jY^tgT`$wDBleif{ z9#_yDqp2dpW(0IwHYcrS1eefCPN5e2FaD&Jo)9xkhD|p4?%FSMKM(yVl#r)+yX zS>H!|V$FZ!$;$lQkNf4Xe6rH>-s8TlUA(Q4HS|ul3&WjXTKBEq{Ww1V-sAY0aA&?; zR!g?dd_}X{Sz=NZZ#nsK!x@(_T3FwDO1=8t;}Dbyd{L%7k<5wf*hU|>7E1mvd!d|S<&E1k~7seg8u=wz*@yXv?4_NGg+9^Ekmhw zGn{>S$F80ED{x~ z#L1v2QAy==t7I20!=F}@E^BG*dy!MEkh{AYK1Yh)9NZ>CYZo3nTiE`X+^$+NVm{(jE0U@PJL3JX~CgH&u5j`g8bb$4*FUIJ#AA} z)^NzAh1T{)=vBBQp~ZJC>ik=BL-lg(j#%hx6p71Ko5EdMi)E5>g&3i@_c+w0S$5$g z2WtpQF11P)f1AHuo>a43B557uD=?g~wuO1~vwVm%Am3^Un9@loQw4c1=c3H&z-*EB zxyF^8aGBXsmiN5AukZBf)5-PRL6C0P+#oiO^qQ+??~?IzBiUA6Eyd}VoCmHF_t-llNt#Q#Jmhlad7cw zu`7;0e6gCzQFPA5i5*YR>we4I=6?AaqyEV{)zvM_#YH4!UdVJ^?J_g%Jl$*0yRHi6 zG%26Uzr~KI87^rtm5>)Yu?sq55ahjnP6WD!QWl^4aouGJ)sbA6j$A3Pij}!?SS^yp z*dMthb>B+fn-^&6+jIr<*c$Y#2Ho?4i*Vgbgn!UVII32}<*slMy#nNK^Y|8oS70Jn zfiynfEN2th*3F|+$Pv}~U>*$>X%8V!rpX<(w^(D^efwSI{;Jy3#+6uCwF8!esUX_7 z{5=wK7l+adKjT}m@cWcE3Wtd4tq$^pO7A+BTZxq2Z^eZtRDO+B3u|c<%uccOQcH$Q z3NIr|uQ|xyZ>hN~C-HxKNT)6qE>G%O247W$$oV0^O~8iKe=jZ_WSTaXg1pdFsy$@+ z+cP`UV?e4P^oUtbZ)Ti(^z3DXPkA6T6Cv@68+_A9!2H4VT=ez%!PLp0KayQVewu%s z(^rts78pX`bHp#=G~N~0M6=|YxJuF_yy3Ve7Q&tCAf5~P#N7XtVSa0dxehk6x^-1i zTYzz_VE7c=68wct_@uwdl!dCGpY1=3g-Z8^Z|6(vWNf>T&I8>W&gV7?{~vSj@SO*?YB~+O^&|;@F_g`OH^aPR zvtOH&_5r;xjHkW1c~K*#g7@36H2r0Na`T$o)vH648HRP@QNUn1;*_I#8 zPANT;AH=c(xwCjETR=2RA~CBBTM`gZ-_+I^lFceZW^(+N!QRO;z~l8g&{VwZRx8q5w;k^SVJ~4McHY z5W^j-r-5}<5ojZvsjHH)T@bHsxFFsbR&4mCRnnn-sg&skEpBKW8D<(}QW^_Io(aYs zj~aJ8`MBGOfP0kRFGj-6<);)ula#|crs`7%6pGROX0ab`g*wAsg1m9a^Qvmfip^qg zgrfMES-(#HJm=Rb-l-e%HZG>OqvKX>U$tNC1$#DDTPSK3`^6r}*<0JkB_bX1HHUDM z8cA1kptK3+uO!u+7}m|sYTH=4B-?~jjf_%eXcjslMq=rVn4@I3xwGknJw7`)uU+x@ znbC$VgPrQ{#3k{V*^`{Yd#9ByAsl#-gGUZV{n*+PzZ3BnM4dh)Z>88z&uHqZZn#E= zyDdJOp6~r>89$Td|3Gd`gu)6t%}aA$w=Td?_!7V{Egihfk7Yk2MBgI>#MgMga$xncAbfDW zQxUPjD#JO>X*(aWj#i-UTg<{jEC;{C#bw6jsnTldA0jR_E=vv06ogAoGr|MK94lSV z$e;pu$=ZSt_6+&7V8pAZUAvXo!=sFnNA7-SL`4!VcO*_>M6=48mRcg_W6s>-kQ(Tr zPw?R~wCDFmM;GCZ!Z;^MEabJLoOHwEahOeb)|#Mm(gOYK?T5-liDJ(To6y1e_)p4h zqtM++Ru!gl-cEA0uv3TS&4*m^l_iZrR`X{rzf-tFe2e`2=Q@L7#kMql@F%D7yb+k( zC}g9-B5isdBunpn?^b?!_a^-G?pKam6h_C$e!vc-8c-oj?L=?5=|D^4`(2#$ub+JA z6;!8j(oxjTNsbo{!QFw|iXQAP(s#wgPG32q7c~l6r+f0OKUbo#YdVHyW2#%;8tp_J z?n6(nNK{XC+!O1Uxf#AIpN$%yHFFWHf$7ZDo-xlvILy8Z*X2Pg!%`CY%(QRIJ(RRd zZO!qE#%bIPZWg{cPu&-)z$$N9$0GkI$B1MPrA^3f4o5r}@zg4b(bX22<#jB(x}-L& z5$8pwm1_1J*|#z-D9CZ%>Q!sv*ciEm>Z8=6G>D-Np`1Kk8D;7P&0r$BB(D;C=~B?^ zeofz6J11WTs;npL4*Hy|ibjin+Cy=e+bF#5h)h0fjYP~H`w5X@Y(hhm5}}{%S_7r1 zt_iUUUFXj#bjsQ=oA9vdPixbJaXN`%w>1d)zO`?`Q-MaIkHZh4lXk`w$wm0Xd(7@( z496uVr-mrBBVk4Zui%J|uV(?kZp( z&=vdOmiZ4eDSgh-`qoEoOsi+wZOd$Vvg7yiy+2)vio$ggx%wPyCXZG}!hqz6#D7gs zyofQbnT24GNKUNLwOKB1$-SBDR_ntw2}_8_+IQJ2Wb@j*-px%7Qt7oKFeEhDgphHH5t6FGpBKqdFw{IjpiLf8M(A> zROGy-PSujw0~UiZDVbHJ7z)JEn8#L&d#vu7T^5-#2}8D$41QPndQ&s2T2|5<;jbO2 zT76lR^}glKH7KTZxmG5oYmKEFW~BX7InP%gQKi$Md(=4iu`#M)h6g!Y4K^%MX|9@_ zeUCiZ)Pbu@YO+2S(-m{eDVYzm$oY4NkJ{JFcKrNKs$q4>ek+~G%OGS6a2ue)e+;)W z4-Wg`NL7WyHRXYmdvLs#xg`JTPsIb=+eCY#~M&!UfVhHLwlc8^Llh>%yKP)K^M zk7XZ{Y3t*CIzGjtKHzQWn@u=RK3zYQ!;{N@*7K&0c2US~6on~HQ5fDV;;KXKn!FiI z-Yq^EW(HA+u@3?vlN&#P2@fexf`5FY!>WfnrjdR}(iDt>9~%23G_(=#lV)Jf5w&Q#pkBi0zqnYX<9$X7CItGaKn)182Y|s@Fm#Qr=?3bK9LSc{)>^Zc-N{(V0aI>BN3Lu zUDWfx!-)F#=glxn+*+`n)a?oPOm4$4HHc~FPP%UCXgXfgQb{tlLGCE#{Rq#4;XV&% zB8=QG!aET5dMW$>w;Q3tzRoS&%=cXQ!&tAIv$_V4sS+BQaqGH+? z(dZ;k>Z0EEaNkCH0Nfo&_l4U9<>BB*O15_*RXePyL zlzg)@ja2TCl~(OI%910y_5fV~S?TTF>6|RFS627wJtt2g346PEUVM#_eGCZikh^=^ z6Z75)Y%IC6HzcUXFqp+7con}Da})eu4#oR&-~#d8_ePM@jOX!(v2x#nm*?q>>=bf* zGz3rM$%cLJw|NJ?QHQ|5UcAC5vHK^riABtTFTon}pCViL_i8IgjO7cwQU4IHe~sks z{;olrjVN{y&(k;K(LVev&<1cTjr@2#E7w6@(cmwd*gu&?>OXlqcoJHE<#V*U2@mm8 z@xC2YOoMAlEnWWU6ZVxz6C>-q3NPI@GP3@NAC-c)@_-x4p(4hz^#74gEC>8bD-WDy z!#q%A{%6R#2hZozAdX}(4x|8^OFuf8#JZJ#f}IR`_yyLMUwV`DFC*XvlKo$5iSAGY zQ5*_{n@Nrz>K7=1deNS{XaJ-8!QgJl7=FS(#5>x<$wB8JwD~(ADnxc31n~|8lWSC|0(vrOQB>4YLH=` zrfmG>*V6ofh4^O$NGs3A9~yv%X#VCbMt1EbHnt*i)wZh*?BRZOMhH?`Jy4xbbP|e>?`5B^ACpZn$Udl!G`)B zu}6EX`7q+qXS3(3R$b+T-85S}Y}^O&{ZsCp?1J02HF4ATXN&zG z`EOAho*53#2&$}kGIm$$#!_Ru&i($G*4F>fvKjr(wojV)RgX?HwildG&eL7|Vl5xk TW2|BRg-^H16S~jIVrTy!;!5=4 diff --git a/panda/board/obj/panda_h7.bin.signed b/panda/board/obj/panda_h7.bin.signed index 65706ef0c9ccb23bf73e24a52c839c48e9ebed73..5b3b3fd6f8e937f62e91da077957922ab23d5cdc 100644 GIT binary patch delta 14705 zcmb7r30zah7Wch3Aq#5&l^re#NFWG7wBjBEMj$9C+PYTU0Z~!WLQoULwboW0vDTHk zv}&yi5i2T!Yqi>%xb$hQPwZk8s}0+`mq3#5On^RLzxTf1@5}G^&)nJ1oO9-!nYnZ8 z_HpYEa;7bXm6?_d3dO$Vcd>AG87H|phJ)joSu3-RiMhO1_cmntp@DlJRpcT*#AfY@T z;0Evp_yIxy;Q$!`6CDTP0KiZ{A|NG9`|pvbL&5~W48T0V0>Dy05kL!A3)lqM3g{mF zQ+UP=zy13Z()I!l0*(Ss0;&MN16~0d0Sv&=#`L$?ZtY5((w+HMUU!GMqweRwhi?B*PC^{CM{jhCd~*nKB?%X_PDj?1(2*V*La$_ly5C1 z{>J1r`l?A8Oh#RP=#uJI;W4_#Hvl#DAlbW8HKcNJ$uzd0!NKI>K?SH#(V@Fb4w;=xBx{QMb7Rv ze=PB|hcJMnKr=uNPyjNHBC*FR-0cC6TpYNIXfhhbibDOfAe&Rjbts8I#;dI>B7}q{ ze-sqT6^Y3{XtT&i7(;K!B122rSoF1MFs|PqiVF6h&xzt0NwI%EPs*(&Amr3jQr1XC zwHSS8p}wA~9=ZxjDl!UGb|$1Ft6HE&Y;OX6=;==pwdj!NDd&9X{1D*bQS`poc(NbT zd&LX;)1~Y?fPUytFF&5^F-j1447q#zLUx3A3hsT0_s^0(^vpB)qp;*CH6bo#`_N0e zr4Kw)QQqk|#EpeTnb$-Xd56hX(z{>@L9YCGe>ifRbD z*)iMlf!qMKDhIJKbZ7Yzdei`T9(1=7YSaGJi0vciRDg`3PNRva#d273h6gGXLlY8? zE>Txna;3z%+QwW)cDmZrc7+lMLha0h+Jq|SG$++TbTc&Iy`l2*`O?JlSqU|rEqGi7 zM|TaTXH}0hqIZwclI+J7OU{%5i)Ln%@oOQJWCvttDh_0OD>;Vr79DM8ZrgD_)(o5< zP+bO^GgurqAsX7k9r>htcXl%xq=VvH*Z?5Bu|#KJK*X|QGXJPL9_?ZDwn;+}Cabf%*vXtPTrhshHit!Cv-$~~Cp zk`&;7^`)mbv2C=&;IE;8 zkQ@TaKfUCPU&>ZCCS!hJ36!7SdvthAM$hW}3pU1dA^!sQK%En6$(ca)y6k_8-`IPU z$KS+{A|evWax_0e#s~Ie;h?<{{XPCJif0jtgU7~{cbZ1Do`3HZlVy;r|+9IrOaOJE=$&;-xoYiRj^ zbrAzPdO9jwnZ6f<>YYliu?KBsqC0xQgy1>i`yn2tmn1wP|7v4sR~wVA>AeQ^CEd`u z&e@55logE~Je(YdwhoRU$D-=NA=LJ-&`*Oeq-4s)DoREe6cvPoAL^aFn$48gyb!?@ zJzPu5_(qPzBY6#^d8qw1ka3MBCs~7m9||diAlc3!yK}OQ3AAiyGttu_p^?jg1gsCj zRFsq0qMem!7I4rEK1{<{(ZGsvId{3-2Lu@FSbgNsjU@duD_2>WN32u@nl{49+&_zj zF?1*;xCw6b!A^8{SSp#R4;ns?B%AeX6+^jB6XqOXC!%kYPWnw1aaxI4yR)w}yGd^P zA7H1-eZj%5W+$UhM)q`x5v2xV(}39b(aDkF5cjLbQtx2Kp{FBrcv~ElqA{wlY14_p zqjxIH*l00nAY`MA!PP|M7y}_mttTYP`t9sYIU$<>9$>C~lb#Z<#pT3n*ctSo!ZmDG z)*5y?UBwoJ9%5(HP?q+pAP231(7S>hyoQ~N?x@0DX39w!x7JC5<93zb@GJtBKC%h} zDS_7dZf9r6pRz-AgzSV7sOU?|jv0xlBgP(3ex@ASjynx)@2=dXybe@B8hUS3pW(<# z)OLgr3EZ9L5YLLQ|2d$lgPCp%fO#8`h6mokT(SA7{Zst2gH#_X`Gx~ZCxcJ&Y9(dx z%W7u|(3MeTyggr0f|{?;`^g_VymWF*>^%BhbzQRpmR{L(9W22F;Kp;{iSR0Ab0O4u z0fQn+xcn|=Fb8e`{+DSlpLD#*UC-ga9tuOF9e0kqnA`qtU&BS zEge^Wkx{{qxY9twqiS&>*;f!HtrdvxR*Lg+hpSN*i zAAp7lYSUXH3+&AA_6}$+5Ymi>^lGrpjd8a9)XAIhn}eecr@@* zejHJ0lVvMJ*P81*uQe;eOW6-Zh|L9|uFMz+jx{GEyc&d&(NN)~=GJckp|4MiBy&(j zT7Y;9G@t-v0I~r203F~Ipd3(l9KA_XV&&>PS`Ng`8hsQZdiOEORR2Q4%IMEx`|byf z*Z}qcu|>4F`llQ(kcgnxA9%hI7*-@21UVmyJmEhYZOZT)5iJr{5TSk`>5u4p>=v4g za(YBVZnzvT9In@PGx*b#J}=qCj|;h~(ZyuUAmjI%wPw=E&Ir-7j96IEdX8O07NC-` z0eu$|f@+c$;` z*isFvLnlLc^~46eO(Dh3`O09yEMyy7Kz)~k3dW_9KcL!i3p^d0E0~)k45$$1CPG6q zOJj57v#PmbB9sQ*A7v4>)G5G(!5YGDA!0@tt6F`vlZ|R%&OF-dJYuuapP3QlJmfPz zA|y{PsZcb9D$A6DT3@i9`CzcQ7pWMoF$T)#plRd%$R_l`_|TMQi=t^={9a{)l3*3 zA5DbT_lL16{d9zt5T*K0GPWGsVdl5FqY?BldGS^y;ijsWOny3|`KE{%f z3bT7j!v;GO%5qgi_3G-isBub9q?p3huCwdRByqJ;(X>OdU#T$vpxen3Fk*%Ipia13 z4K?@czABm`q-4He=62S9(`wa*7!*xUz4t3e7`|!!O-q=!>wb$(HLv0rWo;blB#S>y)_2bNvRN*syre7&?+};9fP1%E~j9*@kzv(t3cOaaJl@tg{rTL z(i;MSDo)^qR$|c+ph!2B)CZ<{-1fM>9r_O(vJU>YcTup=rkms7zK?pp^2fhA{leM< zIu-rZ={~EV-aYM!>6=zUt8M9Z63>ZmZG<$`M1-9;kzr2(hu~QNAQ(VP2ZYpXJE#*jKv<9@tjP+{?rHHo-?Jtp zdhfc=9uj?9DOFu%%QNiEYV_;0S>$Up>ix}HbCpxk-cy`xu4;kP$cB62il&}m9{L%# zusqgp-8IhI?MVwMwwzM3ln(vF=JU;hhTpnTW~)b$VZGSYBV%TBmh2Q~_7w zKqGHS_A2ENKJ(tI9BUxyN2ZdZJn@yHY?V6&$3XlcDZG~Yxxq9>+!wE)iM|-Uc{XB+v6B1-8Isn zQ|20<)NO1S;i=ljO60!P+u*#4s(xJYi{^4O<;9C~GH!)6$dPLA3XaOP-lZD0P9~f} zNdILZ-lH>vDH&Kd2`TYSd}tyii%lebA3(?&jRq4wS;9_{dx8>lfClt=X-@oL^!ZaH z2<%l3$1I?(fCX8LEl1H5r^E)MMA5W4Zj%xvWQA%+Y*M-z^sO0MHT+u^5nuxpO^r&V zB+SQjB;8;t)#Ry0zy#z(^NQ0OGJW|P*OvM`d{&m$K)PPiBsW|V9B;A@InrcL7^Ke} zO~itI?Ty)SxG_-J&63Z$ra@B2;YN`=SM`VLA~5Rs3#|u%i+lvYMHHa!@f~zxU8Ot` zi|8wpV)TzDJVR|vZu@LaU9+>IjGZsK+FZxY5|_8?=8n}9q2eR$jG5&`P?CIc-_Z1y z^~=70De?aPWyq3Ap>e6-zYNL@-A0PPf7#nRR=t_sKughP_7I&X4mp|~qH1Rzv!S3D zPhJK|?99b3ku5UeMz6Cddq&@h_qr(XZtn?`)gLA+?XVCo?WZg{vqGpem9cpsD{afL zlLw19Wuv9L+I$Nv7F~^JQO$E$EU?oXQIT|y4`P!R@XJV^0JB%91hB62T_+S zD0Mc?IpHYkjdZhl0UIsryN15I4cjT#zlM&`=d(k|Qgmr{2zCDi`ek-+ayk;u2@(Hc zh1V422+axC=AWbl z*#NB1ij?niur9;FFlP(P)#1b8y{FO}k|*+2C2&N%QAK4ZH{6w;ZAIDu;|NWjn4`&7 zxq=1I_2jnb3IY>v3FRriwX>BLrqCAq7gDkt;T2I5-)=#x^1F5AIO)~GD zBO8sMIb7pw<6w=qS?B?-j5e9pXozs7CXC{?)X(mb$bGejd#Lr<_#Q*l`ZX1QsC>cu z90xtdz9(=P*61Ce(RgT++oXxtDq$r_+%c`zjQH2pvE1UzuPCqC!irZ)4`p#u!(}cU z^@bDS+J85C-}HxyJLZAI#{UK!`57?v6eZXIh)?0DzRLl=5SSx;c+>GP^k?HIUq}l*5fqob-m-JurW!DW{FF zFeYn=R!yrS9kTllG#guKetl)@WGxSj?T7N!$`CNNfuLD?Gz(Qzx;PQ|7ALYRM5AHq zU&nJga45F>WnDaY#Qtb<9&I)W3JK{GqpwEMkU`WX641wwU9;j83`~0j{-hO@U_1cJ z9?KoO9=;08eaYzLhI`U7*yWtBfGHPQNi} z8sCU4y!&OZBmRo@d4Lbyq6;VI648Wtm+lNWq|l#x!T)iGVLsD(SSwelQ;xu<>~Q`y z_E6R}_7uHAdA#--TTTE(gzPxpjKiwq+RK>uYcHjMXz@WX=k+Fd{m>&%JS0V%t+FuT z*1>9Qk?<4}IK*(Za*K(S%`(agKQ*0geZGhX`fAYn8faAzUYL|(ju0}&fDL5=oR7@2 zN5gC#4zo1@43(9cZYQL8HTK-pzVh5kY|F6?PivrD2dxSbVoqWUKB|Gz`h3}BA0X2Q zjb5n2as(4Dz_P@W-03jk3&D1@+QEpsmZ&a3YNxEb^AjNVxgD=CNFyOVX&}PBHeG<2 zwq^K9BDTiVFBqId*a{ONdB>sHXKZ%+3J`SxfEuPFxDK;;Du)g!fb-`vcDa0({#DME zW`(b;kc$WzVSb~-M<500&zxe?9nH@TrK~peaqdFunhn`PgX&O}Himl8M)FXXs@#v_sFLHas27|xqv;iZKaPchnEPba}+yJ3Yk2H(Zyf?BU z=(^_3jSpRK`Mwc3!$A#tv^dtM1B$c&cxvBj->%awIQBvzOEO7cv~)=*$wy^N`f#nx zpLTS8Nng**i;AXupwU$Am7>SObuhhzOVjGf~cJ3oD$prPMHINO+SEu^Y{vX%Kv zzj)~+lKR7jZWrXaN6T%@lQvQ{0CG;+kZRdFI3f9dSsZ1!ux)vg_Lgq0`teE%HksFT zb(%JY?T|PopTc}m*SkoPz1->j(W-`fz0b5>)&?3wi)R%JsmaM?OZ^PL#0tmq{qt60 zhLv%#DVmJ&`(RnRT~`yc40a9yLhzXq0<6I%`G|T&Q!3>4a%>9rDaRNt#!NQcj0r?n zmIr_>>0STJ2Fb>8=eAWkN5wy!a&C8}vkVR{U_lLAcVu1eGoy?RlV?`M!%;|5Tzti^ zunmURX@a&h`PMI5>y}PbP8@;D39iW`K9FcRmOTzo`o^QZ#u>i0lPUGslcAsDtiEjC@^AChOK>Opc#ddQ6n^%AN)64 z2C?Az=Dk_3+5dW|rc?Aoxx%+9@#?4hTA!B*ZTca(-qbRSM`_-;QF62aWMQw?`>3)@fiR z!+~RPVm%y)*cnAT5%z~^kFwp!5tE@E3}NGlxk7xd(7{-&9C3O>hM=?2W-BFLC*(Og zcx^>ziW7pO<(-1ifgs$SBi`tot;`bW)fIY8LM|)jght7aIOyY4q$tB6RoH&0wX%!Z z2{1M-+PWe>98vD;>vLE zGB^cHq$U0nmH6e(M0nTYjEYyrIpN_&po*0~+O*UKPP{_wPq(o$`SoTc&qt+K&NEVd ze4r-+hJCk#;+9q}G7Cv1aP(lSE`Cy?l}Uk?$Ac=4GfFg%h3nak@?cQTwV;$Cu)}|> z9RdF*v=cy42SVBlBL`Gl!C4KAEiK}7P21J%2CcjlXLzrM2D*j1>+I^HD@CLxv4N5( zfqlI-$_7%L*+7xrNm#=>FH~6G{Ha;bMvFRiJ-AEPgSxaU%u1>PlD~qDFFuFB-71z_F z`V(*vKysj*i;Af52Rro+;alMe7Og-OnGeVQG(PtKwP+Xb?gIj>8Q2t_g9RFtq6-?X zF*+4-z~~GCqjN933Ra*Y#zYOJc}!+DjN^0~V=z7P9nc{GrzlmeTNVWyCB;{obsX$d zKG%8k=G7Ydn2hMQ&R6>r`v`pFhrn4GD8dd0b&9vB+tEec4xlbBf1QJ}bwJ}T{w<*H z1}qQ6;4x^8PWblW?;KVF8vqhI+$jGB%4BJI(0b>g?>ad2{n}CQ55rLxM`okpFqjXN zU(zEeCL=cx?mf_<*)y}ZDt!#UW+#hhWK->ATpP0!eO}@XS2^6OS%yI8O9J>Y`5Igr zJt+wl<*+0jo&~Xd56J(A4Y{xO^^c(wvp-V`?~&Pw*}81sBr-wa?+n=&ZAh_tyg158 zfd}JuZP-H6Zbtn&)!8VJxfwadfvH&Y(7DyQk@zhD-V5XRT|#($y3Ag#B=17Jh7YlY z5M%E-!BY+zT{V)82VRA*g{jDwU=0ldJTeYkWx38%3^-3)WcU z3n@53e!w209yBrPJLURWfXl zKSiV0`NSmH8UmpFShrU$q*L;FRaBBV={nSB8JX>$T^*IDK;zy74Wrq%PAv1Z9|I$o zVDqh@9IpY#(E`USKYWpc5X0Ml5tXIP^23)s(9?AwwXXO4prFvHt|C*AY8& z(CT$G7}$8L;{hx0i+8@6u<^Ra$|*b3=f7Ofn7&~&enoX+Lo}&Dk2i!;)osYOK}wF- zM{Jx%!t!eEhm)xGc2xf%O@<+IQ_r5~+QZdkC`AWk2juP?#XBm2-o_!>rV>Xxn|=vj zY{f?f?l!m$RD<7XSA7KcF*n0KP6*o|yab^YReiLQzG+ESjesK-mbqUACZcn}@mVvP7vSsj{KaUbK625cx5x-W)4gZuyq2-}){4+t>=#PhBiE z152^uw5@mzD~J0h{piUXc5gTY)ASHK08G~m`5Jbh9A?<amQ7Qx zXOorxFx>)erLOC3pZJmk6RboSufAGMg-zbzoIhnlfU`OuSX^Ug^p-}`X|S_n@j-1bKH3?L7 zSUYpl@)52pA6!AgEY~HojK5v0)}?am@pBLR3bht4hWv|pY+nU&S9>1R!%G!AQ;$Y% z3nB-hIorni=~%qM>2oqu&3VQ1zQQIb5!)ZMv;^JR=I3&6MzDiEmI*`6+d{oV;MKwK z7XC@HUvpQwGm1bVl*NjYQ3hqSqFqStqv<&G9FMB5vW=13_Bo#I%t`bNdGlj!JwQ`) zQ9BCNs;c_aP(*IJ7%W3044z^@#HUq~S?Q$($dKg0a}G zRbU}iK=EqMJ@z(r!<3Z#+|dim%(232Dxh)V2?dmFfJwkIM(Ze?OA}#3)MJCMfV@(b zrED_Vy?s785%J5W#e86u7P8C@s~~yS^N*o7YxtbqLt5lNW8*DXr6FeBSHz?GE7vLKgC`ffEJ&QUDPTI9DQ zKTnjh~z*llEL-+*1 zev5wm^ggUdzSYK3Gq`F z)Ur!TN>I@5_nh9RZOmt=X!nHPN=xs0PM@R3QDEs)REf!@?E7H*5nFEJ$@Uoqp-CXb zv+by5H=XsggA|uk4uXW!?a;RPE-M&FwTfmw=Jk0{#ZHuG>bK^k|Eq3^r!w52kil62 zmAwGiEWs}nKU0kb$?t5(<#HDseC150CT*NDb1OK3igakSl2-YAAORl z+E{rI7>qU0`35EE4Tu9^1}Y(pz5@r@z-_FR@Sml=foyxC$Pp-V@8IG2Z5HP9c9t1y zvoMYA8c>YwY*yb=rI%rSFx(WP3YCQ;Y|LDXjoE2G&8{L&vvnf4FUa0!KO$|+59r|D z>6D=zarbQzJ%z+Hie+Nk;(&z@S#)UMkbu~BSvK6jn~!h)O_rvp-(66v+Gx@EaU$SeVN5D1ZNWS;o!InbhJ<(l!(5XVv&Ll4h7W_RKL1^HW<+M#0o8cc2eCGj3PL{?|M$W=$M2LB?a1AmC ztU3$~o;JEvv@vkn$-J>q8Yyxf=1z;#ImE`!#V z_tgFgoFFL06-W3%k$w`Cjz_X@O?0WUK5=9{x|jSe*T6#tnM;= zGXYcVxRRh@CK0zG&V{hY$p4H((qBJ&2tlmqiGfah(F^Imb`u8vEydM&ilDhLdAnx{7oPf9!#P1L3te;lf zS-v}74sqOWcl^bF=4*)|T?AZ+A!tWKXDNXTROpURtnTcfK;D_Z9padv?)ZzY{L_8l zRxqURg!&YO9kR~y84$3APo-)17Vcz5MG7Q8$#T$4}?9SJXS9`lna263+-Z}q@XsS-o#ZH ztTTk=FhhDlSl|f-LBWYVP|y>?LswAL@fd0gi6$S9LKBZi2VDk&ahEU^h)M9QaN`ho z3}XO1_$DV4!O5^-3nU$Yw+WCCre}|zCaH1{bmBx5I)0+O`!VgLbL2XYh#ns>%q`Z81bg1N6!8O&0RJ zPQt9BEr@3&2(hC}f z5<}ggL*!QViJKohU0Vg;dMyE`i;h-Jcf08Z4pJ@^!^b?c;3Fe}I6nJ^KsN`B1;c`O62EJDt8GyTJtQi6&+*n9Cn zqX9RafOZIjJkh$kzWvFu@HhoV2FX<%U>@K#=m#E0I2ZWal^^Mv&VkRPxA2S*`4>H55vh z0C26}{r~qDu xbIY^?IWgalAN6ABz@PZ0*DEK!w<1!uQdPfedRzUOCq0G?`RU-*Jc|76{{Rp-Y8|Xp zYi+AmTWd8SR#XbEZJ#br;?mm3+R~@CQGB$h@Z8H1^7~E#t?m21fBg7-zRaEFo|!pw z=A1KUZtC_+Yu}cdYrC+_x_z9?{=b0v+h1oJTHN^@s^MgjKs2BQ5`e+L2p}0q12TXq zKo&3?cpi8GcuB*VWkq-}1M7edQJjnbTY)!$%_w^vpq=eSx*zxeI0jS#XMl6SXTaCM zRp5KzC*W7$9`Fzl06J(VQVHnFfk2>Jl=;t@hoe9R^aT=uA;2hLEMNjA0Mme3K70EBn6)?*ms3KEavem&rHW4mOy~ zmS|Xxtdk^j)88fkkW8hCTKXcF_b%BXUE`bk9w$rkVfg>NOL}?Lcc1<)L}0ljJzReE znUFF1qQVrW1~2sT{xmfB04F={$MB~PaRq=S@&q7oQ(@x7H8+IQ!0WQwg>vxurW+bub0m~)^`ufVB?;Bd3A%{ z8&4UxQ10RDh1|BUbeqX2Kq*I2|mQhqJV+Gm_uZq?;5bZqTY8EOWD7` zznCV!`Ny$52@DwIrQ$6jPtpQ3T_)p&Twn>X_7Eu!7|5#0v4C#fOHm*((M~Wu_v{qa z2M&>c1*EbX+JHN8hz#x09!3{%+zpHw?XLm1fkr@jm`n^@MZ3KcxPT@j6+9b7o>Qp8 zf)CR*m%7(nruD9=En?(MabXG??N+GSXi}}{A&=oVX0xgiF_zp?45ROd1;zK;y+9K0 zZD-YCh2C+}8V0GPj*AoRTzsRwYz~yKG{3krpRQb}sb?4kIT$>| zFUDdw${w~V8)I%mvVlNe=Nsn$X`NU+hgJ|9B-NL8E=-6R5%aPM5tE%rL z=~w-lR84y*tn@N=F)ltCI4)RMidr_2wqZ4r7WUy9t4sLA#i|pGabU#fE_Zzg6)mU~ z>a!{&-Ft98F?x1j2|7}RD1-j&h&EB^hmx@&8kEX(n;156o1O#V^=MlZqM6}oi=2B< zqTc(q=pIy3B^^*2BZ;P6Zgs!ICT29a2GGG}ivFWC^0!@qVLQg z=OVkY^T>CRDorfKQvG}An1R#cIG!jd)rDXMm)xK5j!bOs(stS7c94C{h zT*CF5q)Oj$UPcXZs=}uY((w!9lKGsZYR`BJ(CX@WPF7eMJdTM89MRFfB;H%b3qp3)$(Wi(oNm++N~)>E0F_2E@JAu|Q)gkf7ii_Rlv92l!86`$fw z5tQkMs*DCp@^1@gE!e+MJ7!P##k*Ywv2-~UYtbgOiptzgb!f^!U842FJnj752JZX3 z`7U9(Yw<}?;wQPOfL@0jKBY@`Q>815Zfcw+I%(6raZn9PL{tI?jsjE|1V>{eBHwq3Y;w(u-9 zDxNK~_+*4>ecqqT>=m05__t*yS+U9NX|gX?>jO5^MIiRrL4ki~dAGQ&O6Ke=QEH;p zndOY03SVeNWgOvrzwKC8=edfB+LKaE1g4f$DIYI2?i5q`H3rt^685=Rl~-z%wOx3l zWu2Hxv^qOicetWm*T(fvATr~>Vw1K5C_r#<_U8YwwhH*6G}PA(0LWz)$0 zVUb+whosB!vuP%s+Q?}co8HQ3d{oNRHKIvJ^@&S3Si@?4>=I32>ROZqnnE|S2@f4! z+IpLh3MGsz)g=&@Z)&>`(NZd!h;oFg_jL?`N`^e0%ujAK=Oj1CBxJS^HeRe^h;`!p zD^lro2Kqa;V%CUFEdQgZGdhKvVw|!1PQz%Y@a-wOEbU=^I~=Uv2mR61*_m@w*j zmTju2(vOgOUC(__%p|R2jt!ZtkTfwld-5(k4$yoN_MSLd7XnkeMx3aiYfL9irAPs3 z3!)oeksd*n0}-c^U&coJ#VA6ns64a@lZnze-@Cy*aKN@5==f)K zn=3f=I6BM|3X$|Y9^`)bqmDQAr(;4_XTC0uKpoama;tVn?CA8a29cU+< z0PQ{HyA79Z3~06(!09oJP8v^$rk%qm512Y?d*bvLN#KI-x@v5@zVpi7VS z(Iw(C1rg_9tzO9-0xLH=Gr9^K&#bq0HA(BXV~x&?>pgNdB=;9v7+lvoa9us_Ya^yl zNsl=KhYzHsNP~eWU?7kSOa_)5A?oo4DoOLk>oAdB<3B*A!tit|H|S-?DO8-IR6@Y4 zjo8pcT+XYj!V0=#ePlIZg+$y0rY=_uMa`>k0K6AIXTQZ*smZyqD7!mtZhLpXk#5FY(19Lh+W zG|tEN>H=weMgzl1ZTK&f)G_K7M@9oHdtJ;YkrTUd8|RRxCNAN83&=+k(^(r4CcY5l zKD@xuV==^+`8HuESvskt|7=}Ol~m2BcnES@i=wes4=n=2&9*ZAM%yc!Ld-MmCQSD^ zzUvtxW|P>-vFvjsV{+_}T%E?Mf21<(G{|Z~puh^DGrd3M`bq8m(4H>BaXTE4erbMsjSjDy^wS|7d;UUPGjv>*)Po&EBZ@#(^ckn~vs6vwy#s8?}!E z82`9Zs700!GL?u?%*T#*im||pXQ|k&WOG)i`F)Fgj|nyJS&kHC$vJHZbkm-?Pnw)&6%H9c zDfbzSwojUFo0*24mfQUyj#3W!f0&oq%fx(Lxb=our~~7aWg?En@eA#YcE0_?qI*Tk zWJ)Qgj`mt*xmWaI(H^?>5o(ymFI}Ve+ZS~kB`%clP_C@27qKx{8h{$o{>Ln3@U!84Y z3IZ=5#%L_hl%nT|;p_3gw4?8(?Un|XxmezPhH0PS`#-un=2W7)E`M})$mtF4GiGyR z$T2F`wss~?<6xp{9ceB4))|i6J2q2U~NUCteV;V{=EPS1O;+U1#ZMHKhS-Ja~ctG)4d7Sa0_)exv*h2b0 zo5Ko(JiFB_DdLQ5UY1vKybh8J60Fvt1lGg8T~ngN6cRR)1-}cxe;SdV5#G34m2^jtwKnP*3{d`8~wj@3BR}7 z9WG(N^BYI3DP*~#iWJ@S`SO~|lyB@_9GSO6l-Dj}>EOH@SIrCj`p?06-}|9saFdl;nQdOIJ4Zpu`VA1=^yx2;N=4kBji*RsUW_IrTFNPOZOtAs)unnLveRYv26WnbUbD8IfN zxp;=EfBM&Vd*-Niukdz(;xVVF2`u-_Mf?IYUC{iuyg`hXbNR79HsRHl4IM0VG*g!O zgJry1#r;HHm>bFdlWd(E$?1-gkLSj)N67WLk?JHk!JQi|uw!gJ;W)E=t7AGimU)zP zpZAo~-_^wg^Orz(r~jAK%-50U=0&T%LX(RfjBTj&F52t1SIfMN^;cs~HW70esh-!v z+%GMpCfCpcP1pC2&JMNysW479y>1S&oow1=PJn{YKhnZnKeB5~;maBA1G~0Z*&q*u zt>N!D))q6d$;DBeTVo_k@2!;{X!?0_@bI6++}a05D&-#oZvh`YjPQTW{oKWjsHsah z-kg-|>GB&#N%83aUYsahap9gsnJX{9mmHY9Vod!7DT1D{OzfXzuR?D0ALCdJ(A|9s zDOV(czMSY~sJE-H#1~e+bzEaN6kjR|=GfxC@+)#_WBZtlhJ4PeA;2roIHsPJnpJ5B zA9_hL>T`oBA7&Y5jcyT4?GYy4*xRk))E&I=sVi@qY4(P)d^O=!LpXR50Wq;)?`IV= zT+leCu`W9#nYm~2qC5Xj19Y(I=S(UE!AUM*MDq=YEM2jjiL0}R6zl6VnObu)1Ks?+ zqYk6L0Zc#UnGMxV+eN8`E}D-qqds-IWn60g)i`)Zx(il#MYkqX)jlLspdDk176!Z7n|Wz)@^Q zJiD8BW5c|M4-_rN`bpmJH(BOAeZBO4th<_)rd%%-U%^IBwrL6wNrFqp)G8Zz$%F+V zH863yvoLEMJP)SfL(55+m-rvLGfGMaS_tk=c6{Sq(UjRX1wZFR8f?;K2ggT29# zuO69}XKWFcJ4Zlhb?$}AfEi(#OXWolR-0qjEMM(7)%06|x9t>s&JbIiu_yH&N+|yr ztze_NGYNqL^J!OK?8Z^pjY-&zPNCez#6g~;e{;01JiRibUed>-(K-L2t0Lu;@zCPK zQ|h@M(9(mo6_Mj!qyx@id4_9c1!=CI-b^37kaQ*m4cbGb|&ta zjfp<$pnNbl_CCh+uf|NxjjtT*>R>dygXw2(Ty|`baf$mZXMv0?2e^?IhHB1}?JgIw zEZ`&a5scl570Id47QibE(Jq$~x-JhaG!~FgY8I?uXOdwHRa}~jJiG8kF33f`S;%vY zi!>~}IM%CZAEZrce8FpM{ncp6a%Dr8zzdHJtiB<5btOE8pTztfk@j|Bri*g=xfV;y zn_?ii$u!)8NlZ}gHRu~|5XlSu&4aN`N^m|&NBTO-GjOJ2eXlq!Y|J_hPf-k!(l=9U z4mVknh!vr4hMth#6oWwRjIC6ZzY~V`r)@MSUO~@ez9$?Do-Q!Lzx<4Pl@TL1;Qt$7 zqaONrL;KI5Twt8@w3~Wcs2PrEDs=>h|GjxOnisae3Qg=3tWGA*ZqM0-LzV4o$NHk} zqTJ%$z)C)YEuSvyW$a0gi#|Fx$(Ar_YR!jDmZ4p$WDTtMn_^d8V%4;IZ;91@8bkcp zz6~Oo43R{wtVKvuwT?Dr8WY@d8RPamd+wq9N*)_hLuWJcOu?Cu_1znIsLFhB)IG-GyG<6`ORauoPwA02ZsnTm(x!<9q3xeDcNe6At~O zD$SV=kGd3;wgCQCvcAyBwv(?56S#Qijzu~y$Vmn)8iUCG%ZrKvo^I~-$JU=joQrb0 zBw0PGGaD)5K`$;Ir@SjF&~x>J&tLWbGUS26*CpH|UoY<8;~JWL1$di6szPX>2r(N3 zkcjf7Nr=@v|B{NGOE$gKSK2O&7s=_D1_V`ns(*A9g3Q%iD7qJ)^Exl3lST)Ka#qN> zX{l^u-R#h0tJ^Psw~3kU6y~?S`bR9@ziMB&g3;P+?-l)0B)P{8*Qkq;Xyz0v$5b?}F36~##0_*05a9qG;Q-wk z2aOVrNno@m?e7%dTU9G(w8!iS2rwU$e=hGC{kbK&NdHKwVe($^n*H?HdRz2fL$sZ; z;GBdVMjh|+iL zp&|_I^A9!@@4G*|*dr;!IwWPC$QqL%57V3coIBVws;lA|jU`l@tq82Z@zoRO+k#x~(hJB}Tr_3XIR)EX**X$Gf|(8j5yILNmN z9}&M-ditigSfd`jhPIIbuMB;9#p$;UGJ9#qH$;<{wm`g})WupG$c+1dgm#A4) zn~>KoQA_3Y{NElALZ zvqpdP`XLEiIaj6D9d?gTVoftdp|qg&KvQ`KFOx7g2idtYF_E%hf6KpM8QO%;oDx63 zjw4N*Q0rupsCkmRLuFrpd(G}vCrIl`6Zn;~Dq7i!&|5OE37c-97ah}a@35GdS0$L~ z^!kG;g2wI(D5@jHO0OcRQ37f6S)K-YyBhu3V}nm+(@is1Q{p~=Lci$V5H-3p28EsL z%VQ)A*plevq$TAA4RUq_IKIEhk~kyTDI7-6fe89#*y$ULmhN~?bH?zT9U;Bpk85%C z_`P`sgmoQ+G{9Eb^s%`=M0N;rBalvp2>)o;6yKDOty@!cp@=O;ELvj#GjXYC4mCsc z6&?}p*&)IaZh>+NTb!&hEcJv#vf_O49(i*88i}N1udc_Y!%+?DQfc3XXlqa%Jy+`` zbXp}vPqw1d)hpLS<8%tzC%E{fhGQ}eiSKv&iJv7cJW7H4_QcWYZyT24AW~vZc5hCL zWQ|x%3M?9EQ(}oV-)R2Qp@(GoFeSYtT5MFej>^~3n0R89B&jn(;1a@{cVZ-xDs5o| z6hjfe22t2zo^xLaY~tT?-BKjvL@Qlk?s*$gi?_$$6H%kTGnMKFk+yM7hZDlF2cB>>TW;)P0z|rsl`}@(iLr!S5M- z?J{kEy`(52or*LmFImu=-U3jWrI%N7++e=sddI+CLB84txqRfrt6q3|o{U|aLhnId zTN_4`57$1+)>X*Y^&7^RB zucS}^M-z>^Nvjaq%tqIBI8oDohMG|@d^>I+CnE|Le1TkEAJgqh`?unDmGq&E^=|sA zuxohlF{1D}VK)qlJ=*?^@vOn?%6wxg&LunH8UJSIjY@aG_0T=3-+bdtqbTeqvo?eV zZ*Bjvqnmfq82*Hk;W3w2H>k(I6;Nlk~VN;L) zaT`Bv(|F3#_c!&yCE3+YDlWW*{C86vJFz12)mbb%pRC+GgPYYxZfxeY>sxM!`T_I| zGYMzL&qY1w4f>~AqfM-ela!u_aX$id|-tC0$xapO?5^F`4n*g&<53S0SJ8%Ex=u z2XYBNl3}DLyPM1)6Gp5O=>e+mu}LP$J#Xa&G08y0L7Yo4x2YZD)62zGFuP^#QX>t2 zh8?R!f6C{3xyLLDYl(xXlxEy4jKVRC9r(DTd;tkBjpSywli{VATtYi}tyGt=yzRhm zbf&fC&BFHfx82XU9T(rEPr8i%x)vjhZ4bssx3vdDVDrfDrK+LtgMDq0Owy0FM}K?` z&%b|q^v6$;G7KlvmqR50%myO)4rO%za$4UTDWLIOJ4xRe*8P%`4t!MO^pEu@OmC-x zjPVrjw6If2>&{vIzH`Pc7lpWXS!&L24?u&e8n26-Y&hUH-cUJ9(8omNubwCC-xxZ+ zpX(>le~q`%R^`*gWOGq1!VfqSF}<0FuPp_sEyBUpjiO0!tU4v85AaMYqJ~X8jGV-+ zgvvw{f2GO?F`E|QR}!!*TwdVxQBA}64v~ai;kd{fze|J97Z&Xr!S!*HF#QtwN7*&@8?x`sSbUE3 z*_*@gm5pTgY}`W5-8~}UhO?~j`$DgVK&C~wLXPcT$7!A9sXfbw_GxXx7cuKGp4iqF zLFqh>4_wwF$G4W?f6vxMKEBu2;3=f_niw}=dY&je-?|ccMJu_pCyp&4L2pg-n##8e zyT}V~O^JE0C8kc&_XB$hRC<~*8DASsg_3_=e8=IfecLWmjltrDw2?b+@!7Z9SoP}i zp(qG$18wycQ8t8YQp~yO-S>K>n5mmo@%sFX|JE)JGDO?-TErf>JNaO%1`(l_H;ogp zvSKT3SD(NCo-dm|W>a~6?m;nAv8alU^lmQ6+dDC7Z5!L`gInpwP38N+U@CbFz^wJa z>i}iodr15Ili~H?HkC&F&pvXAJlY%2?k7Fp9yZF>+#;}TqF`-r5hk=1LlAJ6JfOtT z)wZG6S}~hjZdg9LU6|8?53^h+u$51UwF-Q8Ctee`uGP2P5=v&nn~Hd;o*H-wRsGmwXiIuRGg?YRSbwt!VWszE(#X%`@RH3_f_vCDz0Lf z&A@GVx-CN2vn2PO$>!siJv*pT$@1+E$YbT?aV#$gmt2#c7KEWK%|iDUK{(moEZlC^ z60iJ+R`wR67daa%J3?>t5=Hc4kOYck^WysYaqCn#bo3PM0{U3 zAF5p_bKxm!lb^Lk(29bP>Y^5*T_`{?%ilzkA!!KyX1Cy5gRFOZKVx<^3tzTr^0JEj ztj)qxXsyYM&+rUFlgFr7_rPM&MITVR*!-=yWx|v*e-1fLE(jUT^exXjmzsEd^2(re zOf#u_H@N$dzg5zz{>{Yqy|5THn3Myo0M-I@(QlmcVyID0*o$3upQ+nq4Ja!w?2YD&d;IV(rqv+2+e};L*i-LS}NFxtmn0n;8dL!4JC=Sca+duUX zxjmBMz46*@96Mb??$kw4XuzZmMN?`(f9{IB`R*oAa4I_q;a zf6b$ci96>J!)p*f%ILgWv!}Dn4(>dI6%9tk2{fSJ#QJ0Qa-_FUdAPC>D-wu&BieUC z`W9xZL`n(wK>DB4p4rOKE*$wEFnBsB2BH&zk;KOZ&3`+ient?xE3u6hB~@hF1O+hd(~dl2?wu1N0$FtV@u}Dk91= zaU(Z4cfh=-X3rr@PGp7-8pp|cPQlNKp66s$>G++I0>9+(#qWo_<)e}937AR1 z$(PuJWcA7L(C@qAM?Dt&FlQcyro>N~0@JB_~_Ch?5;9_D`M*coQYvP%<9vXOj`91_vxf$%t1t+5KFUlGUgB zhq5TCE(V<(4ALKi1d4z~6M@cXDq_)0RHlN~|vIZRlN^n)PkgfYyF|Es=YeDzIMb5D*hRbS?0 zI}143%Xno1@{54Jz!2m)h9&!ILU+_g5nGLpoT{;TM=#@K*PkV?)f&j1S{>1yOC`1E zq~y*yo}4%rLT;bSCeNH7-c17Gqf2|#2fqYcf=RxJ$&%M=m8ACkxUhu9=yxH^k~dfZ zeBp&DAib|3F&735`T}eF>rDKZ3dNNY{K5;U#@f*tMN84Vqh9r7eZ|%bk`Rvm;^L;7 z9YHE@4ogsJu~YHx>>gkuaH|{M4dG;i;vp8jA@8X30p!3GFm@VI{m{d(&fs}V-W{t3 z(6_9ie|>8f+RRPFZ_fHd;Lv6)C_rZQRC?piRTTg5;=qK_$sRg)QQsTAS0e4ClY`zD z0iASc@9TDj2C*q-?*_$YMdt3*z~28JaBlONfdfl=?a{2*_krbn?h1DL#@N35Yc5yz zix{`#mmTLH{X^IP+o7YTjqRFssrtrVajSB%IsLbf3))V+IxFMeqZ{3VW diff --git a/selfdrive/car/gm/interface.py b/selfdrive/car/gm/interface.py index 632c3dfa7..6716c6fa7 100644 --- a/selfdrive/car/gm/interface.py +++ b/selfdrive/car/gm/interface.py @@ -27,8 +27,8 @@ CAM_MSG = 0x320 # AEBCmd ACCELERATOR_POS_MSG = 0xbe NON_LINEAR_TORQUE_PARAMS = { - CAR.CHEVROLET_BOLT_EUV: [1.8, 1.1, 0.280, -0.045], - CAR.CHEVROLET_BOLT_CC: [1.8, 1.1, 0.280, -0.045], + CAR.CHEVROLET_BOLT_EUV: [2.15, 1.0, 0.21, -0.04], + CAR.CHEVROLET_BOLT_CC: [2.15, 1.0, 0.21, -0.04], CAR.GMC_ACADIA: [4.78003305, 1.0, 0.3122, 0.05591772], CAR.CHEVROLET_SILVERADO: [3.29974374, 1.0, 0.25571356, 0.0465122] } @@ -205,7 +205,7 @@ class CarInterface(CarInterfaceBase): elif candidate in (CAR.CHEVROLET_BOLT_EUV, CAR.CHEVROLET_BOLT_CC): ret.steerActuatorDelay = 0.2 CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning) - ret.lateralTuning.torque.kp = 1.0 + ret.lateralTuning.torque.kp = 0.8 if ret.enableGasInterceptor: # ACC Bolts use pedal for full longitudinal control, not just sng diff --git a/selfdrive/car/gm/values.py b/selfdrive/car/gm/values.py index 52ab348dd..5b6c08125 100644 --- a/selfdrive/car/gm/values.py +++ b/selfdrive/car/gm/values.py @@ -11,13 +11,13 @@ Ecu = car.CarParams.Ecu class CarControllerParams: - STEER_MAX = 300 # GM limit is 3Nm. Used by carcontroller to generate LKA output + STEER_MAX = 450 # GM limit is 3Nm. Used by carcontroller to generate LKA output STEER_STEP = 3 # Active control frames per command (~33hz) INACTIVE_STEER_STEP = 10 # Inactive control frames per command (10hz) - STEER_DELTA_UP = 10 # Delta rates require review due to observed EPS weakness - STEER_DELTA_DOWN = 15 - STEER_DRIVER_ALLOWANCE = 65 - STEER_DRIVER_MULTIPLIER = 4 + STEER_DELTA_UP = 15 # Delta rates require review due to observed EPS weakness + STEER_DELTA_DOWN = 34 + STEER_DRIVER_ALLOWANCE = 78 + STEER_DRIVER_MULTIPLIER = 6 STEER_DRIVER_FACTOR = 100 NEAR_STOP_BRAKE_PHASE = 0.25 # m/s SNG_INTERCEPTOR_GAS = 18. / 255.