From 14b247053f6d4778c1202988b10e6622ae04ff17 Mon Sep 17 00:00:00 2001 From: Adrian Bowyer Date: Mon, 13 Jan 2014 15:04:00 +0000 Subject: [PATCH] Removed legacy support for Duet v0.4 heaters. Last commit before changes to max velocity code. --- Configuration.h | 2 +- GCodes.cpp | 20 +++++++++--------- Platform.cpp | 4 ++-- Platform.h | 12 +++++------ ....bin => RepRapFirmware-057-13-01-2014.bin} | Bin 168628 -> 168532 bytes RepRapFirmware.cpp | 4 ---- 6 files changed, 19 insertions(+), 23 deletions(-) rename Release/{RepRapFirmware-055-13-01-2014.bin => RepRapFirmware-057-13-01-2014.bin} (72%) diff --git a/Configuration.h b/Configuration.h index dbc9e6b..be5abd8 100644 --- a/Configuration.h +++ b/Configuration.h @@ -24,7 +24,7 @@ Licence: GPL #define CONFIGURATION_H #define NAME "RepRapFirmware" -#define VERSION "0.56" +#define VERSION "0.57" #define DATE "2014-01-13" #define LAST_AUTHOR "reprappro.com" diff --git a/GCodes.cpp b/GCodes.cpp index 297ef92..f07508a 100644 --- a/GCodes.cpp +++ b/GCodes.cpp @@ -1651,16 +1651,16 @@ bool GCodes::ActOnGcode(GCodeBuffer *gb) } break; - case 876: // TEMPORARY - this will go away... - if(gb->Seen('P')) - { - iValue = gb->GetIValue(); - if(iValue != 1) - platform->SetHeatOn(0); - else - platform->SetHeatOn(1); - } - break; +// case 876: // TEMPORARY - this will go away... +// if(gb->Seen('P')) +// { +// iValue = gb->GetIValue(); +// if(iValue != 1) +// platform->SetHeatOn(0); +// else +// platform->SetHeatOn(1); +// } +// break; case 900: result = DoFileCannedCycles("homex.g"); diff --git a/Platform.cpp b/Platform.cpp index 653ee53..e4012d5 100644 --- a/Platform.cpp +++ b/Platform.cpp @@ -129,7 +129,7 @@ void Platform::Init() standbyTemperatures = STANDBY_TEMPERATURES; activeTemperatures = ACTIVE_TEMPERATURES; coolingFanPin = COOLING_FAN_PIN; - turnHeatOn = HEAT_ON; + //turnHeatOn = HEAT_ON; webDir = WEB_DIR; gcodeDir = GCODE_DIR; @@ -334,7 +334,7 @@ void Platform::SetHeater(int8_t heater, const float& power) return; byte p = (byte)(255.0*fmin(1.0, fmax(0.0, power))); - if(turnHeatOn == 0) + if(HEAT_ON == 0) p = 255 - p; if(heater == 0) analogWrite(heatOnPins[heater], p); diff --git a/Platform.h b/Platform.h index 470fb53..e8d2572 100644 --- a/Platform.h +++ b/Platform.h @@ -499,7 +499,7 @@ class Platform bool UsePID(int8_t heater); float HeatSampleTime(); void CoolingFan(float speed); - void SetHeatOn(int8_t ho); //TEMPORARY - this will go away... + //void SetHeatOn(int8_t ho); //TEMPORARY - this will go away... //------------------------------------------------------------------------------------------------------- protected: @@ -578,7 +578,7 @@ class Platform float standbyTemperatures[HEATERS]; float activeTemperatures[HEATERS]; int8_t coolingFanPin; - int8_t turnHeatOn; + //int8_t turnHeatOn; // Serial/USB @@ -914,10 +914,10 @@ inline void Platform::CoolingFan(float speed) analogWrite(coolingFanPin, (uint8_t)(speed*255.0)); } -inline void Platform::SetHeatOn(int8_t ho) -{ - turnHeatOn = ho; -} +//inline void Platform::SetHeatOn(int8_t ho) +//{ +// turnHeatOn = ho; +//} //********************************************************************************************************* diff --git a/Release/RepRapFirmware-055-13-01-2014.bin b/Release/RepRapFirmware-057-13-01-2014.bin similarity index 72% rename from Release/RepRapFirmware-055-13-01-2014.bin rename to Release/RepRapFirmware-057-13-01-2014.bin index c18a27e5c49ad5a44a7db1e2f79afd2942c42570..86d17b52323f9498403cd08eb47953c738e833ad 100755 GIT binary patch delta 24803 zcmch<30#!b_dovJX9k!J83aU7bcPWbTtPH3x54FM02gpcO-)d-!6k7`D;qXVGfR84 z(N?T1Eh~`>DM>3U+o7y1wZ^Q}Y`Ks+&+NbVeHe^S-_P&&Uta&$e_kH%x#ygF?!D)p zyWfY`_i0W)ud#FGDnnzEnhWdoKY{z#&lr+n;j^3)_{@_(y){#gdlHL+f z3Nsss(JX}1{T`JejK1O}f}tVO+KDEMQHl(r5wjJu6z3Wf#ita*`!xDBMpa&>U>3U3 z z3`xT1i@_`*LkPMi2bH;5LgQtc9Zs7XxZ@MVca%MeLcE|f4ms*h7ozE0w?Rk~CbTN} zXxixMoNo~7ye?OoaE~gQ?(i6dTfvQ{yMVFqF>z?vbTUia7B-KRi+_Z9)0Rm)rPt$6 zO9xX=OGk&Emi9+P(Z6QJdgE!viK2~ehFETx3Zv<_Zt=~C%E(8?qf`C3!Fb3p>rDN338 zXliwnA&8a5PYQDmm*rK>WK?)l7Ua*#@|=^T?3AXaKQ-p3vn(AmYQ8#woDxga+2lU) zMRke&fdDb`$(*U1RZlB`D}i?felKtp@HpUWfa`&G2EH7)0eBSfQs5TgI^YX{mjhP= zp9_5QweppmDIBre0!k~3bBH%y)?4&+;@jMDPT$GWJ$a0{RTFPt7szTb3r1m(z#nS7 zTn35eMq=W`HX0eOr%?g^P#GFvH+)imgcvy!^mpz7?LCkei*d<`h{d#fX55>y) z7{t`=JYJ6&ADB#835ih`hN#ys_SR0Bm=Y+Or7*6vq2$g(Ha$&3e5FlcBq%v6*E@|R zv%-v-rDkCzxNrJjF0E?`jt*~D=KtKa#?~g2`gU0(E9W@zeQk>NcYlg?n2?gEr=N(| zwQ1S+`-cmO)-*wz%sKS*yFfhfV6vX}3&a9Dd{|FM208=N)4>5^Qc246PBNWYhGy&O z0CAo!iR>0P=<-Q{_>s;OR*pkz})wUrTZZlv- zT}kr23Q#YkIC!F}TW>B_sIK`_4V`F0 zCsYIFxOy@tBErCt1_ie!LBZI&>*fv~Pl&$mxgkpkSyUG_^axMpiSG}a7de&TeXDj6|;vok}-9`;msu8?IWh{x#7u?E#cfYRCJpZRuE4oiI+we z^Ji|U%Nuo&Xio*rLKiyG(}gY&i6w_TBj#ELcDanq^+Pq>4!|V9e!yEp#fL33#}x!Q zLl^qBy9>Q4B?x1Lqut}_Nlyl_h!zzWPv7>aOmD4H4fn2ku9OWlyK^juVc81qcz9Nu zvdg!KeX@ILyUU99LQ%aqD|<3oCLYKhsLA_B=%?&!x^LVzVHR}9(`L8$)0iS{joX-{ zOfCT7331}s_~Fq3R-DJAIC?Oc3&HS~&L~8+TiKGTVe$Pa-UfFeFe}om0~Us2GKDL} zXU1kkvzo3zp3kq0FvtZIFN_^Z>cxa{1Lr*Bx575Pp!?Qf1oRaO%9gHNAEeboe=?UV zFnoZgrhCs^hJ``9651zIrG~}*lCq@-7jacXrXY4hngXtwn+2Ro;`8H1bY_`98mchM z+3r8L%7otVc1qzJncFmw~8}vOCgH74Y$o8J-+j1 z3B8=$ab_YWvmL%3+mmSzQF(L4Ljyh`2><7e%OV?rNlX z>fWEVi)g!eI72Lb!WTORM zyco%JXO7fxd4QE-*xYQbL6+F(jiqmig>&PGUc7VefdNczF=T2`=qCYNnLM;Ui*PsM ztWs|P{|sfAN4Lf^=eor7rfXbo2=W)#N}gP2pC zqK(8@6iXk4^nUT~;#sn1GjC*a_XD01FBA{a9)&~3(vgswDjMexPk9*}Cc(7!zaou~ z6k>&N!P3yvYCttN4eFU6ORL0+`3c&!SOUgUFPth`+&6y+f7&gco8MJ#gn^beC6h$5 zV4$`yoD=nxV(16r@C9k)5wT>!oyF(jlZP&G{r5GS*#c1Zz7mh zRoB7<2EZ-ik%a?wg^-V--vndm?*Wl6oIf}bia)$$u$5G#RH$l$uDl>;G8JWon&)98 zd?94RcMyIF_$^!9RI*)r)MpT4=tyXSAs21M(ErM!RU}h1-WlJ688dv0hBE?~ai<{M z1b7_q;TZ9@J73V88P_)6{5?htw+Xy&oH)sLsQWlCE8a)`82Y1c>_*Oz)!2PJiVlE3 zC6@Nkrpf{bA@Hs^wseSQ%}sV)WvPlxyB~c@?RbOfN53@rvvTi1T=6j z!p#S5o0z-o5&m0A{C?R0xz*}HRH78WB8<#ot(J6GPwhVRq8Qr88$&H(&RrWdnT!Kf zFv>S~9V1VQ;_^M(SK$9KbdV>8TE(Gd6`Gy@2)$co)=iSxU%6xG6-m5NHl@=WH~AV4 z=D%%4mevOskD(Qiafo|XT-E$=Q>5iVy*;^j_bMsyzF@w&!)Gx>0)r6ITO#s($P38-&p z`iZAAz2FwZ?Sh&ynS6EKbo+ON^b-eG9Fe{32S#MN^EBK*z-@pEz{`1ceC1Ow zJzc$ykfU|+o6_25JP9JKn4R*O&cX+#6KxqhE1F*SM^mj>yZIA2%Ve3oaSI{6%F)u; zHG$pDH)c!cZhgv?72_(p3R#UKAXETAW4!cWmTrnH_^mIR{^1q>eDEcWc#~iE?AEsl zi4lvpm1=)L6{G0_Z!}#me!Xofc}+}vctzi}nDQRG#2GAy1EC)HPAD}SAiKbGCIjvS z>=567_->LSj(lWEWHkK~E5K;Dc{JT39(m+F5+<(S{&L?8Ghy&elZuuraxF{%2C`iD=qgoV;ULZ@CGeo7INp_Z#qD6Jb=qYQS@V3lqgx zcg!Rw#E3_S5o2BUqmhIlwP=*b+rJ>eQgf3uT$WfNW@vxIfD=uZOM1FdY!sJww8kwv zA0yiHSo-Mc{Ggt$tNV6W0+C(gHY8^iEvWN9mZl`>V(JrfwZxN!1^*_Wo<1o)^2GQ~ zthB#Ea6P~?sqUvIZdb&0!|qw%IGF}Bbyqp1;?A(aH!gJ*3!jOxN4UeRD#jVa-`TZm zSh@=K9X(mY`7tDMHa^d4RMP85x#R0V(_{GMmUHIt?+rGqF(OY%FQc_EWf{4IuyhT& z$iqIChv`mz<8%K*UIqE4HhD;M#u)mUw^J0&^|vSCj(;~m~UFy4z>-%*Rc4v^dMI88Ce9qeegDn~+W*QVU>Ui5;VifYd z6_5?c1N?q_grN}OEWly_D_iO`4R;UlD!^88+jDGL|33bILi9iPh zAO{880ZvxXMQ_X4Bi!-#kn(Uy8#ZY2+!{_N_%GVRgxzB_U)IMl%O)$iO%;BAswn-7vI`9giIG(_Qlxi8}*HsP&js0k|c08V(KI)sl|6v zI>wnBSml&xx99zw^VK^!Q?>MIdRe0%@=el-^r1-OZQyK8(wyifX(9Z#7t);wrHe(n z&HiMk#@HFnQ0dh;_134P2z@xc&xptO zdKpJadwZd@fEY$K8pYZdOg$(2OPwlVqA}=-@TuyUYfkeenY%ZiMv;}26aRjpl+=lH zUrf=~consyUNosk7izd-fL&~OF(u+--yo-wP8WZ9F@>xawfnQfWWHFqzgsqu z)Vm|;r~c2ba6|*_Lts470(%!2CJ11S{_wodu7ndyYgo3@8cm~p3TxCMuCdpQ2*WDz zmHkOr^?$Ozl%$D64$R}-KJl>wi_{Ce#2}&PYs9dZh7pT6`lU?#zv?9;SuXB+X+gpR zD4zbvcK7OZB~Git&vR&jI9M`6jDC44UsEV9dU+1|&wDS=C0j(}!3Ri*c;H~)qy{95 z&u5Le+ZJ>^Bk|_&bFA@VkThFtIXJr00<1vT*$gY)4~62WSNcR1dZR+#Q3GEo7w>-M zL-M#d`qloVN?i78PZA|=do`ZiDeil9YO>wUJGm5gR3$GSA7E-?r=a@)xDnkyXebmD zU%QKZCT@9cD_kq?&?`}g@`-aYy?^RS=}zkyfyMmJ`(Qxz!45geV2j@>Y z!+$CzkMW{GC=@ulrqK-F2)G^#RKk}K-)I&BE@$8#b2zwll_lrq*g;-Zk$x@#VSYvI zxmbk0a`idRe4@3_Mq;-7{bPA&vxWBBIQv38c<~k7-+e0L%rVX>h&|>b##0U3b_c&mFq{n4SCkmW@r|ZL0hd|36jvIVAR0uZP5LJ4ekMEv>GY-D51& zQT;ly9w2A^WmV^M%HgaK+NyA9(LnMu6!O=~qe!PkEVqjLyR2%!MN8`-q*%aFu9^wz z!1@)eYgHeDwK0>a&{V6zDYjeaqH4$;%gp>Fdmfz3()ysx4_3`VXrVK}%|6DNF5cPZ zHDowPznA0ip|aiL7j<#=Pdv;6j#V>Xs|9YMCy?s(V+PyU`$*r;O{{Z#su zG&6eFnAqc7GD%j@d0ysk3gN{(<^IPn@^tlok(n5hc?L3@FESrn>c?3=a{5#<*=9pO z?7XF#?`xr(s@oiRXWp*-RToc7ucvdM-dm0Hal=XJX!=R%bpuCNA7dQgWsH{2S7oq-R1?5j>p#Z(^8y~ZHr)p*ogZv_o5ym3KIC=g^ynSE? z5w&z5O3JcdFK1s{m1<*UJ?nG0d#&IGo@m`)rK6sJNgfz=G&dMY)t+|_X9?j>lTCDE z*Mvdhu`13OM%}(0p{h)kb#1L;nx6J`pUh=-Jx&Z+Ynd&|`&DJ3eY)rIw921lucV9Nx~x!huhx)0=x@gqwi&ekyG0i zD0+l3fE9qXfO`SG0rLTE)pdJ|YM;Mp>DfMJX_DM#>%_ZR3;m7D2#$8Cdfc9W#)hu$ zkGsUkKf9yl@L6}{rJYswo^pW&6kB%k;mV}zj7Kp^93v**ti!LHhO6A&J{akY``Usm; z9`wHWYsVri@!DjKOOOY{pM_|FPZT+N=Y^(W|!}HDP#<6hzX}Afr2nu>npd0MT z`chX}rl4{VWagCyTw@`T1&OtR@uA)p;f)Zw*0L%M5=2!)a(p6;$ddk!-e!;)me#c7 zZsO>Mo;?$Ax$(BQIVAD9Cq2aPlN@j*`Z>|w(9^Dg%ro9UE~w)^=@K2iV>I)#P4J-u zfKLG&SAN`uFdB>EG(cN!PsqdUR~2o8%rBl3hk3K&yDY(K+?Th^NzAI_oMGMScSCMc z-8LvgI^eqG;ZnnYn z#pXRBL(P^oin7KRJUcPyMPSh!a833!)oyCj1OwN46a&M*J0rz%R$~S0jpDX9P4)qD z+C>$sZ^}Jpo z#ZqfjE^&^^HDCeM)BV%W9Xl^aj4L&Y;P`-|?_pwS<3TLEs z+*UzHlYDIFQGojt9bMvM^!sFbbO-ttzmE14M<0u`Px2QCyQNk7Ji+C<&(At_L-R8s z7c70>q7oi06)VPyN<2$vMr)YMS6?L+>qetrxm?N}s2P3%4KM zJ|?`WTSJQ2voVPzi6a~1Bf82f&NJfd#-a8HJtUQLa;aH@`cUNc@@3fNJwj50F5{b= zDM28qyDqWP>_%p<{mqpRJrahi=hr!%(6x^3ZFo8&ScDG8Hb4Q_Y4-`ZfDr>xj=Ne~ z!$qTsH0ZXc+~yE{xJ>^V8hGl!f#~~U^xJVU4+l8&xF&;b5OmLp?u)Ttx;X6Zw1tBL zC*-YK7r6BcZjxejvNh4kbi?9+D@RInq9g?q8v?E#f!(#B7cly8i42K!Di@=>6!dRk zWw|7=vM8Jk-x%bu&@XFz8TDbi;HGKf2XDXB=@O#t25y-q-hbR|lCWpnTw7yPPzl@1 zB8*d)FpTCu@)hWOF((IhCUPh`ZrAX#dEDSdf4*SE2WaRaVd;=~gfDMfFx zy@?y@*&fDH>UWI_*5Lo)K_~vt3K|ysT|>m@P7LKGk9h9HQu~kYlaiBj7O`Y{oPcoC zao%%;Gbshd3Q|;Abe|!dI^0HVvGsX=*9U=;Vn%sbrszOv4D6FB8)b?bl-C2l$dvnJ zN*E|F2U6x6aK07|-SL1PfKTq}3|J{+Khq&b3w1k1kM}Gvn zZ$XiVT{+##PQ_R18^?&Ryqg+#CHQErvnU)Ieh-)%(uGH$IZV9rZZ@G}-}j8Tf1UVV zYJ%IFV%zCXDhn5`CWzAM^i>U9FP3Yaxb3}^_{xB}mNThdT2MSjiXEv%EwaJeC4Tf? zQp~$vq)RU<9+f#=G8M4e%@f`4b&IR>5n(!JR2^>q!cgm?QXMT3(@q-g6a2=~O2KK< z(Jh#!3XtLvpO(6Vm6+7F3R-$iKCs{ngL1X>;lMvb$Ox$te2cIbn${wPQ{{ZLo(tI%;VQinhN=c9l~r-aH;EVC??3rdU&lPV1!F_njzU8o^4xFx zvq(#$ZssW~!V) z72d=dMuGJk=9R6&6k)b-9%n6D`WW~eVP`p7Izo1y^N4Hdg8?SPcotY$ODmBD9vN|4 zfSYBxHu~BQY2Nm+d{|MKZo8J+a8SSwnwXb%y6Kr(I;Vqz=Y1>zdqJh6+i|FL67_n> zqop_e%#+(PdDN$)y)d!tx5YSzL1PoFb`R{Tqsw85(;=&@z#y3gEhV6x(d&3xEFL)3 z*Pa_P;AALg2DBmB=#T-&hYa`%_G9e^oB}J2X9kq*S0kTJwb^e1I9dO)-_P2{q;K{9W4|9z zEoQ&(-C8;>Bx7f-=k)66N~yC`jRQqyypP?bvQwT0eiDXdPIXk0%|>6x=4n4{^s2PK zh&d=T^I^y^yFD-2Ks$#l4!Hku>*qom97t(~)DFp96v57FaYD<9g&+4PgGBqsNimUL zOYNePt9Rk#s^GbjE6a2=QGD&=q$q`3nIAj2n{BGp3!0VU*^j%a$GA1LH~N@T41T;% z{S0DXzzJRvU-@K+{ZlDhsDN2@^g}6pd-xtJYIroLrTwt3s>;XUhV@d>GV&<5Lrar= zBn~;ac%cUnTMkaY^E2gXr%6bPYWM%!J%nD`q$;$de*<2_aF7Eg=&i;*;b;R&J z5xceYb}0JX%Oy{Po*p4R!`w`Z(xUX zYn|D0(f*bqq1H|f$aJUopH8Ji!QVv&=Av?lede~+ zvaz(vtD&jj9KltExrkY&layYhbE;Z6i9zqjf|Qa&6uA)TIA7P&kA2~SL8j((pk8!y$&pC31H28vl@zaM0cwN}#6O``X+;VHMl?ppc`xU32yhAJ{d(f`+G7UNLl=V8l1 z;_S~&X@g|RdxLm>M$1sVpFA4eI%#QaU_t3gJP`bD8FNk@?IFJSd0I3HF0sW9ZgWe8 zl-0OZyzqGpxgcKuJav3Zpin5stQ>TG5Gqx7n5+_dlM!cT=n}|guML1DfWizC2}&4d za4ppb_b%3AT~Yi+%;c9P10MfzMjd@Y!m1~wC)Nwh4>VMT!Nx4l@pBO)uvL`2J*yJ;n8hGkm1$ZsgoI-cplVRy|3yPP*1p|{HD;eajVk4zUweR)Sp z304)%*ysWQHZq@-E^|0^z&ym(8*Q9u@trT@?K#*d9XbIS?3J>GBH=TMJAv5>)MMKt zFgvj+MoS0#GK4DN&jTOeW2VP3A8@lT7Y&7h5qPq%0`hFiO!a3A3SlO;iCSv(^G^_= zE2y2JL$Q4(uy}tiw6Uh@%+A^vNeQJDGD+>vfJ&xD2_Cch4X@&faLi!}xtqKK{z(k9 zYB~0TpFFPEb5c6Z=^=U5cOJ!O#V$hZXH=ExIpfU`*m{6fW(mmTE$tXXGGg>!;x+&yY=L#9j~?=;yb6i#k>S6 zHY@4u{&PV?IZn%_iGQ8`jDPz!@$Ij>*f+eXpx(F3a@gru7Is)VK?Rr8(&c`(Z?YO= z^Y8@BA3FiNDVi2+yWG&wbr@6ho@u?tjkO-P5B@ni(#jdPqLr^uB5kmRB|}n zgGa@*d`u#Heu7_l^?>Z_C{lcV;V{mk5~qGMcVv`@I2H7vz^Vk2TqPwNt{z^Spy>OU zyECV1=8S*4f^LQrU>fNO$e-dP-}Wb8i;dr|&%Vw3?2_k}8Wui2M)kdMX%U=z52TCWxZB)C3!hzbaVa=w z+c*z}IQN6IZ&}e&HjEhR?mqJx8Qul+d-{?sFi-T&*;!5f7+XeTjAmD96Oov;HG2ac zTONV!y{)DY@xFD%-$xMp8ed6ixnRDFsaP)W_}St|O-K4P^r@h;L_-(KOC|G?fzB9o z#FA3yvbZJaxDgQ z5J-f;95LeDkp30Nlr0m&YD&}aQW6h)TzzrSV82%K+HaTSE7>Z|jJA`kbcB7y(sM`b zk7F+SM%vA>YVGv)#t69;Z{`W7p`QgcbgS1QFRnH8d++EFX7aF=tcEsYfS)LbRD+>m${SD@0@~OlK$BsXy`58q)@uAFd~)&+BOIp zJl1L3lxS!%%4G6(2}!M#wX;nL%7YXW@POH{@TA!Phq;L=uMs2m{L)Np%zyBw%>SjB zq!byH)aMbO{~4K?em9IMzyyRxnaL_d_cv3Ps0#k>nHcsS62% zcQ&x=cp;4)2y_vmo4AxPr^;%;iQF|m8S=;Bol?Jym&aT`qrd|JY@aMV^*4&YUAV>m zoS;QE=)>TMdzx!Hp3!WYZ z1Q=``u2WG0pyz0jtUB<3{AmhRy} z*LMF&DZMa7n0)O?NM(Z)0Wa9>e_tBBLOJBfnAYaW*ESX@>0pU@#|HG2laj5_wAvu% z|E!Mu>3G}ROspLJTP*%LKJ$4W8T|9%$KVOi$)1oFYM57!amShWq@#3O53%<>J#b!O z!%6Zt;>$lL#is-eLPBoP^+_-xFCm{DGj_2?Vxj-z&q+ip`hQNiGvE)$c`2K~(oy5R z$eA63ZO4dF17L>)Zy@ZohU30McnP4#^?SGbl|m%E^^;n!>ufLsuBGy7b2SuOH#m*g z)f{Abr58oy^%WwJ<0s;VU*bmxLmHX?DDGqa&h;JJ)FjzR(6!Bf8kP*Y=Hiv4*R>zp zcn$p;&7B+U9_r5;@vC2k#P130ls2Z1Pav5mrOgG^z?u9yvFEP|X)!bLKI#6&$5xB$ zMzh07mP4z{=DFtjG#G2(=@lPt_6^ruABn}krj=Onf;SEPaDTXPs`j)*BO-H^*Y8;q zbX{NI@xyFIb(cOjfpZ!8WlmSSjO)!0Ut6lA*|s_`bV; zxw~327ARYKgZ^^xURkD(9g%&(^~fMy7xl?Qm!r75fm=fO8sG&Xd=>Db5WYfAyb5U_ z2rkcGp7-3H%kv{XzIZ2lTU9Mpr%%3iYSl^Uq4XvBXoP~3()M&^%T7hrbrS8C|?r#_0UsSU6707?m$NFDKe(;$;XvPNLiW zkGZ>Gz*U`9^j97U^q(kmK9VLlr^9dVo2}vI zBAki7F$b^?@p3>lU^Cz$z;-~59sezbz%hh2gr9x-=|~kEt~TbA(V3ZKm=vagT+yz(5s!Qc8e%o zi8X2c4tH-^5a{hjy z@p^qgMW2z^W^8Cz(;Q3=sTfT^<#xK?f?obCv){uw2Eoc5D|4pj#7#Zte2F1F)1l|y z4th+`qqqZ#nxLp!R>TVUf^VmMryT*cJbk7u2JBt9n#+}ov%{p`W8DfXmyazg$flm(2DJ4^+VFy8-NhA$6aUvt@rU0Bk$5rskAY;2nEgk5%58Y$*pILq5RZfd_p)j!J>#S_nCavQ z^0@mg?)Y+X!yosOO``jc{(QJkH2*mO54~pmnL^Hr8~z-KmCq}Grgqsk3oZy~KT>96 z;AgYM-~ODG@EgckN17x$REZTpItKT|U>NLCCl>zIH%xsyJA1D9t0x|{?)@t*qVOo2 zW{btF4!(hcBD!(+_Bc{;|yrrB?`|^n%aWgfj)i^}#t_--ginSnq zaJ%>e%_1*|@h#ipwqlw-Da8)v59#I996bG2v7u$M`nsFFG>oJzVsz_J^;8^Bqzh4W zvRK$^RG$d(j*0iScC)+2>ujcpop6KJ^>`RwyljV?4#G*56;m8rK`DcV+I~WRlTyN) z9A`gBuxTTnU2fuhhjUI7o)r=qudlm#K&Gh-H)?npkK+iNnvU{y%2x_gB{Q7+PtXkD zjq=el_7S+-q9!IqWspOKyw6VhleczV>&#dXu+pP~^og{*Jf* z9zY?h5>PPa!yJxd-tw`G=SWVQ&owq^DD}9U{-V;hkC-AF6ziE>RV|Y|CKZ)(^qqjA z)aQE1&r*%|I^~6!-?ix|^GnX8KcZOMrgyxX$t4C@nq6)tt@1hTHoxm5iI_|)*z=2C zc>&k+^0U=sV9&^y5!mB0))Uw+8S4RTyNq=QwpGU1E6;#yql|Y2wH(D#;3{Kbw9mC4 zk6>I)R-?hz865U7HsHcnQpnLB1;P>;4Fk3am`;9+tG5JP^RW46&s5gKI_&vM6+-rW zMM;K-(3T4dK%j-VYTvj8q-!Z@P`ni>?=44R7b;QrG zM9>e3ci$)uGtOll{QQlisdqtc&V0sILGDh-MapI=gIVwuH|QFqnk}avgfibIW8t6` z`m3e4rFaiS}Sd?@a6&F#56kh-F#$XO&cE(2#ZfHNu9v^k*1wMC4U zdXg3~1OHzT3#ClcisL(_Lm6D(DYzEzkD=}*wC9AgVF_W^&#fUt%;;^0#22L`Q(-U} ztBEcgTkYv+A3V403F#*x-47{~fLDl@q$F+WF;=rUly;#Q)neK>BUJwSGBmtJv?EyJFC`YW7p?j$?M`TykSm5Y0&kd_>ns; zN)uRMj`)t{SA_hoio}zVBzd~l4jqk)=fk{nG>M=zf(+>*g_X0Du;0YVo^0}!xWkiX zKjG}F>koTt916rPZPSLlRu0W-#+!bC7J~O`omKq2Wg!| z9OfOHaLN1CrEYgZ}dlU*Mfw&^3WQSHwFxCe<4cG0Z|au0AWg{Jyoy4>xHL_xh6T4|!0rB31hBp=wR=-vRy% z@SpOWsb$6<<8C*0z|}L@W`=U1K$d6K$;2tCnawd{aQA{-@^a&$ArBhv^Bk>hlh3&+ z-5pKvXyJg2P>R8Hr!QNsC&iLym@orLMrJe$&=EUr9Uh{w`Zmjbw&e?D?m4 z#`*3&%=e8w9+ex3G-Rj_-zc~EyV>u8Kdb_<<-i7nm4M#>)qn>9+X1ft4guZ(JOFqH z@B!dUz}J8u0KWrT0TRFupqOeRagbVfs08(Ha3SKy=H0%$+& zju2Qso)n_5adRm{@f;{0ybrL*V7%NA?@o~fd)i->`+atZR^T2YbcQ@@p}o+LtDIVv z+i=9k;NgqX$zoZE4R^PfKIyE>pAvd&~PhmuEwnH<8km}&9QF38jvWi_vMP~!uhC`&Gbn(K%qgwp*5Tw`p@ ztX9gzDvmoIF;By30r3DcU?^Y&AZOlS4L1SE?SQ3#GQeiQHo((>1Az7&_M5=J1bjPh z*A$XWth?5bvDqdZupK0-+UGXZ$%7P|P&P{KgH*YUu?gi~iLLkT?DiSb0as>VRO4?@ z_Vg|{nX9!(LyD@UhQhMOL`N|p!+XDs6F6ME;!jpwJIj(}V8q*t@2uFHoH87;0q}F+ zTeGfxf5D@rxp?dobbaidCAZIZsn_5q>in*=0X9ToTGaM^;k`nVPmLLkuVmdzHy4^hrO^{W8fG3YAy6j%8;S}o>xqPOg zYzzi5j-EbxZn0xhIJt+cb9@v|?j{NK*%9O`1u3eJ(~{++k70?18w{8O*bR6dpqw3H zFaWH;xf2>oSKx=1)W51DKM=lYiR0l;37#oFg%0Ac9|FNDhMjvE)t!yJE>~VsW&@lCxx{o~q8 zyM{Qc4MA-Zqi2>m9_~V34V&IY&CPOT$CJzux*p$pbY2gt%t5#h@JpBa)_Agr zbgH>a!#!E1;kqr?aNj-aSd>6kc3uq{qgR8T+eZH_fsE>`PEgDArJ&Dhqu-iHrgUbq za{wivZEvGLok+%XIt01c6&mh1Lg@Z8kqnY)%717Bx{0FZS)U7zlG6N|3Oz{X<=?qSpP68@|5|?2{k#{3-palE*%ik*{3^M)PvE?p|tCP zfA_4Kdj#P@z=3X#SG$u$S-%1CwsdW}mDXB(E)|v^2HkuzFaI$brpx+InFG)-m-!m# z7Xg<6sLR?U5=bh02;Ra)7=8|GgI;U!mpnL3&VO*ul=>Y#$a0>4r)NEHB)^i#_v7)G zkO0%Ws=3no>&fIfl5i#HbzKN5^SQpBCco%EAH z=<5?w$cu`MU1l{G?4#!T_f>NYer?`ScT8H17_wg;rG0EQp)#njh7vN^;ZBE_Z+E0+kQBbg=qSh_ zoB5`}j_)(bjmUK{A<0)1;qveJI>-4zWONE6sg5WyeJ%}z<>$0^EgX9zfj`lzAtzeZ zyrKwi*xf2eb|#4#Ng*1Bbvj~@l`)3|D7YO=8rR8PV0ztB;=TOMM#dr-veRa za_SvBGD$b0cf68GzKxr?3O(wkrbKAcH_mkI8BDqjWvuohp7=lDIjwq2duBPU2FKOG zB%upS(5{!Go8_EOta2m{Av?*Q`qze#r+B_*wPR8iNsOpj%}U(Mu{?_;5S3#~7K*2G z?8_n<7!|(FB9oIA7O)H=sLo4vZ*NG(*AmUPaJnPd+m_S1+c9<+Ng=x(r3m=_1&-~* zNEUh0@zF3co0+}$t>jkJw)j?7>G}<~k`H;3UO#>$`H|;OW;=RY$OOJAyMDEWbRqoj z#g2!v$!Y#_cK!S@q_@J}oTKJOj{ScQ&-}kk*PhoJq|eV$-^%4!+cGyIH2xoyYCG`0 z6V%)@j%w0a*awy81_R$>W5quJ50Z#Rl)oc1)X0=JUU2 z*B_lsekb<7r>eP&1#NJ?1O6fK+79t{nSX~*K&B!jcjx~N`G2LibD94oQRIK2{VUnOe7c~jq^!-LiJ6tr?J6cY6bs0zvSE~a}>@e&ybytmiZ)O zwE1S4(mWSXa`Vkp#!#w{d^tD9-K2H_mDTfY-!SOv?kHY>EOn087Lc^)>X0tgt3lUi z?wlJB)n8daqDey5%{)fB*$WSRY~U~YIp;=}Bc_C8@KT{eC?WTBJ9jga?=gC@0#|y2 zF8^COH&mLQvPjuN*J z4ZS0CF&Pfo<%_Y@GCO`;OvaNrj+7;2SW3aolv<=51nCJkDLg1?pjaJMOUN#wbR;ar zaHew%SxRP+a>pY}$yhSY@zqi?5Mx@sav8CbutP;TH?}(p?;@Y@?@X!hv78tPQj9Jm zslA(u&2rPTGY>4FQKxhNLAei<%NPpF$gL^#KRDCDx%MBF37~NGSIfwCeo#%-Kcl|a zwN#!>7_EJ-^19}O=5s~D@NBNCsjBb1ngj@cBGb`%Ey-iy9cxJqe=_s2yUBz6DU0Kw zyU9BKRAznnI&uq^nwj;Z){{9v2G>7%52;KfBkOzaBGXC#^;0+#nuPt-yq# z<_yJWfo~|3ImB3e`jYiVnZj_p<7XtLMc-s?E$To~St39wum9ya z%t>K2WAj>b9Z~zxEMI3kEc-~8)(<(l_L#M`W~^h~ zKGH98uVF%K39hwACQoP`;;7w63VE=UFOcm-?b!7KsW<*pka4z7|51!;TR1C(W7&(O ze@G0^X^zkDAjaa)hQ!`_k>rQOo&vd~gBXkNYZI$a-A`T%4^{se&{6%ef2!X`QI*Nn zcX(eVYr?wrw%+LKSo0d`8P+w$dLyfT&ugSY!|%^_bbpiFpU__Z0UgRdNG^BXo9Go5 zhx<*E-JzDNJCuu=|MgJ0X1_&-DT%9o*Ktxz_%%lzWhOpW@w3ZTAN3B|rzQoCBOgOw zfy4VTd5;v-AO8fdYX9pC{K3wT{u4g=FSLKl{C^ZTbN{;nym|d`e6@Uc<>cS`#9MEe z>t}yKCMv>7rG|4?*T4EDnZ%M)+ij!IeYKTn?H!$wT8wq`l@IY}Lfb*ih&;6A+_{i9eSOuCE6lFbbZC&U9uUoz93VFSap)gom$3daR@zGWC7nxJv z@H^SVC$+Wg(_=XLS9N>$U@_$;=9SC;BKgEt|JGmRMINi=1+65T5SwG)-{b)lqW?8A z4AeWX5ig0f$?HD#_CDvWt+x8*H^@6YvD9a{$u1tF=7(O=6A3SQNiO!X89tKH!Hd^) z@D}F9M?%hC9@`qT!`>F`<@rzGddn32TLfWR z82?ll!VfjP3vtJB9iK|f^_O(~7Sh4vmv*QF^Z0|II_&7g@8S;@Im}VKq1*FCiAD?` zTyb*qG?Jm0$iR;dbA6;{YwMHs3!?bch=QXF*of8DhTVX*Ea%uJY|27m86F*W!r$jw ziQ(?~Y`r`ucw93BGaC@M^qbH0{#jhs$YKm<*r{yC_g(l~NueVyp0B`Q$>dlUFIaN+uvZhW_J)IBnp|C`Kp5EH+V zM6)2q@wkcaLWqplpEU8SjmaDE$E`L3wgGklo(CKRya6}?_-tJL?c@1-I+3CEUr*(q zQH7-){+_eUmtjX%751@IIgAxzC3K^Tp2ZhgyQel!`szLT08AF1Xt z5EcSP1C{~QfR4YEs5ZItp!)$=0STbhF*(P!rF_2Q#8Tebc~@+k+=@8J0skeo{_rxM z4+~@4syU8^m3+7H(^lg1vq9MQ0(Jm)0rmh60Q75dW&%F@)gWZsx`Tj%wH$|k9NRP< zLwuSeVHKY_=@8IgkjxGEw<@M09l07a)!Yz39Dx0%t{yhOc;UR_rAwDDU~#6>0J%e} z9FMQ!6Ni)oj~k5b2cTW&A4ppW*afHsYyq^VeF*Z?9L-gHti!*Gk4a%Qoe7=ncL;b1 z^y~s`0I(n9+Z;ny^YfAz`a7Wgw;9P+K?hHhjruN?{(9RE4b1i^> zm+<;6*vf;x55Rsb{b@kCBV!Gp*`w{kq!R<7YXbqE(C&Qi_?lmUKl z3+oUv+BDFZt>rKa2qPAO$ZFFb0_Dm;Vu4>I@JhU`-P=pYRQo{d+#zIEEWf|4qU|9_oF2{0^tOkL*1e5pZ$}u7GlR&?*&Z_5 zV9;0r+e23M5ukMpnVdC5YY!RiXZXiu01uqO@4zX5S)awPRiFkGC2kjx!1RR#m=K3$ zOnaQkTt-h(g4Qmt0&`NH9r2?8 zhBKLCz)t{}tFid0N{fd3G$g=;bZGK+g-oCcywd=NGdKhM9Dvn`#hsOo-uLo7>_tdN zLvl>dHQ*9};S7AhIgFt!4T~#*s{rkm(E-;37>~)s0&kaR@vew>5Am6d0eCL}<3Wd` z?p{7RDIJ8tfOe%>z(<6Hct^{UI%NjsTyIAH? z$L^GxSXLk!QX*Pdc870PnpWd2EweVH&YAoB*@wZX-}nD}pa1i`?>sE_+H0-7_S$=| zv-aienbUhzhxV#WT$#TnzGnb8zxV$H?q8pBuM8tU3Vh*zDf4eV#mWx7tju9u0Cxcp zgmS|G_?Xx~ZYqRwyn-XVX@kE%cM`x9vd_O2pSis5~)xKvvI+(Cj~ zh@-E%^+Gp#-lc(_Pu&{9hd%8zHF8Z)qn5DgBCni8u8UKZBL-}4wP56jaCbq=dFS$Nn#l%B9_guB5Fr6+;0^kZ?T&s6e+xW(rIVi9lnIFetMwo8Yi zPD=-pPD@9Io|dZpLg^^bT0lDm+G)_5K^r25`o)>5ic}nTfwP1h4jUh(38gC`c~97B zX>h`6DRbayDGgRcf;Jtr0?=lGHXby!I!ljAwHN`J9!mo}&Q2+EY+tsyidSlbe!JMQKn- zC|zqKLy#+tn&@L0F3bD3l99eG8ITW@z(atC0e=;^26!;==YeMe4+Jg(F9RL` zd<*dWn`J9FoiB2ayOjo(=a6r_7Lpl4A3er3aUtC@dnAk&pHfAcs@)k4dO<4;6!@CP zYo(AN$B2#-J7{Eh2p#3-Yf3Qy5_~e`Fwt^4=nv}&?GsTK%W(;@$Ypot!lIDN^ybR= zaO8${^7s(s2D&=OeA>}qSA zKf^~ms6;QU0QWc7TP1aEo>9K7%Dl_bRmKjPX~#+%nVnVQNp+&Shda?QOi0WPp$_qu zIyvhd*Ki@$kSwSZICBUM@I(RkB!tje?g(H94~EdC?l52>be@~&{3T^tH<`|QhGvD( z`^5(W<1vDd2Ii3(@zX$^Pt70|*CMtB){(7sdxHi9ku!DQ#`f|-a;w)uKH$_46?YBL zS~ox85e29h63sj@)~(YQEBt%AlQi9^)?IfoC4rFHqEBi*Sy?wV^_vq9TdJEqcpM>_b-RZwCS+$_@X*6Nc~(3*?19h?o_@lE zf}bT#C^pV{B8pC{8*;arkXA8kcq3U+=NaBgqLN)i*CWR_A*jul+k%E}k$eiG=wss5 z5ygDQ(7N1_2Z&no=!Nd|QG0hPiX=0ed@bf=4(M(es^UrkZGd+G{uwGRE<=1KbNbja z52xu)eNZ6I79)%nj`WD4H|^=b{M!7vDEf!pU-!XE|KX06yGvN0*_EAn5ItMYH7$S= zrpz!@?3>kFJziGSYU@s~iZinE$;;yYtO2Sw{}#HKbu-Y{ZWLxfcN8Ud@#5$rb&E|K zuS_Ta;d61qn5f}dZf4HMQY1a^$$_A6TNsQuWK*^!saU=m=Dlqz1ZF^)YG6JvlPP>% ze05BEC~Ije>fE!!Pa_*BUKlf!Toq%+4w&_|%YeR_0^N%|e$ZDaDBGgBz9^ds{Rv!- z!0`L+RXuv;Fl-34E1^A~Dpf3>3aOr)-*pw4gj^rnByjcI4B#4@xM%D=VXX3YZ-ZIo znM1|)v0tgfU7RM8?(#&^cf`-ft&?rk4TG1B^3&uYeMg)se9uF;e|DOBtdj|U>W-v8 zizV4Q@|L(IdzxxK#GV77um8wCMRtkxhT-I4@h`(!b&x|ZMAB`pNLnp^pR+EW8S$N0 zJm78>Hwv&2uy%o;rnPQq?x%#D5r>W+r9NU~1xGj|>Eycd@zaQG*Yl9v3t;_sP5gDj z0QFUg8MMR^Nh?I%#9^vV3B%C31rt~Cy&v~zphj(vq*|M=MvECOB$J~T5VD+EDy|2n zT^Q{yI1t$r4iZUs+ahU$lxg&RJ|dwz-B#CB=tETVAmx?(YElpVW0+MVsREKQQf7&N zEuoJ}8dJFx;@iRbEB?!$}NJ$z_fc4$)LJN@0~_^ z1~@Z>-WINjbrF-<3Si~^?_rG)+o$zcU&5F~P@_8nPiM;X>*N{sn_q0o@1I@kxFf{V25auv$1<8%hXyKq%=Qn$0`me5 zk#q|jC4z>bLcLu)bAJ!jW)!Rju<^hD{`7G&|1*08wb=OUfnkN4NqS*fw7?b$%&cn= zWpywUd{9qy-IfQY5mGK*DN5EYftN+lHd_Ssv-v*}Qxp~*TOQKLiroXz<$zi-y*QE- zh}p%7>Jf0Y2>KzU&xmV^XULw-yphTM1aOHLiifDL!8Ic2Qb=tOwR46isxvzznAX%^ zrEx(*gy1V=HuN%R(9FjN_R5Q(bz=FP81)-i0!Gjjl*|(M&Kbfh?c(`4(efZX>s9iO zNahYu&xCWLy;3;6Ee@ZXOq#^`a~Bo|q2ijWTb#-kggAfRaM^`A zo4y$O$^bjX!}A6NmdoAX3EbD{W?s~Y3{^2BogT8}l?!|8NI8Q$Uf0|k9Y zcl3}J=|Dj4Xz}s+Th-T`8X=r6^@OvIT<{b^|Jw^zlDVRGVN_4nnF}CV?k#!{=`R2~ zAZd(v@4`1!8RI(Q&EzqnuTkJ+TGTsXg*{COu#o=h)=I-B z6!sffiNXs}T{!*S8BTd;UGK&36H+Puyd*1`bwCyhGs_nv-2pgcP;pC;KQbNz+?#M8 zf_6j9S^6yRXA^%|+Fu^EsB9IdgcSnPrGTAc{DZyJ-{L6>r}sI+X{ng~;6|0mI8cR7 z`R>7^_cwrw@W8=>kfN5l&Cm# z|GmpI)cvrK2&c8SaQcb({POFnk#|Juo>}pVQpK8e6tq4$b$6}lPnfr@eKD0$`{bxN zC!S+wyM**6AaF9;0s3W>xEJYs!0NixbsKp3q1lXV6Tn{A_{bpMmuZQ~t-JlGk_0}4 z_J&c1J&cChMPHK;z?e+_a@|zZSwd!s1IiD}UN$nfL;rlF&jQ{9TmY!^>iCMC9a=N; z>Rzc_OUSjlsK=8#X1wWn7z3F2Akxcqg`1`lbrn1-lqR}E>2R@j^XGDv6*7C{6NL1x z!AN7*7Iaq%og*1_fT{l!}EugKuA5D;B;QZc4HF82lM$Aipp= z+9%B){rf6P&mMziyOGZ|Xq7YuJMuH2g&_QL%Q(I74;rIE>zAu!TSX0~EG-w~lcvHW za?Hu<&@BvUR22MM-XHQe;lPlGG^Y)xE=RXuy3W;EgligBAhy5yLi`4IphYiyFX^j1 zR?%}>stM^v*SU#MfOCVT;{K}SxFUDa+#tw!tjoRpY3>WlD!|VXZ&W3Pk8*dT`)z)^ zzxkEZb)%B48|J>G*QQ1*;StRCgm|<{#?oO`gd}c%Ed#5|FJCJmABsa?j}NfTLU2bD z9u{Z6K7ZItu4EzE;EO|xBtzdEU%K6uXh_Ft$yS%nkd)JLZ1H4c551~2UFZe5N>{u= z3%N4U@p`YwQdhVkI_I~mDQmfuZ(FcCgTw-H!0xE*KinE)D7u(wP|!h59easaQ11(X z*8pz0$E*Q6`N2@Qa0V;?rR`qK5TOGY1I*J#y$s*FMOb5Dreg+W-pb)$BB zRne6qMsM=?;`ApN-F@2;M2~pJijDRUL{l#8>xvyjtON?)XvHqM58i*!6~D9Sh*IAe=6E3`$L2mc+9a>u>pB2eyt zE5V}DhG7^EI#iYr!^@Iih%Y_hK$@mXA+210O}OPWiUhU!5hcA~_YpY#^;VVE7e$_T zFpiQ=bU?7i-_p^;+pFvG@xUv>vOU)4z_n<`ieVzDMh6n5?9F@vk>Z$R%<1 zzC`sYJEN&!*nV-#K3%}8F#H7IXR%>lqTe6RffglJEm!s>l9xnvb(W9J7YnQ7vJ$0$ zT|w08`tnzfsDN34@k9-*9T+AEU^iU8xnKV3OETMivXq8Un&ng&f@`?O-qZXv--vHl z$CC>2^Xd{ZK^(IG0Y2F!?%cm1Ky(m|geQNI==0_h?|C+O;V3#^Y&$Tj+a|0)*x3xTZsa6!8^k;A-_>CxUClVV|rh3KdLaEpJf8sRGxZ12I;i& zi1QIheai#RbNb`$#*IXu`PZ*yVfsuuXXC;PQQ&FIxxa>%N9rH9OhWFvvVikFkWMI% z$N$OYagdy_aoB|^$Q6_yZ$DNxRlnTwAaaK`c0XT&bRTrjMf!BP5&yT8o93X%;Eii8 zEJpS>6#1fjDJUr$voEd$CA`A_d@0f$8;`eNDPI9j&y9`?YeAV>p*X(^`R*IXUR)>V zA4V>C_qd6M1A>;g4;JjNAb$$!dl8S)yn~*Ns_%!}cs4zj^YN{N2@pEL? zRD6m5b2feo;*H7~7i(^rO{()Xw|1Jizou<$0q?nr|A6;%RWV>tM_O}h zmnoCBR&q3}F|&PuT>Y&L;pdgZ89!%(?|ELv+AFxff;RjI8d7DM^&6o6(+&BTYHrOm zakOV;@cGR4beZMZaJ>D`4FnZr(!G_=OM?b|p49{g%WU5$SE{Y_fqBKKb|_=BuL`I#cZ`l`;u1)LfM+ zT6p@*f00@2m3aj+;h06;);TUBm{?UGN;>0ARKU^Qm3&Gjt*YFfyECuD(?jS~H%HA! zVQ(onAd_yZ#8G-$vvj1C8J#7!0~m5g((Y!tQe|~;?WUY|3)>j@j1Hw!ZT&B?>QZ2o zpTG>)2pN}HL@3L3CR}6&2=;*&jtI)@{tCSyN~=TMR?d}Ks~3`tZtFbp=R=XE6?wai zgg)kECgi{buIdM=fD587SDEmGGzFOC;<<^~7k=wJw0Vr+dr>bG z;BoxS$$Gg@B{RzE#7hq$?Gm$MvHdFgWilihWQoYisrhV05?JP*WQ}p1kwVg@7deb^ zB@WBa(mk(b3i;j^{wVz*1*Qevsw|ExAqnS<8A6t%9HF2kZq@@t$i#9qPs$X==7i9F z?o43}(%s^hhoemST_n<_Ct)C~ez{!zmm89d%*1b;W?S#&+<@cl%^Lz~f=4F@%0Rl@ z6GYSPCk|!^z80NPv|$&8pmA^mr}d#)*W2iGrYld@wQmE{wA0xmpUa4DBASecSQot1 zZ$k!#p+_!HUv*^|d8+bklY8Q_MC5=~u|akM4B}jAqxkH5QKrck1X9pD_`alnUw4inoPMYYwPJ#C%rWF1WsI=VV` z4I7#35;J$;hF45^XN(*j>*D2@ect9Lo0+uXW7&;%+HPOnX;9EycOTimw&%uKn4gKc zH5WRnI_hAGqBlH!r@9`fE>IrVb4HR7yCwi7H)HL@(;(OT7r3NLF`X{?io?IbRAJ!d zXNNfb+Cq4pkqlK17$YTc*IRE~#3bO~)rTK@z9-#5 zbP?X}a8>?ofquDC66fDW{ExILgU`2qg66OZXT9T@t6fc)eV@Z9tNhTRGcu)qZN2>! z*EjnIVY_omQgURdV!+kb>i=O%me-Uwyrw)2Q*OI*yrztUDT(6pBT@4zP_f&3%AI?) z<5B4$_t)Brd-C+c10`;2Hr^3t2nxK@S?Yb5)Uw3FiouZhMv5qNTZcd<6EZKj!_e#O zfwS5D1Whe#QvOZV3h}oi2~%Uxi;VRnSkW?TpwPpTU{qFbla_~WlSZ0Z#xrEO|#>Mu0`;&Ga3j>2d z=ou#)s!OeJd%Gx4*0)dAx6{5IG0+c-ZMSuly`}c)4o&FV*X)V`zGu%!5u8E02~VwA zT>8Gw)Kf0|aQVY`4E+avno@#U`Zpd+T@N^&dy4 zqkecKY8oex3zxJRuL~7eI(Y^GOB*g^d*v_NG_oUx+x^6#528$STpiQJ^xWaX*2_BM zwA^o`DG2l_Xu}jQuQ0bTuj2A}L~@RvbVYkLy(iZkhML`0Vjq{6dGMT(OHy1fQ=BvY zyyn$4A9!8yby?0`#^i3;h(5unXyKA7q{QWKUac@miG*5)=V-95(%I^-XoO)owtqZ2 z8&Lf27FPJG4UeHy-}x9ixr70Ef%I`FYj}llMq0}~B?QvGPPVHlz`L42y4K0)>t%Y+ zF7%zQK-$ma-&U$J^|F`Qj*Kl3c1bHkas?|UyT9=nE*2#kTC2RCJ5p}R3vx@Iurc3O z2*H@4Lg;uqUSevW!O=SNU+4a||4f+EGO7wb+I5ZF4Zi#tXx{>U1aO>YmK=_ms+4$T zbp{@kBs+UkSz_UIF~S7R#S(67$GWt0(V%?GZLPCUv`o>mKDi|a{JZ4-$+T^kzDn~I z?mM`3v~NpXLm%<`qw&3Z=2c2x6|oo@SCTHouJN<5+LYBX@=Ex!7~VM4w7^c1I187Q zAq3O}-6~s(-RH9;$zydjFe^yXj;mL^O_7ieJ?w*5;)l3EA-az3xpvsFr~xllxW6#~W{o8C*0lIh<<15aPXLG4LB79=AZIqV;|O3ejIp_{P! z1GjaNo70bN(HIA!vRR=i2uw4?w#H=AO^iDhm!gwmEij^BLWA3CckQaJL`lsew>3&4 zLxL>IMR*bmQX7~VABn}s!d2?29h>L0sp4bD-t3l*Z09f(P8IKJ((8O3KEmeODx-q> zA`liKXnus*YkJH4l96Zvi|T{K@}^PboOq%sJ-kB7ti4k5)-o=ov4wFFK1HA7>522+ zXB(s$P|r3}nI$f3tfvb9qdXS;kML*~xvZh$%;Q6Or9<3)d`ajBwr0t~S&CS(QXJb9 ziJ>RLr|!0Cv9k}!by;6`&o5rD@ue@wlt56Pckh)c&&iYkP`0|S$dt`8#Rrs4?!-A* ztu-!(A!`7S0XB*2PQ=Bm^Z3_t8Xvr_O~w=QnNvf#%f=YdM|&n{$gtOA#Z~FeVGdUlYqeiVy$F zvE3G*R#ZH4&{RoRz>Hih)_xQh*@P9}RLr)4^g)*oj4vv|QcAq=k=8Wbr7futEXF{( z10z>}5-&OfsgG2F>5PR0PCn@1Gy`+gnB4vj4+cm)1)0~NslutIzk51)YP#7SNMjv- zZFeiGieX1c8BRUW1q6hd=qy5T=z+85pMl%Nw&q^NgIw2*zVhi# zwNXtgJU!*er>4DNTCKgh=#L^sf5^j3djh)OcBttxPn1{cm`5$}LJpdzroJe#%U)dK z1F36vo$(tqfsOd`lf44!agJ5Gfou9jeEwu={uyW2I+HvRUTw{YnD?U2YU3Y8Y8rQ^ z&Pk{<>yi!oQo$1Q2#-0x;bFhBmv>p0CwaBgFQcuJTg%oKja zfsC5I4n9ZNfsdLRWKa1Kc{SbXW-{QJNGAGJO`ky(xQfI*0erA5*g>!8Qs^@$tB9G> zp?noi6WD3gQz#RA#|_mutz&N2QNG5>Z=K>8Az+KguHva2cYl^M<|e+Ay1W+Oti zG2Ai?DqGM;kE0g@=_BZg)81Zr6eo2VP_rDgGf=ZsEIyTDnu;9jznM_Z`p<|`dEWjj zw0HDh1NLT}{Wl4{ROn>KRjmIG$VXTm{Wl(*vH$8n3Vvt*?R2qbb@bn5*Cf_^WTwg6 z&hx0Ev;Qh&!H)K~bSV`5um1bc^>_anWjQv>tLb}P%DWwZ_up@57VE!XY-(EIl`*mY z``r;pACtl?0XTJJefOQMME1bbz+2F-%%_^Aj$S*C3AP%2^uAPG#JrL9@-fJ;eyfp; zpq)n*hi!lR@Vj0OyHQdPsh1^vksmwI#W5}?27H!EMv6l}iw}=+WY#X2fBiumZx!sG z|Lf8~+DBaYS^S`2n=&tAaGY_n)Ek;Z>^Om!58V6@`{i+M5qzA{UzjWmq66`m zg^2Z^?G1PfxpVN0266u9LriC+ETJ5o9Z0{Ce7E{OZ$P`7J!+bPWz&W{#5XL5ik6aX z+;eK$-$`EJUSwk&BE&Ff)!|8Ssp)i&pHQ?oklv4$Fi(0%(!$CIP|vfdXQ_Rtaf47b zZiS zZy0Bphn;X4uIW`3z~GAx_PF{!@3%`$7eMh34lZE|^!D}YEpRbcRMS#BmoO3Zo(SS@ zH>WKZOxPybG8zn6wFlB*dq@L2@O#LTCEMze{NzWH`KOvrvUe!qypP^6l(<{Ms1&NP zNL14*$KQ`~ACx^p(;DAKBpua~CN4%dMsh(au=3ryc>VXlXF0_sd44;iz6s zzjOKu8kst|3-wPMmk@+9FC!v9>Wj zt!Vk$?;1 zc#T!{JB(pfza&2L^<+{ie*Lvc_ZVoJrE0purJ1j`{91Bhj>j4Zc{N=Q4uPM}7nirJ ziFp}*orRJ3+Nqh(s5_7!hWsZYX^kPL#kf`-d0!mWIwNL{$G<@kI18UR62WA8*)PT{ zAq~TZMNexlGGAA0Qfo6o~06BNiMP5)mkD$zj zK+@{`QR0p>vx|_UXe=}5vLjt!O9s}EU%a#*KvUyF;g)aWeADm66@h!jcfPsbhoRMC z=;>*pr+{Uaus5eT&&SO#tGMoTT)1i)dpmU~jlDyi+farRwmIUy(_fl;g02>hM{l)t z=R$FW<#SGfH&B0BXS}bVeodv>?2Ih~+oM3iAO5GNkGR;T$DobK#l13D#CU9l=nzlG z8xs|+M0Dw4pVE8m7(5n=4auw3R>arpx~@o-22_SIZC|e&A*Qo7>gEmG5h;eazR}E{kp6A!D^GhsCBU@B-KB(8^Qbk=#^+%~^+eJ1SvTHT6@F*rAx8m+D0(~H06r0WsN!@r<**4y%sw5d#ECt?a^~0fo>E`@* zf4eHb%iXXDF2oM9wjzB>)Sf?VdIM{g@1$KEYgUz`4+7v*xNJ{26+P=wQL`gcUR|r` zFOE@OY=E6DZdLS0gy}~2$I?sOwS$@dDtZF)CP#)>>MP75oK8if?K82&RndxaIDS9fFG9g*LHWi3)eCRCIu&yI1NlSv%X6z#f#Cj+@V#dClUL zA7{r#IJAhsb4mtbGyRh*an6-ul31isQh$dy>!$>ATQvO?MSc^_KMf;aimg9=z|S5d zKJ)V%@uTdAB))K5OzOeIx5`Y_O}H<<`t5_k7L|d=p0&_2lq?mWu;k&5;HPv< zTnsG>4ipkwLyRh_vawYKr{S~#^o-Pj2j>J(Dyh9)H38idhZ4t)>_V=`x(nmOW%_5bnUCFjC{4R%ooQni2@2BlZ&s8l z=`5*P(v!^Fy)m-)O3aItZ9RNF)~8*~Qd(gmPOo2rR1P?Ph%%L~lhWYj${~kGx3}is z+*qWf_egAax(?4qvt%sPtQZU~|Y;D#W4AQPIP$vIdRdule`l8?T;-wx=LI-iXDft8rrRy_M6r{o(K(3+nl%rpt)&%O$_}dc|N=B zn+*O>Sc{#iJuOkcpd96`hgW;77uY+tEVcaIr68IC%cvhahWi$a9qQ+cn>?lHtFQ1K z46bQC>f8ZfrzouFq{CdIQW&?YMQ+V~;;X+znWCLNQmw6|5B#QB*;dNkvZhE+=RKX% zEX_)PI!~F6`PCgg9d}UTSR0W9h2&K-{v~n4?Tkwsps5 z@uX*ijK>0R@>EKiqB7+7uDPqD4CeM0sk4Myj8g}Pn>WqzR$QWv}aZ_egYox-szcWSz=+c zG$nmxULQex`dX~1KQ5BsyG(SaYbO?BoZkPOB302!wCz@{m-7TTu`-9GD$X)agqO44 z%b9wPq)w1IuS(-Bhv7TtXR5eHq(|`79R-|0-U7G`xCZzgKmnWy4)z5EdLTW8^vf^4 z7-0ln8~*vIL4yX33ITo@^faXX02zQxfB{edXn~UR;In1GairG((?Kr+d<+A=0-Ob~ zCK4B?dt6FL!*s2?aZtwY68HQXVG4DbZGB{sYk1GhrXIg@918e=-dCodcd~g4ud7lo zwr;n*4+;JpQ+X4M{x7%yOc*S@A4PcQu*MFczOEE+6gRp3>0Wt_#sWSj222^Lh_PRA z+if3o=rN&7=i!V53v~J$9$mKV?o@Qq8RJzn6N<{aC`yK+04QpKqDom2Gx>mXyZjQ| zPd0CFM-KEBTx#}MM>sj%?jl^sC}JVzCnpvRMMXuCx>f87)B^T-eMM&KuXLPJ*e!nj zn|4^SE2vHB&$W5(o`iKqI-;<@JK;_Kx(Xf@)HYUyO^a07uR!?AdKs&f=no2T_}p%- z@q8#IUtf$>!j9|7V|DDnX5$46f&^gKE4$6;xFT8HgS%B(iZ#Xx<*gT1{$<@MX%Myg z5e4FVC`@gZlMEiA6yg;(e^g z2mSGsNd8RmDFN3ervKTCtQQOaO!k{_gw4Ds#PUDKM22C=HG^L)X~us=4VCYy*~GJd zrjr-22~6SJZDI!11YE!ZzK7C{Ru+TUXQucJ%|QD;p<5#7V&-m^A_ns{A#&*=JPa?0 zC2jcuE*rb27({L2iMF8uGjSl1CIr)IB5BtKobvLT#gz6qlQb^SsGHCY8?fjmA6x_3 z3Lm{2hgAm5dTc=z=+V^n6H;|b3AcAF{UE_+k|@0545WGwXPF|rF2pikimkQ(AYCcm zdr=O%&@^KJ6`bAjlsI71!?AB;7pVbHa0TGZy6iX0%H7v3D>F?{Rv;*I11XQI=8e~+ zja(Bux@SGDpUqA?tYee{|Mqbs*T-pn(=$#|F6}F5j2vErt?@97Xvt1o7x7f#o=lCz zCH67aEDN9}i7nUz=+{!2K$ks%iXW0X5Ag%&AGQEm>F{kU^*3!g_)g4Dys*r~7in)= zD{Ywq%Q5_*t&eeKj3~#xpmWy`k`xyG+N?#6j))m3JrvU!P?V`3wX$0le6HL2n;WMK z8&<(Z*p`>WkxZkL8F!y#F*>bT9!-he`o62EME;7DiH0{Q)-k~iwM_JwR8+#z&)u35 zr?uL}ij8qtI;Kj zmoLTYfxRqaNx*i=SYocpZ53s-H;B*3SOTyoWQ<)Rbz3*Md*w1!ZtG)i+_91RY59R0 z@LyA+z}t^`p-yWR?$=mbbnKQ1tgurVxLD*#wM=29Y47UaufAk(s@?NUuTmof?O z!BY_<+1QRh=M&>|>-=gmgdI4(FIMW)vJ-y1z9x4=*|`gT4&;>AG>4gw%#kgC8Z8K z50fnb_O|~D(mw&g_u~pTAPF!KFb&W#Ox&#=MT)fIc#rjAG1N9ZrqGsAt246K>EFnU z@{3sRq&VM}9PIC&tM`+eQiS?`6koQbV{iPmEsk6huiLWl#oJVSa?I5Z(pNk!=gi`Bj+m&??8YOm-!Xn~+`-TbWq4I; z5>Gf{=HBDxlGezwOC4lCxxR_uEA1MOwP%+y2<0gAAj-^iuxnL%VG;1D4&{D)V>)B3XZpNN<0Tc{jNB|8E<;bjusU8r`_kZKi73X_|w1_?PqFPfEaA+>_fLT z($mr2GNC}0XO^eqbX3nKp3#ByE!2{m69o;q(6GXOq_#so`;K%h9;j`F{nNcAqH(~U zB{%aAEP{p!(@=CIicS^VoN*?b6T*|@*0HV}g037QOMYb^Ag7<91knz%r01kzz|+}* zTwUjIq-iDhT~$SPPbZT zoRZV=ygZ7LndHUS;H$y~(DE6s9I~fsqL;qd#w8BLy`DVqj$(1acsX9)Y}*JS*`mC) zb@I%`T#E9X&NxbYu=|0*I5P+G9^e$<3&3T-uK+v1r|9qPcX#0Z0fUOfKRgL!CM(8+Jty(6 z-Ti2t9B|kSu}1z{4+}UeWQ@%aOC`4KH?bGgkak;>-6IxOtDxvEEy5So)+%!NL5kAR2wEIHedM0S=0AMM!{m&) z#Fwlg>*_D~l5Z5`c>Q4&Sw{MnEyfqW0Y?E6K)D1k(@&!TR3pzFS7k;64_Q(_F_8R3 z__QVF{@uu%{B$`jt*Zd_FTwkWcIbmNxcE1IP$?h&NJcAI@; z$cnJjP|xU>LEqm&e=>%Q3@eGj&-Nhy1?UYO^dDl#q%cN1iZUmW(hmB_STed>$Z{38 z3eXDx-Ot35fii90-?Xn{Np80)vtrO-6ZCM$6-C| zQRZ0{c<%{zJ%9VxAE=uP%1(r@VlxCc@KxGeyN z|CtPpN&kc-@E+~to1fE@X#*dHm<^=sj0HTP?>~z$6??(^@eaQ}Hkn-WA=k``0c3#B zwX8Ait>&QvNHVFeFCIXK60+U=d>Xu*nm(d zeNAV~j}9cG5*f+=uo9Ez61PuYcKh1GF}K(8$JsXsZV2FB z9`k<>p6vhoGF|KW7Ukc{4!E1!=QW@lY5D)6ba5BnFyJ2Zg>fVwK^?E@uk+mxtV8$( zR02u?y8yG+)ep=eFA#FN{>xmfGx%AB=9?4A9DaOZ{q%hDJ26e362Ofq?0^wn@Fd`& zUGkkW|4to~@gr#fM*qZ{{#)jM$(uOwzZ6>fUuge}k~0<)FW8}rM%a%NmH8ga)$H5N=DOL4kXOqK(Y&LIsfJ_Tri&aO5^e#u! zFWI-BHs5-HU+^iiAdRFZ7J0LwSuDW&z6`qY_y zd(RzecTib7k2!}y*LpLViz=6x^XHP}(92$3{_l9KU)r*7|6c#ZToOuRcHOCC1VUyq zLZ{1BbUFL>E_2;HlFm;rHvck@JREn=9kCw}y_mrj4%}q_Ap7=d^CR<7%^vfo^N9&D zC1(NAD$uKoOGr+yGH)@Q$GJV$?{SdWU+cp6+pu76$i7`_{-%Tshivd7EVVY9O^e7l za@2fs5gC?PbEl*lB?m(Kz#R$?N-`+bX5C`4gUmBGEJiq6V*Yk9nL#Y(0ZYgja>%@L z2^oNxR=;NnF%X}S((K#R+_sc_&THq?AA68!2ul3Cj3o6*TdtRfzT=!_BieM&KPc-# zF(4F{lDiWN{=u0F&Xj*p#)DE+|5Pct#Si2v|Bm_&EBnD3%t)Yh&Q%WU9MGKBAn#no zRn{L|N!*0jj4>ZvO>$Z4UQMd_-eb&F50NK%eSx{(8nTwxkEwrS4Y>qttGR7 zjIF=tVNwxGUaoK2PNtI7vy(U-n%OzknGdfYTJ81O8*7%puz1(^n0*TQUu| ztLw9N5-~6-*~2wuw$~`T3HSv?Wu?F!)*3g~L<*;j6}5);qOo{9l!o?Fv*UFV!|SJ* zyYD8siB)4jR=hOYzv+ym%nWHUv>)$6@z3-F#Ztde)GF~FfKz1&6Yi+ zdqR34`?W?`N22jHm`Cx(H}iJna`qr{^r54Mc5bpcdN1i0MAF8$pTzs_mlMXf?=Tnc zC51d#d-js8q{KYr4N|ZD+mNxwZvQZ&(&)>KFbC};sa`SMtZAClMU3TN_lnKjNAkR4 zFM~Y4ix|uA?GUT~WFL9g*W3J8K}YjT|89N<#lKW;zWK#>$ZDUpeGIqPnj_yOy?oXt z8gB2ZANDROSMmOZ=A#Ydv6xQ#`**Q@pltW#_wiU%nV)~3WOZrfsxEf1?my(U%ke%L zrX-)#4{0LBgdcar9HQeR6ql_T_3s`hdjm*~dFp4-S7UzhGx8Cssej;e_^K(t1wZ=v z=|3UmztH|I^Z!v^&;6eac>mT5_)_wkiu~XDMj38zu6KMzCMbN1D{!WQ+Qmlf?Ki;z?1aet9bFyhO<$S_d-ZW0FxIwdds0=D-3(a?UX zKKM2{!IP@`R*CH35jGb(NG}xJ$n}+44eic)MKGV_ zR}j6DMXP8dwgQII>>iu2BlD)ExL?=}zwfmIp-x#CB2Nf*yqcKafP6u}IZW>##iflb z$8d(}3(XIA=kF$3^WpA%IReqpC?3CaSidQXUrDsnmk*S+Xavc6+-+!IwH)uLWQt@x zg8bI{xEOvl+_(O@I6lr7ZGT(K|3y;GuO;vs`3r7y&2bW8z6Vb)-|DWPq~jmgCj2-S zC*Ob@fLj11e&{I>&>f%wq>ih%kL4fkMuya{p3J}MZ;qM8*VlhNi{Bpm=qVFf>EVhGT2C^qB2sAAGv!7m4I z2VgaTeI~COHm7*r1I0_0ESoD6pt1~dA*;-HujFHgSb(n{jQtCs)4U15Yf=6dAQbqo zUR}(b-ywgrLr{gea1}o^ht-e)GSk%g(StT3BY-Oe{M*8*L$QSi_<$#WAUhafF}JSb2lZSF zbRAe*086`wYzG}3kg%Hn!6a9SaX7W1qsm#p3-88HF9QgGjaSLaj`8wAo_$sUW<84K zPnVR@*{2wAs0^?EyQIy?vyyWFEx<$nPEFip5CTD13AhPdjg%|Lp*WIGUI}mmXiRQ8 z(sZOxBMm~j4DgbdcfiZDczN@{qh6fDq%sis!AO~LOH8aTQzrrnK5Ic#A}vGehm^r) zFKw$g1&P}Q+_y`La~`e=G-iBf%4i2b^XZZ@+9A+bU(0C*5Jo%>B5O@&3Y2RBjdgKn zN`RjRjrGE1bL|?wR}Mv%+1r^iamlNyGi7{#bS$f;GX=^;fW}5bPR&`B{1~ksBxY`B z%EZz@WBnzkX6;%&&Xfrf)7qJ`u{D6!wYNax3P5ALPV1QJS)he=Nm(yi9_wgmX9^Nm z>Mh%uGTQnM+Ja7m(YVbZvhM6m8Erdg%)ri+HT@;fx~5F7+Dq$98Eq{5!vNsTBOXRu z3(%W9$PA`~JPW`EflZY z<8Q4{nYisBbXK?v_)7rRX^gf9c(s?$lpFwF(fZqdP zrV?{8ikJ+@jt6vFaU3cNkZ0nIHU;?fF8o=*i@NaV0XG6VTfYQ&DWKEJRlqytna;Jy zulMpHgWvE+rV_xIOvz^8Pya2zZ3Vs^&{@GQ;4c9>4Xgsb2hiDo@o?5^~jaVrCPd3sCfc?xJN0>2H=Iq!5%1XEYmzrO)ruk1S> zYb@q~`i=i@P=E1pexxFD|1E!RDV8U-sPB2U6v4ZSll4QMHjP0z6SVz0DbP6b^rhX diff --git a/RepRapFirmware.cpp b/RepRapFirmware.cpp index 9aa41b1..4c120bc 100644 --- a/RepRapFirmware.cpp +++ b/RepRapFirmware.cpp @@ -186,12 +186,8 @@ void RepRap::Init() platform->Message(HOST_MESSAGE, platform->GetConfigFile()); platform->Message(HOST_MESSAGE, "...\n\n"); - platform->PushMessageIndent(); - while(gCodes->RunConfigurationGCodes()); // Wait till the file is finished - platform->PopMessageIndent(); - platform->Message(HOST_MESSAGE, "\nStarting network...\n"); platform->StartNetwork(); // Need to do this here, as the configuration GCodes may set IP address etc.