From b99e29d97ea028ae0e69173b74ac5132c41c0e99 Mon Sep 17 00:00:00 2001 From: MMS Date: Thu, 7 Aug 2025 20:02:42 -0400 Subject: [PATCH] 3.0.8 --- lesson-55/stm32c031-freertos-cube/README.md | 20 +++++++++++++------- lesson-55/stm32c031-qk-cube/README.md | 20 +++++++++++++------- lesson-55/stm32c031-qk-keil/README.md | 15 +++++++++++++-- lesson-55/tm4c123-qk-keil/README.md | 15 +++++++++++++-- lesson-55/traces/freertos.png | Bin 0 -> 15482 bytes lesson-55/traces/qk-pt.png | Bin 0 -> 15477 bytes lesson-55/traces/qk.png | Bin 0 -> 15100 bytes lesson-55/traces/qv-ms.png | Bin 0 -> 15643 bytes lesson-55/traces/qv.png | Bin 0 -> 15500 bytes 9 files changed, 52 insertions(+), 18 deletions(-) create mode 100644 lesson-55/traces/freertos.png create mode 100644 lesson-55/traces/qk-pt.png create mode 100644 lesson-55/traces/qk.png create mode 100644 lesson-55/traces/qv-ms.png create mode 100644 lesson-55/traces/qv.png diff --git a/lesson-55/stm32c031-freertos-cube/README.md b/lesson-55/stm32c031-freertos-cube/README.md index e34709c..791e6b3 100644 --- a/lesson-55/stm32c031-freertos-cube/README.md +++ b/lesson-55/stm32c031-freertos-cube/README.md @@ -13,11 +13,6 @@ This example implements the "Periodic-Sporadic" application on the STM32 NUCLEO- STM32 NUCLEO-C031C6

-

-
-Logic analyzer trace after pressing the button (QV kernel) -

- # Code Organization ``` stm32c031-cube @@ -78,6 +73,17 @@ The logic analyzer needs to be configured as follows: - trigger: Sporadic (PC.13 on the NUCLEO-C031C6), falling edge - pre-trigger capture ratio: 10% -# Example Logic Analyzer Trace +# Example Logic Analyzer Traces -![Logic analyzer trace](trace.png) +

+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive QK kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel) +

diff --git a/lesson-55/stm32c031-qk-cube/README.md b/lesson-55/stm32c031-qk-cube/README.md index e34709c..791e6b3 100644 --- a/lesson-55/stm32c031-qk-cube/README.md +++ b/lesson-55/stm32c031-qk-cube/README.md @@ -13,11 +13,6 @@ This example implements the "Periodic-Sporadic" application on the STM32 NUCLEO- STM32 NUCLEO-C031C6

-

-
-Logic analyzer trace after pressing the button (QV kernel) -

- # Code Organization ``` stm32c031-cube @@ -78,6 +73,17 @@ The logic analyzer needs to be configured as follows: - trigger: Sporadic (PC.13 on the NUCLEO-C031C6), falling edge - pre-trigger capture ratio: 10% -# Example Logic Analyzer Trace +# Example Logic Analyzer Traces -![Logic analyzer trace](trace.png) +

+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive QK kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel) +

diff --git a/lesson-55/stm32c031-qk-keil/README.md b/lesson-55/stm32c031-qk-keil/README.md index 1d87a5b..6ae2701 100644 --- a/lesson-55/stm32c031-qk-keil/README.md +++ b/lesson-55/stm32c031-qk-keil/README.md @@ -22,6 +22,17 @@ PB11 PA11/PB9 PB6 NC PA2 PA12/PB8 PB7 NC -# Example Logic Analyzer Trace +# Example Logic Analyzer Traces -![Logic analyzer trace](trace.png) \ No newline at end of file +

+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive QK kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel) +

diff --git a/lesson-55/tm4c123-qk-keil/README.md b/lesson-55/tm4c123-qk-keil/README.md index 323521f..c4b6bd3 100644 --- a/lesson-55/tm4c123-qk-keil/README.md +++ b/lesson-55/tm4c123-qk-keil/README.md @@ -13,6 +13,17 @@ PA6 PE3 PD7 PA3 PA7 PF1 -- CH2 CH1 -- PF4 PA2 -# Example Logic Analyzer Trace +# Example Logic Analyzer Traces -![Logic analyzer trace](trace.png) \ No newline at end of file +

+
+Logic analyzer trace after pressing the button (non-preemptive QV kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive QK kernel) +

+

+
+Logic analyzer trace after pressing the button (preemptive FreeRTOS kernel) +

diff --git a/lesson-55/traces/freertos.png b/lesson-55/traces/freertos.png new file mode 100644 index 0000000000000000000000000000000000000000..d69e22b77b3effa4121f31935e6f384c2b36d646 GIT binary patch literal 15482 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 YDHd0fN=%0SW)gPR@cilQKd(RhKh>x@xc~qF literal 0 HcmV?d00001 diff --git a/lesson-55/traces/qk-pt.png b/lesson-55/traces/qk-pt.png new file mode 100644 index 0000000000000000000000000000000000000000..b71524ac43adcd5967e90ad5ec91cbe1bfb9887a GIT binary patch literal 15477 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 M^)KZ7cJq(_1CFFkz5oCK literal 0 HcmV?d00001 diff --git a/lesson-55/traces/qk.png b/lesson-55/traces/qk.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d35ca992b914a5a81a1a8545f7ef86a1a072c9 GIT binary patch literal 15100 zcmbVz2V7Ih_J7o;xMJD0q0;Q2h#)Avtb$+zWD$@WTtpCs&_m0Ot|E(clqMyssH`HO zw9rBnr8kjYuRsa`LL?!Cn?n9KLErAa_x8Qt=l}VHo6O9axo6It@0oMX3{e-&O*gFD zwGM$mY&d(y_$LHH0ze>EK3}^Eu1P-L0avU-T)c4UG+cZkv|+m;S`mojZch>|-UG&MHZwN+IzAwEGzN#Cl{>d~vp+-JYPul?Y9)fM!+ zIMCbU==QWHbmb`Ja|xGw;a2{YH*D?ek^vV(>!G4By%kII(+I@Xvg;n*XkUw+qI^Db=6Y9GxBKHGt&>8iCnnx%WoZqma?2LdJL_7Mqao{ApYC;UAuS=KY@gV$c2q^fCmYs&uTZ zBt9X2_qoXKXszcjo~Nd#taN>?z2a(muFs56sP9`monftnSoyl}jmhB^f#}NS!9E&e z{IgI#x^VYh8Xa3^ao-;c?uBvgak;NtOW>c>KL_Wp)T6CMKpy_}L}4lSCP=tf)MWKki<- z72C#NVqCrTd)JrtNF5Dzq=U6D?&J2IyONTU)YQUIXHvR{dV)MxJVhXUN+dHfGfZ~w zJW_V#vF+*;s)(xf>+!o~H8diTXMT36L_UA@a+lgqbL{+*;*#)o<%cBWo4dEv4A72e zj!AA@FU0$lnsk58y9+*@vL z)b4NN@Q`@s{&-h>Sk{v#!{#C0~VzaGE+$^X;#A9nklIB{I+Ov--z{t4=*^;PQ) zZT!4^Jo8@V4GGKXuzJf(Pj%8*XI;-u^6<>D`{kWO(*(@l|}IzB)juA=_GaE!l1 zdEUw?%J6$B7q`c%(`Uno)TWmG>gnmN7p^^`g&TalkfdP2+>bd3E@kVT-E6qFS0-du z@-z}V7BS^&DkTgjOh!m)pihr#UA(3WaiwNo=CwyeQ>j%hsFY1bnBFksgN|i*g-;ob z7njou%ehlnegkp6uw!zkqLo2W&E(>^x?=~|Hgrv?UrV)e2cg<+v^vCL`%M}C&zL^h zn~ptry}UK;#|N7_%^U+}E*^d96sOOS#t})Z>1o3=6G!{jvvhUWo!r~axm`&0r(Z|d zH{7%bJ(hl!Pv zt>?zw#0!pqWW~aVqUutaAA$6@{O7tuo2isnWCXLtn8L}1qNHAOLb9{GiMa%Q{h|At zeyfRbfO~w9?8zNkSFzCU__*!Sa%Go(4@CDkPfbAw9qo8Fr1Of87;jl5b0(Y5Xl1o; zs|>Yu3$0pLvA7?>Jdax)m9#pRgtoIdRN8W{l`%t>rOm`tS&YoT+jOlPb;b%x;7ibe)0#bf$c`nlstV75f)OJKeO)l*N+b}XP*B9R34 z2A2P-qdEbAk?WRVJvq7G-SvaKgj5dSEDa1qrRvfto}KxV_%t zarX+S`cNZ(>bAH0$Gv^ndFi8lsi0y5tzfm~gB*Fw1S25FF7=rd z>62wuDkNB$0B%?GtosL*GhOQbN(efX+2G>#+RJdaYwpfHbzf;H_5G)MS?BNNX)P$* zfS_t@|1TcX{x8eDbZXEQJ`ovKPEH!8s~Q=XMi=!|iS9ilP3vYx5%YXy%jQ)<&+eO6 zSwkD{kc{2uT2+rp5xix{_~TgH!+4k5ULCMVlF@{h1B=yVUhn!koWQa&MyBJuy;t>I z$h%(xyzK&dDUJgE^PIl0^UwzOKxL)XdK=Lta}`?SBh?k^PP|XY;2{n%tMV3Ezfx-E z6h8#@JZBXcpsd*+k6RD0J^lBR(EcSSLlXG)Qn5&0EV|PE;-E&>$incx45%C@>R#eCgVqbhne9|S?6hZRfd`n&u@SV_942_=XTAa{C-dLrAx=pZiJjl z&jBkwq`skOjsyeomn;0pF+0@w38$ddE{p}o14P-X!TUi3sw8LY!J|Za z`lw?hf2HaPR>t&^fx!AcgV#Zm{Ovk}rbK@$qS8#7rN?w^VZhRCA_YB0J-oeH1@SObV3Dtlf#*x=$ z&}k=`Vf9{`J#DBR^Uj>BK3VV-&$1jm;-`6IwS(xkH2q*eQVCs3_Z-TacIwPH^pM9z z%VWAGnGPN;Y?9782Gn68TUE;R^m`8xyvG8YO8Xp(H9|&e@r|$q{N^2gHSl`*{nN0n zJ5>C>E}K?Hh*O?UGe)p9G`cnR7mEs&%(aFVp;p}H;4?C@F-YA@K#oQE)Xa4dV`+^s zO#&7A4oXIl1{KIsx6VES{eC-GXfvA}-w!L2K0P|PT% zyNOY`MJnFS{!y?V4QFNBWY0X}AB%(ik0nhP7Rsgw0_Ik6oIghPWLWwI1u z6V_hMELGt5V8(nJoeGzHMtgIQRt7ckvtKT4Y-M;ER=q4b#(ipL4H1q)k0T@vA6AQ$ z$k=%n2hP8S%&1I)6I3wDYU z(Sf1Su3nAZL~?A0X4}B`ULgjq4t^t4+j%m2tadS>DI+^NL7*fhf6aRKcK12-v%St zN}m{ZOJseRk_a>QJ7Wve>FcL}6~9?;V`cmUaWICz@~vD8Y9k_THwN;OKpecwUkQ`L z9|YXt!Rfud9spLri4SW;{8j-e%PGmhW5(D5N)pLSDV|4&2-R#?(3q}GXES-X?V>)Q zmY58ABITiQa~9t&e9A$%6trnCBIX2`zRf6FDLCB78q$u7?$uu6)D$Q3gUXm7 zGS_;C%O?uDJho%HhL5eOE_m!NoQM~iT*X{zoDK^ZO>${T*+)We4Qf<*`>>Hw3C6#Y zR!gKkxzjcGqE(5ur+|^I+%YU{8zNSCji!t+b(vgmp*ys?KZEHY7(_KN@0%fqRJzf` zNw_=H`v_l)g=)U>L>Af#B9O)`*Or zVA}q|K3_Y@NmrJ9GEs4bsp}Hz{i_xGAo?^u>4Hh5Q_lkh2jDzgKP<9S>I?!rVmj%Qy@P`NclLT%nZiNaco)Q;=Ct z7#-hT)R)TT4Ls(AJF5y`T+f5uK5Ss;63+sTU`~1$sav0sS{HGk!`K0rx^*2r;!>Cq zv|-iM>YQd&D8^5~{a)ac;E2mEfkx)&eIEpZpb?2fAyXZjAm~LCEOeDO#F4AyH6C;P zh3=t6$DU#|M%Xf)q7d1{DD5+Fo_KZrPApKhE@D3Ez%%|)yHA#l_zhX0#Q}HIcX9QF zW2T`&S~>RD{my1JSpw0V{q2n0HL!0q;CVI>NR7GPm*?Ap>IPAL*n}iQT@vg$rsxqe zk?)bWY&uX3RVZK9GTWhBg;){7K@kXpy*=z}YnfiMS7xfbhRQ-%Pv{+2_(Q$wq(B9f z`SvG?)7-1ae|5qgy{rB*SwX5NJshLO<0`hzCBAGbMd?*OQ6bvKaAQsV-4ARo)MuAv z0O9BOA<4G&x$Sz_JI@s4fU9hRnDdG?pd1NQM3x^Taq7v>xc8Q3i-J~_1Oe0G6c%$@ z0{qRP=U#KMaIPYxVWEZL3-jbmTMLbpULEpf)nYr23|PzbZS);!N^UBp!GXYGf<~sL zSAWx+(vxjFS21}CwvLuO|E-V{dVE}U0p`QXaF+xp=F0@hOhQ?13_Lf&JxCNhq6x+w z2tLBa_5=`}J(>#U<&Plpvp^jjRINAC!5q|?$1WJwxR26HAp*vkursM?fjxJgXo-!_ zkm}QPx(ph02P#z6{#>AlyPPTAu{oTo^OjE3tIGjyCX$E$y;72FOz`3_WoII9*C91^p$~*KC~C z_P!AaFo=TOj_!;-={H-p*T&WhVy83A(OZkWjGWMFxSJN}z`*=-2W=zdX$w9krJqPi zIu964R2HX1LbNIqDc}$gWDUjGDR}LwQ+gLT?LhT|UDpS|{7^6;VZf6guBtptEYfeSIn}M9=+LTBjAS8rCc^sIn+RBp6qF0VkTt-pzoIV zNM?jTyLlEmGgJ?cea_UVZ$9R#pUK?imy}=XnlNiF9KD*9e&PAWwGvGi9(($+SQ&Z~ zzl|5z`n!9rg<^v~41SCe{3h|DP#?GApf50up|IAnswIIcvqed&@;G3AX)zJ@l>(lgfVSJEhKE=cGNdQUZ)pU>7+)z;EElFNr zKD{3y<*lcz3*%4Y z6rCpf`hxxH-Zs&kG$m*O0p&_gY2na_0VaXV?N++gWXPqbf`dPhUqe}Fo<-gWFg$yb zl`+$TQnS>#@q1AK*|UC}=16qPh|F@t6ooPuNqAb&1u*;OZX)7B0lzm4L^&3%dLnf1 zF!(Lu==v;ho)VHr?a}gP4@q>OlHq8=9AC&dG*7p;p0txssZ_~zP1Dn6hCy+%W8SSt zmnMD=(h=<$ra*`6;vhr6g-6?=MvP#ef6i7fRP_KPcIXfz7DjEihv)qKPN^d9lr^$J zHN=mkiS~P(Lm(_hG-qYe>9P?uJOx;HG>HV+oGe08;{qfId@j+1a%ez!8N~xe7@fSk zOWo^HriLL&Bs|PJ(?KP%Y5vDMt!lz#9i7O^S(0j>KDSB0(!H1$4i?6CAi})hojIq2 zp_O*4=t4Gs_MOCcx8~YVM>V&}-)>NmeNvNZ;Js~yOE^pS1Yv2;e+_4GI)5)5eu+M+ zTs{SH>pQhcjv%h81j|LJmYNbJNm7V|I>eo@a}m{!iif=>V=8Aa>@z@Kt(kqJ$I&+9 zPfs^Zy|>w%qUhVK{ou;Z_Z>sto^x)nmKpzS)N<4nLeyZ1|m%$mK0gzK+v_*!Kr6%PB>%d8-HVv+TqB!jYp8!r2e2pPCVf(yebd)}xFy)!_pC$c&YWjTaYr1uzIqcm(Uh_U zwRXGe*$;X4;X89=EzCW+ARFG+Fe(I2`{|}Y+z^?_Qsld? zcfGXO6m;f}M&@?g@k*A~IzbAI13)X+CY_YFARJn$g*JeP`cBSdmy_?#=tx+edu}QdW9o>E6zBRa*UWw) zPJ1x&Hke^$6ubZ_c7 z5AEGX3BA$vDPWhmV$F6MsV^ zI@XV0xuG&qxkaMp%5!##uaU2j=MA9~oMufnx5T=ogS6&OraoGY8x^Q&JeArYnU~1 zZ9+kF&lCA6z2hx8rrP{1MFIV9?PqB1YW6132&+(#0@&2A>uJa_MAut51raQ^?YT&M3Gjg=sSg5 zw>5aj>?Zc06z^v*Nrz2X(kILWTulLZ|w( z$zZ)f0pnI(a>rDLMq8wLTvbg&#yi7+B2VRwH^^({dytKVZY43yDh1Y1e`F7mJ=EOU z1$5&Z&R;BFa6?vn46ugzB&v*&Z%A6-n9J`10tU~>_oV8N*qO8_62nx9`>>bH9Y%gC zd<1Ps(`nI~JQW01a*uC%3XhudCJpQ!eFTzP^2mK^Wj25Nl<~3(%w=toPcfz+5@|A-m>B&UWmUl+G+4g=UC85XQ43Cu2=plh=f z$($sD4$(#q{+)n?AFAAB(U*_HksRGI^TxvD2KYCr4}Ltq2{c%6R(w1a4(z{RMgvGv zB&h@>bQ-w*0*>RFR2o&__&1ur63(jaCf?#Vt1u-S3;Dl@E5vP*Ov(S&1{3cU_Y)ES z?Fcg`Ams}&v*4ZWpPUfScSEb8)g)UW5&0uP{>IM=C>fa`t`N7K1Vj~IdHwsgZv(k7 zNqAcT?vx{%+kd71+xL7M>l;)5nH!ku5e{?~O(6#69$LM?7uZ??Id1_4wBbYoD`%=_-(UrAwJ{UpV zCCXiVgy`9DP8!#jb$Qo93c$Z+d0ZoIO%tzgeZ(en3*3&8uE!CV_gp!*tAW3CS}i2R zad?nlZ@5G!E`Xac)v+Br1S?I5W+V_i+$Lz zncKv*BO45Bai8j`gM2x9tf@#hb6QdSpHM_ixd_*1Z67%Y3Zs@D1`%GuiFbd@%o=!Q z7>X?2L5q>g6e9(ZVw$FdmRO2EO-bsSMa(STNRpPl;ljzb7RDrTPVo>?JY)-_pUC(d zJ(gyj;k2&Nf3iM?nDxFOAw$pN*cFWpybtBwclHx=N~(En8wRpyiEHYSFL_2rL-;n< z)-BKTZ=|v3^zAk!iGc{?4%V4ySYzPFFMRVN{z9`ze_$orB@ijWzYxHUzbrS4^ihmj zm{iuCj-|us)&eTgTQQ2h4e3obo(?wwiW9*j2T$rPs4fwKTe8jPr|=V zvSA#EKq_h$eZ!a*;aSuV2F8Ex1m(9e4v1d|KTN*P>^A?J*dD+S1r4Ipx8}cab-tKY zW%+;LN<2^kn9{+B*w@Y&lb0uS6vE7jmI*Q|l%I1q!1C)kv4gSlhNqS%L`H9gFkpHP zr=|fulMu}WW@9%IC7{1go{-8ccl;CCbVF^2d(NX#>%%t!+Ve2)2xN=#=%q@nQXQiE zXz=*K<+&$=mL$#j`Fwdv!N{W{DeQtmXCI0aPWEP_!vj#AnpuAC+mM%_e4VwB0Ixll z#u-rj;PAlmA!yI{?{iOTng)1Za{HVv_JCEeIK^Cc~$22ncyC@Z zS1$XZ$e4qjggM30RL>i<4QD!~W1px$nKjXMAlQ#C@_hn2r=RG*zAwN8w^JX8&BjnG ze7b~*?)-66hxW1McbN%VsjH4kbJcNFJsWOwgyEwdBdA;3KM73VZtZ@`kE2P)CoP+t z`+N;DPppUVYW`_A5!vrYU<_ZQCr4e$FZ6vsv&xThOkLi-k~Nwh|3NtN#-C<1mbo*# zt$*MByfMQ0RGa)nMjFlc7}qP2U*@KJz9>u7E9`?MI#+Gr=D||_?_{cSM?ouvV>Xhd zUt7F0%y_n%Og_P!&8dyLi8}l$QBJ&kVt9zua9PKe(Xza*FrX6Q-EX-7>nV&UG1$c4 zV!Vmb_*eKXQ;A!}4S&L_7=T|vDIybt6Rk$p+_wxkvH5@@{}=0^0-xx%pbS*LV$uh& zI<(wTYy-slH~f450R%!SN^}?C|H$*s!^Bjv;n_`u5BFmKfVAk>zr6ozu~B7T8>8?m zj-xtICd=mJ1nlH2!}t%ee3hD5TJ=gqe5O_q{?#`!*^_`pHATLD=Fyh;gs)xUI^md- zD`#R0xKH$c*tY6=LnGARI6c~&p2(qZ_%}@eF&oeA-wXq%{oMXInWGgvnShhv3t2-& zc>-n3>Ys>A0yz#< z+LK8iGVhE^$r6tlP$fDi(Kg2g{_=(1b0_=(4Nq<-vtGYoJhKILY+AFrM2V0<~a?rox6$3cc%NmPtydR%q0Woa5g8&!;f4Cx))puUookq;;wcfI-3zM^EW>eM3#ud#YE`Txla_W5es*j} zg-o#0kD`$E+dD z!Xt;TuuXv>FYMf9R8INu6keQLFr?LSh1y)@ef(DHC)=a^xet>|Mjm@cuF54D;Hb$hn|G|~5GG$fyQznPs1W;wwRn`k-w=C(E_*0G48EZ{*wxC-bD+8zm z^=K=VOlZ9InTn11u=Mk`@ZXPvvYp}QC$5vBYopRgGd-|f6(p>pR=w5&qm!kHcr7p@ z846k$88v#}hBjq~Z?g90#{qp60kr66N;FMSwvGo}q1AAZDbIBCC_{GXj5Hk8a`P0}hW5x%E*w0kR?@N-E zyyK`2otj|Ii}07hS&%9AlXM)JHD(iP`+@bWvgiu4d8QdREORvbtXuI5WW+wr2E1*$ zieve43a$(j8LBvj>ly_jH|Gs9mj@A~)O|eh7B2e*`pP7Y6=_78d@% zLCXK3_{;x^YNc7D$hwFOoG65X%^mFg!zEjB2=VvDWt05Bs6=7N-;E&(!o;mEPgr45 zVrErb=EW0y>x=^njK8v#HYxJ;;0cT3G?72JY%`lxK9cxy2mf64RXpD){_imOY#$KZSK&jH=v zUr5!vOk)^&B`u3Yx&syN^KQelBIkrNGEh51Z+mQ1&f_@wS8Z#6*{=Ne*cD z><88>7O%_@48Hf3gJ8hOM5X+3zfUYJ+G~gaqeC=DlEjVjDyqoT+^3<3KK#>$5A!3z*K)O$$8K1-rlEt z=gs%5J{y*T{Iains8xa^{QC#)|#x7{#Vb z1?6+vakGq#6}vM5Rhbk`1LPMMa1u>KFIoKrI}vc;!mQ7c$U}R^jaqEQg#jUbc|Hr7 zJ`^;-xf!s7DV>G=T%3$PB3lHyqt1#WNk+dx&_t2R=$%V~7q(~Nt#kz>I{|yi3zLZ$ zaR9XB@^gTY`0-Sw5Rvwa{n$4bt17qV?}DEOU7~zu(?d3HD*uQ0?uyS5&xCS=uw87` ztxa^T#pzzFDTmGP9Mstq=6)1&EPJ~^vp6hsJM?(5cYG*1g{q6p%DY84k_j=~vsv19XYQXI;N!YkMtg5$0KQvBu|ekJ~9w*Gr3apFbf zGmCwkZ(iviMR8R47=qfqPCy*QePdXO_;Fa24-wCBhbT%FC6+`bQE>YA#pU4hpTy## z*v$V+r`j|Y@1iTDFA$jda_z;@7D-c3U(e(%Vf$nl*t4R*YBl7gMHGJ8Dx4Kmi52YOTK7E=ki>!_o43%!#PzO%@L=8gjrB z&k~spy!sZbKi6-WP5d0+gszM_2gBA-Z`UUIv~n#OIpF=BXM1LEYZ~7f37+t;sO(Ys zhp>$n|1=j)I#_muEJ&q4X)hp}%uHe{M!IrQxEfdPz?f>8zD(?rQsGH~#ocJ&4KI7n z$9S&ZwB(4j)T?w8s}l-~Q<^MDLe}9ABc; z1l*`jf$&F38lbPbI`#muja#3yOsDY(yoLq;KC!0T#LrFNCO;n#BZ3vCgeqyK|mauqA1qeV1E?LVma zQ-6B72%#|4z5?|MstNW>M68K(jQ?zcDMX>&U)cWI^H25gP-&i`6wV)W`|I#u>qTFG zdF{W^M|>ypk3`k>f%7~+PCvm>97yTQ?j!DNL~&HSWs8xS3u~6SLjOZ_+|@r4I_Uki zVwlO}pJ(Lz&#IW~in5IG{NMl#Cp2CR@%VLeOB0Fw{s0F`EweTsf$EweY4f4O%kYZZ zO?;f&fgS&N-QpFG^s5Om`hm6GQs;Gxre%Y&4_0g+u!j60NKbA<TN{Afd`p}k*OSF*LOm8o4}0CoUf{ENCPrh0fZAZU z%)Pn};{5y*qg>^sv8?Egv2fl3K7?9@lyKJfIv>jYFqyqk`Ko7Og6`7mtC1&eA9@}F z#rpB!k<1TbceIzYxcQyuYdah9^PvnDQdwSw$aTm9FCwLJ$GC8s*tBvEq9uU3DkJ!Z zJqe&zL5F4v*pr7Vp57)(JT@|=y=-e3Opkeo=BX`nYp8y}d1+iBh#nlTl*ZW>0t3=; z{0i^vi}g9*_o~jvVlPB@{65%uxcR1UU!FozQ`}^x$GJ&gsC4`%%yPIjFJEOT%sH_J zFN`;5J$@j{R=UCg)T-_Alj^whY}wcQC!X;PVKkYqvbv}gK4JOQcSr!A1OEo4F!XZr z`a)DEgP@KK_oc|H%cqB2So9xjjZB#hSCmoCE_bDVdN$S&G1o2WUQ-@GBRty@-&&2P zd>W(ZK34|1E)JN1ImtI2myY90_EHiDg8KX7OIg4HB zOC6k#s;uNx|F66Kk&uwb3@7_^M(r3S?9H{Bm%3qBf)j#ll;_(M^^F!r2GS?S)4mJi z2QAWHyYB?j z6r3<9Yf$N{j7M73l=#(8n+F^i+jYN-DX;yK`uppTb-a&O_9+Dg4@Krqyv@Qpvv`jd z8@S~v7%}2_WI4|){s|kd<+eX{Tc#1^kC(}p;}p1dc|5qsADj9A9+L4J>{op4@HI>I z|1qrCsrsKB|1GB*ABYclMDZC2-)RtAKyg$kwwJKUT(+9xZ;_>g+t4asEhYTBZ`ngz zZWdYI@I?YR5%2wxvkn%SSVC=0j84W&R~25j;Ob^IF!?s+Av1Qa|YtE9L~~( zuRZbF(1v8ff-5mbGK>~@Cmx75Tzbu*e_O+$SNs&yYNT>p7~{Ul2TS06hoM15ArZwN z9r-6W&5SPJ;OIM`>MVhlIycGb8XLZmSO3-&gTjP{-sH^}zsC;cre-=}iolZbCfdHt z!Z4kZ@0Ca{kAyAAYz@rauCh(K;6f$7uQ7ZdfiT9H8E_3r7}TkMH-G5MBK>#g6xln@ z?(FbD)=872bhI^4;=?EW zY02OX9@Bv}g_^2hi`LAcYmQUbarmKnWqP`+ddtf43>KJ^Fv(N1m|nAYBw=m$|Mo2 z*F#@MFB{M;=}VCEP2dWPlIRugJ+F@2q+2*1luL;cGct=KIQo!^Ry{}|{Sm1++wLzFCiE7r|# zN1U*5{_U((>;x>I5&v78I5ZHot%lPDe|vI!n?i*X&Hv*>R6GN*LnWHs9}J5_(tn%X zzfS89sy0!6_+JlxrO}BB;r2~d*%3bixyJCF?w%?5d|wh_mHhP@GkjHBbfpPSDv573 zn~(4*R)M5^UvU+Dk4hwP(KTq;_8?RT`IIdLI$YWUU-oZA<%+I2QSj=x#BCV0% z&Nx@X-X1QchPaRx7Z-l8vqIq>+znRUp>52e-Ul}r2*g3-FqFX-GG4iFsMq=RF*!uN z!()G-MrjLKa~=&8nANrTf8SPt_}_krKEr8?d|RA8+!9L;T{6fL>Q@=pP&2YN2Af$*evMF=1C!ki4!wl z%D>!4+|R$iN&ZiSL*b4^O7XClsjgq49?xz60RPUh5eUj18yjmGn9X%9n(aiG=PfrD zZsoZcwnUrNEZY+i9eWSC`G`@VS5 z+t+FX+z$;49ULDD2?_qVwpQOr2z?^lAPxHyeS7`BX*r z%`%18E*0cUw- z`v{Ko1)toPl9tj}`s6VFaB*R7M&0%qJVNHori!@ao257F+dyX*7qX@lj9+Xg5N9NKLC@&O4W!9AYxX5S!xy5-15Ud(^%+qa$mG zIh>iBb+PEeV~6sNj@p%l>CZJOZ!_^x(Gk|?UHqLwq%DE7=TxJNq{U8(J&0?tJG?tK zF80L>-vd{@Rjh-8Uj_Fu%U<0?TLyerE>c<|o+FJ-bwZ!M2Pmwq6dD=cE|ib}dMHC^ zt@$|$E+n%c$5bVJAK`m4 zp`}H@_fPeY|EQ|@+S$>0dH;TP1$ng1rutq&+PB40F3vwo{w(S$d6Sr6_aX_XE&2SV z_^sX_B_){q2n8B#>ATxzPHwKWl%)8t{khdaigHrK@eXNePw0C(J4en>lVWp;M< z+T*nJ%nW8rWkOSewZ)e>52N6+|KyPm%8 znH$cHorsFIUOSXc=l7uCtmeYv(vr^~t#_smz&5byo`(9x-JxKe4E$xA!xaN31cLi3 z>wiDrpCh?;W_sTrSlGh{d8Jd=V=pUeY6ZfX+U2T87xuBUCx@Q z)Kin}D?7d5wRHNK^`Wrr)vwOM-{uGX(H||&RD{peUJRRjnQ;egYgSteO=Iz!&@q9ixCml2k@<{ zKJ$;o4K*vvKo*f> z_*Yl^Z{W&5oytlxH+=iuUF0mT#{z2l6i&h?%S86{wB<>K+1fdhIp7Jr0?$iC{zX)Z z)R}4IJJV)>AV%6t@m`YR2n8qYsynsGQUHGDVV#Vm;!3x^j$)buA>XN}h3V55bt1kl zGxN^wCS-JCaXWS2Q+klFUsptJlixEUes;1jpGRephPJRe(~;7owm71XTf|G*Rh2I` zHj*CsX?~|$Rx&x9HK|-%4gg7FfOxXsCLwH4rO~JIa9GGWW!Xluy8VRUdc0^O>V%#Q zP&_GAksn=NfgqxFno&`MQ_ES{Nj(Wd$wcKcp9kavo{SCGIbx|zz5`(;sM!8il2x{5 zW8;xs6>;Hy7gYsokL~h%lPi`=tw*T}j&5OA(zhgbhG-n!B{rJWA|`bsKGiql${+d# zXJXi&(&tV?Tx&*U6CcfOa}FuyBGZR09~Bw z4olZuSGPOun(~cYNdmW}b`oV&i{iHL8hDI-;--8k$kZ*o?lDPDWL&|msk_m^8@lxx zoY-sSDP|B|Ptq+XAv)0~g|W?J+E8`+OSxx3G5d&e;n((%&?LDXsPgXq1RZis(m+1l z$2VPRBzkzOyzzx7@Ls`UT4Q5$kP6!i@|`D>dY5pKTCorseKNW*6Qg|$Ybv{Mz(rG1 zh+m=wbxJLezTgB}Akuk{P$;)g zX_`DR+(w!=7#adKCB3)20#!(Ma`uxnJGm1Hw0M`{OioGMa-}E+dpimVYvy(a_AeU$ ze$k+lYP2$k86^$eCSv69I9_tH-m67jW&eY4By0eLF+71sc+&x(R`MzR5P+zaq;MVp z0xIci@ui3#_(iC9h^gxoWBE*e?)ux~HV*krw%D;kV2 ze)N@HjQ#12Fz}7>;SA=U!XxNS5WAW5n4D5OG>i78aDKT{hiYib%8LzlTl#pOLFs!v z+xW3o5@9X{L-Z0CoXn#J*fKL43?cS6!;5{< z{>X#$-etnzquEdH~REP!8;;b)v{q> zFWuK1A4qweC}fXgK4kPt za4@6kn@<^1`Y64h2*R{FRZ5@Z<>?fy4j0RoE8j*zhJ@CUAOQOUva_*!@Yn8`Ga}5a z{UQ$;SL}~al+*;F=16$lOE^xg8}4eRcUC<325u?=-cpqWD?7KhiwVts-Zzod(y62i z4XC#=9T5-y5?r3qUc z<3Mz?0W>C_T#lpgig2k{d_xMyZBw0Nw)LxBx-jB!pZ?8#Ob+Xt5mcBWMhO3oc7;@2 z4f3yFkx;sW+hl!*vz|v)?ayj_B3)LiUs_yw6?@r9ao|=xc};EI`qogQFs*|_RI7>6 z0S$XDlRVBu&0&@V)@n=o2<{HHDQ-BP_}5niS28jzMR^!sXNG19*`0PtjUP!lCbHcU z$%{KLzmTD!J?P;Q2YOYl`z))l2EAoB28r*6wKu}AN`r%Oo-`s#ku18LKbC()llZUiB|7~ zeR*?)hTjAbE8q9yC@jaeA_rpqG)Ktgq_Jkw|4)yS`CS<`uzmTdjA9sIB57 zIa1xrm!=Agblj{4y1wfdhA-pMxX3}5DZ3kY@p~3ATKxm}o+8B?$aEqfx9Tcq9Ryp- zL>(#{q>r0kL63Jp&Fw9W%T;|IitCj2;qldE{V-lXs^?ut=U#Oj@Nt>J)0Ji9ZmX+q zrE6qsn?v8rqbe#AQ+&`M0Yow^9!=s&cBM8eg$^SlbM$PJQn137Ap99Llq}n9_K}FU zEyZQ$=OX|^Rr+t8`j4iU~0Zcwc02FdjNd&?53XTl57dfAjTWLd1r;EMZI_lni z8g$ZD+T>>$m0Q@6+C$!)fom8q@`i?lLWw3iO{ ztL>S4xK-J{wDK5a_?VBFzENkI2SFLFq308)`>3zJ zzkRG;NB%Q21o`xI2$(FwDLyL|Qrry?-#PK3iEDR2-3)wllw(`Kext~Tpa!xOptIQQ|YjuE1o+jDeMiINTKQdRzyBComx~n)d^54g+Z_;#tuaQw_%UeY z*}*JZdv#&%v(xl`wmOu0aB3)Lc-#K9k!<>)%E3qII56LdD+2sbKKc!1dKf??sR34c z4dmycx~k61<-{2^;I4ZCv;EBJeGJ)8OW~lO68bqDG(W2CIy!tmC6TT@U2JVALP{5J z_9cXB`lLdX>LhWXdac>Se2FucgNUz(#n+HbsUO4rSw@*!4`!T0`t`T<7NcZinUNgA zt_S#;E{%=u$u)Y~eLJ&c>&fvMRdqtJniriWZ+YiOxiA{uXXx&D=Ch}eiHJ+k3O)Pk z?I!XjN#Q@^aPEnlqw)8JGKlkS3^I@L9TUJOYst>w# zQ2+Sucl72vCdZ}s+|**LN1b|;pzxkP9&se{q(Nu{yJ+3f;v2D`j2gelGF4pxBX%pY*4-{{@td6riHXD{muV^P9rPYzUlti-U`=1*of!MdNjLJ&n*G$Sv zl3&@+DglI}sBK)4tT9<6Mu%Za4eu5z|cKz7rjK=|Q$rF$xr*dE2vV*h#-d|5C1=E<%Ivl$F2 zUaFEl_{8eex}Dv$(?Fd-n70G5zZ!w5Y&1to=vYv zDlJ{aP|ZB%Ct6`Ez6+GtxKLVk8o8V8jZTT4HrKvqLwReqA~P)doEIn|5*b!JW)>@ZjDpJ zXTMAQ+1<8_NFD!<7T(3%#+R zeVm{xF0wf~rr)JbCM@-sT!Kgf=tBG)_^qXHA3GHN;oI=n3=VCfZvA8%_pq{2qjE=) zwOg-1o$xI{#XQxTYX7vRnQWk!Kx#slI9Tc9VOO(xa!bol}HcpKxDy>EUibM2c8D02# z(tgI~fVDRAm&HC>8*`vp9$2VF*97d(X}qJ);O{#l?j12?lS%cEstzYcAxB<161~fhWFGQu}}loD32=nxVm)#Y;P>ae|NA z#K}Lj?$W}o^by|C>H#-#2~ADyIQhKmTeU-ZIW7FvPXcvz9G7$QwkM8=w~)QUcKLA) z_s=IA2o!Ru05Vh4;VpsM2GlzD7Orql*+5(gs8oS+Wmu>q)`fd!?Uz|s&f0rAa zkZ1_Cei7I3dH(#d1jCyPehVY^WqZM0<=s;OMlVI`_XZo|Mu~IzlDb)IYsJW?H{!tb z7DnMo%$qUJ3Lrufd$;GC+8_$I$SF33Aq8B}P7eViguJ^XyuXSU8=uN($&b5v{0}|% zzjl=;IS;>nsT075o-C6mxS1b_k*%w z2VjW{8-TQqy)0Nep`ogKdT)z`+vktPVD*?)17EN;4jnHuDklo(1`wAmaANRb?b=G! zJXsuEyL(W7LJ24i2M2IhlD$RJ;=wZvl3b*1Z`dhC0bF!r>r=gwyHkxuB5z~ z*Jjj|3~;?yJjJgGs-dJGn$Is3+VZ;y_zM)zez|z>!l*|cFG-HhS4zTbo6mi#N5yaH z4;Bz$uCHD{&GfDj3*EIhUV|$H-#03&IklqNTq`Yw)V=nuLQ@Z`Dve6Z zHGExo2Dy0Zcb!>Kv=)|PTpi~n_nj1S(W)X+TWbbuc*lfn7T?Aj=C}Ha8OgdQK&m!kP1xQaA^y z1sjmGMn8`j>}38nF-y@%)f;iTvlU`%!SpUJ#p@SxnW1W8bJecFdr4bJG*yeUvJV5- z!;GKsa8uVbBH3w53IGP==qN=m#Rl*!AGH;p;S_dS0hc4Es<$Oo34%BTRSBT-Lek0{f!_Q;y5EhHo*hGuC$T3vN!Vkig7nxJO&^jeDwvyl$Ls_AX=%jzfU9H;W=V>7 zMDZ)FaOFWxnHCZna4{p(eK2dY4KJxf)+JPxqJ-ch!#h8wRXc^NUC5iQW#eUzhH_}M z@Xghzm%0j!cEHM&?BvG$qB&|e>a!|uWA2e9;G_mCZq2<1TRw#(NdvkhUlILA?Q&-W z`FmT13r7@^IdYg(l8$B(-7lXbhn-@iRF0B#e^0V!`&o6ec}lu42J7SZBl?8Fyn^ zcxJd+w)Zk*7eK;QZ90ESPuAvxydb}Fqqw+;lIx^iqJ$d$o3K!S1!-h3rA8ws9nL~#h4kL-aNj`WIT6~+;A41W4t=>;pH1G(2m;SWx znVDqv3#xSy564P-Mtzx<3@6{-^nNdD5Y;)ad|0JO+GJFC$IKI`N%Urt6i_Xq+*`V| z$nS^~S?wUQor@lg9^f(UD4V^UrLW3?A@z@#22ic{J$=R)x-mAGV(2axcWYKyP}qTc zorhQGMG%$IIdX2&kUBJQ;PiIkiib&df}aHTkD(cp(#Whs!GFI@pEh;2~av194yl26eY*f>73g{$k&?zE(-a=Gi6LEe%O+p~PZs z-_qB(t>fqt*ap5nc-47S2cRa|vpC+Wva2$xcdybM2&X&~TM@BCmuH%_tdVEB%6H9) z+dmh$fq{e*Kw|iuvi-%Rhn3;xb7I4TBbSSIn#%!j-E)Dv0s~v+&f~@ifewd>thfHH z&|{J#TqyOz-)ih}=;##>cCJdAdgZ=|>2o;v1OKz0B=G;fV zr+L@@t(B;c3qi871smj-HhR9=sDRl2kG6jfL;Nos{*CI_a2wqJLz|fn>sakc-+URM z_|rF2#DD|9Q+hp|Y^}{BM@sDvl2iYx2l?Zx149N2Xm=|)}k#@CN^X9;4(3H znu%G;vGG{kkkCjRIOj@(%`pl*l?$%YQYD$RRJn&Udi|;}H@v~d{$z~F4G>zm_ACm- z89$yfsc!a3C7}XJF~q();@S|{Yj)-HQg&6gM>fV-a2c<=(Z@FiWauz1zJlM&GF<1M zOva7m;#co7dxpE^1&<^mPw&Rb$(2j=e!Jl1VD&uDmTw$=;f#XXiMgql^vfdaBZUd- z?}8oY_a`C0OrXDVtCBsY?AU6_*Cfl%!}19|!d00!?2#-}WUhVpa3pjHc+PDR@${(n zY6*u_+IfTz!t2j{8feokQ^Cz2k2)djQ?6VrOV@`lSPXEf;IN$>OV50xz_;boHO?qS zKX`MMzS6lNl|+Bw(QrhGHFK-LuZQ_TSJsxC&Mke^{5`H&1#!ORHE-ETZ2ftdajmCr`NBhDO4QyFm?e zVJR=GAB*Jy0P_f^#IixyZj+F({+z>&>BDcZCb9&D4LKZs+h~UEOn<{%;i?TQ|5>u= z{u9+Dm>7lun3x^r3)B2$zVYejAgoqaH5|{3|Cj~1MuN47H33LwjfEw@2DP}qh$(@W z0+zrQ4oGVyVHs8)ecf|`I%~mN5lL9E3$^4uVMyWpI(@;TKjfw;J*SsrDXnE#0=bSw z0{7}V2;h;-dxWI|ryzI)c>Z8s0yuM>f}!bq1_yh~l;Q7mIW#*CR4~>>E+;CgnHna5 zVWKTh^nOS&hTaNsxw*l_>*b*V4Q^zlGKNxS)x}S_O_ZA;d;gwIJ*www6j;|5Ma?_) zHRnjxaZs39N)@Oh;t0TMbGuc;8Yc7SzLH;21digRbKND1Ps_Vona@*KP+F=`NnJJF z=MuN-^Tm=y3L%2i>XB0UocTP6DRz6_R)MlCQReup@Vg09Od`$lAhv+Ib#|a50zQw_LJCAT9%AP`o^m9wCC25PFKUckd=1 z|1t)ZmD`!?yCbm+->$-2^DHkOL~+XiRNQFZoW9-w&eE}n7Cx$7&L|24n8{XRJgUHI zzoW^r%AvpDJvmjgSbF~o#JF~5e_6y-_z2GdZ#C=P&09+a;KO23dj*NFN@qY4%YM5b za4D+)Nn2v| zsHapg2QMGSI_dPo9*XP2`jaqPDt&I9V?eC^O@tc)vHt_>S%40qOHjZcb>w;J)MK)0 z3e&;u{_Xy^wKS6>Q`dDC-z|}!zzn2Q^G&ENB;5i^1!FO|Ukz67pQgi7E|zipyYBz8 zj13$4r#WpXJZxzHThD=NsOhKu{>`jmz58!S!E#wFN|ps|lq>-FX%7DzqYc=A`EJ0* zf8f8t_owmwlP_8L6{rnM{?mY2pMDCpfhm7mn13t~yfE;Z;LiZ54L|S+cA6J|u)#Yn z(ijR=RK{;}_o^kwEerVCG2)VbAe26iBLoZ#<^pRJf`5rOmrtL2Jk+2!p6#)4hsB%^ z5}JmZxQ_uCp{OfIg0>z~{41oW1R%mx`lT&)>vaudj9;)20Xn-)K<)~w=&$A&_HC*R z;<*5v9J0;b(yo=YsVru;kXEu!77%V&U!$vULg zk$2|xVcOh@ySUZMt4SEDVy?818V%!CR5V=&jwUdw_bIOKI4rluzVe|BtP6Hu7EShQ z*#oJ}(Kc}6bONZuv&IqZIWwn6hmu?`_i$#dOu0?!xtgtIEEFHEUo2hOpoATGbD#Y! z58FW1%*3!Cp7m}SY0*(VLE!@xYpRsWvi3I;y=t6X?-)F=6OMv}LVi2pb42t-5Ag3n z7Oa-PqP4kfx`eR4y`yr0^Gf;K%!Lt0QXp*aBe30bh}ds$e(qtD)(MtaGxao!D%H_#IW8=qJ>XC)nq_w%}PvvGcBh{nV zjC6~u+^n-)hRte5t5qK9&Mz#qXU2M}seg-9%K4bb%$TwfA&+)lHX=CjRr4ujee8-& z&t49kFN{DnY7NkmuwHz@efbu~uJNcHCjh?4Z1*+?GM#~a!p#FH2S<{huHNH&Eju*9 z->1LWP?r2{tx|=)T7(KOOmRhLm2^EAu>JgnO$N5L@9*VITJ3Zd6QWBFDq>7rj@$Nk z_V>hTjm5@xq&>6&hZ+Mb0C!#J)>`}!Ff~G95dU6vl6E%^xWLs6XD5)cEvz}z2*+mG>iO(#Boc65?*V(<+y<+|Gn2ey3v{hVz$YTDE7K>3uGDxGdXW z)zj$_AQ=fL7|z}(fTd3x&z4agd&Uo&>5tb2X2BnSl|SMdxOF4G*`WH>^s9s{PLkv{ z&=%e-GdN;_i;bfLt7OGs|15tu{e)_`^+%8f!}A8J!{r8~{j=LIHvggfuclumY$q%p zEH*zm|0;9nm9_uB%oV=VYJeRb>%}(}5BmL(jl#(l1G3?i4{_f)_H&hL$!8a7qcknPe@ zLwkt)QYIpL2;w@k2KNoKLb`RmuCp?6YkmD~mz7qpRegc}H}g@mkC^4xLs&RmTXJol z^qX7LE@ocfAhM#r+8hc-&RGdBT_B@KYi#Y3N7KjKiQ_{p{gnNq{!%AYQzxP)uB9%2 znmWNZhpLHLP030t&STgO^d}_pD##j6XO>ehhI6)L;n**UUbMA~S0ctD-Mvr~iwy=V z#ZI;+=Lnfi0|H84ltyDx4>_riG%H34wYt+rxa991pg!H?!T1)86wX@ijxp+W+Prf7 z@N2NcYuIjNs?P5#pD6o{z;W$fQN>g4x207j0x?x|7ZsY4#Z77jNrw^HhMC{*^8tPm zGXUrNWWIRj!N7qpDin;%DgGd&vtBeAiB~Ex^{0WO;68CF8CzHXIm~DLfIQ}an%AxMY<-p|gZObkMaq4T-jl(=_Q2$I3)RH9{$V@@Pta8&?oIp+6 z=m}%KCgmLG6(c>#0@sZQG}(_<`0$DHs)MsKImP-=6ut;!N;qonpMlc+Tr+z&5yGbF+0?-Hn!R!}<#SwOCMFQqR?#2{ll+N5cv~Mh(b_-h zoRDxty0RG!>>NYuk5N54nJ0@KksGu4C>r?~bHd$Fda>lvLQki-o}`rH_htj74!bnJ z$@xg7WV9?gC8i*4x;=V)`X)4%CP032x2t(vDkfG`77n$}yWKdEsJ%xr8WngOyGWT5 z2)jnoCCC7;$|b_>vn4n^@)6XgWL|NYpR6k7e6Cn^`iLR2g_D z!N#`vJvw{4>`a}Wl2@RehImWr-sGylCRq*-FFlag-LzZ;!Mw$Pwb5@ zm*@@{E4b-DS1eJsm|!9Eso&M4DAAKESRy2G&rIsjt|qHLJASvR`(#fy7(F zz|7ykxslrW5zGEJn1x&a2Trog{Ws?P`uH22H%{0v()=^_{spuD3bJ96U!;En@?RnO z50qA-{0!__!~Hns{uubbfcQVS{|7hmi~HYX`uTAK`~PS6e~ACP*Dsmj3ixB`Hxktu zUgaMF{j}QJkFyACqJ6J85&;O>xzNN4(l@%XHIYdk=J&DdGO%&6VtsHEiK=vXL{1ev z@$*1Z+Cagye%GVXYN>D>4@cE-93KOE!4K~33jTwgOHEky6+L3JpeeadBSFgYkMJBCq$(KKaB_d1g@Q@R+u1dSm~~=+y5ejpGYW-&$r9 z`UQ1dnqrM&^jDr-DtNa?q>r%WyW#S9``3QqL_R+}GdgBEv-s|(@jY37`kzynDm(3Z zbw9RE zBP((vU=Hn>mWx++7Q(82$Sgge#u`MaNZFo!4{ z*FVs394QxPp`$REKbA6bF^f~bG+%;gu+b%N+Q-@G1atD1ks_}qRuLI@MV+@vG&!cA z3DCBBhrGT=YoW`KGXZr2eph9Di ziV4i-94_#OWCOg5vD!R;0i3JgqyZJxr{;0b=1kA-#ybn2NL8uNt3pr<&>%1Kv$ToZ3SJrD6g|0-@-}PS zm*>@T7pMQ(-QaY_Ib2dvf_yGr!no+GMh+`)%@GOC7g5F*tJ+YfGcf8LaT<`gFm}Dy zf;Z*1%Iar_VI$o9R#q_dO3iiY=BX)@1(&6}=cSWoyl>yN9E~)cjn^!E?o@g7T(CyV z9-TWy?$7W8XIW8C*N;ep5f1=MV?gdDe*+PeiM2)=W^RR`R%!n zB-XJ!3ET<&j)gAb)R+ECEHtwTGEttJFrG_s3?@BN5AF+Xm{qdxw{r4!938A3D}1go zCxAve)(H%UM(}GGrk^wr6#whFM(?*}@{zk|ad!j!rkot_gihB4mL7-{keeIH)gXnV zC)Ip4aQkFZ)bl)#rta~V$&HY?h3n|ilpsK&J;rnRf~MkrWU8)rKaVaHG!pud5E`Vz zp|L%Uj*N_O-lB1)$C(h?5c8;bd?Qv38^L1(hr)k}G6wg#yiFtC9WtP7*xzyQ~H{sM%5 zZ`ima`i(4b;?#u_%Q{}Z`jLfaU8DUr>z~*Fhc&-$$u=UJ-{=CH*M?=Y5aY*%+D~i! z_lBQWUq6xOCn=h^`2W(#8S>+`n@X}+KU6pX91a5y19T;}#j(S&uv3Ti@jiv7q$ctP zRLE!L(ajo3cqhU*wUmH^dNB=FSO^I}+6m{J+;9c(nSzWvy6QUI;-M;|%q%$mnR>f{ z+yY>YVqq+Xf0?6+^Qy;D#rQ6JyW0c3NnkF}0y}=#%Uv16OOG&aE6fK- zxEeZte=)|;Uk?8f0CS2*-wOB6Zni!!kQSx%dTob&-8MK2Ei_E`@dDH8h&S5ql1>3g z?!>*Oz2P9nqx^_LDii!D;B*2Z-nis5XS#%QvFp0l`&ak;`XDp4ZJFHMol^SES! zGDwT8zR=pHkvno6q#;on8?G0X1K$(wJCEZSAC#25@}r7O-+Oy7@6p&0w<-^PM8{Mn*EgA#Y98x#F$GO!W- z=eECJ!@`F4->42J!cqVKmv^}vaR59;*zpHoaRsdM$F=T;(f?zX{}T6qYx{?||8|!A z7l%`<^8qY2E1$F>JUs5-fah;a4gluIfobK5j^l$1h(9PwmhgjHT>9WZG!n5d1AeHS z_0q>}f{~xKu^V5}jpK6h>4#>yIas^HdeY1MFIFsoNJ1i581yux38mQ9a|A$KZ=vsP z_bcRPJu)_qKOA5Cko6?G6;5u9H!GeU;M|XxN=ZH%ujM=wG%Se-7@)h1d(jIEEn*B2 zPfM()G_9)Wg_ep&vD>+8*uG@np6Gtv3|DPo47`3Y-N>z_TFM!II{~FRiB*g@eWaOS zrXP^-DQH6W{i0ID?qnakt9YTm%qC(43>DK+D@-;%$7g$0o{Lq%Kk7tWy`+6H`@EUw F{{v^OARGVy literal 0 HcmV?d00001 diff --git a/lesson-55/traces/qv.png b/lesson-55/traces/qv.png new file mode 100644 index 0000000000000000000000000000000000000000..2b32e0460af862e1d3795482ac8c9b02079eacf6 GIT binary patch literal 15500 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