From 0315f0e519fd75e7685e1de530c5db8c5507de6e Mon Sep 17 00:00:00 2001 From: ecol <36181706+hero123457@users.noreply.github.com> Date: Tue, 19 May 2020 08:14:28 +0800 Subject: [PATCH] =?UTF-8?q?sy6=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project/JLinkSettings.ini | 39 +++ Project/Last Loaded SY4.pdsbak | Bin 19618 -> 21748 bytes Project/SY4.pdsprj | Bin 19617 -> 21758 bytes Project/SY4.pdsprj.MY-DELL-PC.dell.workspace | 12 +- Project/SY4.uvguix.dell | 200 ++++++----- Project/SY4.uvoptx | 340 ++++++++++--------- Project/SY4.uvprojx | 67 ++-- USER/adc/bsp_adc.c | 121 +++++++ USER/adc/bsp_adc.h | 32 ++ USER/main.c | 16 +- 10 files changed, 528 insertions(+), 299 deletions(-) create mode 100644 Project/JLinkSettings.ini create mode 100644 USER/adc/bsp_adc.c create mode 100644 USER/adc/bsp_adc.h diff --git a/Project/JLinkSettings.ini b/Project/JLinkSettings.ini new file mode 100644 index 0000000..39b6d05 --- /dev/null +++ b/Project/JLinkSettings.ini @@ -0,0 +1,39 @@ +[BREAKPOINTS] +ForceImpTypeAny = 0 +ShowInfoWin = 1 +EnableFlashBP = 2 +BPDuringExecution = 0 +[CFI] +CFISize = 0x00 +CFIAddr = 0x00 +[CPU] +MonModeVTableAddr = 0xFFFFFFFF +MonModeDebug = 0 +MaxNumAPs = 0 +LowPowerHandlingMode = 0 +OverrideMemMap = 0 +AllowSimulation = 1 +ScriptFile="" +[FLASH] +CacheExcludeSize = 0x00 +CacheExcludeAddr = 0x00 +MinNumBytesFlashDL = 0 +SkipProgOnCRCMatch = 1 +VerifyDownload = 1 +AllowCaching = 1 +EnableFlashDL = 2 +Override = 0 +Device="ARM7" +[GENERAL] +WorkRAMSize = 0x00 +WorkRAMAddr = 0x00 +RAMUsageLimit = 0x00 +[SWO] +SWOLogFile="" +[MEM] +RdOverrideOrMask = 0x00 +RdOverrideAndMask = 0xFFFFFFFF +RdOverrideAddr = 0xFFFFFFFF +WrOverrideOrMask = 0x00 +WrOverrideAndMask = 0xFFFFFFFF +WrOverrideAddr = 0xFFFFFFFF diff --git a/Project/Last Loaded SY4.pdsbak b/Project/Last Loaded SY4.pdsbak index 0f8974e36c2161a089dcd63fef1aae33cd5dcd19..7464c96624da0f356c76544ffc9289ed31d29732 100644 GIT binary patch literal 21748 zcmagEV|Zmt*ESk-C+XO>ZL?$B?$}&WhaF>eY}>YN+qP|=?EO6Nci!*Exz3NOIZ*eg zd(1VjT65MY1!?eas32eAbfD;F?`glf#W)i%v?dzV&(4$z*-3EuTBoFnleD!eTI|lQo;#rPWXLrDC`ErH_}Ou; zZRMkH4!V2H#P%+dI(tohq7mXcdry7oTqb?i*4;RWB$mSDVDiY^jNoDkKCCD7ijf`TycPj(%Td^1BsXyc3Tgecd z#Z1@)aGJ-yLMZNP+=ceC|Ne!@7GaXvv`CHsmorekN^#LR94$DfaeY3{Wj<@{ zI@fza#;$KJ8^1btLC4QrgiYg`%56J42yx%EDxfp7Rzorx;gR||LrBul(eE22WTL>O z0;($Hob9gQRis?RGU}U%j1vSmDE5n_+M(Q^%S)aDb*Pz=KFlXzC+1_Fh$A-(kcs~@nig>zo z&M+G>71PO<*TDUHrd=zW27`$M=c@i*nzyT9X-GD>MsmB^MX+Op=dR0u_%}93r$&DRDmnMmwSwKALD5SAhU%r!z0cX&2 z3hNfiM%FBE8#LxSDp&@GZy%HDcd%AsSt3z8&_!U`#PoH5R}WiJnIsrQQAscN58kW2 zvzxpml5bvY{tTe^B2Y;mZEmRxM)6w~lWjDU;R_z=`fv4JwLHk0A>#~do7x$RS6APb0ibqX8yfe>)=UCp+V4nK^So261 z%TbDH{L49)Op(`q`tz7`QBgh9->aGx>nLHhw`K4cr@LHww0>+hV2JbTCfSy_M%*dE ziPb%aRtJh+3za)n@Q0eZ-)GtQR5ZQtXn`ghjyT1=!O*;~nB`4U(4yT#hO;!d^Tvlcqx6XgG1 z_7qVB+3aOOK)zpt{=dtfh_c+d7mTNlxbtIK*-%XyryL<76f1^7m)ycb`|FgyT6bxy z`pm%V$b}`H@=vwA`gV;GY=J*8JvbqZ3chR~$G zLRJ~F!Yc*5cu>oBAArlX#0$&Ivv?DV=r`@ji}dG7F2KZC^DS>IbwQYtBHlD}sFGBC zkdnpuasX~(Onm=IwkERxpJHj0v0_X_+s)PJk&kk)o*4G~x`eJ2S9X^NZA6fE89 zetwT0l^PbI5+sY(D3X(T9nN*M-#K!U#ZE~rFORDT_m=BuO{e9v0zW1`*H#R8o z8(0-qI+#I3kWb?jOh`yD|28fBqVBripULrJbREN@yN>31FlO! z9cp4&pgln1y*Pa11|HGGZGmg|u?Z!=dqT6PZ}z;XKGa!3VL7C~-s;JV&rB4)t4ZrM z@Rao_IN>bk8VVD2D>>vF3wgK1=P{JQ=M46KO6#@=I+q%M0=2_HkvgYCo;hl{taPOL z_kchdwZroQaA}m;pdJhNtg?WG1J?UAwe;Xw@e4ebZ{jFICZ|fB=I96f9+b3!{8X}n zbZ)59L_%Ig;fw(5aDfVYvQoMQZs^a#G=@D0HlB1c3X)>-A1l(KZ_v}JLG@*7_DtJS zvzjx|$tvv8wzQEIJ4ab5)J3^e!sZkZNd>sbmtmy&+d{+wF-kUE&EGbg8C0k8j3>xE zTNPHK^OzXY{c}Z!rD7Nw=n_|cRYc7}_l@iZ#HwoT$?&IBTDZqFdWXahM-QqwR%?#t zsW9IOr5NtriH`MD3rXHjIi9)|2U1bYCm4sFc{oFGsNSIF+pn90 zibWpOv1FGc(!fY*Lo|e`S1Ya|N2?QI=Fo!HwaKdRB<+(?3Yimb!0#qAy)jrZu`hst zGdmeP#aoS`rW@(>dSaW_Ha9wBKD(nausbp{(sl)(HA={=n=OjG_|U{-#c#X2=03qP z*u472w6%3NA6bq0krp6?BXoDEZoYzf8pK-I_vwbuEEO!ZbZ}u7Fw`)%Ayg5CEoV|* zcyXuAgU{A9Kg-g-R}9zD9D!&wLj+p1RM)!IDHCkdO9ZBqhZ@g z@Vm}Gka!7Y8eR-RBLJt7tbVVG{PRS_b<)gYe(5Q%B9ORFA$6lxxDpRav>6O`!hgQQ-|R>lM)#ITz&CIssi3C#bPG3yW%X$J{W_n&ip zinN&na-6szE=$$i4xEr|*9yY-E$;Gz6Wlk%$5jVYw8b=XNZ+lmEWGYINDSB@E=eBv zvz|#VVVWPwmE`pB1JpY^!o46PArshZssK0zL>4a*<(Z)_jeN_klsOD_{3Kqf2pf8? zuBpq4=u{~7j5AQvP@6=A&$1AiZ7(_6xu4hY@CfJRNJK3|PZPp>U4R|8lI)47T|1Tl zR!*(4gBa|VpH#UGTP(kZXy#m;{jsRMz<_JZ`jr4?HySBmbl1xF8yDIHg}b6Kl@ z<)#kDcNT4UA5;CVmT9lLU5T>r)=WZo79KzJ?oa|Mx4&8Ec3=q^!jlpcSNTW%VBvUH zL1(dwI&B4?``$K1eb_?(M^X1<%bgXx;FA_)Hu%_V24U81IE7NM;PutHS9vO^&M!f= z-gQO`FlV}4ddIS_?(|k^Rmvafx9FryuO|nUUm;x)hl4L?)#*C_=&o;ZDps*h^CvYI z=HtA(+zAM~TF%DOZ0)esYgOT~vY8!s{N&4ywNn2x_IL2OaVR^M>q{&Hmv&E(?Xu}r@>~#d?lH1k_!6~6WU=odtHxfg2Bi2NZrqe2Z{*!kNUJnwiYA|T ziewcGvW&^7mhTVy5q2hQChcb_Fx*!8#)%_3VCdVN{zr~CzX)+j4uJTkjJ>SjQD`qS zx0nYmT0XfqJpS8~t?}1#efES1fS-I3#U0reZmU;}aog9lVoOJV9CpnY**A&ZvBgmORg^K=*O2^4AE-o`5L9RS1k2ios}9B3PS`Z{qoFKw@GejWiUChr9LDW2TE~f%fkIEYq9NXZ zp_IauTZ$K;HL@U*^YktbM!W8J-asq@==xJYOpY}Nicu}75DSxSkj7t7FcIYj&9~L} zP}AIUHFk73dEcnTRfwFEssj7()S1E`7#jPhesRGt&C}M%LLd6tkq=D*M6Rr;HSOgU zq{iz#nHyTK zo;BT4icox>Mzr7{<~r>XT&)w$ETMKcuWz$E5Z^o6QGGDlo6|k3WybE!1BicLpBF$y zFXr=Qs}7%LOW{0kHQq-f7t|w#?e#a-5R2%2-X1ro4#Svu-bLQgX?d>3O6Yld&SmGcsE)4p>%W%uK~ z8OWTkW`iOc1A@Q~H-7G!ITvkEjCBx6{=t@qH;0+K64XUR{V_rgvYW$M^?6tZ@fwg_ zK*+_Q4XzqHczPCDhvzs4ufm*(sK>(#5kM2VQ$BfVY$AMw^03hP%q0y^{{7dWQs=K> z1MqLZH1dBs(uTuyReg)t(^y0NBd9I`PeKdge-(}UpbZkF<-0eP3IdzZbek>5ZsPt@ z-(f&9FMj%`+YP#hP_*ltOr#e{O-R4{TnfCcucV4efS=4w`i8e`B$1$CwEb##xL;OF z^M^<%I*131w;r=a+{eL3&;-`|xi?~nf{Z-+9Z{U9n>nP^?zmQ>ZvNaNBl69;`t6~| zrxgWORzVnNw<8)Ufd~x_2bIWI3fB-=PS=oZu=pS&5O}?maV+i`t|q*0)Bjo5+^LvX z-|G_C5VMvkYpi5>f~HTsZjid}g^YGfb^w1gRpJtFU9Fol9ii>^?}G$c&jHQWF_wd zrlH4%;h&iOv<>HDP&%<>SkK2z;N$1VWfG&$qzI|rEbz}`eo54bl76_aI!(y4R?d4ecgLhKa>10`aDlh{y&*D<> z)Uoz4m(Gr{;jmnC*0#J|YIJw9|AhBO&%(ahA@u?Zs-|s;U5v|keuBnpMU z2;2RBYqQC^nROgBh?FnV@pp808YX}ENGS773KesRt+B$;?me(EAGsuM$e6Wc9N}}T z`i6!b#qpIqtz%_~7jwgS)#`+M`ElhbKguo@T^?CO`o!+l0d zIXw23LlrESc|Tk~bpzi&zFA89v2lA$FrS>^C}8mQvNW>!;ec1m38kngQkC?xJIm1e z7Yoc|l9!Z~!_aZugp>AQLH2I~%@?i2-0+w9>9XInb2+X(a+hkrjOIf;9-|Q3s(1Xd z)`m(ub%GN8nQF*%J4lMf8s72dyjrtW>u8=IlGQ1^6*Xd0SXDa}>Uk9IqRb`!G6UA@ zt@kHWP23>~(}-0MDy3ySIiEh5udWAwXOh`mN7DhWlKBt&6;=`}jGOb#{@&%GK zGLxiQ@qn@J8gp_hjlNdowEZV)iRSzg2T~#(ri((_4R={3nnIOxRo%uDIb6s)zW|S( zVW$*+yy=-|(3cGwG_mc+95-G5M1t|)T}OuSHV9jZ*cF9n@5#LwRHi9idegkIH5C)B z9D&wel44_}Q7P2S5%|;Lt$EWdo^)#RzX8JY$0Ij!{Yp6^vt*^f+gX&s{GPruq7=)^ z4pPyCo@#r~tXGK~9$c&=vDzbeamW^y`Qzi0Z?9;*mBWEt55NO8CCC=(`Q)&?iE;V` za#O4I?QAD{Md-s?hWzR0fEEs>GPu2YK`H^J-^M!%fh@)%*-e}}ykecC^*P*KE4woJ zYMN0EiKQ_0xhS(rVF&H@P6f=`tAeqLy)041^m1wig%qYV0C5b(l4(KSAkrXcs0yai zKV%}kmj$vqKU5ciREZ&aZfye|mLiEzOP+yu z%xy$PRBfzG%Uw=Z#hf>;qf6yz8>CmJ%}C>XN|PQFeO;L10pHGfgJynVjJr1K()0Ot z!f%AfN^6<2=43lXC&e2!LoN!cVjVU^6a+i)Ux5X5+>o@1@(H=BAK&m=M%bUoF zP@*PAN-QEtZUAFCads@k(^Qs07Y3TyGBD)+`VS!OfoYzf_+K5wZi51Z}n8P zG?xYz8kbgv^#mnAt|oMXR9)x9%eqfXcofOHc`Zh*_v0eNbYc=;naAu%`{8_K)rhRO zgS^*qUw#i=84{md?fIW`XR%E}BY?nEq1Z9-aw0Z$y|Q=z4Zl{Fb^Z4btG@_i`U65p zXKxeIONP>$hYY5+KSisL{${l8F{6k5YV>|)7Q^5L&U~*7?);eL=5k_6Cisj-M8Es< zeKJR5>fGZj_`dgYb>u4q31r5A6A4)cRatK2$BrX;DT-aEj)q#75C?+yE>;gW_G_)# z2@fRYWR6oe%^vTJM{`x0AcDr#*Y}F<(ZL+uB;tZ%<_&E@YHuQ+x`y~(W~Fh>%Nk83 zY64o-RQQ|kA=K%S@p`$O=#JhWARRq2af9CWT_kTFNb-hobC9oWU!eoe6XThwW zHJ4~>h-bd;uotA(60Fge?B^{K`(vKXWm_8&*I2<OAlpf1bJZ#DcsaAlI# zz>206LQye8bAk070AC!Mq>T8InS9&q! zex-cur#|$27Vlud<&R&rrHKmDGBxg-cwfs{*Ke;VbGyAN`B(NiPa)5%WGW$iLf5h& zQo;`*d=b*-dA z!p4AsyaD0cTESGD+Q&9QEqKS*XDTI$3s#LV&<>S`WFpZa55$!!d$?3AB{zz3};rrsOH!@u1%NPE1_lP1c=anH3-K#r!iefe( zR3_q?n+0+0BWG{va8P){w`K)*?%fgbb}c;b7EO(Kyn&=&cQyJZP=&m|=4gUJ#jK?M zL>8^s$+KgpnQZuQf-FVTwxfnov2+68Q1bjW+SurH>Y;yRZztlSs>g>QqkD4b=i`*n z{$hlhDMe&$yVS|r^fLAX861U_7JnjphQ!KQU-&Ei4{wL&>wqlCy$!#wvR#!((V zSC+0oLrH0P#E8_tF<(v6ncVQQ*gBtXah+t@~OyX z684kI&v~GG*TM?&o+Ifw9RuqBPJ{5bjI!<==^a`Ezh`=N?Re9X$$ z(N)!k$H%G53mDWjIi}%d{R6t(h^^OQuX6|Z>lhz{F~uYA6)ogbzwr}}O(BZw=a^IY z-&t?7PA@7!woFHM3>Vi($xpRI9^2Q^`{iMm8%CZVr=`uX^+?nx+YdDcFp@cA1y)L{ z1=ohmzTfV-k(UmY#=lu=Z6-u~(_5Xes3#!bJI3J^FGO-qvtXpB#)GUeAbFqNskw^J%%r=Y2zb{8TM17rFN?0W~*1w)QPj@)hm?<%MgPX z-*KQ(?Te@0kx`}H&w7&SsPoBc)ksZEJTT42iNxoXSk*N##kZ31Z^jMqXG`%E+=bjL zgoR=5R7ftPS35Lq?F}{NidL=9`vxYZAxN^KF0nVO<ey$Bf^F1<{~RAznV|NQv%DTbT^qV+fU_1uA7Lp+CmpU0avI(6)l_hh~X^!ur3?W zme9~&h!b=sXxU$3-W|2w)akUY?u;SjQ(C?2kTcLNig0m|F8)zyEl#?rSb6AkjPsI@ zU+ICwLyT=d@M=IEhC(67%4ukw7T_B#Mi~~^47RXaq^L}*huGzg`)m;wsP{+o%bffj zJ)81jtPtN=BOqr<`SSrUNc5oJ7`*zQYf)=Y$-o}^r+%* zU@7z)5o&)=IfPXb>(@0M>;o~(a9Yv;fbgXrWV)jD5~KF-9C1tk6jr2-aI9?+75?Sm zF6*jT)0P<>wS3$_*0(C(nS34Q{Q`Hbw;mXYsb+4Uk4 z_gotxIJeUDMA#8$2@%K9Lf-^Fx#Nj5jCUvTb;w_u66rB?(sX1_%M<@2=ox_FN)q|f zgSdhT`$=@+^>d<#lznS~TKka%drBgaHQJT_=f|}dEu=2g#W$5OPDRJPT5;iVf zjNr5SzHY0#egvw`U*V4mCS^*sFc#N8P&dEy_J4}#UV9`S0X1Bx*U4E3+(0*Re>ITVYc>&vbIH48nZ*X)t-Ap zXX)%8x8pl#)VtNrd@kP{Sr+Td$NY>T{@K7e01~q=Qm7;D;w;)3DYCa;nihR$aF}#MP{Sc{MVgjWVQl#Aj z|EGVb00SzZ!Ytp6(u-DiT}M))A9pj{{bRxcKdqL|r$WC6`+C4M+5o=ym}ac~hC)yp zkzVt%)ozL4r%Ym+NHAJc2ttZ@Oo=~Hf%a$*Wt9>zH{a+E^!#VA8LKA`T_Wg`k`kwI zfu#8c+(r13#ik};xln;!xP7>Cyq(Ipu!wy$um^+zJ=OrkZ{+_Ybv9~4jR|^Ib}}aE zQ<8pJ-+t7N3%+sN6EQ+wk0u0kgKYN`{?A}$Luu%_*X>WHm6YSj+f!Bk$gJ~%JYl->H8{-QFPe_dNl?UF^C%|C@H^57# zCyop11i9cV;o6ihf?4DSUuI|fuioiq{e0)k8%)}NZ~bSgrSGeMFlG-`J|H|}L0PN? zHH0DTXW#Z^*XQll5Au##GWkW)w)4luxw(5%%RLSaE@e`jw$XO&VonTl0uNoZ_2o2oVWQ({(&$L+Itv>FC2?N zLGV!-kupBC$pM7V+174ZlhGp|Jv|HjOR<_65&BUy6+$30z<=|hmz#!u6`7El1-|7| zKjfKNq<|N7WDJhqTgay{7m|wh3o+!D$`9(|iu1+K@L}xxhEM2*!4@7QlZWY_jhiZb ze6>~0FHo%+z5VCvs;0v>kI-5MR#s}HHo#$w6e~N458#`5p98P97WrWi+%(2%u0JS- zZm5sPA}K~`I;pcIF3>ie28G&a22u1V>%R1?K=I$1K29=Z%bJd~fvYUwcQVDmz@^+t znHZ$7WfqJlqeqwO9Yd7PCO(#*N7{rek9M?MM%TbcK3uEOmlw{Q=L}SjyR43OkZHYD z7!|MM)eg2fd|Bx$ZM=-p{(ha?eZzfR1`MNPq}K(AmgmNOETRGpg?rLFpeywHR#lE$xfgw-neoRdDQ+SUF|bw-|@HB-nQd zE$pMLy98&p2#<$-E5~t)Zcog!lW0)yA%49b!KXfRKDzFqQioB&A zRl~@(H<~j#N*|tT?AI_XzB81!xkCQ@S)QFXHQ?Ls;uts<{;TF6eJ!n;b7}sawhqvb zsV9CFPwee+a6I}pr)vbTZGz^9PVnu-2mU>n&7wC~{AWGFH{V4c8pO|=*H1b`uZmB# zD_3vPhw@LcC&CxVjmi(4>BrJfu{-}Gf`1JBAs@bvr9KQVklwiPc|KeJn$N#n=LBw@ zFLojVUw(v~FMFMjjz3!82l%D>XZR81w7`|%9fBv~J2-*JXV>ez56PDt`ve1a{4ex> zA|n`n{ttS~f9Z2J|M2_F7jor4=%~m4E6P{U3KY1T4@iEA*ME8aJMYqeIX!#@e(?Di zpM;+KFQb1F_{aL6BoJo)F@N&;c!?7JhZQ8&Cn!PQm;A;0AC{07U#R4 z{R{bT{I4hyuZ@$R4sQ^<1=5wZEnMMI4dKQ=0I?6XHD{g_0vpQ>fuzx0r?h8q%sZ{N zqHT+cOE{=OixdKUay=V}f^DpS-75X7I7H~$7P*#i3_~gxktzxNo%;vr+Pt9_&^G;_ zreSxSArUK{^!g(6mJalK1p|!gSrk=JB*$Mn6j>DA8OWVD%Ix=#BCk#nVS`{y{uXnU#Jh7gX^tt*%maa*cL>nn5NEG>&I@$G!Cfpx^M-KCrqGG z>cec9208Ic3a2iS?DKzd9bph2ad9#TgzUKcqSAj$N>4IfgfSnyBT(|Tjn&#>Q}j8~PU=F((awYtuq&&&{GOj~XEZYA{czqn7}b zm8zL_lgm^KWa9Id+|f{w%js#UP-fQ@z0-S9*PgDJG52@%tSCtZw3sUrIki#?37u^p ze%((guCanna>H}sNLm7Bwsg*`;wmTTrBG^>XSSwA$#H2iME6Y#BU!qa?8U-(%y&95oC&q@vTC_AIKI`t-fVid#EC8%7; zFr#YP%vyET8|L*mCh8&yk$=~AENLAyH^?Td2GwAqb)B_b=7_7;8_sR1s@lGD;M41;jn$Jftw}S#1>6piKLi`h zs;sOj&3aNHw60f8Vs4+kr{}#Atc>jrL5befWUdM6feYB^$G3%Do)dn5sTM#P1`+_o zLfT9(E}iz~?*?oW+w9{}R>__&TnuO#vqE`AzRKG0WzaMGm~r}X^lk&upht+Ul3&Gc za4sX5DyRgbE|w$U%~)iZ2X3=%*gl1|Xf^Ka7N@r|EhAjS97p*k?rHb!LTY%0b8hYi zC-oo1K~n5xTuvI}CGZA|<;M3a_{PCaAE#x-H#Cc#9O$!y12?3UBAD_i7Hr^z8Uc7&l6^f2m`O3VE+k`Q%tJM_jY#RaldVwKI{kbsC|;TCqvcyuTUBO@WO$` z9+12m2E~OS$3WQAsBlx|XB}?EtCMt_?DksEk!`q#7Wf`|n>NZU4voK?{%-#J@IRY4 zmRJPZM4IG)Zjt?xT%*x%`$U@?Miy4N%*Lx}ilz*9Rg#Q>p+88kRz%Z{h410S&^JB| zAGLn86`(bs0au;WEhMIwa?hms4#CZTc)G{Mzb+oN2&u?CYVfgeXy=bprzLCT8CBRj zxbGB%&3-S(Cy{mc$f4qn6$5)J;oD z&K!6Tji+ioJ(fr^I6iVRL=Hrt(D(zXiVYg6LB)M0X&LBy(QPT4qMhW2pb3*f1uq3z z3InXSPw^2ZDL}mNaUtlJn2lc+uJ0X9pMPL=4B{z7NL}>WDF8IT5!QQNJ@9e(kks$b zz?N#7;s>c{F+JC%RJ7c#^*>t*A2ydcW5RX!CRUskt<=;)^U##Eo0_&+>1766=_#jd z^u9ZmC}8LBzQ?EykQQJCUMC zt2sw~`!>It1q>DDNZV<}vN@;pJ^I2(-K!)Q$4N&99!tr^SsY{8js`tX0uHucU`l$- zQRVuR#dyq223{*^BV$7=t7+@bLLGlZt8Fa+hGoFm!SbPC1kBWGdP3TQFILHcW8R>2 z`H5FFTERij!oW{U`<&de4c*3AgSISc9o-Ne&^&&dwqtA>TS$jWG9B_&Fjg&~VOz1t z(nmKfsY7X(?$Svxu=<-(tC{(ti`G-%X1-jZ(_bL6tdwLOs>`0AL(Acw+L-@9Cbi&f z{Q1r*w3C<%|5VV8KRHa#{jEU3iNyWE_e_q2zvQsagJX!Rk8`b@6|3H zNtJxK#AcD+<;hmxV!Z~VXFrCV?Sncdpn#u&LiD2$-M033!bhQavNVQwUI*1efuIZL zUB}>Q`PX@XS&<=O6_3?hJk#Y98?#(98?{H0|A3Fr(Deowgt4_y|*3n zt=HOV+Y8U(=@_5{7U|nhCAxc*DkKwLpOcjO2+fmf9Tf793zT}7zZEy5*=Y0$o=eI- zS?-iIfhU@Bs0$?l?|Y!yKeTHx^S;A0ntoT=yUpn(u~O`75f($7qhIDlNIZ^-}Fp2P0vMKCuk|Z@!a@mJZ7kdO!=sD+W|%}>aypS ze)=+C|H9@RUxc}9{{goEa~D=v38RfN|8fyj#g?lrmnVKdKDU8!GXpFAddt6%(wxv@ zQ(wqq%?n4f?Wd-ai8s=@yct8y`&3WcjgzsyWg$SV~CfG{Y(&G=s7UShuqRW&Z16{B2bDOt9qw1gfV z`@Ef_4;98F5Sm^5-bk`bamK31#lj@f8lly8eg<3nahjr0S+iLCI01t6R{dKi@k`}S zhlux|a*rrFM-er>l)n$+59CtO0VNG+dV)5$)lsVFy$5p0)$g%M8r@spvIouWMQL$D zu{b&X9QYsGgYP{YJ%X(lBV%Sjns`%Pyd?=!gq z!tNi=RrWL{Cqg#TG^F!c$y8}1roA;Y2x3r^*;ShV{w1B;hbWIAdoXv)#fFYnP_BSD zq{OnbZwRL2Xp%m{DG=yX7VMr87I05j1t9Pl z51I3Nl_Z~j?|cB7@|w=1T=0+&Y)Hsh*M-@b_%voVOt4G4*Wc4yb$2yqD+%s(vTN9d z5IPR$ovbNfk&$N7gpV3i1?ZigsDSyzy4v2qiZ7#GBJ?+=2-{q((?#?^{ANP^HX$U) z_L^&WU|WQyrIG=r)fWgm1z8~9ujqyqmQARSp20%rNUZ~mF8qVeR1(B*FY^=kJH?eD zLXhBtt1eeTjtO;dv(Q^nf}=9K%RivxoU-3m|L4yBVxze2f-VRmH3&vNJ+K?HRj0?z?xt|#$paI&ca zA1s4k2*W$AoX|Ki{R*Btxz+qapxS7KJ@rekUlY(9@6>+mP>yx~Z@OOcpmaB*WA>k6 zoY0TMA^$6p_b<OVOiJn4Ev7a_4`A+Dj5M)aJE8&cl79{>u( zx9=AZb}{8 zt2B%#46w&rCdbDn$JI=&W?)89X2s9pBh@lo6TN6%;wjKeuHKB?n}*}RiqVfX-z$zT zl2p>ud1=vD>jQ@G{>D*Z&0hI`RfkP666vguV;7QYY@2EV&unT~j7^})Z1v&j&3RbJ zeycNhNpM4mOXur6__%n#nQZ3jo@?-^DXuK3JYlNpi^HUHPscoO=po@Acyr1*1vX62 z)gITFPUQG6Gu!ekhv;_Ib;W`7PIQX$X!JVTsr&(DaxGTYlWyMLt~1SSQIi2|>xCHJ zu6R!E>h%)0R1EAp&({^Dn6_bqsV!x{12gi##N=_o#3-qMb;SC?Jb}Zb*l9THhHZz; zmQ@<3D_4M9%5qSkHjMH>v;ZIxq#nZI8_d5?*KSnj?{uh0;$a=pZ|IcE;t%*bofTZ` zdEIxqicOZ+P_{?Kq-Sv2dJtVvo{j;kN%te^@e?2-7c2p_wyC!1d=17i@~A*oSPa;Q zX4Inn$t&X7OO^&OYL-#gRi{64)V;7BB17?$Vg#qqrdJr|gNMy|^;W+x-UJ?NpwoOd zRE<9dpt!8@ziAc^f)F4Df9~jG)(G!G4aEnTe_ufk(0=M=oVu%>7H_6!X@K1xA;NVU z@C)6@4R{tCN;%I4YQm2ARow>BXuMUM@%snFkEK3o%h0k@xdQd2V z3hB-%vjNTL#%~jd|K?sNgh0`)oehalQab(ix2_o=tH=(63Aqkbe{G*DiiC zTX~N9)8OT#tKoGiz6t6*d&=hdXtF~`{1MV%wsEbJC*3#m_a2P1;Vmh-pIPi|=V@Os zEJFX9Mf56?XxwjY+dW(C33_5v==IE7M}0Iea&CNt{Rs1lG zm5%$z3e#|<&9UwtiIs-?>*yG1r%V1LA%X7h%x#6gq_>UqB{6~amlBckUqye{WwOl(rhxWS6nyz~xtg z;k;W>!c|VB4iBtI_5#BvUER)ChqPDOo%nmhaPej0AM(QrU{v`02x4`-HVg6j4+d|W zg)Fjoe4d^RogEFeQZluRG(Y5x3`S!7K8c?g!afaQO`B!evhhEZEs%C=su1Sin)XHK z$Gpf~OLhx{RWnx3HQ6ri%CIL$p*?#0J%tvhn)XfS$GQ*f=6kz~FWln60K)m%PPUnF zL+_PRkcEe~3FL>SRxp5B{EhtEU6N3tnePW1s;P!lXz@GgPGt92eLa19j;>28XV*=> zIM`Ycd1LIt2{zb=9m?vm+a{?!zYl1RTCGn~DbST%mkVq&dhkx#Pzp69yo~gM;dN+?ei_OzmuoB><55E8AhL-`iEp=msw; ztnc=H-jyoIn>pWlJxptJ0C4Xj&h#Yv#p5w!Cu0?1JW!L}SJnJ&!hL zTyXd&wX+gj)=}H5i>At`h51qGHu^5CX8DWDQt{qqt1Kaj>3yU0J0=v@HL-5Xl5JTXEx^nZO!91W%hjUHNywMkxL!V*6W0RSe{PQIL-*)D@;Qld}te} zX@O~vvM2F51n|{&k$^lub1Qkw2b9##a%r%#jZb&W?(G+m@g`9vrAT^O73`KDBk)dEEc5-M362$x zSHGNVRydtOHNSRQ;zb89s3+_E_rE>`14sIzi` zt0g>k)%+lh6**=4R)0Tet!Wpr*Cb3dU0%iZz3Li8YSD~Gdv7GUf+QHXn$Uw*KvR~* za&o8FbS1rQ{=6~FmmL2*ZByOlsGVLn83ne0oWM=wC*4(Bf)PTl z530F+?lE&Od8X-eL7FKhg^KSW7ybpW*d!8@n_;9u94rehcOJ3sI4A23 z#le#NrBf$S`o`4RUGyP<%qK_k{^>%elDKZ7Z5ihVZh#ZSqT9k2bu)Wm6J9=yV7ziqVOvY++OkyWH$S1$u)<++GAPsg(hIV_MpXV+<7wPG=puC z@9U`ig3kZ1!}Ql=N@51VWD2eMky7n+JOFHixxJtr?lVDL?ZH-(9kq_Q;dx_SZpdsn z(8rDtXzgS}_}fi5N*mm34V2QQc*}AfdkG`K$k8~hg!*r3+Z}_KW13fYxX&5Pd!O+e zf!XI{)#vLwrykpbT}vZ?{>lRqBXV+$lVg3z{{(5%6?~-<;;-Vs5kJ(jQlW&yQaRR5-CnJ?>c5QB{CL)V z3A#Wq?_UDeezKeTZowXRnb~3R%Qama3MGvarXc7e?%1Y|^b?1QjgvmLo-?V(7|&c0 ze20(|I2B3P=E*Q*Or#mk6DP-U%PA$$PN3ALOpsuZ?s;5k@sij_xtZ|t5Wf`(O}=aB z*aaW089|#@apBF3lT3Tg6KY|}bjwudF40U;$o{?+kgxxdyB`4gDiLW&etnY@FE0{e zxWBVcN|UJ&g3J-?_WNywB1fb;U~7MhCNm^D#G3r~UcTM+ug1(fkug%eiNTvt&QJ}q zn;W_W`Mao)cwnMYm1j<(NRBBoL#O_;2tlZ3z*dCu?-+07S}3~p8}dlxX*rv`O=`9_ zH9Cw+8AEgq3ZMO5{O2j_to&DuWMX}nMhq%sUugdBn6u_{VSGtq(i!nso$j1F>LWR1 zGKV9rO+&}S)y*wY2_i-Fnu(n|>=QW@5{D}sQ^mrM`*nQD9a4DjM2)%7%+65~NrX^; zeG>}hS=Gxsi5cmgs7npJa?#4viG>(-G(XfzGpf6iV>!W95a>IY1Q9#(3sPoK3dsba zN|y`NI`2XAm{Sep_Lb(?sS%iMy~&uP`_=RSc2bpAjA~N%dH}^Snc~$AQi4dO(gmp( zX&7^-FWK~IBhS~Y4=H3b>9cewxb-5xOjGi?u7-WCq;jJ;vAbb3Qu5Wkrb*yzC=f5t zUmEfwJ2y(@M1NIsSU(d1V>=(T^(=Bop?`cw?up%J?Q^zGSCTmy~zl@hB`!54#Z8Lomuq!EZqxV3Mwwb8~ zViqmL+KfqNRS^l^5iQixyt3)$8Bz;m)YE0!P&rFY_Bw#NlJoc{hP3MoSLTfr#%gk} z?(FVeK5Wgarq;SAoiq-|%nSxbx3tysF=%iW;h=hE1o*4V{f1c#E(OG zI+-yE;du*Kt0Q~H)FJcjY>}3tz+RFS4Gkp+sicR8`a4AFhNiEb`Cyts@8=ZVSODbl zXS@ZY5;duc%^Ky&PY%~R4Xvc4vR^z2!{E|M24?lJ3e>68*VW3F2{n97y6u7Kb=sgJ zkiR5>?{{l`s1vXpG8G5VXDMNUVR`E+$^G3IK^BnWK=5^cag5YLmD^nK_2T9Jl^(_S zv~-s;=HGQc4vVcNX;8&($$nbJ2L|Te)*s}By#n)9#AslhFd`WeN@B%Rgk$`B>o$Zi zzE0j4r&Z_?Ju7f4ejN?QPsz~WUE{so_N3;R3ja(k9KRgJY@4+k<9ZVUOm&Dz;z=4V z7;lQ$++5AAWgjHPeV2L`4@ZZDY&rJvRwCcR^Z(A@6j~G)8FC`r{ERwp#Xrw$LM(Zk z_xU{KO)jXKDak6YsbGn`uRFkAD|;mb6`21l^^zFohH;EG$Fl<4sNfr@_R+A41h)?CfCZP|Xb3 zbrQucn~s;~^BxJJ1;$^334ThN5w8AeqUD0V)Z+Kw9uVbf&F8?ma#Nm#eXJ69BQ!ZJa$l;&S3SZiJ-*=L#AN4P!z%X) zqgGkxs7jByNp*0QL~8e>fV-)U;n{n~u#daePFIBb4=-;XElcb68}V0^%bcRG+@z!m z4J1;H^C)=T!zylpza-4Xi@QykGN(LqQa#EB5y7?W_oLbbMwr0+-fhUn?kZc_nbo-h z7yaqdsfl||vhS?+mm5bQ9xfyHHUTvN(13sIcy~Hd4~5hlh45Q!_O_SpL)P+}g?FSBTD#%c;n39` ze%O(eg5NSYl3R`d*$X1LLkX^HJN)0b#1;Ph6${-nt>3#2jtpfexY$eXp3$#b_lm51 z2gjpbd-N(2{mk8!_OH|!Z`vCd5K$_8$UE(KP>;5k6FvJ9_ z=dHDVUz0N=Oe!CIdaY8-#`&(b+s9Q5>Ws)ZT+tX`;E;w?**#ubtAT=O`@*T<&z9R8 zkGvAX8HrLqsARFC$nE96D@gXo%mT?7WIW=^n3F#3aC=VC{$$`~++ra2o$R%sco6=f zpzues&HDWEPRP!~*8nodfNCi-nYqW^tBQ86^Y3G4QcF zoVw`jk=ufzCrgCmH^mwauuV1ymp>#Whdt zj1E(|O8~N+wZDT(s+#MQt@?Cxbj5VCrr>vHVeb&hWZ>gr-172nrPijWG6P8^?S^P$mX@id;Ivds+3XytmM z(dT6{F|Z+frXHCk{*p}$b^W-+O4&$myE|aQ*<6b^D3ch~M>mcraFZ74Fa)$FZOwxUheNkby_QGKV%lB- zTjjeDl3$UE{B1cxrXn%ShguoQT=D}Np#8_Z zqf8Y{mT5m7Zd>$uS3ybKfuC1LsmC;@8b>B8@?hf0FvkG@tUzg*-+K=R_ihdD$SHPZ z1fDLtoP0^ry;J+aZu%j_G74BV`6y=6%11~5jz1~KBtJ~=Y-*vJdy}Sv!AUV|JS{k@ zUwX%^`vtqb|CL9XcYEdHps%rhda{Bs&!(15S|LoBqeOU5+H8+yKUtY=>Q?+{cVJjT z*$wy)*yQD2q7C1h%dPdTT_{qU(V&IO6OxWSAhC);Y(x(%Xpq|-!%=Opq=s@lI-%M< z2h29L`3*vSyF6Bb#OS!CO^-A5sCnU}wj73m=lt}=e5Q*2HJ9&IS9L!xV9!YHb^c9@ z^2bkou0-6yU$l5bTjvfpj*HjGMW5M?X}$%IRxQVgaSSr8pV{iN`Q_cXWNrP##>NcX zL~-CFa6EVYA9{VYD)8o%Of0q$MSY52b(3;85A#P@dA~WKifAkfHF#z!w=x0ingOZN zZt~H$j3@_7m-Y*DlO3)p?~H|7HH+rAI$7u*Syva3`ojapGGHQ^d4u%ZV4}<`vbXqyqGYwIql1Sw)2N)27&m0M%+C(E-tV-K`~zD$hWr!Q*g zm(TX#im+s{mc|SZlPn@!&|%0m=vlpf@6BvRnjU#4c$BY)Zv=Pl!Xm#vRh7O_>@BzO z%NVB`d0_CsPVhO5|ATsh%ZPH*?77CNZoR#aJ0IfX_j&8sWh+qZt?}=i;jwkI+N(Z; z>(~^#h)va$hUerF2^Hqk92J(|b`gio=jF{61g>Jaa#BYGhIIMkvr=qWcEgKp83}bR z-lPDPU6tKuC{oaPVZa6R`fzkyUj^=T+CjlYiz@_Z)c) zQefH=Q)oS#r75Yku`Gd}*Iv%$@%am?Ztv-Le9v}~VedxiMq_5Jx~koHbn56Vw{VrF z_MQh3%KK|>Lb0ZvDi5|>Xs5iv+BNi}mMPQuR=;({22`hg3{R}4u}lvK&I;Es5J?m^iSiTK%}I3*JZJCj&f`HU4#E9*UJ}VVJrhI_kNSthHL|rw}r2Icc4n! z$6?CbW#~r*F++IaP6>t~th~Tor?K@EDv*lk<*02PB)r!f4tr;$OFR#oULmh3S1dXC zSU4#5t!;B!WpH{Az0Q%u@@40-sEh9p#!4nRukLCn_!8tV;RGrZn>67=RF0haQQvM04@st?|zS;gXQ>62tA zS3Z){Wb-2^VvoyZp?d1H0KDyfnHS|`_Cz?mYrkGrK)osKJ-+XZx+`xm9wbnZ^STC_ zJB4K2{6(g;t@tQ~+9567TR?61j;X?Km>bnSHbz#NbAaNdYCFBBafyya0uDDu*Fgn@<)ll0UJL&$?$=R=wV^antV)8!F>`Qe@KHEF@0#FsHetI4W%GO>c`I3nCFY)Q+P8w_nx+Kk1B=YC%p*W zFb;AZt+Z7GejjNzXQP;%meX~bZ`TjA2KTxGS!>shS>N>rOqmhuXcn@x8zqX#gK7aO zGLbx3|J-Chh-3RpHUUO8$t_50MX{5=h)hF~0^Ktsuy)vaHf++e_@HsHxhh`|=}K`{ zbdBd$0PB+!rBg8M|cc=Zc zembb^wcW-*o;YFx7AOqMtO-m?6D#Wb{!9NMQ|jb6yiD?ho>qkTw!VEG@7QD@5ikU@ z97y5mp^Jj)S)U0-{ZuKtlw5J_;$2(!Wkugsi`zA}cNLKmkUtL^0E(Q(Su_ui5007e z=}wf@5z)pNvmnji!?`^D7bS$A^AYDDe)y09T+JwxsqB5#NJ(f|-syD)bJVZ1;5@Hw z#jqbkdS$cxdI)5&()%yf=-rd`KXY5{0oNDaN4JW*jeP7aZ+MKbxB*RAX3HG2`TAOH9i3ON=TXSrrz;9s)nJ#f8~!0o@hFA-sSJnLM4}_#eB}#ZY-WNp1LCvn z8gRYGDkSQDtFds?Ft(zre1gtJzL{RNf`P(SG@zqtkNU9|I4d(KreY)`D{leY2lccW zGriHcYwj)H+z6Uj7umY7eii46e7VDZxhV?--U3XY%+vS8B)l&9mxgkGV4sINz_1E zrPo#|`wo!Z%aG@KWnopa)S6m2=#pv&#gc*AWly(c9(E=Dc2D@sb^GyYY;V$m?uaEl z{59q+5VjGOlQ;00T;GO*b7K&Z`UgWQ~5}@ zA?cnkm5iRo8C;pU08Vl~ba+!-_|Cw$^>?e#uV3t>y}C_z8h5v48uDIfj^{yRLW^yh zobYv1c?(B1YaGr2l~+H7hoxKhcI$bvO~#CuL4dMOjv9JE^dHmbn@EORT`@%SepXun zx|vA0T_W=aj5*hE3#;keFFvcJlMuHQ2u7zC0M3pD-x{wY`4o4K91NF3GY84&86ly_ z)?d_$4v@(G7)%-d8(JAP_+l5-K{T_m-_K&p7$D8GLOad=i>1^qAj!h4@RQK$O#Z~0 z8R>}110|ifb7lKV_Pft`@{55~~A=mR= zvSr2J8H&G*Y1li5_WLcz&QlV{lM&|3j~Q)!oDxxwOgipOwO3*>WJ(S5UYv;U7Gq-+ zA)q`KJ=a$qp{0?0o~&`ut9ht>eO2T=OMH6c%+gL1{{3(_bz(5(DcLSl-<8*S*pYVW z2HbYu`~JzK+yL4RQik1g)wfY+8=+`_cw3Kh{%s!L(rTs3QaOB3MLbtXO*2>z-vjtM z<{Smit~OIom^l>-4kS|5oev%wVBSN|j6&`cV|&fonQUQvrUeCD_pN3c9goGQ+RMqXB4@ zTd3zRSF=DHMinn;Jhx8!{_Whaz5@9pa80uOY_X)u z;bN-U3(pWN&WO4>Db8{eBjgAEa+(z=;~~H6Fuiv6(C!>k29t}rm;h>;43(tU0&s_Y z(3UGK*6i@&_EkvopOf!x+OB%*9;pgfMZn%E+{siFItV@s#7!{cN^m44=!oCt&`1mq z^gUaq;t~G(|5jxy(8hIX5JV`S6O4gi#>z&T1}4Tp12ZEdMNJ*!2P%pt^{|`%r>7K6 zKi>wU16n1&Q2eHWP!S&wm6n}-vbOe2KTD%^Y-;L!U*p@9pIZw}t%b^JfHVY6Zp9&z zrm3hqNsFl+WRwaCdT>OhA({|3M*0|BWKZ(fu9u_YL|FD#G~x-Yx@e(i?wykq}-4p+^(^u3h^FHyEDW literal 19618 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 pD1fCGs9*U@uke_-}#Z7W8%(u>P-a0>T>T| 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 X$7N|kL;EX=np{`N<4bZJ1;xJsba7@@ diff --git a/Project/SY4.pdsprj b/Project/SY4.pdsprj index 0b1dccce5559e03fa5caf4d6912347e0604f4d63..c5ef37f5cbaa8d6908beac5b83a6b2f6d45a4fa3 100644 GIT binary patch literal 21758 zcmagEWk6j$(>6*=3lw)KTHH2J+@ZL;J8azD-QC^YedF%#6nA%b=i`3v=l#xk|D5w9 zS(%y4%r#lrYbTS)h=YGa1^WsH1(se1lED^~FB${`1AF=`FrP(6PFhTmUx7wNQi3Z| zGOXt}s^G(WXtbn~n*2))pWF`%_O_h4SWX9OHGwJA)8AvSFCl(Stq<0lTFvjx8$%D5 z$(4D^;k1e2usKDNU13Hg;T=vac#J7LYguE~OL2~lN7wk{&RQ-Q^W9`1 zvoPweZsNsPxAC^*0f4XMti#5$T!NeC4-|Hz5ptV8;qLkb;qD2;X ztD?2r`R?KMu;4WJ(%SlB!x1c6lvarS>Uba)QFVmVEU74Ycnp_LAF6Hsm9DrudCky?n}K#k;YiCbcP%~ zA3-bM(Kl32fZ{{;1vmLi9unsF zC-Pr7b__i+7btkJo4_PzR5vkBYaAb842PdvIBrr+U0R5hZ_fTNhZ)EO)kXr&i*|&! zO~3f6;L=-IsfqB)=>ny~f9;wn3Nv#+kWc8wv8fwTrDgp&t*1L}r4Eb`n_0L=@G~SZ zOH&)j69`wYvXQu}C8mBcbwi$cr(@n$qDG;GIO@>!DO!Ub*y$cDlur)_yQZje46S8mx z$}lOpC%MkH_wB<}lmL^K+xrJ06!rGbdote@5K0l4yxINO8*!W|YH}8To3k>1#h%2XUd>uNVto9LxJK9@*d|z*!O%OQ zdax$TLdWP}z{Zpd740%DzC#$1(Aml|Xz@(tS85}A)v?vaER37Bb!$!OosP?DQ?Mxz zW@Z3G770v4PFT7*_tbSU7<&{;vna0hz%_q&#%>vBs)2UQ$ZQCE9>_K=H*B3{*zqTW zc+Zurjffgunm8z;x=cw{aF|dP)2wty$(rRUD4?C7Xw3mketfwvl0!=p+uyQ(u6%U< zI2e3!nxoEGf4f@geU#VgGii|MAwMwFOEtkOiXJ~kg-Z6v>6-=xSMqHUM%IccJ-NnI z@L}|vP^uot=Gai=QMsh}d(dLn6UWQiSLoZn{9gCuatjMPnx+q#q*aV9$BVhcOPW~< z*uva5n~9cG^^>x5L6Lj#`_^X6=c88&&E_bW$~W?cYu!F}jDstE1gYUSl1iNKU8*)O zis?;eltm_pJF%8z_lVrYo#efSpJX-Tnv2YNR^qkeHf>l{%UNcl)EqmyjqC&-c)UXY z!zWGAAqQ_DN?l(AVcDS%- zoy)aeMx80(22x&eLq5ZJsS|faL~}{mvoLaTlqR2`sa2z48MJHD2*h4S{Z(2u$~VU< z-6>V-eOwbp2Aa$;#f zXks5evrI_>3;9ebs3o^|qx~`Q+GREl&?#}O*GVmh-TTHv#s$Yg8pFX=h60^peCTm- zqG-HaDPz2t*(AwsQ+zo<31K|;=_o`kfH*AHes?ZNoA)D){T6!W@IvUhxkE(hIc%tP zZ_$!%=1|MMapu6mYB2B-f^Yq4Z=wAd?&GAkiqQZ47s0di2gh53o@V}CXTFjIoDm6A z60R6r6nZhCttv$dIY}`oGR$0v2@fMBBw3`?LViy3(z4jo^5Ma*=9&Hx8@33B$wnyQ z*oOGfOqvyfXo@&LCzs9kH&r#YT$bR>na-9l^v?CesI{c@r{hXDqlt9G4N1J)D32JZ zo$;&Db6Pq=!wv)bZKn)Cr&X6tl@!(n%ZHVJ(Zey-R29SX9opf-odn!onOjoSMv#=q z&dVuH`@nAY2k)fAgi{Dr^r+~NPaNcJtJ{4vm)r5T`vt+vO7LP9syU?9&UAA*yA*et zG6V6PgWs8660(oiPm`Tl9?PC_=0ioGiBFkVgZhWml$w~7q!Z?T`L9$T62v3;wlHvfSnRk4`XqZBzR5b8jj`Hq7P1LRY4>sBP{k`CP(MT_sU_PIa+T60yBqSOs9@CFYEi|@sZEmsVOUb* zrC?1>I^C1+1rgJ9p4z`+Et-RYLc%v@oKWZZD7CLsTH~0_k&ZP1AI65!4MtwUVRuSL zB}D~7$?>fFaeEE2wJ182uT7`RD=pYfc(t$j8SBrF=Yz+aS5pPj zv$B&=FM(7|;6J3a-&k9FtKwvg`Geozu*R|V)}r^*AMuL_^6ZQKEzUiKg3U)ysdu4E zwiM=Djwd?ncVzk1xOi&AB0`JJjjUF>T%|+=tBuZ~=wM%S$kFQ|F%MNx!?f^!s~gcE z57>UZ4dvki(7H2&9e;av5w0~+myiT8JuQ&6xSba$>g~w4pod=aS-4)nw>$nq>$Zh$ ztR_dtRDmvO4M*rWI1Qx^Qe$K?e@vieTtSnj>YS0_$OUzWdc+AdL0H4eO=E#&eUm^0 z$jPR#L2wJAj?#$;8th{}%F6-i(BK#Vt^Sd*gXr$v(fz(1Sv9WaKA(k@tZ6qm0fO zujb%O0m3qd?S*81dK;%mm8Tx|3;a(6fQ7!v0W&QB%qy-s55}3LTd9+*0KTz@&^t3e zsC_HX!cbT>U!tp9lt_@sJ;{5Y<)`iSahPSq`ydA^XML+c{vqKGhcvH`{I;`c&P4Q% z6+=8DtJ>IpELO`OioAwR2AxBySw{yyBuWpku+=5)Dm!LpO0h8MS=ujK`Gx3p;fd65 z8$2%O;$D0g4cPf^k_>Ix-9za3&-B!gJ)Nd%-59X89`BmZMc>KUQK|Www^PvNRQX|w zCc@BvL5BKl*MWU67bIU8Agv|I4Sh?Yi^ab-?zrcv+V}MLgy-`cFC~7UX!)oQqm znWqDjb1D8k`TdgtF=%rZDBe364(>jj-dazjAe%?3^<_-aw(Iixl!*}4o90~Id7irZ ze3;4dgHha!i-yJ@LX?ra_Erl*4BEuEP1PqxOt%LUo%0Fl$9jyKv*DugC*-DopLfl@ zMN#eTrjz(7*}p@=X3ZKK5c+!wRO9#|k^b{D0iPFPv7jn_>Qe}oS@sZ;D8qrS-4!^F^Q|HvEgVM9kvBfBdpY5O9#u_2B&A%qP-Lct$h z+cFfjj^^w~1#|_z!tzj1M_wm|t_pSu6m>^D8in!Og3*dn0Q$(|A^wqg-6Mz$NzL5_ zAUDWOi# zMx@n$W)|^BT4CIsiBWET$V%w&9~cT_8+jWw3{Y!}F*Y-8HqDv< z)r@!>BqAp79}l zsOzCL{4zZgM7bu6FPI>!k0m{a z4ug6jp}KyH`e)0S<9M0p*AO1;v`{K46Ft??l#&wdp&7Y(fk)^sut)ivw36#COFW4@f6y z-~Ii26p#9=VTkdc?3*Y-+`8^cF;-hwKRB)sqUO7QL`miQ{yyx{TWu#8+x)5s!mvn! zj>=f>duA(Rp_G|{-X|WYXb=rAU4nGs^;p9)YlYKxEz&0o+_aaEgqP1|(?=mHK58z^)5OpK=;k-P$(Wq~Sq9wX`kXN7@d}?#;oiTR7l= z|B-&oHa(p4^V(_ITV}MwOubzl+3SbU13ofRl8p?R6%L8p69w^Q7HhXrC&&~Ckmkvn zdF~2FC27~EM6a;uKFkTBcVCjOsL3x(Xhj)Y7|sIXzUybQI2zQy^yQ4gM`|i?wV}*% zPU({IiW=@?NOIXfmrGZMBsx)8K56L3TsY;BH(w64tI z5jC}r@Kz#Mk!ui#Fbr9>mvB8}lW#-&+XF$!qkCQ$?wo6jQ*4B=2v5GoFuoSaWlj~#u7NRqX!8ZQ6%uSJ)qFY zn51GM$#X3SXRH`$eYwC@$!T>aoU8>z%ij`U&k(CZMkQcU6+j}!s10gi<>9i?pp+QH z%Wb|t7njqgz=0WrY>6Un>5cKRWDGmEw$J8}&&aHls@A4^P1Q)&>m;v_WuMY4olqcl zuym|prc*zGM<}ohkz>vBU~A8iE_OrdUH+qm8-I-wCrk>j*z{+B8WkfgZ16BCUr7N{ z#Vx&LmJ(*>-qs<<(H^KKCc6wHY(!aGkIRVdzzLpmysdBG>I!V2cd|z+z{2e_Fa{QT z?_$+LtB5gfTQ1Kg$T+knyM`PZ$mzQnPLp~$qAC%ot2ni$izki2KcJpjM=i6j_Lfaq zJ;Ch=+Q1zxaAsJPK>+ObuoL-uTAnX2>)&02u z8lIGvDTDa{!?THF{*C;P-3;S5G7=HDG0_nxOQ0B~0(#k@h_q5V*OA@KbfB}@!W<3l zg=wwt-w8*Gy1X{KO^G#(SzpwRIfss0`ZU?l;%d}wj_mVh>&>p=!;W=x+n_nPq?1+;){fsz zQjNklj?Noo=B1g3fG|}|8Cd{(9vN+Ocmd&Jg?4lJRlr!TJHg48)oYs+yr#tdpckS4 zcOD&rT5@#v7rYOfx67ACkixf@As?gPDz-pMgv)Sx6}Br8WNe2ZJF+tLCE6H5vz|_7GqM1H?Bu znD$%H%%e4ZIl%2{`HJ3f)aII0 z9TDkag|YLA`iW2J@aeJ!x5pLYzr(4U_BU&p!aT3$d&<&2TtISlM83E|VObD&wfcWT zc=`y1UNJs8$NazQvqP4;Tz>e~(WJPS3nP8w|)G~FyV z9*!h>ne%X$L}zDE8R1=ulnYuIu}Mj<=~u87b-z;O3&au~YdF5}3_lYUJoc$zanD;p z0ofM=FC|D(q(oOF()Vb?*Bj3-~>SU=Q;atW%Tz z6?`b$XZCj;^3arI{O{d`soX`_zS^_GVkb*T6WyXp1k zN?ePkO0np0xE6+o&o1=0Q!P2lb5k{m>bGo;op&&6Z<(W>f{0NEmfnFmI|uz!W+ipM zaMQ^0Agz^=d#AXlThAT%c}if{T1}~4(ZU_N@9MJns+2vb8xQXu4#^U7UTE{tJ-VBx zie|h+BqE=d84y=La(7h@2IXmdK+DLpZ(@iy8WH)UXi9|RiA4RHqcPV33Z(ra_6HcH z40CFCg`o=U+}c+fvAcGA$RvqrRRD?E(%K*ur59J?B^CBMj~e>sraX@F%Z(tTO9uKW zt~!~gh`fZQ;T`jeSav7-hCm0=-jLYD$$|)~SY{5J9ecr%Nl9sdg4rN7I#M-e2_E~H zanXS#M3W4_WLTF{B?qLEvsuCqmxEgK*MDbJ%1;PpG&Q+6;rkB~^QOw-8vS8L%zkJ0mEb9a(pR4Rs#! z>S!wuqjPzEBN|m*Bg^)V4hE-o!itMA&5e|k<&+ohG(?PBqQTWfGado#AfR+ZQ?|Ci z_AfWv4?tJuYCUC^2fwBDTj)YCy5r7!|6dapOPIC2T{X)_Nmq+T&5l9lqh&oe>N6IE zrRVWs#Y3NOOJGED1`8~UTE*Dr6(qcPpLHmxqubHL@9Y_3g=`#RWo~(w{Cr1!UGv4; z;^ZjxPGP~??CgnrL+!jwvmsACzOdCrrnuA`&@*?Ga-*1~C=H0>-^bKOl!P=TTZ zE)pK$r2U}Nya>S?(aM+LUc<~vx9D`4lDg zk>2qo<87kg+noEzlE&f^7wLz3#$?l3)vPet%5bkaS$Wky{j5;2l>f?TAT@CaeOivF zMc6>t@HhI|lOY{^aVCah6Ax8(dS_~mqB+mxXd}x@caDhSoiShCX3<)OT|4gP{6f3q z^&DTv-an1(Tr4gE>_Z2k`N!pqw&G5#343Q0F%sx?K-nCtGI@EJgnq%Jft~u${6m*r zYht`cTS1Lx!U>IjIrzZIUGW#lmazI}7ZXdRmaD^Vzq&O=!+p9S#^h06w&c8F48{&# z&ymYtH!umq$3O?m299)*L=;s;aWS22e>BEij{pJg3WFeVBJj1Pk?|ROhXz7PocwWD z)%Q%yd_3ws`y|`m>5=KsI+Zl_VhPc(7JACC8G#6`wCs1Cbs?QjrLlb(tg}Gb2(6zB z?Yh%{L?KgX8EbbenPaAV_(SYvVS>aH^q3Nj9++B92Td!Q0j&P7JsK94wvo$CwmZ}O zLB5mWibQepzv|6QU6(6ymt+l!<8r-d%qXSK7|vQ&7w0WX>@8Uf#6rvo+dGRnKo=H- zyLWZe+<&e05oBo{1z{p#SKbOvItqhip3NdGqEH;*X*{7=E>^F33|0uADqXogs5WL1 z?wotY7tyD^iPjP171LR5a=X#>^vGb-8RcXFt7z4D>Jh2HD{ruQy-{g-!0Fe|tQlYx zP%R=@W5j)f*h`4kpZT10K@X54OZ?eDFb~Tf|skb^j9@1R2r=2>tI+R(6k!sG}EULr>Y&uVrRuAY|&j+owu?D!- zF>F_()NiLd64x%e-=<;D^WdmkH^N@-*c-G`Y4z@3JX~2|9`3GN&mS1xMOPO_FIuX8 ze~-+M=2iCQ@XO)V-}C{d|0Gm`(ENT5D-m>uq(9}bInfpW=qbdj?8^Z@N4Ugli}gCa z-JA#^9HuYx?%=Xexvoqoj2#!vV>X5pny@p5tMe5LP|7)pRAYMx^bRBvjz4&Gn4FUt zw$C*&Qj9DI8r5@*X(fV=-joW_pM{Q^`R7C_=s4&+-07T)f=zW*wF9XUV#fpcLZ7IC zo?)pQ!2QOir;5SXc{9%whR!?ncnb*tO=!PR%_BKFk>G(qL^({0e2phXq&CuERq?x- z|Gk2imI6wha@py2=V-|7ANQowS9wYf1Ga(MT|2=6j0@ggRzMyrV$vPPqK2$w!Qa~t z4K4moEB}^WY3+V(HGY9+F?^$|xr^4Nr>~wn-Uf>U72ZEQ=HK=M zsTOaB?p8_fxi>);Cn^VGSr5*hpOa!c1+ILs>pE1WoTxwhw_Ma+HWly+67ViiqeA!P zpE-03{!cw$`87-d6=vne&I{fU6~^dA;3_(_de0R{TqSC#x+6;3;!JLgH` z(0*^kYP^%uG~g8ga()NbKoH>E%`GBm(Z}~y7BHizQrkgDdx+Ae;tV%p*45V${ldnq z3&i8I1H{G$9*N(Hh%r&2d=sSnw*L#=dOILvTgN+FOZPV<0UCOmU-s|+X+1Wt@#(;C zo4o~ezy2Zk-jm!$LqIK>SbVKYuXCcwen4bboWdf>99s*VtyL ze>YBFR)3Gq3-~mQgp#fIE3r`ir&YetW*gn#f2@UjKHHQ4X2`23#6@`2Pyd^dpDO+e z|9B$GHDnj^_fHL_J5T# zpfuKg0iyisXWqiF;CAutgnc8f8R;5u?#F1Uz>S)BY5AzknwwUd(7LiqghtxQZfuv5 zMk+uMaG?|!gFBDPG{7bE#}c3v2=}w>c$H0zRKPd*SLQh}lULq!NcQ6--0!|!UApn( zlujtVh_7#TQ}}PEPQS;C_8Xsu5zZ|3yj!`748-Tf3c`H|uQRi#+HE}XH@Q#I?Wy!3 z1-sd=5qScjk9}YF3R&0P#D%2uGW1@*ug=6%TKOrP8T!P4 z(e#mVR^AkhOK?63J2gI7QNy|)8?G>x)!a4dA__@$KKN11{|TjqrZTdbm9Cj=D)UnCFxYheDe$Z<_AZN z$w-W8{>#TyB%3+<50ia9^Hj_Ti2}B0F&1(u9I*o2k2wfrQn(*+aKsX}KVl<@MX->G zu|=X8iA7w+HqEXej@#JP$oHWI+rMD)wDgkV9y~{`ZtFX^x?0-UT6TbrNAF5782EZs zDu2Kz*}-4%y`>u75QEl?h8z#FS=+o%jn6>silg`YWv4wYp~Z8^OEbD zs_nY$l!DxgtOn~O^e0a_%IlaBcis)hHm6e9>)XOO+)um{Rc~!IHBf~(_cmw8m#e8q zb_I8=t#LS9nl}5ZsIOc2&G$UuTS@otT^Jp*PZylmZ+{-atzI2}J?$a9ivN0FeXrQO zcr86$d5^f{Jw<5Keqq_ZSa^?kgskEDhvAO+0{%&By&}9a;taia{fE8$Df%p)XB)v@ zpK|=ZPrk_qD+E>W2jqIy8}=0f&}-9g5&!YmJtTMVo6m#UhtOx6>q$g7Vcaat(-PtCgjYES+zE1yPj$gp;w5Zt5h|AXs4ey=|M#q|1V`1RveJqxAy z?O&V!1n>{{-yrbw|HF2BzYhKLFDiuVcgTNDef(?gKRrJ5UdcZpBV4~ia*MqD2mb$! z=4^xeeeeo9{4+mtf4tAgx6B+%5-z#?FamnZaCb9WL5~%HsA{if8EV>ap!!^e1hn(& zI(uCH)gwEFLt0G=wAnBtI)#&kxu{3D55zoQIBBY~@^e^=Qg`-1DL?TJr%qe=O z@N;&D2T)D6zoDPMK(T*6*n*VBp^fhG0jov%d+PkNVWR;1I^ zW})O{HDh*Xw3rM%YEnvUoih~9QZT7of&g)@^w0xlU_j=ML=CP5I6KlOa?bG2QU6~e45Kh$3X&zr>Q?ub6%_7ymYi9LC3r*yF;J0scXknXO6-o zLI$U7Xw%cb>Z_2hQ9QBG(tB>r7GZndVW`{@Z($MiXq#Hb9IB&`4eIEyuEG2R{Vr+JOn0<_3-GM5*8mzUBh%8n{O)WbnfNq_W>{czMeL%c)# zDN|QqqqsKfNJs^8TbU*%46L(nAXK8>VxS^#2aezMXYOZgksb^i$W-#l%{BsjLH|7U z)`#$tO?gtXiK1SRtZ@&jAWzi8G9R=G{a)Ce_*{6GrpKkf?pixtZ&^2ot^Pe4m?l7! z<);$>>(<2#c!|VcK)QbnilSKw?Ie`OQSg~t#i8v%amYc-G=HJn8@?jk65mRCs)Xnp z6~ev3=%|Yzrss>1d!l(%Qh_rVDmzNT_5krIh~g2$l)pk6SP(5h+ihDx=B7JB(*k}t zIIKa3ZQZP3pF)1>&|?-BI$8Z zBX$Kij;Q+V(jq)X;)$zc&k?BahtsBFw?lA}Fo=CC5BZe_w9HLt)7n-GeMS;IF%Ae!?!HO)^v&r#Hb= zGwI*^Yua+$ZHIAC2IqGGn%8Cg7Nybx$}=6Epgb)vzE4fLs&w(d%W;vkaP2%#k`I_6 z_t>EQyfhQa-F7MSgmG+t4y#)A5{2Ru6nf@>@7LkJ>-w4fGeylA|7qf6xVPo2LuE}% zzt{ixb;oIHn}zv-=*GvJn}XX}CL2d9%>r6a)WaY5XIq2pf@zCZSF@?|9ua<;< z3qv)~&GG6%wsk3buLYC%eh=4sr55m!W#irz)1lPC#c6T{rXFm(kNjtD+D=c3mgawwk=J2m4+Wz1!H7t zv`utkK52K%ojDC30i6U$oFlt4%qsJS4k(;$%S%}Od1u+B$Q3-{{HC%j47Cq zxh8qH0(uuPxr}PL?^-GS$1kfvYfYi!!61X*OLDE|rh=;Hx6D@JXX5eYJ45d`KmGe? zg)yFi`)7&Fm+jzYb~1=Ozk=~G>y#kBUxE9Mf%|>Uy!yM$CX=Jc13B{IoP;OOFj=cU zv+VPfHhThk&>Hf!NECU?+kE%A4o-)XWUa7HqXymbaE|b`TvFdj)-c0>#&aHcWUaoB z(qWQ*g^S67e-Py+BwIV>IDmYLW-h~hzlV4+u`;+FsjRo{vTWq)=*|Eq8>m0Z`F1*K z&Lun|Y%iodzBZ|{ON14-hV^def zC^iQzH1|wP*Oem2kZiF~`pbKkYzLlgXN9|T#(9No+xiW#gUC#&gZr9E{mJmK2!uXY zn@(P?_~T{RuK~GXpH2h@&vG2Pc<7)%PA-d4r2$}lDQaZ!L_GBXH5Z|Qv-5|j-Kn~rm*{JlOZ zD|0SB=01oimDSvD0!#vE@ZVa?wG|0%r5TYTMy~IUVsd8iIYBv>nx^-YX_FUIVq6V{ zRO(apdpW#Ix%7Fa4v$t=Qye|P)fTWP3K&th&dmX_L=+fw8s1;H9lXn7`uL3 zr%qxVnxSBgVH~1KXJIrzl-|w3>6!^Nri(-!hn2J=>=t|zf4Sk_Pi;hA5E+&>ckYr2r(^H%;A-ciO zhf%(ST7k?-q+epDIQXRmV5bvU(x!hWb0@ObgsK>y5g)2Vc{)bArl_b4(|*>@+@}D8 z7C^}?e5Pm8B|BqQ>|kP$WRB5lIX8oq_Am|ED6d+gev}A7e53rWlkmA}yFM9F_?}cO#=o=yO-s<@rY2hPtao1wx#lhoQ>Av)BVUxF_NE}kNC`pYtV^iZP3qi|}tqo>oCLQJTHIfWW<6SDN{o8}nm zmexsAWD;JUMZUfTL7w+#3#h}jKV16J4v{Sk&(7NG@XXD(=z66Sy0*FBlaWeZ?lUBE zPrS|`$DPCTnKYdw!s}x&7md+YMxHHsEHbDQZ%t1$=ly-`cnf^fK2~))2z=ATNtF+L zN5~1DG)y!|#R+cJl#7rbvD@s@Hh4xXoxR9AW^oMpPc3aw(TBovvaJ)LQ zYBZtcNrO`X*?-($(&pd>*oNk0YbRzhP}$O~hSn7Mpj|zGb<>d(!wEov?vr_CI$2eX zvD;D#kNcisZ`~5n z#k+9curUxF^w@8)6>5>Mpui{!ywee_?ux|{ zj=C*ND3ac)GP2zJA54@v<|9?(nVC_!g~k`Advc}f^g9}qzXjFc zN1|lpSTNq22bQPQKI+tkzewE=&}^!0ih1k4Y~o#LhcKIZi&6boGtX^8H)gow8 z6}DPS3)I+HywB`p_7b*K4D31ltuszF1YtodEf&6oW#&Q)N#j5ZQI_g-#QIV_`oUvZ zIXh^EZ3X|WsM^htuY@y|#2`a$80COyv4cbqyAObGSb?^jblspvdngb)9{S^SwQp*1 z{hK*ok168ewCtmvfxUht_ZB$f=(^o>=F?@R>XsQsLg8h9Rn6#Jr<9iF@M3RvQBx4- zo~x2?(xekSS^tO2D-a{aGphzoCPlSlxe(l4?&tm`316i<&9jQ~@1V{<9Nd#+6}Y2z z2Olj_ikq)6m4r7eLPNTCL_=a+5PiX{uSOqz(YS=_e=3OusHPHst@hvt`W0qHaE~~o z)aXMA!|UcTkV@R*k*u=F&6^`=j-6)%L^!OPeAjsHPmO9&MI>qo1TPRNfZBvy4mW-P zZKL}yf&9?yr_n@W7!;3fZ%*e%6z6vDvy9lwd=@z}y>&6*uD)2_33t(F#n?oBuvqm_ z=P}@uIyRvKHk(1?yA_xGyML7)2`YuDUaL{s&^&{)m!WwCh%5r|P0_3gZ!U`^t2v?) zh(iO;@Y6fP3vyK!@!exWfwGWY7@vvsJFx!{82=Jq{zH)cOMG>Yd3KB2A-@%P%X7BO zzf^daxqKM%c)rW{N)D@yyXeTnfs9eYgW5uk?{!M$VDA;p>@m_l{}c9gj7Ym2MV*)q zi4!~hor{cHUx0j{H*D31JQuKRn`iwO$`Ogq?(ix-X|VK=q4^LgFKMv%kjcauk4_yh z_24DN9|e6jB1wfU#a2RkGzvGlg=WzlP535oks4lh!WB~_EKNKM{QoHBWT5pt zl?&PO2lB7C1`rwMb0 z7dX)BDea(vf`cgBxVPoR^?q(pU_m3#n8dxAvMa*|>|mIv-c0}!f^wJI-#!Gdw8Oj0t4l~{i99K(fg0$M zIjQ)Kxy7lo%FspZmJkYi&1*4=I}<~tTN1g|EE;2E_An9Zx=NDJ4bEkFU!?B3%21QB zDd7t2Ud;dCc`359ayiv9vazVEC#T&9(`4Y|i=xKT{En(zMip-^M!ndjDhVP(CnZe^ z>Mb;l8iZS&nxg-O*6d533pue$e}^5U}NbXcHe;P1{CJ9G~9No zujNQj%aM|lF*Y1nm-u>+$Aj%A%t2sfQAC;X>d(FAK;N+BG@$F5K=@7)Y4Ph7 zzD64%fZ6{r>yS<9l?W@yr^1tdUatW}hQsR4Nl46`@H1Jd8s~55nE6eyO=T+iyeH|3 zSeYJnV9=56UQO1kU)nk^#eHs&;f2Xh+=^YwzC;m%&1ZpeRzW$rC>nqQR^X2jczZL3 zxqiV!yGq+j9S6`dtJ9Z!Dww&ETs?;bqxJ6VKM$LH2HQiktK+qDpI3hdK6AADidB8p&xDQp@v(vJX1!dXDEZ4sxlL zc4+MBDSOqUS6~cV~#uziHOk3%wnx;l_l~7!b!Jpols=*fNz{j z0!QaKG{$O<`&HW4Ct>O)OiN!`=7v{iPdos3yJ#!iO`{*2@MkY0>dH{VAp=osQLj5* zKRB!QRC*8bzvHc%w5(QB6sdMl6k!j*D{j_A1wlqlQ*6UmE?)eW3dBbDC?M2)SQ{L5 z7G406R&EF&ogdmV*_f`{7-~FQx^!494b{{j*SDQ!iO;v3(YdrcHZ%fqA8Uu|BR)4R z??pL+_vsvA0QBinpbaXjackgYoZ@0^w7%)3GNEJ?IkAa3iN!~mV zq7X+gF)G=Xvf&x5_XHyHG&J5qEY?Xk2y-cVGNBs(^zUS@w5U2@EGwWKX@*QbJNpLh z!`8wVf_lYLVhv@U<~k=#L5aG0vzTgExR@=Ir-bc>C8S(bDYRU4p2)0HcwQr_ycti` zjtjK!sy}`=lzI}wwDA8c_{j>|FE}6rk&0sl&YIirrvIsvsM56}>e!1($WxDn`(6=j z(1CA3wyR~km4!WI$;{3i&DlmURN})u0fx$xlw4(e1)T1UVUN1n8)2--R-Nex0Q!gpy=4B*i-oo|BDt~*Fz=Rb zs|h42jN8Jz-hU_AWDnLO4=~5}#ORM=h9NSKjt7$rM$kh^W=27m^$q8ka!>wkb{p%{ zoU%aD&WelYO?tWJ+|-fCgE;z-+GK?xr+xX0hY?|FaR$mdu=JYSGOxPyD;@kJ*)f2Y zY~6JTlq`T!ix+hLBY@n7Axyci%AHUQRs4t6m-g!r%#b0&L}9IWW(1oTQR%+1Z8Ud4 zR&ZRfB4O1c@JRq6L`9+PtKS|o%KzxJwKHK+oT?ou^eU@{RNnbrf{afZ(Pd5-oy1Zu`Bp zK$+Jmkvyb#{uw!rW8;aGRtP$zC)UAHx+>?KlMXqkP1o^cmS{VMFi zS^tQ@W~l5`->~I)4Nuio6z3VYEU*61;qQ{#btzx;P6QxGi)oF`82gXU=gsiL@xBZ} z(rDsg+rznu48Qpc%yC=X(OhK?Cv-KJoYfOm^mfnI+NnT)(+A{4!79gdKszzCD)#{B zP;n%qAWA@XpQQ%i`sQeKL@=#YE8uF~Vi1~_3DqM}%L&Q-=A`9uL!}QdTsLh_}ol&y(uP%y9p}OwN5@RC#b0%%`Qw!bZgn0o$$Va*8@KMHkx}yCwy2~pIGyH&+?Q=6n+)A96 zIWtGe3Ecb-$P$%ek!8sQRr6EJWGCx7)+sJ$`x+N1CLZ>w zj8x5XYMi-;C6htQIN>yr%#p-8K3zubuXReQDy;0WEk4In$yGuSB zF&nGI3AMS+=k1$;^J6p+LIFyDjL&(_QAmI9cnHFQe6x?`>jtNlr}jW}hNoWl7DlSy zJ&D+{2y!0j3#n;bP|-d-(_lV8W`xJIj+ON@Ep!vd;B$xxxFV1gD6kb!z#kYdD%QLy z*=Iu$6^na6=zUK4#^gad&1uA2zJS{N|QI0(N3Y+U7t_FnNL&oOv_sJS`$AWo#xLV(QI5ef0W$Qbky~(hoz< z!bhJvYC5i(08v|cL$*!!y)v2WvV?kK#BtLOz%$7}=@gq0J#1yUIoZ;&x2-lM%+Cyb zQzxfL&u-7^YtO2_flbWwWxOemP)^|G512VY6XVa!iN`7?UH-)c7@P9yv6(r{&(e$l zwY|j&2}Z!35Is?2ldxBl=$wT8>OFb~RU8gzOvGx&O-g=<8F!R9!j&pGX^nlVBPOsN z0%?(oJ`n!@)N$QmO?+KiDUq%SQlxiK3>}qTm8PKy2#C^^-UOs1Ql$itB26GDy%UHD zO?ovTy(1tXO+$wWA<4$yx4Yl2&+g1~&fNRVdGEP%|CqVYIcHvg{rOd!7;kMEnXKJU z4V7~e95wKUJlUGVX-8|WL<{rBNXB_ec_%66Pe3j9ZhyXBUL>tIAoek95L>tZhYWQ$ z*0W5%&r?xgGrD<7Z3&Ac3{C1IO#KtvPKLP}$rnr~Hw_jdbEQ*n+Zu5@R7S5%QTD!= z@eh-_j#T$kL2@c^RK!F;<6WBD5h;ix`F_O5IiO?}-5(|B#_Cr^hn=h5WI;T&?MytH zt=^O;wN@BrYc|ago2AfqPEzLVB17dj%WcfvSlM8%l}ka7;D|zLVS#k+N5yG;^OVKR zL&5-)I49k5=^{aQR=*;;ImsqtfV;!XqEdOIBksEYM|lTNMYSH;OQ6dUls& zOZRAd_?smQYkj+=v#k9u40g#nXD(`Gw`WAUAB}C*n;oes*Ugh32Pxz?pom-hKB{_y zKfq}XXuPO05Lm3mm?`D|A1O{v;g~G-5eA^M3 zTJ=|jgGn7U$zsd95vEf^GCw1k?)a3NOxgq+);B*5l| z?10BEllj7;2)B1IEN}vill4~_?QIoV_fg)@oIe%?4i_BlCf@V!JM+hiW0j^GIFrUu zisio&k9T%rn>drMzP!sVG`6t+HlZg}G5%C=KEMxqPosLLy;T6e+_57c3X9$R?rLF% zj&=`~kXfsz%3Kf%U#Puz;c%bOxX&H}R?F|V5vXiwR~83$)^Qr?8W~IJhP^Hn&wjVu zjS7yVPM$dy%5~2RPHZ{&IWIAY`j>8Gxxb=>5jYSDLme zeOl=rH5kN&*yc@#s@&b?l_{+A=m$i1#|5!nRn!BzX|~>7V-&1vNP@{zD>e^jAE_Fc zpUdlwv2)bZtA#IeC4jObS)la- zr)Dcq9H(xziC6w*FCStTU&@W*xRmT0r3Gavk`?%_qzu|NSW|8Ta6>=N3x0;c4KO`=0Y@cn%G{EiK zFG(TS``#}Ov^DhQmo#iLmhC8Ap#jWVrAU(7YAM!IU9l72w$|mHcwA+u_d?sBn0sXZ z@a3<$<2X(ZGKjW!o1KAW487TwX1vs^cYx|MF0`rS-QW#aF?7^qe){e1vYbWENCwFQoz6|c6{i6zXEe%5igYex}_pENuL_aqLB)7JGrIem@ z#NSB&rOlL<7ZMueP)bpryEHrBG$2k^mHA8ITgT~R`z;Fx-6h|5dGNeDmGBnB=TLo= z^NdF=y+=jJYw!#y8Kp!}P9zMpnqH)wZ#SFnU(&4=3(VvG?V1p|C)DPy>YBiN+}S3l z^nfYF9ok*C%gvh;u1eu^fT({6-fLYd-2f>U9G3_cc%6Nv58ED1cP}fv@y>V4_+CLC zjUXtm97RY&P$7(CZCnt+ku6RlWYD<{?-Z9T>KF31boXlq0zR9M-?J|2Xu4Oq*W1|> z-vH@@JpFAEv!FkJG*$He{*d_)@DA>~hKKBX*%sx-L-*Sgr{S$r*2;I}D!4HYKNZ)r z@^!pZsJmCh<~bkouq2aXF?@&ipR3H-(6ds;bZcMv4P5`cb+t9&GziNGE_1B_EE#nMIF+uPPA_(vRv$ZO@{ zK}{WYqUj-!4HtF;LI>0Fqzv2EnYQxV4nHywe}uXgTjjV%ZDJdBa+@q2i*w@YCg^8{ zL#=WfuIrKP%oG-HB^j|rk*5XdTCrtwOa1l?3ju0*{H|MsBtrWOw9b5lEr{$|+-@9? ze-LC!TTzO$O(qB`>pS?3`@){QwRC60Pj)U%{#rWQQZ2v@rR$m)D+zH_+n+#B@WWjl z7;63sPmm$K11P>d${s{#;1%rQuiCfMG+m>-FG?Yn=M&tEByLVEpHL)EqC`pobtT%% zWI=7Aqf+B}tj#>WiXrociNqXJkGcoG{(som-BOT#yHvc>u~Z2HbAiofvn8gsV5 zTc*Lg{C@m?a=36t2WaDYs^_|zMsrR$(VI1qO8sg`NBwT$6<^-dKFC1wxN3O(0Hc-E z*FjWIAQa?=SA8?|4Oo=`I`1Oi)MIK)<3BiZw%pZ`p}ABYs-I6doN^bNqcSOvoN8z* zy_RVayfhJXdyao3E~!6?Q^jt!%x%E0GgCi#){nMTY#kMIddmeIpS85Ij^aMFsyVG1 zKA-Y5LQ26KL|Hg`RthYj%(>$vS_f9Y5<9#xCn;s{)CfPVQ~fsRmC=I{R%%C9;sba2 zD@#I(#I!FDA1CgMpIRsH-@0bp)s?9w#_)`NL1sW&py1=-t@jyo_qP(yLt}D^VAFWb z7;Es;m=>JMhNpoPO@NAR4 zrIF5n%}rDJCeVPnGl$TApPZU}(HbC3C*Ptm8Q$5=J2=or^y0N`e~)gD?3kKE?=rCn zGuW;}es`#KzP_CiMjas*89+;0ZyqKYEDzy*D;Z)#^I~(N4KG!pgmwY@4vC7$6O8g{ zav%fqY@R^P7|i=3q4UTFNk%ucvSC9aLYz*1&G;Xe6S7Cz`%@IQYf%}1tAIZ<%S??> zUgvDkakb+}Us_<&VcT1mmb9H&Umahmq9#q(P>|#=Ud~u}FmGwD$BZHdDNN;ipx;dP z=OLm;vVv_4^7-jz;?0)-{4j*@DE6N!aOQ~k9+tpd=arS|)ezS4Vw8sdyXEcoK+b3Y zFBNDO9IPoU%xU^NW2Li)*ZQZ^M3g=4c5VE;4j*ksEcGQ}w-KY-PV(EtrD=+*3=-~F zB1`fI96R-24d)IQdNRV!!9R1|Thb!>L*@gvD{#gP<-sIIf@21h_HySdv5b@gr<_#u zuWKvYmo(S-&RDoQ73G^g1ZwuV9&5HftqODSi~>*+Jx9Qd7z%xQUSd{TXj0akSY$)| zH)4K$?>K9-{k)F@uCJAQxrc$7`)ntJ{1M_`=@`ngBoxf!v;SiX%d#iW3z0?1X3A)h zIPL6c+TJ=HgGjfGfW4lSD9jgz)|jzYuet=b9~zXaVK3$|o|0Ijh-Lcb)6&Z}M~njG zVmhDkA~kj|s6y33)SpC!?go!Mot(IoV)#TYti(W%XV`N6l(-A?koq{8JT)i5yzP~?Y zu8MR@1Y`y7K7^+GkQa59I-LVqOb>Id^%-2(lOnTCXD7J9g`euuom^e_Zk81>;U3=$ z6(rRuGmvX7bX{PiBY!skP9a6d5lt=*enY6glMN@zHjeG`3hi!V%!7VGjPSyM%V!QJ zp(DCJZ$~9PwhFGE1*qAby_}>r$~7*PryFH*rw2tiZ5}zR7D+= zm5D5IjT)nck*)IQq8B zQb*9o5tB_Q6F{13MdyCtxAihU)s&9)Nom{DWUis5vAmSNZU7h65;>x~< z0IP0S8)ritlNH{gasx}L!d3&dP*o@L2Xmgyidyckewdy`9FOyy>;6pNX)iJb_*HUI z-tvcv8y{jrn_hBQQCPy^3l2F}tSPFly@!n&)YCK7i(vxmZ`S*0Vqou4e<#wKug#`irUUr2y zYI_rx5BQO0*L*>4L))&cruUWf^1{hVnC&XOh_c!Qd@%6INWk|+dkoWY>eDO+N%gA! z`)UrAc*A^Z7p*KnE@ocX3YLN-?U(2vL&W(S=gbv(mK#>v!H!&q;TAE+2F*>x9UR{Q zeAl+gQ}aV*$iYY?JoSUN#7v^2UB1tO0C|TjZ1|m;GXagi15bUJMZ=2$4 zjb`^9an6-%J5K1Mor-X~=d5DU_s;nw{Sui!C2y|`CR*YrDwepG>B*Vb+xFg9;G-|r z1%tg@e|{!?{Y{SPBR-2>|BwT7gmj6j{0gGI&+Hwk)2m{BbYY0DRpI5Jcj%$7Q(W$G ze!mGz$gFt@!^G?5G9HIZ9WsDMkaFORUJcHY%hN)MQs^NZ*Z^u->_zUsEOpUMf1&*f zb4jyu%$<8<-?Fcdx-ov64)L z;Ed7_x_HWP{(0B&>k*fP>+OVBKk}A{NzEX_`J&16=sj;T3_X-70^w3bo!%_Uh@=US zOdec|GfK%FhwSvdmY#k3*x__C*;WPub$3!TN=4-E?P{Ne*6-(*Ur?2pf)vL>_vNC9 zi_S!4g9>3*`}qB4i?IXkk6I2$D%D4NHzQBR*+k9+!msrAV%hlpBW@m-Au3Eo84pGH z3;A7CbsVnRH)^Cb-SjG?;TaGbs7)8GU7EE9!amBY4b1M2LV;@566(NQgMufkD)s8+ z)+0yKVg?RD9TN}I96w;ad%hTpCPJO`WznBRMe3Mo%O4rkiV2NxHX0hL%7lmwu!uAE zG$>}55TZq!naxg8(gy@a6q}vPYe8)pLylgT-E;2$97->xeek0$?Wu+TqS$!i>-0xr zCAFP41ZZH1i;B^8bwUiL+(y}3?n_hB*<__zX8~P?J#w&7$(bDmM`%wM1_W8i$#)^k zuU9PwZynpLXKx-?KGs|Ve-5PFOkY}h`sF)gvZ4M0SjdAen6;vHjM0_(kx1(uq3O^~pszqgfnid7|~z>5L?TZ3CTH!KLU6Tb^5o_|>i={h;o zhaB_}3sw2n@jOi%8!-Hgvq~I#8B4tQzX{qh^a&^(5*=kANtj7uqG_yaXlf#1Xl`t* zu4`Zd)KWLCn4y{gkw zOJMOOFhw019Whhd$c>mmdIltAHiPY5jZ6|X+(oiKUj9D{P?Gx#7yqb#j{iXj`Zw@z zF3mso{{rrjTK~nY`8VosF1mlC)+zrJMPjD=8};`B{Tubh53xlLsr$>)9s()c_~QpB zHrVK}?>_rg;oa}(2O{8E@Qr+IC-_be8~78s^p)b1%i=3cGk2AHMALnm%uk88Cz{KSAp6+A4inr1{7G zoT+Avvu2sa5k8VW<{q@5M)G%-`OEEx7u;v;tzG7p>PhR&Z6c)rr|=hfpir9*YUlf{ z?dN0k{ow0suo-KJaB+4K{@cgV1iH;JOtZB1%vA}oOY|h98#ug3RM#RxT+5!3{ z+tAA>meK`hx)Q?2llAdNLM5#Pr#KtuL`N$dn7?c0Vt>v#mD`AUoJvEGVAO@6?|<0} zfI<1uVUSbpFb;9`#2ljpsq_5|t|kVBR28b0M^j9$o`)*33;k^lM`144qt}vx)ELke zdPtCr990LqLoi5$XYaW~K=x~6qy*XA0Ab^I%3l^GiNSzfdcS?a5Ak zgln}3G{4lZea=FZ^!D%Mm3r~)tNYmLx&jwY>}Rdi1CbJStPisJq*3+K)Vs=r1Nk;J z1?R1(>JQ`kQztqZ-&8yZ1M%zBdEfB0i2OND4ndZ=%i3dDSWI`p&PQrD;Y>{+D*CJ6 ze0$|pxmZJ}lRU+6T>3-#Eo)E(chpte=)PDRF|HeE#Sk_9VYoIE1yqx8=HY0(MLKu* zHP8G_N_JA`ojb`84gDjWMH4MIh5YSjj|j=An$Eyw`|9USOvAnf1UAIxDRL%=NI{e- zE>oU*kQL;W5&NzDz9`^e_3je%8J7ieYiG-?+toKj?qAM)ZGuIaszI5m?JlD05=V|! z>{#-kLv6yiIi2!N&&aeuQ#{7 zy4m;}i!P4dpNE&xv$Vn#b)K0);@vI-Ot%8Ya^p@A-vI(YZVa_aS#xcXM%$uJfEb7A zQ-O|}#jS)Cnp(oc(vF!yg0vnDOc8O0WqErScJ5CYSOA%sa3{*DO64@`4#HC+n!+a7 zUgQId+L&>5f0^(jmV%37DBHCF&_N|!dpM&c{^579YMsLtzCni<=*65H(jOE#8loIO zysq{#ZVLYNHov-qla-#{LRG)szE~BRQ1&avzch6upFMKW+DF!jq?>B%>{@rlbd=2? z{&lO6yk~oF5gvHY;pS+@KU;nP!!!1P@;(jaEi0~z&+4ml=ioga_F$3y=9-q_nYGSE98Um~J26$j(-|a`W-gGUnJwvw8kW z?rcLu5_#9SMofn~lOtJYnO$`S`z+Fi8OAEQGcNbfRq)!Fd;_i@;j_PY@Pv2Rp#Rk8 z|J{%d$H|NRg+V|rbH4rWh9smYbM6J5fg|c>GcKVcPNj(s;opszCj8qny5NHS;g@>; z^2PFc&B2Y929jU>2ClfjvkOZrk!BC+QUA7>tzYktYe^ik$#0-sVB1it3+zzrZ-@jx z1!<6=wvlvpY)4pJb>7QbURJU)OOEFySTx>6=GT=!UpihoN~_9BJ4+?d6om`_$PzP# zDoCgfC>-zAL9v(ooG)C7b*rW0od1KI|A%}~$L`MPt}~U0mZ;*xIg-rJaT95qw#^+at+pdNH^TbGDk!@i`M9h-mDp z3eh!ARXbL>3V9_}$F%7|S|qO6t@za3Hq&xQd`ky>9#B5By5%LkF~5(J?GT{MaAft* zm_#7F;P0)WIwl8#fM*Bbw7eolueTMaxU92fdRJVq!v>3*n-3aD<4r(?*a>olv5R;bp28CihHeU29{jnHEyno0o z;1YF2gxG9+^kCXvz9xPzoSUkUC5`ImFlfy!+rDukI(xhjQ_Fmw zfy5|4M@&&Fqa#3_O@+J=Q^O3GwuwGbs3pUY?tUzYrJAR7-?LUuf+QT5uo1eD;<(S0 zVVwe()C;o@-PAif;Co}*Z%e{ivty5NcY;J(rxbTat0ji!$C|tSF>vCZ{j1FPIf);to#O=Xnfj2 z-9?trvVK9}WO!dht4FxX2;}}CczJYSvWjpLTv0^!Aw)nc6eKyjeqa`NQ4CH&Cl~_wsw0$0d|W zW$7{)|JW!O?m?+Oc^V9TTLmh+1FM#uC^RjF!Gge>=#DkuH0!X@HTU+ByV>FIa=_I! zq%WmpG%Ky(fQSMuG2>kM=jEo?LU^aF0c)B%LfU+8@u3?v2WVcg-aM4yTb+tHr=M@t z>@tF1l`Wc3QLsMmX;Qq!$T3PdE+^>Y5lb9u6T{#r}gW)5Ed2q$o@{E_g7p# zM;?)d{=9*(%*SO6=mQlq6x#YufMRTIIthx4G<3fK;`EJnX7HWcYh5 z$Los$#KPX2uii6U_=K^_)9grYEbNuVkNkVt`6aCBgxNJg(q+)L`Kd@k2sOKdpKC6C zg*fzj8u%o`s#*6cv+VK~JgQ9dFD#;xEmw2y9b?na)*hNU1v^4fnyq+gPsk;Ufr>m9 z1iUsc_mz8^&ZzfqrXyl#AAuwJ7p`6^6&$Y_=yf$IA|{FGfmhCzp=GV-08$TYl@)%; zqcUXvrfKL)MAAR7PwueUvOkuO+h+ySQ?5pZL%c19@Z=XcQQk@5Lvup3?*1a@xs>u1 zRPPApMiM-bjXHDEH=fQlpzNxI^qqUyPf?U}0b;irqRj{~2Ja-fVAHA$;l;3Ug~% zeAQ+-*=cH|OM>g9dei(azM%aakRSdoR8mhk3a`IWIUg?+oqX2iB6W0S{4(Pf>ytct zh=M3rp8g#>s!En_=n1PYdus&K|59P6`N&?R!uPmTh-LF*mvk#eCm8XXWK2}H;uk{a z@$`Y9CXGJ9fiQ`lSjTN}G|TmQx!}(fFy;W{IU#$#)|?>xljs65ITq*?#Qt2c=o;Bp z+#Wf_7_Eegz|!Ge=?78wsK4frlP6h-INWxRaY>BSBxObMoB(l!PZG(IZpf z)gPXojQy=o13FCq3i#FwV2m?>5d?+MCU`#OT_FPVzlweP(;*KLq~W_amHz!~*XEQY zy|X>lD~soSB}yNqK{V}mcNrft1O+ImzIzw3o}R)0Fm$ zoW{8bx$HL4?M>Zgu^xydhy9q(oyrVW%8c*%vljFGNir_WpEYdo*WPQEmYWPG$Gt-i zPuI)?+HgI@{~S42_Ai-Ka7Lx45I&(Ukwj6@i8F6yk_;R_pjO|8-XCjmvCeN9EtOO@ zq>PzU^Z6v#R3L`%#FC>c_DlPeZalG3kD)7)$GN+p3xiU2JlP(uG^F~Wmpi@)D|wP$ z#m5NA_en+n!P6G|rlN{WiK8?{6c^CL2S#W(Y3^@8>6mUn)4ls`T3p|g>lX)-ZrQVg zjpnguULoV7#Hxp3Vj~b|h?IeX`~HSD>B4plk}EXq8F`em)Ji^M7W`-JHW>jlJv#xZ zDoHMo2VMP+pY`GH=CoB&8idif{aWhpccm2A>y4P-dE@>JL99@;OuNGzJPYNQI>GF* zp1YNA2V|7dj6rN!F3Z>I6-Hs50|*@PMMI(mHe}<@)O8p$V<$Gl+T3pK^@sAUJ)wst zlR*Vz6U%j(&;}1-m#n&Wf~S@0CWTk-Zq8Bm9El7T`m(8zf09oZ2wa>G7G7Y@r)bg3 z6E$b|z7-sw@jEoLzfM2&AP(MM6dcztco(8wAMSX--{@G`e(i#~DBsm}PJZU&)EGXm zp&MvM8GsBy^D6z&;qFU}sfZ~`>`5r7O0UJo91GoEEX^R#|C7q#f20Bt$hFbtC`y@2 z6)Ht4-tfGA`SJJWrXpai13argeF=Dw?s2v~8Z)ndZc}4BtHEay3o;2?Gb_SQafaJlaD@=iLdco7Up=+?O}<241M zLlRJi!J(s&|5TESvNYP(DU)5^1bUS=_$5jUhV#_k%=4&XpDT&nF2q5mZ%~l6Yg)M{ znP7JmB3oB;I$?EMo0>i%mS%6?Frmok?r|g)GbcMfSVj}sV-QfN#3P)PBU!?$+0m*L zkhu#pl=(}L;;y%b&*wTh#Zc!{=tZs_s6`Pf7Wa|q{90WsnKG9W8hXW%(mJxijXx%L ztMWIKJw1vsoB1*85Nf@T<4^-gALc;6CW7v^_xw??raaG<6jS+Aw+OJ|UJ+YfaJN_X zV!eObEb7YN1Ex=uStLsqcl-wBb(sibRDKN5$)4OFeYVxYEr?wNih>fcs}wAzX7D2s zy(a=ihUZL5>tNc?5o8PCh*Fiwc@l9ChpQ(i#C$lErBa{=&Fkh9DZ&edLW>y9C1L9n z$r5|!-jLGFH@*D{CAZbscxHS6)A&&lclqjf!TCh*sVireR$=S?wyf=HCN4}(aXd4+ zrQ^zI?L3`xDQPx$!Gkl+LKGR39SI_bC@&p-uJ*)L(Ui|6#|Da`rG5mAF#Y|=dE)N+ z#NjVc7SRs#B2Mzl>Lt`HQL^Kd6lsq;*UcxMyI5%vSXr@BR%R_6oSe+M75KUWB_sK+ zaN-eYh*}oP-!wxGkUfL{B6BQ;lO#jY#ut@3NWy>A8JR{}8mym7&}i3ktTER2YCAjr z9bC-Wya_+xv%@`cDdbsIi*w)AgZivUe@$T}6Tk!(9wA%>ylLNnT@|>>5 z#xfHY$YNrgGG83QHggUaL}P$E6<+(tw0dYGaUVhADt4?d^o67C3Y7gsnYPm;b8QZq@=(TY%!29%E#+G7OE3%Nv`ce|xV4=g3ns-yvCk@W zRa#g3cpll&5q&#UUZA1}{;?WysuoE4UDzDFlt%Z~9Zv|H_O zyq*NB@00R2cQ$*T*dL=Wgk|L{I}BZOgU2a>n|Fe8H`Tp>Pq0X9F{YoXHK`$dceRMRj+=2P(;wUCKbZ!M1Sl?r|k_D z8g6er7FOp#0$h{&{Vt}WI~TcLHqO63lRTbBB~q*sJD4*ZFHf?SdbJ$)l~e^r-~h+l z3Lp2D`Y2MLPs}xk-!}kBj5dJ@6n|B*QOvvF;FGm#Q-RhO9{aO}PD};d@y7>8idjSz zL^nQ_z}lBJs>-+|wCbtI7he;})1!+4ho9P4|3PrEZjsQK_-`aMjt&n&|7a*3HA}HR zdR6FZh@y19GfJtf`aGEY8-~M9@=Kx99rf<>e^Vkj4DNWtF=O|~tKL#ahi#b}-za4`xJX!tb>CYPSYppPpi_#Y{fHNElG^(lP9rwW=|KI9wfJkWI@4%KKql^GG+bCyFKMX6(V*d46(1eADcmgy z3s;ro8E7{hIaqq9W3)VTC%=dNLZ4g(krp1D49{CsH09@Dkrjg7svs`PgKS}0$3S}z zP`KMlYdB(-TL532^+x_t71UxqjWIYaOD>F{D@Og|$CxWy1dWoIab!BqXZso+*E=a2 z;0I<^!EWk2!auf%9eRtlKzP0uyMyOa;7O1uUITc!4R2`H$ai*7rpVO#^U^}>bkr=w zI7+RAQH<5_Oav&I#TRGR4tAzdE>5mIMzGlVIKr_eB6>FnpV#Hm$;{>%_DsBcxqgOt ziyJ^GG~`KU$tE9uE=e~oljz{#Y*4evs23OF1LisJk&kj}cY<#T)FdzsP#6TBC?xus zMAZi<^wGdZg=-t*Y5!%WS1AjJkyx6k8s4upr0UB_EJ_etjXRXs7-t5+6mSsd!(5k9 zttZi}$1-SzJLpy?#snEubj@G^CNhb3-U!`9JDNQCdSWkkM%KuNN3?23M%IjPzldUKGdr4<@} z9$3rsFnc@S^M3F~42&fnee|Wuc|uV)?9Ka=6r8o zQPbyyOIi=u>)1Q3A=RVj6#()qeE5o$U4`tzZEgh%v+RAs``zBpoM+dX=IjhF{G;N+ zWo<%tt1cdU*kws#DJpGL4I!5y)|wW(5edwwv60k?EfOR0J2F$c*j9#Q1M-pCMN-sv zZ|lSQm1vZk`X3$nvmxFwW_0C^W=U!86TCFX#~B?q8Xc$fKDxqN@bIe!6+gmvGegk zpr9IRf1ng+lXw}3*5w9AK ze1M(4QgT8GgcpnOdAA>tKiDvkC3uF|20(Tk@4tqHE}dYXvMfNw4z$y;cLl`KkoImX z+za^^E<2oG41|ifkitR`bgJ3R6`v{%&ZkG=vm?Kas!=m=`F)Q3n z=1Y%Ldy#5KW3F}(B~C;ZJCejo7a*WE6TCK22ec(M_7|rHooUX6X)gy7^xFIEzf@gO zCwu^glLm*eAQ8ANSub^Ncz4wZ-BjyRKT~~ng5BFbge^l&yD%>=<>WIsoJ#wV4ID_| zBA5i!0b^*@Jd%+sz-vE{1(RV}O~4%};2$=i8p^1~gy)tzNSHjl{W80=yBca;t!ODp z&0^LKE6;jphWq{rQv@RyPWzfc@NeA3iJGOdFKV8nkAWUK3^C|1=Y=v zSR=sO$<{P|q!D0^V)wbCUsoM(*|vf2Y_S5MG$1yhihg3hSiv8qWvX|uq)SQQI49Hxig0Q z%a3cR@`g~jPo{gB53dqcK6dBOt35ZuG0)0GIkH^eq=9z~LUQ@;8>c*mSH9!Bn3ab3 znCy6#7R&}ko`TwRvi=2s={|XZx+>BsrMY&0dD&klW98V(~&RRn~npoRUiigyK9a zhmL?aOi{fIVMKO`2zm~}+=()?pAOH&FJ35fINmSj^rkv&pq2xu2`UfhVZKt= zO+?>=*0A*WAz{(i!=t;z{?OgW5pW>XCpU1M<4#zpnFt+0m;efkxN5ueoW9=;!rwNd z_f3F&yb*+7?|<$>9a;;!K#4uy3%hst2+XQMwq?_-z9A3#O8SC};WQHefPkWf_+k?z z7;FBH@nur`-M6hUqxaVLO+n$mVBM(V{@`M5;f3837mm}mVb+c+V5;-gYA5`Ho`mYqCub4ukGMJW@TOYoGT_EUuOd%}S3jP!T2%f>f zX+m7OP*j8HedYqW^lL7yp|7NT$_-K$|ds$@!&c62PH0y9+5`r`8{> z6N&+RYQz*(CMW?5BwuqqYn^abElBsIl+Gk+h!+UOgBU`6{~*en(b44ZWMBWQQm~e< zN-dMH>(&N7%e2ab&NC6Zgb^v9jn5B+8cBQxv|J@)oh#crz$u%48GnF6D)bb!DpyZW z=n4@)5lO=60G!w18A(O!F23N)>eVMWnA7Kpd{pU6)2%zY0N^Bhl)1vIX9Rw2a@}2k>tZGnox31xm)+ws?8o*r+b{{G&%lrG9%SSk@xq zAH|kH6*AoVZ9cb?Qqed-$0VkLcs*Z++%pIj5hjd`!Sc9;b_S453 z2K{5>eGu-hZpZu4sN?pP@W+NUAV3$FQQVl^WRh!3l&5Vt4Jx6@gw*tEoNMjveEe%A zMwS^7o~S&Us(12isBI>trWg}=(0fF)Q;8Y>b%oD6H5dj<=KYVWsU|+-4G+(*!9m*T zM_Vt=gUvxCYEOlX>HM{JkZJD=aE{NrbH^V}BD2VCm5YxKcJzxM4mHkEycoN)L~jcs zFa7f)5r~R_BQEInE7|VHW<=EwGvpS1V}Ghorei~r)PvBaLLW+^R2iJDlBN9-rMG;* z61pn&%$A^4=U?+!h-~B6{={gXBO$`Xiio@0Db^0PiE3A@mjQ?A6pRjvpV?e@ktSR> zQ?%Z5d$#r9!TEmv(<(R-X*dy$TY7VQdiCItEyKPWeqiefu^R#+En9Ln{khimf10-B zSlQ<^ZB0{fu&CLXzC(&o!NbLa<%2^84f}47@{3Mj|G9N%#o z_;Q{LhB~@6^`Gz&+g;UI_2G3V*R?fL%0kNAX#Hc!Tu!2t+2o0Ff#v_68L4?fe8y$B zrp3teX2y(4f5ypjN5%k?MMJsYV0D2u{P(A!4OdjgcUxpnsgs^Tvz!M!D&cSAsukdv zJRg8AT3TApx47u$Xqzr?(;fu0P8C-R{$R)|t(SGar{JpBNxr9jugwdn&C)j)yjSC2 zZ@H{*7Qa5`dEXBC?gBqryEmUn8Vuf>dLXBHuQE?M(cWe5H^aOU-@)*OKD++I+>HLn z#SZ{G#((WLNzqy3G{|A5O%Lnk2 z-Us!cyxl&*@c(1-AN((rn1{=ZPn4%02ja=z7ETW00`4raMq|<(izBu7nLsy_NfzKQ z-%X7rY~{Yk^)T1Y!fIA?xJfczFO{B+pZskMQLdeV)vO{`ZJQiR*ajgsEJ%~d-R?WP zELpUE_k9SzIx_gVHbHt&ctf5-Q5`OrSwn2S&ZSWA17h!ZZRR8rHiDtof0W^{bHqww zJHvD$6nna)WLbGCEH~#Y@{_6-O*dKJy>^7TU0fSBzOycB}d;rA(?*g>;U0g&Dxpp)HRPyDEZum!fiy58mhoI1bU{5Hv- zUywNyexFkqagVD+Ulp@BWpNf?OmKG)KK9KFKb!Sui_{1!If9P?L0dJ@-t%+H4G9t% z!=4N?s%REY7$s^rG&8N0OaO@mOOKSK#2VUa3Zz9Zc6J%PaE;eUMs%ZO&K0>ap3R1M zw03PZeEjZSAGYU1b{R~*nNC{vEb&YyBc|U%#B6F^%q?kWr#=C-dxY>&Q~| zaQ^Nd7(Dm}dzIxHrJMieG-~6BMxi+gm#}lMX`DJj@Msz}OSGSCXuU18bfM}~J!m%0 zM$)Vx7A>2Z69bg5SPffFA3Tb*uA8+Pg(C_9Ri zQI95{rATRO#xMzP(q38o zW=w+P3%(*v?1q8cgTv6nEbsblGL^iq4nTWUw_iu6Qdt@Sf*1AMzcs4qX#h%WG&{i; zf)CG|QnXK1B-?A0KnRk=>ucGU%475q*o%z*`QB^f{)iS;0rcx8lERn%W^L*kof6VM z3L@3?mNJ8B8+$0M9tA3cJ&cOr9$UW7;KdDzohMMLbh`+e0|a&WX{}FUP@NM|(+z!< z4%2HNVonPvLZ^KJh1xSwB)J_Onz{6E-bVhnTllWOAFfI4sfY&28+babFf?5p790%a zWH*IiV$Xz6!`6g{$~;{%sPn*Px~GWUx6jd)%5nM0nypl)Ce0h?$qlv+&Mb%+4XtI!8+Wej{h$jBg(kkb z&0|@T^YTv({PeDQJ^SuG3&R=KkLy{+RAAbkeaTHc(BYgS4vz#c9l4M zF!&v$lDPM=+F#NfsGgCnmT70rjSI~Pz|EAA&cE9J4ttd&LR3wp5(e)PVW?l=Q@S6 zM&97Lbl%!wi_)+^f>Wlhf>)%}LjPQ!R{4C;ED76?lzv#dpwIF>yWLS)bzWs%c}ZJ7 zlbLZ>_cqA0@t~pLn0KwJ0H%-u_wt{Php>*eD}`qhbH@v~<=%IEl+ffbgTK+@y7Uh1 zUlqTmmE7_6*^9N4S@3QyTiTkZ{x{Hkm!%?B_0P(C0lsWh-ZpYM_|AToKym-cY9in4 zMB0R~H)+4`-ZpW__FX|=wE>Ea zMoBo)`+$;xMDBz0u$ehzuVDEMx&mE-+oXEkv~AJ}bw>Hr1=;>u`70Nvu~Pf8nZ8>8 zu$D6eD+>fHGjIM>EBD_96LGW2DBL*Blr_aPM;to~b^Jy3rsbEN40iR5w9e+1kY$bf zTZJ?e13s zsnBvhQ)%5i#5vPccz-k2xzJ@2T{7AdR^6fHe6hZ4pe;F`hBKwA1G#(yTG0wnmAb@~ zDsp21x8yxE&I@PRhbJ-S3GGNgccgs%2BOAU&kG&~8S;B5nE%3Q&M!N@7$-fsE=KPb zPDsl7gG0V&{7VKs@q=X<=@lwEUFixM>_{+AwWnifxi^zVIW&S<2{6Yj=^ii{TP8bG_ygw8>y^Q zuUi4C4=l?~HQk)$vYvJvo1JD|8h2?fT*yzlHaV<-?N zYje3>h&$h`35VCU^v7B)zV?fIUl#qA^nuZx!q9a)Yyx#w*Ppx;5Bm~?T{_ckGtRop zL^Y(B4P{@o`JBtVC7Jy7@HRLU?iy?{Ve2r4WS5u^aoGH19A)Lhb4<7#o^59iXLZ$? zbFo|>VHN7wA>YJ#S6<9_S3wTEr`)D<8=Yx>|Bay(a3|>~ZVv zO*8gR*Si z=JBv98Fw$d;!2hbe1{euFQ*>}%IlXr3d|#JQDrA(v3njOtVv>N98AnV!Q9M( z3c;S?JD6dq?>Wt7eU?127J32=<)cOFeTRMjHlf??+zX5Tn2BCMN4?gXe&~Cky2c1; zwoFSDNUYi;WgwK`Pn2`^`^}(g_0=v`B_D>_TOI;QPV0o&Tg;X3T;N>pt`KUzLX#$0 ztF)BJ+@_ou9w_qq8l(oyEtl&)_~UH}{a3=BdY-1@ENoYQvtrmW&g*eIezl~0rs|%G zD9j0?TRUJA?UC$;=&TiTxkyCmyimlEt(I0kjM%Zg_{!cqT{hs%9KVrEeD95nzQ(T` zS|EFRt5l5znbC{9wVMOOdgum_w8FLt(vCbE0oqzi5SO)Yd@Ax*MbK$n`pP;hCUjD# z6AoeAsN`j?Z{E^4vb|&lfKln(u&+X415SabaZV8mN5=;)%ni?l46gl# ze|vjy!H;G`Yz1#wI1iF2qK2*;)q0$qk3K9(QTuO>!(hbPDjauX$66k|{QDVk+7vRp78?8?K=AJ?M zJMli`wc4^qz7-B0GOmYA3LVnjHuE$HZ^6w)5J6{beae4Rll87zrw!X(&13xs_Z($* zFPmz`?hc=14TBIm>^g7#6)O4&FxO}5t8gle3!?p1^O^(um(czX0r@YH39_CD+1fOi zr}LYpXQCqm29=Y)%pgH55;3Wi5%r8)A=~@h7#bB`lC6H1-x&m?XF~3%(erJ((I8;Y-h=Blr!G z`rYc=(5qGFbm^VR*)FMhor{J}5hC1s-b> zCn>mm6ZxrrDO-2s8XKlM7`0U`wK@Md=g?`+vs8jf7uP=9A8(nuSpwAA z)TG)ImeW;L5?}NS?dnU%_-Gs4Jg~84S>A4WH~s3RX)4!kJ?qrx6H{KJ_ZcLzRsj8_ z6P5;Ry-Q@@I7h}LEH%2utClXqHAR+qo4N(PoUtjAe=xW(*e;=tTTv*vtg32{t7AJh zDOfG7KS=GMv0jG-yY@@B?U3r&p;Y}1RbA^F4sx7%3f|?-@H`X|*qAYRjosj*ZDdo~ zaOA+~oc0_A25DRR%4q4N5eBhk2Mb^e+{rpG%3R0aa~N&Nny{#~mW=>?dnZk}O*ON8 zk0Ge&*011NfEeoP4$$tWy&3hwq9fNIYcT>vk^2-Yk7W)VeM%GQjy4TvJpwV zvXsJ^IdFW{&FWYn_C^df)28-rpdkb2qY3THbK!Y?nx%j0%GlVP1*h$O{X-!~tvx~W zSHr2#XOc4dul#F+Z?#WOEI%%oe6IA*aKN#8Ox?$-`-_!3Fq<$3{G7IK`|(DVvkpUk za@h^gNfcow;VQ&-K;j`9wdLCgqa4PP_uzVEk;)``#84zhQBO9}XkxOc13L_P9M|Mzbd@A~4XQF2iMC2I59Zro( zY4CLhec!KHgl=*c+hXBzD+P=rW#{268v_7O^fksP9Xa=sQzgi&&u!bOI@ZK%?kF-T zjTF=={Z~A#E}n2$sBQENLPRp7PgciBpJ=I#TRYH~aNuB7Wd06KG82>gC`O({2;kqO z>KGk90UJ1cq{G`uQr?)IXtq;y=uEIvY?+j~jjv1CPry(o(QuY=OV|PmE(T!eYa7%? zgoq5%u&CiY5A!{AUK+}vp6|y4;2_sb{g~UgSJjC8$R2VhH)!6e9cBvytV$w1`{)UJ zOxhFxai((;ex0k{XX3!0MYkM3+1|$#so?c+#`h&CG3A!Up#ZVFDH5^dn&e4CIZmE= zn=C8O0WB7v9rjtK^x+#1tvuC)Wm@vGMhFK#68lmGxn?q-_dMQb_D4w444AM!M(nVa!7>1!T$H zSM69X7D|&K>~${LX6RICqYPbMTYGoNz8VfT2BY?J3#GU*!oMdHCY0+YQ;%zJ@){x& z4-g76jiXXWt@7I-mPZb*e11KjaA}{8juFY5BHkQNSd_C#`x)xLNf+L7iGOh~j!b5E z)jIY#=yQgbO$ge3t3`h)v zG#-%(3XV|&?Pt) z-#!hFWq4m1y^n#d_Dc(gzq}~?&%PxkrB|Vu?HX&~a0fK~I*e^{ciDkCU(gZVyjaCE zpyjjn;}RD^SwbS}T(9EQLdO&BS76ALK~)eAo<-subJRb$n#nqDKFTT_&|<1h-*EOB zLKKd~K*l64$N%~h&dADnn}y66n*m3~p@sTYB4pqmh@(Dlc7B{b3C(VIesp}Nd++4% zP_umVnF3IrE2Wi`XnwzK~(W50#}97k3;|~_BQS$-z?e*&wSvWtMf<`9KjL zPclOOarsO2Oi%1nliKKTm8M9-fT?B~m_j8Vo^QV-FI!(on^iz$o|ewGK31a{#vh8t z2q{Ychs9h{QBrcg`Kt$K#MH{${JJ2oRkj^jMt2{0qbE}A)X^psddhB;%VLACTlZqh zi7XRM1_5l{G50pLKho1uCcDnxU9~+PsNss7CXCl0j;}#*-i<=4rpQwKi}MP4;+_g~ z%g2@t*di9}tGb&?(KvH!<*d3^$~lXPowrl7G60pf@gy6`5gcqErfw$P6}qh80U# z-{34y40vZjHV`zl#Am@miKhEC5MPiugtfR+bKz+TZ*aX#kQF6*Rt#7U*!{NJ zWC<|m4Pgk`<&WUULD+#quEU3;3)$`d<vfs2$|=*7Iu=m{|rs~wK~g!`7;_`o@#u1iaV@_lD;XzJ)ZXjgutsyf+X9$QhNFRb zoNC+L_N02E&^Yfl=!NWgIO|qP?YJgaVW#_09ZVj;eJy&p0cS&5dp%i(4l*-kxCLgD zmztY0)bNPaAv^=UXrxVp>OMCkvT+i-AH;t`A^QnE=!$B_Q5aLToWJ+=G8v_a5K3(k zUYGKWqBmPDl%kvR-D~9V>w=*^Ht~L)j*5o6jYXqBrr=w38F<(8M?Z)D!MjD7<~krl zzD~&&n=|kRrVYOJ5$fEcgu9Q+0uGpYYyK|2^+B{9kg=RG^V-cDcoTwsnPA?fWDmuB zskR@G@odraUjKuI;5H`fxn$rC!4&7WOp2JV_}ZZP>TA`h>(cOt>c zz;&o-=R>={O}>ZJ6@OW1$ibrqjBE40zBBmscI4tMOUQ})?7TtCOPvH`kq{3C7tT zok6GEe}f~$-!=QEQw)Vd>z^U?u(vhsaZ=RKT}B#9;SP$uI)VJZos%4U8{}@RE$5zT zMSQvn8`|cpuUu@3j`fM>=A4%=oOEKAMx#Y3MPub9OsH9W%c%nqKqnFL>gEj#4I4XH ziWKZc7~Y@=7ZgnbMY$YW+Z!^MK(W#kN=oUf$?aLymeG#ZlOHE5`T!l1(#ULB>UWt*d3n>|0XhY|h#m~Iq zcA}kwo8RyZ2I*a|hc1t=m#nw5T+c{_#~YFGFw3e6SKvL44YiD2>PP0BL2@SXfeMuB zhS!&Qyr+tT7wfd6H56CLXb7eUqOi@wlspYT6&Fo+%$N3ydSp01+Y_3LO8Yls6{+$c z+Ol|GQGY0Qj#S|nY~NJ{4i#^XT#k13_wH}P#KKs&FW<)%ZD?Gos((!X36l!?0APqIQ_0c`RHk=! zRCy#WV>;&7o;Lf!+RjNwPfkmjMvOL@K()=XxHjChxrbaDj?L3|QO*4A-0orf6d&#zf4 z@2he9wl5Pud{3quaVZ2=X_c?Qw?v})>o6TK6g+r_ox{{#yk!Zt*av>k$0*AXVs3NS+)KuzP7mkd4*B&

l%LWbgb`ES_$fHty!WmVdCUssMTl}Fj+C=L{ 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 Qi=5O~NoxVg@6x3|0o>Vp*8l(j diff --git a/Project/SY4.pdsprj.MY-DELL-PC.dell.workspace b/Project/SY4.pdsprj.MY-DELL-PC.dell.workspace index 252ca1f..68276c9 100644 --- a/Project/SY4.pdsprj.MY-DELL-PC.dell.workspace +++ b/Project/SY4.pdsprj.MY-DELL-PC.dell.workspace @@ -35,7 +35,7 @@ - + @@ -372,12 +372,18 @@ 0 - + - + + + + 0 + 0 + + diff --git a/Project/SY4.uvguix.dell b/Project/SY4.uvguix.dell index 02ad551..8023c97 100644 --- a/Project/SY4.uvguix.dell +++ b/Project/SY4.uvguix.dell @@ -11,7 +11,7 @@ 38003 Registers - 115 67 + 115 143 346 @@ -85,17 +85,17 @@ -1 - 150 - 478 - 1119 - 778 + 33 + 614 + 1255 + 661 0 - 563 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000010000000100000069643A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9355CCAB5D1E935B1C8BDCFB1EAD7BCB5C4B9A4B3CCA3ACB4F8474954B0E6B1BEBFD8D6C65C555345525C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF6C643A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9355CCAB5D1E935B1C8BDCFB1EAD7BCB5C4B9A4B3CCA3ACB4F8474954B0E6B1BEBFD8D6C65C555345525C54696D5C54696D2E63000000000554696D2E6300000000BECEA100FFFFFFFF6C643A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9355CCAB5D1E935B1C8BDCFB1EAD7BCB5C4B9A4B3CCA3ACB4F8474954B0E6B1BEBFD8D6C65C555345525C4B65795C4B65792E6300000000054B65792E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C40000006600000000060000B3020000 + 678 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000500000003000000010000004D443A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9365C5359365C555345525C4B65795C4B65792E6300000000054B65792E6300000000FFDC7800FFFFFFFF4D443A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9365C5359365C555345525C54696D5C54696D2E63000000000554696D2E6300000000BECEA100FFFFFFFF4D443A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9365C5359365C555345525C4C65645C4C65642E6800000000054C65642E6800000000BCA8E100FFFFFFFF4A443A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9365C5359365C555345525C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF51443A5C55736572735C64656C6C5C4465736B746F705CD1A7CFB0C4DAC8DD5CB1BED1A7C6DAC4DAC8DD5CC7B6C8EBCABDCAB5D1E95CCAB5D1E9365C5359365C555345525C6164635C6273705F6164632E6300000000096273705F6164632E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000100100006600000000060000B3020000 @@ -118,7 +118,7 @@ 16 - 560000006D0000008E020000DB000000 + 320300008F000000DE060000FD000000 @@ -134,7 +134,7 @@ 0 16 - 0300000066000000BD00000083020000 + 03000000660000000901000083020000 16 @@ -154,7 +154,7 @@ 0 16 - 0300000066000000BD00000083020000 + 03000000660000000901000083020000 16 @@ -174,7 +174,7 @@ 0 16 - 00000000A90100007004000017020000 + 03000000AC0100006D040000FE010000 16 @@ -194,7 +194,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -214,7 +214,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -234,7 +234,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -254,7 +254,7 @@ 0 16 - B3030000660000006D040000D6000000 + B3030000660000006D0400008C010000 16 @@ -274,7 +274,7 @@ 0 16 - C40000006300000070040000BD000000 + C7000000660000006D040000A4000000 16 @@ -314,7 +314,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -334,7 +334,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -354,7 +354,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -374,7 +374,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -394,7 +394,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -414,7 +414,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -434,7 +434,7 @@ 0 16 - 0300000066000000BD00000083020000 + 03000000660000000901000083020000 16 @@ -454,7 +454,7 @@ 0 16 - 0300000066000000BD00000083020000 + 03000000660000000901000083020000 16 @@ -514,7 +514,7 @@ 0 16 - 03000000B70200006D040000F5020000 + 03000000B7020000FD050000F5020000 16 @@ -534,7 +534,7 @@ 0 16 - C40000006300000070040000BD000000 + C7000000660000006D040000A4000000 16 @@ -594,7 +594,7 @@ 0 16 - B00300006300000070040000A5010000 + B3030000660000006D0400008C010000 16 @@ -614,7 +614,7 @@ 0 16 - 00000000A90100007004000003020000 + 03000000AC0100006D040000FE010000 16 @@ -694,7 +694,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -714,7 +714,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -734,7 +734,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -754,7 +754,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -774,7 +774,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -794,7 +794,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -814,7 +814,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -834,7 +834,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -854,7 +854,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -874,7 +874,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -894,7 +894,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -914,7 +914,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -934,7 +934,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -954,7 +954,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -974,7 +974,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -994,7 +994,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1014,7 +1014,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1034,7 +1034,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1054,7 +1054,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1074,7 +1074,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1094,7 +1094,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1114,7 +1114,7 @@ 0 16 - 0300000066000000BD000000FE010000 + 03000000660000000901000083020000 16 @@ -1134,7 +1134,7 @@ 0 16 - 00000000B4020000700400000E030000 + 03000000B7020000FD050000F5020000 16 @@ -1154,7 +1154,7 @@ 0 16 - 03000000B70200006D040000F5020000 + 03000000B7020000FD050000F5020000 16 @@ -1174,7 +1174,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -1194,7 +1194,7 @@ 0 16 - 03000000AC0100006D040000EA010000 + 03000000AC0100006D040000FE010000 16 @@ -1214,7 +1214,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1234,7 +1234,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1254,7 +1254,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1274,7 +1274,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1294,7 +1294,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1314,7 +1314,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1334,7 +1334,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1354,7 +1354,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1374,7 +1374,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1394,7 +1394,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1414,7 +1414,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1434,7 +1434,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1454,7 +1454,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1474,7 +1474,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1494,7 +1494,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1514,7 +1514,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1534,7 +1534,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1554,7 +1554,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1574,7 +1574,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1594,7 +1594,7 @@ 0 16 - B3030000660000006D0400001A010000 + B3030000660000006D0400008C010000 16 @@ -1608,7 +1608,7 @@ 0 0 0 - 32767 + 940 0 8192 0 @@ -1648,7 +1648,7 @@ 0 0 0 - 32767 + 463 0 8192 1 @@ -1668,7 +1668,7 @@ 0 0 0 - 32767 + 612 0 8192 2 @@ -1683,14 +1683,14 @@ 3119 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000560000006D0000008E020000DB000000C40000004F00000070040000BD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000560000006D000000160100000D010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFC00000004F000000C40000009C020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000560000006D000000160100000D010000000000004F000000C00000009C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000560000006D000000160100000D0100000000000095010000700400001702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000009C02000000060000A0020000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000560000006D0000008E020000DB00000000000000A0020000000600000E0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000320300008F000000DE060000FD000000C40000004F00000070040000BD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001E0600008F000000DE060000E5010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF0C0100004F000000100100009C0200000100000002000010040000000100000074FEFFFF69040000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000006E0200008F0000007A030000DC020000000000004F0000000C0100009C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB090000018000800000000000006E020000D5010000DE060000570200000000000095010000700400001702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000009C02000000060000A0020000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B401000077940000018000800000010000006E020000E00200006E0800004E03000000000000A0020000000600000E0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2230 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000454494D33960000000000000013000454494D33077538206461746104646174610673697A656F660B4644435F5245414428312902A3AC054750494F4210332C342C352C362C372C382C392C3130054750494F410E4144435F444154415B6A5D5B695D0454494D340A444546554C545F54494D0ECAB9C4DC444546554C545F54494D043130323403636832026368036368330952585F427566666572067072696E746600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000454494D33960000000000000013000454494D33077538206461746104646174610673697A656F660B4644435F5245414428312902A3AC054750494F4210332C342C352C362C372C382C392C3130054750494F410E4144435F444154415B6A5D5B695D0454494D340A444546554C545F54494D0ECAB9C4DC444546554C545F54494D043130323403636832026368036368330952585F427566666572067072696E746600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 1423 @@ -1706,7 +1706,7 @@ Build 680 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000093137313439323130359600000000000000010009313731343932313035000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000093137313439323130359600000000000000010009313731343932313035000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 583 @@ -1722,7 +1722,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1746,12 +1746,12 @@ 0 100 - 1 + 3 - ..\USER\main.c - 17 - 30 - 38 + ..\USER\Key\Key.c + 15 + 74 + 85 1 0 @@ -1759,17 +1759,35 @@ ..\USER\Tim\Tim.c 9 - 106 + 46 12 1 0 - ..\USER\Key\Key.c - 15 - 72 - 85 + ..\USER\Led\Led.h + 0 + 1 + 5 + 1 + + 0 + + + ..\USER\main.c + 27 + 35 + 42 + 1 + + 0 + + + ..\USER\adc\bsp_adc.c + 32 + 1 + 3 1 0 diff --git a/Project/SY4.uvoptx b/Project/SY4.uvoptx index cd6b1cd..b1cf978 100644 --- a/Project/SY4.uvoptx +++ b/Project/SY4.uvoptx @@ -28,7 +28,7 @@ 12000000 - 0 + 1 1 0 1 @@ -77,7 +77,7 @@ 0 1 - 0 + 18 0 @@ -269,90 +269,6 @@ 0 0 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c - stm32f10x_adc.c - 0 - 0 - - - 3 - 6 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c - stm32f10x_bkp.c - 0 - 0 - - - 3 - 7 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c - stm32f10x_can.c - 0 - 0 - - - 3 - 8 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c - stm32f10x_cec.c - 0 - 0 - - - 3 - 9 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c - stm32f10x_crc.c - 0 - 0 - - - 3 - 10 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c - stm32f10x_dac.c - 0 - 0 - - - 3 - 11 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c - stm32f10x_dbgmcu.c - 0 - 0 - - - 3 - 12 - 1 - 0 - 0 - 0 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c stm32f10x_dma.c 0 @@ -360,7 +276,7 @@ 3 - 13 + 6 1 0 0 @@ -372,31 +288,7 @@ 3 - 14 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c - stm32f10x_flash.c - 0 - 0 - - - 3 - 15 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c - stm32f10x_fsmc.c - 0 - 0 - - - 3 - 16 + 7 1 0 0 @@ -408,43 +300,7 @@ 3 - 17 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c - stm32f10x_i2c.c - 0 - 0 - - - 3 - 18 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c - stm32f10x_iwdg.c - 0 - 0 - - - 3 - 19 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c - stm32f10x_pwr.c - 0 - 0 - - - 3 - 20 + 8 1 0 0 @@ -456,7 +312,7 @@ 3 - 21 + 9 1 0 0 @@ -466,6 +322,150 @@ 0 0 + + 3 + 10 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + 0 + 0 + + + 3 + 11 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + stm32f10x_adc.c + 0 + 0 + + + 3 + 12 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c + stm32f10x_bkp.c + 0 + 0 + + + 3 + 13 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c + stm32f10x_can.c + 0 + 0 + + + 3 + 14 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c + stm32f10x_cec.c + 0 + 0 + + + 3 + 15 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c + stm32f10x_crc.c + 0 + 0 + + + 3 + 16 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + stm32f10x_dac.c + 0 + 0 + + + 3 + 17 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c + stm32f10x_dbgmcu.c + 0 + 0 + + + 3 + 18 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + 0 + 0 + + + 3 + 19 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + stm32f10x_fsmc.c + 0 + 0 + + + 3 + 20 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + 0 + 0 + + + 3 + 21 + 1 + 0 + 0 + 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c + stm32f10x_iwdg.c + 0 + 0 + 3 22 @@ -473,6 +473,18 @@ 0 0 0 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + stm32f10x_pwr.c + 0 + 0 + + + 3 + 23 + 1 + 0 + 0 + 0 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c stm32f10x_rtc.c 0 @@ -480,7 +492,7 @@ 3 - 23 + 24 1 0 0 @@ -492,7 +504,7 @@ 3 - 24 + 25 1 0 0 @@ -502,18 +514,6 @@ 0 0 - - 3 - 25 - 1 - 0 - 0 - 0 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c - stm32f10x_usart.c - 0 - 0 - 3 26 @@ -630,6 +630,18 @@ 0 0 + + 4 + 35 + 1 + 0 + 0 + 0 + ..\USER\adc\bsp_adc.c + bsp_adc.c + 0 + 0 + diff --git a/Project/SY4.uvprojx b/Project/SY4.uvprojx index 685753e..bcb27d2 100644 --- a/Project/SY4.uvprojx +++ b/Project/SY4.uvprojx @@ -335,7 +335,7 @@ USE_STDPERIPH_DRIVER,STM32F10X_LD - ..\Project;..\USER;..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\Libraries\CMSIS\CM3\CoreSupport;..\USER\Delay;..\USER\Key;..\USER\Led;..\USER\Tim;..\USER\Usart;..\USER\Sys + ..\Project;..\USER;..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;..\Libraries\CMSIS\CM3\CoreSupport;..\USER\Delay;..\USER\Key;..\USER\Led;..\USER\Tim;..\USER\Usart;..\USER\Sys;..\USER\adc @@ -409,6 +409,36 @@ 1 ..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + stm32f10x_dma.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_tim.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + stm32f10x_usart.c + 1 + ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_adc.c 1 @@ -444,16 +474,6 @@ 1 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c - - stm32f10x_dma.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c - - - stm32f10x_exti.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c - stm32f10x_flash.c 1 @@ -464,11 +484,6 @@ 1 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c - - stm32f10x_gpio.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c - stm32f10x_i2c.c 1 @@ -484,16 +499,6 @@ 1 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c - - stm32f10x_rcc.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c - - - stm32f10x_tim.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c - stm32f10x_rtc.c 1 @@ -509,11 +514,6 @@ 1 ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c - - stm32f10x_usart.c - 1 - ..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c - stm32f10x_wwdg.c 1 @@ -564,6 +564,11 @@ 1 ..\USER\Sys\Sys.c + + bsp_adc.c + 1 + ..\USER\adc\bsp_adc.c + diff --git a/USER/adc/bsp_adc.c b/USER/adc/bsp_adc.c new file mode 100644 index 0000000..9abed75 --- /dev/null +++ b/USER/adc/bsp_adc.c @@ -0,0 +1,121 @@ +#include "bsp_adc.h" + +__IO uint16_t ADC_ConvertedValue; + +static void ADCx_GPIO_Config(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + + // 打开 ADC IO端口时钟 + ADC_GPIO_APBxClock_FUN ( ADC_GPIO_CLK, ENABLE ); + + // 配置 ADC IO 引脚模式 + // 必须为模拟输入 + GPIO_InitStructure.GPIO_Pin = ADC_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; + + // 初始化 ADC IO + GPIO_Init(ADC_PORT, &GPIO_InitStructure); +} + +// ANSI C标准,C89 标准 +// C99 +// C11 2011 + +static void ADCx_Mode_Config(void) +{ + DMA_InitTypeDef DMA_InitStructure; + //开启ADC_DMA时钟 + RCC_AHBPeriphClockCmd(ADC_DMA_CLK, ENABLE); + //初始化ADC_DMA通道 + DMA_DeInit(ADC_DMA_CHANNEL); + // 源数据地址 (ADC寄存器) + DMA_InitStructure.DMA_PeripheralBaseAddr = ( uint32_t ) ( & ( ADC_x->DR ) ); + // 目标地址 (内存中) + DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC_ConvertedValue; + // 方向:外设到存储器 + DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; + // 传输大小 + DMA_InitStructure.DMA_BufferSize = 1; + // 外设(内部的FLASH)地址递增 + DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; + // 内存地址递增 + DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; + // 外设数据单位 + DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; + // 内存数据单位 + DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; + // DMA模式,一次或者循环模式 + DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; + //DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; + // 优先级:高 + DMA_InitStructure.DMA_Priority = DMA_Priority_High; + // 使能内存到内存的传输 (否) + DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; + // 配置DMA通道 + DMA_Init(ADC_DMA_CHANNEL, &DMA_InitStructure); + // 使能DMA + DMA_Cmd(ADC_DMA_CHANNEL , ENABLE); +/*----------------------------------------------------------------------*/ + + ADC_InitTypeDef ADC_InitStruct; + // 打开ADC时钟 + ADC_APBxClock_FUN ( ADC_CLK, ENABLE ); + // ADC 模式配置 + // 只使用一个ADC,属于独立模式 + ADC_InitStruct.ADC_Mode = ADC_Mode_Independent; + // 禁止扫描模式,多通道才要,单通道不需要 + ADC_InitStruct.ADC_ScanConvMode = DISABLE; + // 连续转换模式 + ADC_InitStruct.ADC_ContinuousConvMode = ENABLE; + // 不用外部触发转换,软件开启即可 + ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; + // 转换结果右对齐 + ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right; + // 转换通道1个 + ADC_InitStruct.ADC_NbrOfChannel = 1; + // 初始化ADC + ADC_Init(ADC_x, &ADC_InitStruct); + // 配置ADC时钟为PCLK2的8分频,即9MHz + RCC_ADCCLKConfig(RCC_PCLK2_Div8); + // 配置 ADC 通道转换顺序和采样时间 + ADC_RegularChannelConfig(ADC_x, ADC_CHANNEL, 1, ADC_SampleTime_55Cycles5); + + // 使能ADC DMA 请求 + ADC_DMACmd(ADC_x, ENABLE); + // 开启ADC ,并开始转换 + ADC_Cmd(ADC_x, ENABLE); + // ADC开始校准 + ADC_StartCalibration(ADC_x); + // 等待校准完成 + while(ADC_GetCalibrationStatus(ADC_x)); + // 由于没有采用外部触发,所以使用软件触发ADC转换 + ADC_SoftwareStartConvCmd(ADC_x, ENABLE); +} + +void ADCx_Init(void) +{ + ADCx_GPIO_Config(); + ADCx_Mode_Config(); +} + +//typedef struct +//{ +// uint32_t DMA_PeripheralBaseAddr; // 外设地址 +// uint32_t DMA_MemoryBaseAddr; // 存储器地址 +// uint32_t DMA_DIR; // 传输方向 +// uint32_t DMA_BufferSize; // 传输数目 +// uint32_t DMA_PeripheralInc; // 外设地址增量模式 +// uint32_t DMA_MemoryInc; // 存储器地址增量模式 +// uint32_t DMA_PeripheralDataSize; // 外设数据宽度 +// uint32_t DMA_MemoryDataSize; // 存储器数据宽度 +// uint32_t DMA_Mode; // 模式选择 +// uint32_t DMA_Priority; // 通道优先级 +// uint32_t DMA_M2M; // 存储器到存储器模式 +//}DMA_InitTypeDef; + + + + + + diff --git a/USER/adc/bsp_adc.h b/USER/adc/bsp_adc.h new file mode 100644 index 0000000..e1fbbbb --- /dev/null +++ b/USER/adc/bsp_adc.h @@ -0,0 +1,32 @@ +#ifndef __BSP_ADC_H +#define __BSP_ADC_H + + +#include "stm32f10x.h" + +// ADC GPIO宏定义 +// 注意:用作ADC采集的IO必须没有复用,否则采集电压会有影响 +#define ADC_GPIO_APBxClock_FUN RCC_APB2PeriphClockCmd +#define ADC_GPIO_CLK RCC_APB2Periph_GPIOC +#define ADC_PORT GPIOC +#define ADC_PIN GPIO_Pin_1 + + +// ADC 编号选择 +// 可以是 ADC1/2,如果使用ADC3,中断相关的要改成ADC3的 +#define ADC_APBxClock_FUN RCC_APB2PeriphClockCmd +#define ADC_x ADC1 +#define ADC_CLK RCC_APB2Periph_ADC1 + +// ADC 通道宏定义 +#define ADC_CHANNEL ADC_Channel_11 + +#define ADC_DMA_CLK RCC_AHBPeriph_DMA1 +#define ADC_DMA_CHANNEL DMA1_Channel1 + +extern __IO uint16_t ADC_ConvertedValue; +void ADCx_Init(void); + +#endif /* __BSP_ADC_H */ + + diff --git a/USER/main.c b/USER/main.c index de0f2b3..5817b61 100644 --- a/USER/main.c +++ b/USER/main.c @@ -16,6 +16,7 @@ #include "Key.h" #include "Sys.h" #include "bsp_usart.h" +#include "bsp_adc.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ @@ -26,15 +27,15 @@ int main(void) { - u16 led0pwmval=0; RCC_Configuration(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_GPIO_INIT(); KEY_INIT(); TIM2_INIT(499,4999); - TIM3_PWM_INIT(9,499); - USART_Config(9600); + TIM3_PWM_INIT(4096,2); + USART_Config(9600); + ADCx_Init(); printf("\r\n说明:\r\n"); printf("0--关闭流水灯\r\n"); printf("1到4--打开指定灯\r\n"); @@ -43,13 +44,8 @@ int main(void) printf("?--查看说明\r\n"); while (1) { - delay(100000); - - led0pwmval+=1; - - if(led0pwmval>9)led0pwmval=0; - - TIM_SetCompare2(TIM3,led0pwmval); + delay(100000); + TIM_SetCompare2(TIM3,ADC_ConvertedValue); } }