From 330072b3e64e9c310102137594ce75ba60bf27f8 Mon Sep 17 00:00:00 2001 From: MY <715711877@qq.com> Date: Fri, 1 Dec 2023 17:20:45 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=8FKafka?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...210\252\345\233\276 2020-08-22 144033.png" | Bin 36327 -> 0 bytes ...210\252\345\233\276 2020-08-22 144112.png" | Bin 15838 -> 0 bytes ...210\252\345\233\276 2020-08-22 144741.png" | Bin 18126 -> 0 bytes ...210\252\345\233\276 2020-08-22 145035.png" | Bin 18217 -> 0 bytes ...210\252\345\233\276 2020-08-22 145553.png" | Bin 27822 -> 0 bytes .../Kafka/Kafka.md" | 109 +++++++++++++++++- .../\346\266\210\350\264\271\350\200\205.md" | 10 ++ 7 files changed, 114 insertions(+), 5 deletions(-) delete mode 100644 "doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144033.png" delete mode 100644 "doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144112.png" delete mode 100644 "doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144741.png" delete mode 100644 "doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145035.png" delete mode 100644 "doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145553.png" diff --git "a/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144033.png" "b/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144033.png" deleted file mode 100644 index 0f6dda9bc0555d1d78d141e2008b0ec5f3e62e52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36327 zcmaI8cRbbq8$WE%j7TIzvUgeOAY^B6va-rf;n=&f$;zf-WQB}uvdP}_7-hzhnfbeX zzK{EUJnr8gcb(6tM>^v@Ua#wVuIq%VtICrQ(Gp=`V2~&(JkrF#z+%V1z$7BTf}d0^ z-FJaMaBQShq%bf_qlr(=apCWb77Cgw7#N(jCC^%46*kZ z7}U;bH5v%`2fU}s@{cesE`Mj$=f=TL2%QxSUSeQSyt@1kbI$q}5?+p>_()0{IrS&~ zP;z?X;v)U}Y>$afxtzubr;y?3(1$$wrz`}DF^mLPndBZtOfcVhOYh|*G-X>LUSM;W zc6fN}-?{VtuGsylFQf&$RUKqk`ItP!OIFTmGRAj3C0H6R{Or{K`&G+Icy#rl)a5Vq z|L2eY|G&a>eHu*8oc4c7a`9c5Od`uq7k@J6IqBSVN;EyM|NA#HLGQvS#F`AZ8N0&9 z^Iv~=xJdNag}(RSjhU&9$*DU=X$eaw13Ljjo_JPYx7u)V25-{05x(d71$HLd<8^t(*{@d@S#H`HUJDId;|l zn-?71I%+4^vXIlTRv9ZVKCFhHWD+U)&vmOURoGAxW{3ywCIF@{nR&^@XKx`M%tIzy01vqVCx9H=HQ{6yD|S zy@@iou-F+Si^JZfCr7-&K~VGMx5t*=@K|14N0_KpJj?Nc8??Xj{QdNQ&-X$Z9Q$Gg zuAu$p_dh5J3Is~4aeuKCbaOe$na;^1Ek4C*#=d;tTGU!5r8Jt30c}RO!0|0OkjS(C zE0+HXd=fcA9UisB8Ix`V89%TYt}t;Y%i*Bb(rwc{?_&J-^2>M7LTPAdwUf7W8sHFI zu805o@qhpQ@);TQXm$0)KvX~=YO?<|NyYHF($f{kxgI}V;W=)}3%lpAQ1|Dlv*y;L z+gAK|0?wQ9JqxAL57FNDP#*h@Is+B-#|31^1tn9P-ttYmf438C{CJBl8onNQy8X&s zlb3wVTThE`=#V_*KgoMdxP`T0YSw89@8=!0<18?Ydg_p|>+4t~~K zDk!mm4Ts25zD2-5kP$@6fGQE|NXc&WENOhI6Z)@Uo2}tP<8e0%GrgJ4X*xfTqacri zqkxkW9{CUJ6T(u;_`2=P8Z2IYcVF*ng3Se+b{yXDZR7?M5*Cyg(!a5+tla;6UFMvK zYORs-TxoH`^8;++qWTP-@jB#kXKcZEM4^3&6w}=rTSg`(b1R!>>QUFoiYvYDk0luN zz3(?1cpfn7CcHrfpzaT#q)rp+KFnxzeayMuJ|G|3GoWuOE!{Hs3lFUqw43fPZrWz5 z=)J%8<8QRqdJ6UD&!4M*Ze}QAUi%>J7!@2Gocvi4H+poSnJNm6xAMSd>a!p#Kb_yXL0(Y-zg|4^d4Vvxu5)*BqY)}0q#j@!dysX zY0w0MCJ;Yx#ViO)*X8T%Bf7Xc)5UzsDvPenSv~R@cJN5!CL|2C8_Q`j6>`;s18CPf zX;3QPEg{T+ZD?0wvtknQ5N(giATDF9q)Jg9-|k>tMJjlO=T!hh6qE$Av4N1wi&cHO z)<)qaaF?w!$z(2HLiv*U@+A?vlP!)n?P*LlQ@jMq-~tn;ru(U&>yW#!2iIVEgePe; zAti7a{`43=BI3O#S@9`xa>i&_a$2HX;uX2kb0}VDx@TwvtaVth$@@$M89YrE&kEH( zp~{HZ(`rr=8&b~iGp*h~f%;d0{aE}) zOk7e3>K{3BuVi)c-G?EXJGxXKOA9Ezolm=?FhwW=ZHUp&o)ySbGHX5~{P%0pwZ(=1 z6%!K5AS3dC3AuO0^<(JO{K-&-egjkqEIbAzKT`01I7ZX(J&yO@h_9zh&@Zmx^z#PU z{Oic?>VSg@SSbr2#fzRBdFdt@X!BP9r@y0Frn~iC&oc}JrQO+o<--drBecSoAR{^u z|8e|A2$k7~E6p#_O)nLd#W~M;khar3j7T>FxVdxrV-8XEu+Y94L9w~QVC?fJ@95`M zTG&>wvDCD5G25E-ODy6K2f3!-&{8E((Xfm-G`N_(=c^Z8l98k$6^XsOQ{iB>c>7bk zvqu}0NOD91kG=LMzm133M~Qt()TAQyhuu>LWzU`lAJOHNg+ww1Gc^)7my4jX%ZIA| zRi)Gv*wYt&|7njd>X4}-e~f|CpN*wPn!1j%uS)0gV#O_UxtnhB^Hz=jxYn%DSfF>R zv@(CWpj5+8UM0$l=O^kPD~qi)SY)1ziEt|X}p{7?k+BMPN4O*HRZfDPd-bA?zXo1&}jolwPoBhe^zMvB>ix%DgAY& zSVA&4?@O-XC#tMC{pQ$Y=?Pnus{yS)VZFnp4lCG2FhE~dbMU%Rk_-1K8y;DKb3$W7 zBC~Ekr>=?eE;v)ZCa*WvbSS{yhPq>p}A2)>AL;JXSw4l62XP3PSqN zNsgp;Ki*2dMnki4Rm%eIrm?sqGwEA}=C1B8{+?&#hub&emja+)L*z}1eMc2`}M&l&uC0vdrbe6OgmmNSFmkDk1`;m%oaj2hERXx>Nxoy;)MDoh{P6S_fPxEB4jV5ZoA#QYtau`;)Q|3dm)^XTk3`l^1>Kd3F z-*9?1ek<_LvUT1AG!rd_jdf>0Dx0nB%S#oW2;8&%wBtZQyysemZwu2RvKkqn)!_T* zRu=U(>8sHp=szNMI`Im^7F;e8;ZR=|8px}075Kl?c{n&YYD>5s5G4wH9jP}LA9`olqE-am3PGb$O)wJdEv^Cp5SQV z6xxnAXt4H5w+8Bu48ESXOn+A!gZ=7@^}n#gS}fGzB0*C`1tliLO%6V~N{~_iE~SQ( zLTmP0$IIO)8Epiu!F4vP);Aql9~K9lN(6--$>QFzYW-L$MI%j=0LS94LEl-+Utz z>gMYHGZPt%nv?;g<@2m9h$*;@wL#Kk;nq66eEU-Z^IK(My{Fd%h2I(|DR;lc=X(Ds z0{KKU9_mCc??pWdvuKkfVjs5D`_F=n!!x&MMleb#IMXpY2+xYA)-Vxw|MCI1MrmYxD8oumAZ;$kN3Aieuzgy9o7a{(GB%165H**t zD{F=OLb7bF+g--(w{8y9yu4~LHPIFs!#UrA6=aM``ZYr=nt-Y;F_hMad6f$H{Z|X& zwy|x8MYW`T#Zj=*wpF^FZrbNvcYbKH3FNJCeWtScb^f8AXMM0 z@B(d8Z`)jLZN`>%SnMOZGpUu_Wu2(!x?d4lOnZdm=|Avf{#B}4jE#DANzH58q8O~^ za+?HVI9!gs)+egg@Q>@VRQv|dZrK9eWcM{#(SK=Rp&?BR%Q8kj>)yngzMnEYKHt1s97@(91cbuWd56TLWQVl$LS=)OaP4rmN&ei#0 zrY^H{N+ue-(Q&xV0pO1$cMo z94{*NZqGA)>FU6Dh<8}{&AUu!1w}=l!&!IR^)K;hpJG36Rg9P8lOiT%pO613l6aMY zh?F7E{kPsq@{K_Mp)u-TRM)nMv9_R)ZPNa(t!)J)_UUomIn}H? z@rQ@#I%))bH2ms_QkVQ`KZt^d3ludmdC6{eV)s5=T$Q@azy5xhCH|7DAj2*84I?m?4ao( zz1=N5b1nDLsOvfbsDB3qT3no5)t)u5vTiR)Qw}dZ3yBBn56e)+?s@&!57|MrPOjrW z{^c!e5SH@Y_)ZL+>fYbZ-2SxJXUGNzOf)-t*Mqsr;h{lMx6}94ENSBItXR}#nMLk# z>mgLITA<*E%%r_s>2Ikd0Qew^{PgKlU%I51)Il9AnGa=wKp<0UzCfpC;c+GT<5L7r z^@RmMadCDGV#>7yswgFf5Y+uEsMy3rtkMb2z5(zH<;(na>>#PUec zVqWsejhXZpUz8qg_J8)_5)>wwT#Ai}5#{vI)>_ddO`Q@ND@*l4Kyi2Xe~{OwZ1dSk zL+DdX>e4}zRrqT$ug|ua_>m+OQE0%I<>5n>T34ty`2&9ReMmkS*=(g3Z{JxEXZTG1 zxG6Gqyx&xmO@cT!w)UaT=WUyf*-!sdy!z^CZWydXSG>=Tf(m`~=6Hm#N7*)6l;ZbC z*ZdG>gfq$CtqGyW-b#D&epdr+jGXZdursw8>RhuhU&(OfTg|z>Jbso?*?rv&aH-(1 zDqkN)1NS}2w$Y_ZWYi3kB5zE5ymoya1w(j>KII=@T_Xmzp0Pn%gxhyN;x4b8yK!eS zKCL~Y%U|=e@X)m%1}LRiKLO+z(eL5R@_#zSQt=qgqe;6W^E7d2U?R)NogQm|3<~~D0 zPQpe3oThNSq54<6(Dm4I0)_@hXiDxgP640%)a|tehZz{cJ!wu+A6X1Zagm<6h5_SH zdR6;bf{fm_7=$u+M$HG_8r>lvzvWjH_lklgsW|!O0uX zTmgmWSKdLnm0%Hr4UOYRQlK&GD&&0qp-g&PyP%-s4;fXd_$Mv~ zHfpbpo7WZQzU-5PN9Tybdt{xcx@n{&f9^WK_p>54GSC?W@K5*285Uq#fkMvJKWX;D zv(oo^3IMtcJS{5=F>bb4TYbK-S^lYdjK@PsUU}C5-iR2nK zecxEvq+B-8?s`ajT(LLGi0guZG{mQEeGt%~2NwtBZvuzL*R5RF+V^Ieaye9+dSBMV zVfX-0%~th%&5K>J^n|&49A=3_g--f=kBI=xGe%#3>F*zz$R?K>HXO65kq4tGkD1?<6F|KKe0sU5s{U-I z*#n_^Z}m;g+=GDCzfY-gV}W}v=}bKc|9c2v-NMuOL)8%w_-8caM(d*^UGt>pxZRSS@aQ&65xv zjy8Vip&q5jL+|xhs!1?R{4jI?Z3cQDfS%IHg!jRnmb8PTOTt6A*fV7qdq3U>D~NH4 zb1={S2?!5~G_ZeqhjYmEbfWdmrA&i_4LGYpy+FWM;4huccDt>whc+A}jazt1AG zGBMB%zSk{6>B6^p@YPmN{T)6TUD}^HhdX&Td0cc00aR)o>}1-xI$C-vP*plmICpUR zr;R4=ai9tJknZRt;cEcz^YZ)w-lHFbxUu>rV9B8tF5p-Io+Ua-=z80oN1CglaPy5V zc!EdX!@sE8GcJ0v?>$;@9`hr5*06twwge=Kx#GU^QFkJG|YE>Kr4dS=~`mg(@RL34@$ksPh zWK{@{aODU`TiSc!_Ja-;g(jcwS+cw@I;~Ur)hpMKFkgU?b#2uJdqiI9x*%}(rVn4T z0!e3d`#)jG5Kx+m>s5XQaxZ+4_{5|Xs`;}Orj+L;i%I$u?|s&zSh*=`KB7XIEo4dq zwvRE%mGUVQ?M%n8qO9V6y$$N<9lFzqsI@D^jW@O3T$XDONij%yyS)hXj(OPX({C{j zO1?SSuh~I8zo<-yG*|wH0UloL)Zh8w43}xTH0=j2!vnUPE6>2$s<*H4;D(<7YN9>-!-Asa;|<{97O%tC*HvdH*F;6(~F*7EFrXR1$zHM32GG< z(s}-bm;Gg6@Dj&;MX)b&1QdWy-FD@UG1BKNobV;SMUYWKkO71!0^xEPoaI!bBHBW^ zHxA$&nz1DsfCDfdpe4|K3~;Y~%4mb$KtZL}ce`5LS&CD}Zo}53-uey~Taf)J;}>dO zAWHNI-SN8jrWqs*4{F73>l6h1Nf@~crx>F_PxG7DRuo96{U(n{at$a8M`3IN;!&W+ z*sSX8C__D9Ae*hOTbw?0)J5x4A+9GR)5*67`Zr``Z@JxF1fEKZ0D&4*8(_utMo*f? znrWB6R?jqsywazxqQl5YY@pr7aQ}3jG$HwlAp>+#K*o!FsnCRwUc0Z76`BXb@0}MJ zPj>y}>leN&wEQ=Wc}Y6-8Xd?dg8jN$dY=at&J3Cp}(nR zy!u+cyQarrOgYvttuF&#gW7WwM0@g%xyFc`XxxQHUhfDXJ95kA`Izm67|MX^r9XIPK(hcMTDT}44FL0$8IXvDz?U=fP0%k>3w zH1-3wRF&+?zEbN?`ylpbZ13={2L93u*vEcRy6Rg&T4h=HagRSjDLK4 zS+)?q4qa0?fbE`S$fGvcslcKS>$V8qq>}ewrpk4`KD5H7ce#$4Nl}zj9A>}5Xc9i% z3)I}37)$}cmU<;Om{Jb_gZ$I29~>IQaJ!xIyaP1| zn-+kxWfUPdAPE(%6^hjcD8G#!9a4zWwjbjv1EwVfB_yiKZ>^{Jp4X={fz}Rd0|4{) zw8uNNqYDD;AZCL!0=gsmN^D?xSvf{WX!TEfcoJFAEsVogP!shhWZOePV_>yvmAv9> zW^QqiEj&$*sKsV*zC%oib;&WsoiPc|vTjT0C(P|T14pm3yAO&ETsS}^BHN-9V){X* zbxXd)>R-Z4u}rcHOBH5ZK%PyHi-Zjp8;ITiX@G*x*s+z(LW(rJ=gdeh=QU&a(18A} z`^s4#avnd9#3iW&>O+oj>bGPh{ahO7HTke(Vw31?%%TE~7V#1w_lCT!MV3)IVX6ob z0Gi~1GI)OdpPGQr+~M$-qh{=jYR7{*;c(NQ-RZcW$D8K#p|bpskrq*IF`Dlo&+N$w zUZ7)*MIC`>lVRz1W?_N{(%JTi6;2U~M{v%>KiBkZB58J{Os zzbv7R!1eoCF9c-)>LYYxUAOD3zvY@kP%z1G5~OsF`|zo zA!^3y?Ct{c`PL?@f>iKHy|txT;mSc1ZX}6kRXAfvhJLd}s8^B7gW<21eT|r`KccRZRfHa<$u?e^kM=33yOZPK!?di8(l!d9RWK_n#fPriC^JKl#|gAynZOXBWG`?t)sb>ua6Q#gIh$nyB(=v(&?dnwkWae#y8W02kG2&J}(Jz!tZ0@%u3J=f6US6A&Deznfc5#BSCWXPOaN zxXEQS@nH5NeW1-PCDE2}W(xp4O{Fn{cxxaEy#H8zQVqN2OCAT4yb3U~rdI}{EwvsU zm>#j9MNcEppbsrx2xqJ2lUf;Yo6lFG)a+J>j#8l6kM+9s|0m&P$c6fR~ThB zL5hRWHR5mG>1=H92`o?~kqf)9x_4tyR$$a-wSVcg%m|;uyxHP>6a8lP?67UBj@Z)0 zWbR7_{W}-xv->bU@V+KrA)NjNOpsAI3jA+3WOi_W481k*e5>f{ErMA}tQ~HuM}w_z z9r~u2kPYWNGnVEFJew-tBNmmD0s9;l+w1E@sQn=%XvTIOn7;iG-E=9L;g|7X!OCE; zujK$=6C=Y|_)CeE;bmBX9PxlO6-o<;-Z9Tc#7md3{0L45gRsDe@8>U?75t)-vmYYo zI?>F$MGgG~Eb6|}-%*1X51d72z6H@P5XvLzKi0v|wqE!iwkCNJ5oDabrbAKt8-u3s zDoSX(TH`G9xoeaV5HF0{W6lh$KpRQ_mDC-*H}r^39voHh8l?tI`>98T5694+Us7ud z+*ILO{GLkz$I`eGGj;0h`bANi)rO=#xZiCY`>XhTK80&8pW!96cVWaV@1 z?c)N-3W$F#xH#qlr`&57giiJFd)ICv_fulazI=$7!F@z+*}om5Jrdu`UGlmkixXK0 z0^DukH5Jl*4G^J@hm<(&BCvxBYxM zS7bAG-mt`ofA$m>>R8Qc}8n0pO2Mj}cGxpcrI2=)v@6yrl`l_-kKH!X=<(Y zA}BaRGLHC<0*V_BN-c&~`ZB>UwbT)Si#=6Y{#^Zwxg$L>7NL zr4j6N;N^B}&*7+^(&Ti+O?PKXX9f~Gd*fV)n~*E(i1s1 zaB%v!{%l0-!nW?qc)-lXM(OXX|0KQY#4VwttHyPFVM5?i&ONf^{_m=SW3=_+T;fW# zPXQ{~8-e}>fhkTV5;itIP@ugrj?F!W8IB49iH;paaE>yV23wc8C^8d|_NkCKPfwRCk5zKhiv*}NZvYxLYpfsReK zu;#Qw@GC>qLt52DS4z>uKu1GX#X!Y)A99keBo%)eIasLLwi`}VPs()ZZlq=?TkEVq z7e7#`Qjw&GQ^gJVrRwWZ`R!YLSc(e+n;qF7Kzr|E*TJb26w{u~NIdguoUU zZU@=zYAI>bXm4Spu5U_)uNZp?yE~-C_zv|tqHYb}8v#+~V9azufkxIU1bzr8AN&*W zXkS>`%Q1Yf79-Pcfmc-@@1A4#_a3VQ<;=TYY?D_|RN$egd;|7rtF1jCgO9tfZijcHiqbaMQ#2L4x)*ossya#+sjppL2@8*o@|*js$KjW2FcP)37_tz?3~g1|(ZGXzM>$qD$^5aM&xzbe=UHD8q4y(jH+gUgV`yi9*+ z1O(NW$t1wMAukU@P*4?VR;xGONLm)^WCuoic0L|t8BqYd4ub8_` z_3rDH|A7Vqg_=%SC?t_QGXh|&#HcB_Z%HvR4`q+H7aA}YOF(Z`P*8YpkRmENJ-hFG zuvfc6y-0QK{Ql+EPKuT1UH(1tEs^L=s$62tiijNKW2@kbH2Sann&(pUO*itsFHy?6 zo^JbVUpq;J3O3F2kZVe+ns*}=x?AJ&ZfQVl>8U3jlhE&j`c$ag;9_)4UtW{z!qy-F z)Su33#GY&HJOd+uNr+WIoR@?7{Nr|bd?*M=!!&mcnQ-rP3LTDtB+NSYD4ee&^Hl5* z@}1bAjL{(JO+LZymMRciV_>mff3_JS4+d3==!6q=6+no&h->=6{TWmz_iKns(lIa{)ML+KDZwRTVGGq&=rZ^7 zZX~VSIsI#|OBJMLs?LM*=k5CuZv4Nnvgg6dP>&yoO>~GNY!b-)Wa2QWq${_LdQc&B zNmC6cTcF^)4I@I9`~xcRsO@8O74M-_$W!bp?2IM0D6n@ywE)&$7Ct2E`VS&l&<0__ zj6u>C0VYdihxbxCv@lWc8vJZ*oQmkf0-kop3#jRomA?DX716 zQaKd$gBbV0BpMRmrduU<8jjcZclcf^m$c_*T#4XzJyflzBonIK8-=7XFnjP{0W>&x zOw`S6G4iBVHgeSKbRYvFW5zTNQ_0(`AgnR<{CL)Tsy z;Qr4}y}J6~`+h2xQ=N%Ers_4~H>uz-$tTw2W|CgUd^g6hMJ^Wy_~|%j`vK8^%IrmULgM={H|kigz0L@YwFsELl!T$bN>|pUoo(VRm2{6~y7Xe_6s=RL!QH%J@KpazY#L9IEu+$#b~Ut9JjmLQ5nwChQ zo91tFwEuJN&K)xyfiJjp&Y~Ohfzd{*7q(Id{gu(&u4;v$O~y}r#9xvpJ;0|%K>TYO zlPpOuq8;xlM>Ql;^64l{DU>Y2Dmt$}_4+lLsT}Q> zYy@i(Qudp>3lMpYi^lh79Xqaye`f#L-7>!x$W|uB8Ovp=j6axvN8#=F1dcM{zhwL8 zSJ2?YKWYyF4F#f*AS6Mgk&HwDD%ZWsI&q5drg|MP(d<4-9ky+ugku#5T zTgVDS=2`q=W8;V`ls-lNGCvGidH5OR!Hv&6JmCp2p8@ALW!PDN%VKbq z=1L?d?b943<^l!fV^2L4CTi0tJ|D@_eIxA5CMX1eflBH#eBgq@EQaX@FMtkLG=Mrt zV>Yn!0j5FIjKH!0(8j>F0jFtE&b4U%4N@798UnSp^PWTi1L$m3+q1o$%zlC+ZktB} zIEc%Y5{B7aezK7PBLEQYN9Uj0uAPL!u7N|4Px1nQX5|0IK#B5D4;1CDuAZs;lNdHs z0mOt4B~Sb746Y#H9Lx@B{qZv?94wr=eo^^dLztXz0k9+zFU@;5IMDnjgFK>WuTSEZ ziTC~U)i+&G=lai|9AC}>$UCj{H0qhudF-8*e75m(RQA^~tL00Un>i0#i8|p?$7DfR z?~c5i?p4jXYC*|d@}34(-;|i){BBKcKM?c53SZ)e82Zil5dj3?9R}1e`s(M*A`N{`3x(zbYum8c( zVV@?1e!p526BxD!;|EKB!yo|--he|OzI==2ax5?kr+!}vzm1ZEQ)|V|A2AzCroUlY z$(|AcWf1gNpf?~Gffx=J-|Cm<+8*jVBf3x0Z7iHT`ZrV+c_=5B1_yNKC6IUjcBa*M zFUu9zXNWt?J2N6Bh%$l&=@c+syihF;)+Nq2aKdZ zq8fnMAmfwWX9lX?pV6oX(V0Gpd0ynu%Pw#yAW!J?u?Gk!gf&-PmS(L4C~SMowJKf- zehqeps}wv1Icw8i_N&&Xu-}D4nDN{eEQg5!Zw8evEz?oH}h^jWazA zX%uTh<)cdfmthWc+V+?YjUa}M5k$EFM8KNoE=ldU^T^R~#~+6R2l2wPu;^n&Q2DG| z*%Zt;P$B&Rgs^;CfX}aR6_V0bRT>%jUti-!Yc?x|!P~Y{`lE5wjf{~t}`eAV) zY$YZrH}Bm77`9#C@lg;10#_9(5BN6obxSerj1Go7VD>F`;XWc#y$EyEf5nf}Kj)uY zSjsNi5^bQwY_-^|URCGlJN=Ubf%j|u#my0~>Lp)gM8VI_5q@qlQBDRQ@B}cTLAb9M z4bqT?&^LF!m2ciPB1o{~MW69ZL%<2(qVqe!ySyM^PkoDi8$2bkgaNxBDoA##jO z2X@eeG5kK~zvSTW72)q49~}-cPzrAfVI<_nxI`y`Ek2?7r5FhClp&r4-c(TxFx2aO zOE}HtUMNhVjlvcjZ5NTQj&8?HeIK%;9hiF1*PoI&fATQ@pR~vZ{8Ixb?RFRFF;~u%?cET z{Sxo5v3NNBOgM1Da(sOgh6)p(>he2>w=<4PPH;RR)B$08a5?Lyqk&UGl5Fv=;8?%8 z*8I($($cElUNxzV?@$!#&h4#;AHYCElm52M^bnXXL>UjZra61`+xWVA)k>M$lR zQgwIqp7%z{tN%i+FeTxamkqXBao}awDtTH)IhxOeti*^e`|{K|*wp^%^0_t$H;Lo` zCCa`E#Kp(YNM7nDBSV8<8_XA$pKhc^W@~)Dn!|8YXwqyNohtDY$|B_|xjY5?vTz?`*CTTHgDU%~%qLlXveaE3 z;C4Zw_m`o87fB^FlIhgRhe;;Fe(k0OqZhQMfYLdT_aMIw76L!=mG@m?hzKRieHx%_ zJYFHEicXA=zjkrjc(PRs=bi@Q78E_Gqh1%!Jb9BryW`ASeo;0d)C;qWou^-PR!D!`O(p86@w=UXBrHL#B(kj2`A=`QP5j zgz!qW=L}xd4_FI*U3iFg)F9;ZQk6DgnvW8((a2YLDku)j9GHTabQAUHC}Gd{x~I;p zNyb08i~G2W`-t1{GLr6JY-KdZGRuQS*d+9TQ`gl|3RgTS&SU(C#|dii-YGQ#jO4Uq zEVMq9G0migPl=&46fVN#+T!2`L;UM9OFeRH0fK#?^MY~haa04O7SQM&PKkSxETA%| zOWEkG_@4D=hrKwMNj{u=3$Dse*TmuZ_1f26`91h&Zc;W|;5`ifngc#^37;=Yk)k5V z1{?(Rafx)zr?SKOa)-8Gh0*%kzp?YhmznixfE@vh z|A+dtN#G@ocF35`Urd@1Gi26z3?Omw>{43+0{VHI4FDaC%3_G$z+ZWA`S|_dcqQ0L zXgcFZj$^mqgBO2sSlHI)?c5$ix)`z)kOwz=zb)Ua1wi^e13Yp+f4oW+t@=0`g1cZ8 z0H{?=M#Ai0=Lovqfl#Cf2~#*Q+W-OaO1x-@aM9j;q!0=1#cG@%L=rG5!QL8te4^@o z4XTL>3M|Ga!-h3&B{0H!rO%y|=T#)PYjnv0%;CSEr@>9nBXy9Nw((yH3vIrBbxK83 zLkkSJT+|M7^|gO)V8_($Ey5;jPJMa6B@;$d5Dn-6mIoUJ#0j9(Qrayg$Z2yHzDZbGR5K%5km2fy)Ly&=CJRcxt zYYICj!`kGxQ1q@a0xzUY{a$a;$`P2wf!#+U99Ok_d_Ra8_2g&HDG z;q%g4Yfu~K-5f5we#L05+-t(_met)+h5)4{v;VueR~=_#Ii8Mi^lvwUxH5dGZGVur z#E98L^5IhcQ-Oq}tkQE#7@AVZW_gI--23D8@6c;RoC!1@gxljO$q_G*SC*Fo9&A;? zmo0#6GVgUZJ_=vL@Q|Xl_n179{9FSaFMJJ8{s?ma@ATpUG-7NF4d}wq9T*sJB#!wDt`HDvDx!dkx%qf2LqCLt)VP7CxCX`Gt*Mmh28GZW)LKk3OL& zhMYkg4z$V1xUzaHp4Z|sp|*C@X*;`Rzp6jjD&-(m zK|+{q;A5ESBK2Z|v@(1*!V>|3iEolW^LyaCH&}eH;S?het|B8Ilk}v9K~(OZGG%F~ z%{mbJZ4+)21-d{R_puu=`vKSqEI7xFXX2$}ja4_uGjTG=(wATm0SFuLlB-6G!sX1) zOi;9r;-A^*$&=>;X(|nNhMDl9^7jWgh+DMo5FG|pqd#5prhNO>R4@wd52Or}cKry) zBdo&$aM||QcbFPR*Qa;~)%^n^1%jLq976wDHT&*)nPTm}+ zfw|Oukm4L%RTZ~df_2HdVGMlpgCI;^fin%72oXd0qqd;FR>rSx{Topb+7k_5T7O}r zYI1#5B}L&s}*3XlGGc78mFBKRHTf>C%8pr7cWKA#(B?9@tyB-y=XtaQCkb ziJZJ%FCc-DAqHP>;CNet&<9W{`sMHwPl=^wl_aI5I`qcb2$%Mebp!cX4Ph=h&La(+5$)xrN9eZ z`N%859L>$c^EvBIKljH!aerem5YUM-uh~wAR1&bMW>kB0m{THui^v@kAsE-Nl?f!l zY}GKxhA*2)Idp5H%&enA&Q1UF%q`G@>>jy%JBXj8NEkhw*sUah>7}6EMwC=yF|e<7 zXuQ3eQ)|PyeWs%F-L2bPbXc`vif`i+6Fr@dyS93I|E~Krm2=!FbMN&%Sa}D-6NZLL z{pt|7z}q^sr$)q{d(BK_GLK+NblU0lqW? zc03sAP#aGU5MQ1Ha2-q4acECo5J#zP%})**hjQ z`|jOeS&ufh%U46z3}!*VHn}d`4nh|e!+%m<7<{7uFWXBer#nnSavBCwQi?D!e-nr& z3`0A4dNDI0TbJ%-1^k5L06{hLT)1%_%fCqquqJ#934~YXQ>`mgK{HfVR7_9052HLG zYN0t)kTHQl$1@Cun55O6fj{uQBT(z1`7}KV;%Nc}5*&AkRyKGAI*aH`wzRXzc5!vX zjsar>!rw5j2U!n?ujZEdHv?@7ZeAix(3b&`K|6&&MlWlDF8wxOW$*S2 zvJSxNwjHii+qt;{O6nYB24(|<^ER$LOpdt;)y&kw7ciY2hKN@cBwZB3NXUH6hVyCb z3s9f{AjJr7@9V+6_SPtZ+#5Slg>24{DxhzOtR}!%VDhg~kf}gXtQY-Q7Q#cffLS}m zc5Vyb%mMxYU|bk|1)~aFen_T}T-lX9cKqWqY-gj_LCK~DVL&iwz*K?J8*7fDoQiLD zg;w4bPC(N@(SJjSC^@eZgR`)*d9is^+QdH(;_r#G?UknTy|Y#TNkE?9+meXOR$xMF zKK1|9^&aq8_y6BFp`p-1L()=dN@SNL8X^r*W=X>;86{gOCE81*R7z=RE1`rE4Jj>0 zrId&?2ys8Zod4^(?)!0Hzq7}$&Q8a1e2?$=eBR^rdcHs1dZt$XneOrcJ=H+`fy6~P zWA>a(bst49zRaSkQ*Fpd6Wmbb`(#i^2F_;0hhA8J{!Tx;@55Ys;FCt2(yPzs^x;($ z9>Z+HZXJuG4Y9fVzS%=?ywdkajfJFUa`WDMhPUXEQm;LEd_g@+49cQO zH&=Bx-|o2Y2^xM{4Li<&Rw|q+mnFI6snz~nyL1CTU#8SaOlg{(q;5tcZ8_B+1P|>D zIsm%mOFjSQj>K}$LxL}ewnvkO%FoK+6yd{K)=0lxFj4(O!`6?i5aZKsMa_!Bqv!i7 z8Ozra`!x&2hl%~OM2Ub-$=3Ek>GK}ZGL0`%Z>ojbjcL{XO+O*9Zbn9PzzI}D%|%FJ z>2DalbDMcjtmTaN*;35iymO{Qj_UN!`(10o?x?wsC>T4_*hDIMbuy3n5uJcnS*5bk zGCZnWQZ^elLjVDy^MCTIU&n}yDs@O1(2_>v9s`RdeA%_XIzOh|qo-CbhrZ=Oo*m2D zpx*sa>Cbp@uj0aKs(?rD1bJn6)7hoAZ)_;bLH{(f$1_T_QTiFD!y?| zRZaQa(V;OfpU>(4Ts55p6*E|KQ2MKU>BNM8UrD;bv+NkKn+5r9e#yzLbwanm^)9uV zu$D#~nbchVJaC|26IME#a#wpf=Wr?I9BNZr?2KyNjz!Y;hO-@{X5cFzB~EptHmgIfY|P2;g! zl$|ukm*6L1_OQJHne?*5u(6 zSrukJnzLu`?k6SB%ZoqVJ@7hM!Jy1SrRB_=MY2`W4Jpg|t?_GK&@X)2s3e>;U_^AC z{&Gk3Y$`DY3-#rHsU*Nmp%A_N>v{3jy?YVRSXaoe^~P_gKWCxx@KO7B|Miiw-)A#@ zRPs?p>x#Xa3ePX^tJ`pfdxHlEtP(o_1grX@KQ&{&@t(LuF~gD~rEgvzva2z~&fxFw zb9OR?e!e?2F|VQI*{7)>e8&982T$m^S)cH%K65$o0!uvdMrx1a%hU_rBKWFW0 z*z@J5Vj&h#WHQ-llI%E{sojGYSQ?eN1V4vgrBl+a`8k*}c!Jd_cE(!+mHVu3eyDW7 zbi00Kk4KmNw$~xSK!mhe*26u(#(l93MtFW*3Hft>0aMnvVR>*zV_zd0qO|4^Z6`$wl*=Z9Qa_5FmJjBK6M85d82U%<1=h@iU>Q!$S=E?a{sgWZm5R(T z-489Rs(+9Ea2{^p_pNtq5vh6p+j}qc`u=gPHsaTQ=AZY*8@w<$-ky!|3oQn{LFK=# zgAO65`&s@%r(8j~Q2Y;DC&&g;wwM9C|6tif3Nfj6hkeVx^LGDRxo|{7?cQb7iuMQ@ zkl@|%{aqh=nefhoJeZA`wiP5dm4J8O&WFsc-f_qF-(N>$5aB+0&@eAi9OoSHn7$ft z8w}gWM|Je?Wyh=y(Ve~?MJWL*?ZJZ^Ce%jX=yESLzV%A~>1@TGxx!9xG$l4Txt=D6 zq}(s-vfln$Z;RjdRx&~2$!8{=IDws&_4$sIt9W&#hT+7FDIqXibclaX7@YK>r$S8k@ju_fF8*XR3Sr+@g@Kmnza*_i>f+k^@nug8v z?_rlO&zFjkIwu8dp>p?cR$v?qlml*Vwx#!6=#*%92G{{8DvJc2!0*kam@5OVI`0DUc-x7NbIg07o63y?NNl`%^2Y1jY+bv)hRmZ*vzAI<@SpzIUkerB1?o z|HEFPp_M*(*f9AhnI+t6K`NFG+3_uH6Smv^UD=N#p%H4w(u|gduMQilpWcny zqa%u6SlIpz7)E^@xv#wu96%}6FTAhPDhgu*( z{#CdXCfxB#J$sSIU_$fkqrSH68EaZE-MbJQEz|unoQi$}7*q?|x-04f zHz{-yHp{Ztt(|Oh-mB*kwh>(kdf|+-nwKA68Ms+uqFLv7PhYoi)$2ki%)-Ng1f;zB zGl8p4YJswq0HEf5@THcf?AM=bBQtI^c=RuC1K6(r@%ah)1bv#S&*n7=?tV9dXCdUQ z)I1(PBP(7m@{!ix+z&z_Qex$bSiBorCn^&5wrhX>zhKWBov0DP3bKgT?GX|*;?T;n z-L2w(CHG|{2rCN_l~Cda^g6xS*OdJPq^1DH)E{ z#LWPmwbRV)^>c=JfsbL4ca&=Suu1mm=;je{lnuZq~}rJ5qf>z|J2d>b+nB zg(>#9?Ymkv^4?y_CvznGWr_5?<-R|D*1K8rdZ*>@vRzIn!m=H-bRFzP0p;7&>k?=c zu~eTtn+WbiVXu@g7k-ty)LU}#2XZu&mq|GTni9lNC1N{ZN#fBU(iA!=91C$#tbyLN zBmB-jDX%%~o=W{=Rah{4+d8*5RRV%0FFGD~>n!z8>ZK$HDCsx~l0q~vqMIB*h}1+@ z459Dz_PBf1n8bUe$Ucn)Uw7G_goT9s4y-Br6pI~|(d;!D#u|yNM!>_sfkMN1+#yE* z#n6xCK&MHk`W#JkwHgmHH_h*Ui*!+lZ5qncg4Dw;~p!@HofL@cb#; ziO&pwFB7q=ww=P3->y@GM;kUeUAlU^TUdp$!1bxC^D8Q_7!_) z-e()a=@Sv4y`hdPl<;_gPS6K`sDt2ulaIc*y5A?}=kStgY+^5h9YS8~I|PSU)NcZ8 zi({KWs)O7YQ-CR$fZr_lZL<8BXH`#Igv&2rLuI@9(>N1As_{#6V`zbr-nsu2$X8NAtV$LQ{c?UF5ZD0q4p|ae-j4VG(uiX{ z1~?WzTq*3KA{ zMtM!(6io>muAMCx<~pm^zn4%L>OJ=SbuREa)cCGh^K!ioO*Xe)1 zTnbFUA%smwd)rP$I6oo!!0aJNSWi9fDZqE^txT4NX9~;>8iek4=AahVZ$e`S{eX61 zdU%-4^q)}5;%k&vFPy({i^Y8psdxbhG`nX0C_!bTR1qK%k5uS~Cx{yoL(~sVXr>_#))oI^TN*H9~g8E~znRfQGC(kMm_U=9ZF?h6h znrkVW!gv$Y-#B*w)ZEc0=nzTAn6M&ZDj;V&90a6w+>n@V%Fm=nBD=rZG7w%Ht5e3p zWEp{^7*_F&Wse;z%3=(mI+^8zGf`~9fC@D-8ys6u8ZrX1(B@Eb1%t?Xup?q+RXOgNcZjm~^eB6| zp!DT}F3a^lto8Nj7Gn~ci#daP-0|x(pkD7<6HlklG%=sie2}iZ#Q=|XgJ8nQR?C5e z)A&Noi_)8}AF}N;L}Iql48uV(k zwv5(Fbi_y;%srmcj<&8{Bzi5a+;z`IK_OF`RCjXl%sEd3vgUymJvubuVZP)>`e~d; z${>K>aOvk!mz~u)W_#CRE+1$R_UQWN+5}vOd;UPVSqLi)3JK})n;8f;yHqAz}VwN|R(wO~RS@?FoA&zUs zIc@76y_&E6=GRz%SQ_*=!d3&rbc{ZBE@h;W#~IN@l>M>R{A27^Gi%RI(+toEhx&-u zvj&N@%N7V$+IMU2NVPz=+(LH?she$7LFDWf*xYW@U$bhjxF)73GO)PRK}Erb2iU& z5WW9aqW2uJxX1F9R8(aWl+HgvBntKm<3p>VYMuSbU%9LPPN$UnLa z$qA$%b#0y;j5(Yf)FkW|TQ-Bf#>@>5qw{pK$l2(lNxz-&3y}Ux_2sakvIYryg?JSeQme3J5IS;!4l~9N0##6y&;|nr>Mu# zk?q_S+d%uLr;Eq4{D>syBAzGEJ~6Tc*n?|TYn2QZ61rx{+OA80b^=gb^)jd zfP5}DR3LyBKc=eUPL1_M_731}vS_PO-#*`5_o0liLvy8+y6i?Ns=Gy+3m&dr&zXvusjui@Znr@H#=!+g zzEyrbmUL`O=4n@}*aOO)c2wQ6hVuw=h&#~h01W1xd$uaN_CH2C2Nn*gYtG%g_QN0% zDa(s;ZPHUeyz2CVuG$}5j3-~|{B^&lZ2LJ9&eO(+BAqGjJ%l}6_@|8l{=a_vUw=57 zVIXvwVv`$KgAq87J@2nq%iZzQ#77jm;-rC^^6euI5u7#7n+C+j1Z^xTB_Z)Ax>|UuhTw6;tp5yb@MiOL!?b? z0i65ZwqYoN*Y@r=Qtz$CNH}Hc5#z@N`+=#nGnOeIfIgnn$%&kJ`8o3)+P}rs6L_(& zW_48YQgD5CZJ-s4@R7aB@-c;fpFC?ymz0^tCz1|pq~<5I8#V_CO%6=eK$TI z6mK(QOgHe4 zXX6U~ScHJ5Sn+LDhgeqKjbZvm!%THYy&ZRNR&xR-NdyNh>vWk!>rtj?_dMBVH|c2X zUZ&;`GMaXK=G+VLSzmk18R-6^_^I`f^D2=AZlv^AyTm`;Je6|}y!U-)EOH_DJ7NHW z;qbOs7$FM?)bY32NY*N3DSmQU|28hpojIq1@M*;D(`l+!A^Blz74%*w1NK0$ zia8OXE4pQFCAXqcZy5{Ui^@B_x;7iU5J)@;pEJy4H2kS0bDx0E4jee!WqCw!;I6R-l6D zVi*p4#Y~2tB`bjGDlWXY^CEW=I}j2G%H+Ot`yKFMpMf<*5k{+NB(l+IwU4Doa(p#b zk@NO@dbqrLnIFBqt7h6n@mzg?PIc02$&>J|Y5UWz$4Gc|$R2jXd&Mt-UC-3(v+P&Iqv%q2(AGK@X1qNp7Hpul2f|BYSazjq0RO=A%| zoGL!_a8&T7*%2n44j+0oBYFYD^c zv^|(<>*EgF*xz<`eyn>z$5ey`2>gcamcfB%b8>Y$#J9!o`c~06a|TGhSupO5+p77E z-?ekQXMbP+*655I`5*x@*N1uvHGB9i{<}aq&Dip*>yI;TPU!|->#r%n7MLUvKh>j< zZu2;MtH5g_^KVm(H%?HfG7s~)pDwzA)+hS*iH1dA4tqQtSF}TQIyPSJpd5$VUHf!5 z#hbaPmaVztgMDD{!PzdVbf0u@zUiLO4K9z=2%0W_&?t6jLT7>kKe@QmMCsDPV?tC; zTwb;&K7LlolV=msCYBaYvDeN9PM)7Pr0loX)k|p&-TkSXX+09g6Hu^2m_&W*u$G-B z`V!k8wI)6^iU@cbTqwL9Emb^Vrm$ebm$U28%n+A{b#!>`CfOy+drG}v(ahYT@-j)> z`NepUJX}?;(#XtShx?p9m(pcnfn#`X8{1p<@~oGV@x1n`j8{k>r~TTg%lnYQQ}X6m(W8z!)U#uZs%sCT zikzJn58q#3AK`eo1}ME~`4!qY2;Ndorzlug44UN?5=|M6=nt)P?C@Trv$Aq%r;@}S-7C8({=lJs=Q*`3d{~e3G{C`#tvxyrDSTfB7aUp% z-hnP^_^X!~B)}nN*1e_B*?z%x=dK6#USwHcsW~JmXA1&YZ5#tVVzhT+qL3Q)w>9FG z?hRfhsO0S8*ik`}4ZW~0H=leisbW`FmoC%z)+lJ|#sFk>P40Ss{X%h*rb`MF3Mmv~ zCORHbxvlOdio3Z}vCsbMQWpUsSl~Q6LR;s9!qjXc&h3195|-K{FGxS%PZID_3ppI#ns8# zW9Yk%igAN2Us$I5&j6FD;__jV%;4@;UC}CZn-Fc(c+1?heIN0S9jyZ7FE012`#3&8 zeSC?;4;i~acXS52qyFJK#}efz`m}Ze``Z-9#EU6b3+J4)&FrzGmUx(`w)$XiZX6ZY zer+(ae!aghF3o0YgUScEV9ezik&k1D)qHDfGMCZw<{0|qAwgTVdt0eyTuiydOcmqK zWZjZ6IsGpZOZ68)TpVH^KV?h^C%(MzoIsrb-@T3j0(R924Li9i4;4Y$Ilwg>&vRg23h5W7ZM z>3t_5Jo>~{qVkiIyN%@N(sr&Jt?x+#90IOQoWI8Bov*Zl5aE&wlxhPM$eH(qK^IeJ zj-o>DT)X1O?(Q6G>~q!lqsN_b|9i`M<&WFRP(WGpP}ss8+lrzuwq+fyV8_Y$+a;4oz#&#UUQ5W z{{s|7HShJpl9&0Q9*Fv3rxFP`p8VUlMwWV6cqhwK0aG6{qG3cLutC@-x&hw{zQ0V` z6?F_{4RDWZ2knNB_N+QnzHJp7N9^Cnr~3W(xlNsJctz}gm_Ko1$^JcikR>-##|4Z2 zPUeWA4+T)*E%ar0R@*sYz|i@sR1zZST0~0g1HD55MDlakPl>)BUY9xXx)*14T>tqO z<#S$%`h;yOufXD*=pq{ycXq=uTjJP&xYpCV2emIF^_HiW?xDzD@_6B7=<7h$f|LC= zjJ3Hn<4fUI`#AAK;}}Ut0r+x;lacEQ?zt4HxcjLO*nu+REdrUwgtML^1C==sjV7e{ zw2cs{!R<1ezY&?6pWCiD6R-L;3vMUVvT|AFG@BtKs}E2|HSPq2tf|`{710`BA0dI# zsTCQSGzRPV!#@80y?jtT*^LriK<>9b=hFXdS zth4)7>!Zi{!~4g#-fyaX3`PRtC@!dg!iyh^x18!&#~7q{J*<`r1j)&_9{Ksz6>p_# z%$lNlG8YmmWk*CNFK5#@=s-iFkr8(^jz1V zcwI75q@(h&nWj5HdZ0rz?=Wrc+L>NkN&}HER3ScHHXczTog|r7(v+8 zZCu+0$;_L+(l~Mdo%G`mWvKZem#4zP%tKh=-yEJi*LbrJe$sMWy3HW*le z-UkrQvr`r$Pmf?!2tudi6UP$+ZDv_J1RSn0YmG_;@(P6$t1T7>gZ)e9=aYb}v*-+m zVSh%#B07H0TNftE2b$b&EUToQH>=EoJET!^{kxmr9I=b8f7?t)ZgT;N|lGF zL^%vrdY{GiA1~1{{?wgE<8JqZY*4MVI>-PsycQVzfnR@D72ZPYc8=w zI$#sU8WZ`bh=^%3#&{RWOkkp<{pV&lRqg}Ml9$8({@tanTeqJwS&}3^k-5jNE{z3? z19jIloA88(84d}!wScMPFRI!y%W-TLbFw=7x7gUU2EL~s#5hdMQEcQyw$vkG{tStU zJ9MP8u3FHv`AiPe-x=1f{JNLXL72q^Y=ImS8WCbS;I9`R86W#FxiNzdA~Riv4Iim7 zSref5>4)dJ+S}^{_>cW|gqiDGUi6eKvhGwwV-}4^JgSsS#c$Ogq$n=*s;q;_#lpeU z*xNQ+%YA~nf$Xf#)-P^dx5(TLmuj4M3rMtaao}LfUDb~2;0riA931c?cq``D*;N2&UZ+xKrqh!oT@A?^xE>!9=hwUDHoqS(oBhY~S&n z5A#6hPoWM$P$O69H|OkDqb}iBVwcQM=3}ca?nW*BLHC6F=J^FTwa-;H#|>cw61@XNXMtK99cj0uO(LVA-~O? zibD=8{3`KNSF1mEv>}@KB0>z8b?^%phs^>?473xcI2rP>F&pSbU&FWsxr@F#K9hgm zQUym2UjTtT6(NmZ7zHR=NvEaPzuuP1)C>%&%+^_pd5LDk9Kt z11rH+V4yf$Y@uJ& zi#va}-2Y2JM?rGz`39l`STDdopv(q^Qd#n+B^8|eZy~^8d`>J`)!`L*!7!JiC?ZXz z2gX$(zk@<_^=$Q@GfO1GmDU$)AO>RwFOLVk%X|wBFvZ;qOE2q84xYj2$#`n3(%v(l zQ&6OVqCtC+>f;+}fHI6TeB*+;7QWo&ft_y*8K{vLl&MBve(Q}V%!fNQO=7iV$CbbU zqqZ865R5l#_tCKcl9CUS@dKkl=~!G24XnmwA3af*9kmd!lgfw6FPMOhFT005>Ij4e z&gQ?KTS1jhq zf^Zc0a9Y?kE^T^iSgd{dF`i0z&TfcP&y_LN>OXB8Hb4$SnAF^&xcx%4{ew?wllNm5 z5bJoO@#ils_qF^yr;gy#xV3Cl{f^a^1tb^gYXnLH~@+^*a;z`1MC>9@? zB?ng$NR(skmzeO1f|cDH9;qE=fZvo|<@an`SwRV`xHcXyR2_;ye|#rA6tr^wY28lK zfxocd5HX)1&|#TJoMHz;g@=n(t~#8Ha4L2ET)UsnpkAP^olF3LNTB7Ju0y8^mnjw? zO2!ORB#%IL+a_dXu59b^L@n}25ZG3#@isG4+(%JUGV*msjPvGmf8n-8@@C(1yF+CC z_o7I|mH$cjUQf#VZzQ$bcH{|=K_HVL2H1LIC#RT@pSu?0hTo%+6UNR*b2EA~CPeZ? ztN~Q<@mTP)K=KTSZQy2!F=7pk&!xIGn%a+{Z_;?N@Dj{KtgxV^%i(6AO4 zJ`5;I=$FT>K2foY0E(rO5p;3wi4V7>=bj_NpfsN zoJroeB0`byv;^*=i1(K~4Gn}18fGbzC#wY*&_n9{rrB?9eWa~;d&8qIw^O`^7H^&v z1=25P=XgFyrP!C+xl-SzxwSA8b@dg{Ni+S8P&#*nryzm&)F!&gmJ(!sauR6K$NEF7 zX1HhQ=v72(UgMuJ@gg|6=%hh^F@c&ge|`uhp`NQG?!LrVq?NUM_K*&>0#t9H+-S5& zRYk-6KV~=?GQb56qfpZ;5R$~whp8OEKMOm!F2 z$NNse;Ld|t?NHmiIH*fu1Pvp@;|2M?nbf$;e7y(5H@POp_0ppEef*Tmin9ZWsp8(2 z?pYEN!mZ@W+?%g{o=u{W=uf(iBB?$VPjaD93uZa6w?0fE#2I8k#M%wz*F;WxEdNct z1?-f>3U^9*mF%St6#b1eKW?j=x-=Y##M^$JHDRYftSK<1wkIOE!q8KYK$uX9tLBQu zc>l{M3r|oz0ho-%oM4f71QsDh4oQ8$Q(abSPhHhbATI@i{(oH{8)L-C0j(pS!x3K& ztp)c9aTz&?W3*6Av)4d+&-^QniJP6kcF|PrOWj|TJV#9fU+eDDxnlbC4|`niZs{U@ zFG8p<9Q~u{pIoqP{FUa%I?6x7k5O0Iz3ukS(@xT3#BF|H;ps;YY2Hv6_Gx*b$1ER_F9^NC?50N%JY zAEt$Nol;oOlZjR!a7MCwFJTxm#B;Jr|tUFGnsK z6$tYO;9xB(wZWf%$>)NW`Xs#R41D{acgHDgleKX^=t3i@BXg&oP;?Dh`(*qLvC2_l zk@j&Hb9Q}tyTWV6nB6ur!54YIEM`K(rC&mWG4$07Q7Ozc;fg)xG91U81`{B0I~-$*it`8W<&UU7hsXcStjWOLe<4%smobR^+CJf?-}+Y4;cPD=&8uzLY#eCG@k6DcOfhW^x@f_J3zJ}B*Yy=%3jjh=!Ux7N3G=o}Bc62U_O(i)}S z-w95_`&1wknV&Ry?HbaIlv591=WI}Y2haZR&b>!+{%ng7^1~_BTK-f#aV{T^XdJY) zVg~Fwj-*=29}XWY<>Ey{taQ4s3-AtLm^;*Lv8<)*o~xvUTzd3462NR{Rk4Xij5V#R z^^u5y_Q0^{3?+SfCd`O%w;cleH2Z$HMMu+PzA@UNR-3iBHEOJIL5f?XVjwmpiI6jG znLid6F8bq1)sMlAV`s>cmn)tV8X4y8b=BB+9U7IL(o&d{RfWleDtc4Aa)d*P&GZJ* z9BD4KP5JTrbFgT)uNq)*&U~fYOtq-Ij^p?Y>rQeYMoa7>S?e5^w_DTSJ9GiA9Xztrw1mBWz7z}kH@bq3q0sFBZ*5s)udXf# zl0skI5ivSKq?HCKOY9vWc*oimSZM{R!;s#{FqpUpw{}WfdLpZ@I+w@J(m|HN6nnth zr080knD?!nZtZaRb-^EGT_#d)H(x%hvB#sfNQHi2!Ba`~IbHi}v_JgP%Dgi(qSS)& z4bJP)EzP>rabo|DgJjoy+V2W}dr(=nWq(dn%&9Vi!BV-YP7faBvv_2x(3Pb#hd;$! zu`I){*Sg5CL@id6aLIV8%?^94g->mdcc+f}kVlEhw5|oF6v{9g^;Pv&Gl_fUDcP4Ri|%Nc9RMh*dmdmyljKd?{c-k6tc z8RCT0J4=FF3DpF2Y5>1xzgap2GuALGah1`Tp@^EFWt3X0_Q#PUHc zifAX!3d+~!iDM3}>?AVMlC8H~+3hJhaKRoK+I5E6-B9(XRF^KQB7Enz-B?SRh8iT_ z-F-mSJ1ImN$!4tpr3*Qe;iimvZYNiZL9I5f-Pk0u!Dq4TGzQY=er17z-q^c#TCX8< z5_HZbpY6^EJlIn7Y1zWA+HDuuK{B5B@lR0~+7!Y8gmrnjt~_A>0$_K}9_zpbbaG|h zRy%^~339u(QTLaLXNmGe(M_8Low;BSD~ZG%O$`j(xcKSJtHaei)gZp%Qk2trHg#YdDU6;@0d}k z3Bd}cVaJd=`$bPQMjqJMto53xi!J0?ro`a>TpdXLkSj1`9JDzEswurl*+WB5vX>XA zA1Z%~%Pw?o3p$xf$!$aL3sX@0v`ehvKSeeH272|*(U zN-S-cCxuC(tbst-Omec8SzQ}hGLm)aRj4lQXNYF0>2sO1)Dpr=eTBACgKb@M$K=|T^Wd=}RhDFde ze%42Ld(3TZy68zSMWIg7cg2*K$s1lOW_<7&1uuvoH2mqZQn#lTp6(dSAE0+EF|b4D z)JI>}uO=A&A&JLgiHBO zbk>Z8R2@Vka$A(C#2|z4J5iad>2Hl5q_3skvn@w;{d`Jc{$tj9q`Hf~j}Dyt18e*K z;JZda+N#E_*S-K;rzm2y@)cSWoo!QQM@O4)zt=Ncy zw4B|^4XE7Ck7Z!ngL}iDZQ<%LfQ3|ZIxsKxeGT?MtNahl>MpD>Gg(bs>Yla z)ME^P+`s$af+>mRLjj8>6&#sprWPM(a`bU8=7&StUXUZIi{i0FUVxpjz;NJZY9q?Y zYasBEE0=V6h>LgC>vv~P zUip>srMfGHvn~%oL{X5$_U{$(0v0(%1jHkD}q8G z-p!J(qo|GOxx}`*?v6h42E`VwW@b51Uu{@bMum)}JWQqkEmI)^aZRhB8UX!hoZvdt zVn69;Q~5oi7lQ|o%C!$a8So_HDBV82=W2&m4m?oP$EGqKDi(0-tlj+Rw)DHCJ$Ez~^4i&n7}kD+#vk`i-{`^ji&P0843UU@3;T?{r~rG1N%3&YOd7?Ut%e@T1-rA z*gBI%>y|mKbJ1P8)`j21CXAn;K4$#HF%z`skJr&vSJze788v>q?)dR1`ZP)Wzh2<( cxr}Ll|MwRZn;75W1!6Ny=1fbS>KOL_04PQ}GXMYp diff --git "a/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144112.png" "b/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144112.png" deleted file mode 100644 index b82fb50a369bff5c8004ed0173cdcd70e6835975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15838 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
UTs*lAohp8j5u7&NMKG+2b(cuBY90aqaGg?k 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 Bo9O@m diff --git "a/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144741.png" "b/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 144741.png" deleted file mode 100644 index f3521e56f9ba54995a4905e1b74d7740434d528b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18126 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 diff --git "a/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145035.png" "b/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145035.png" deleted file mode 100644 index fa0b05150e91b19d2ba043ef276fbb0c92dcb02a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18217 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 R22a3HQBaqEFJ~V7KLC-dhs6K@ diff --git "a/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145553.png" "b/doc/assets/\345\261\217\345\271\225\346\210\252\345\233\276 2020-08-22 145553.png" deleted file mode 100644 index f09a389843c5336bf7d1659fe61623e46690b9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27822 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 中心指标Kafka集群(整体数据) + 上海Kafka集群(部分数据) --> 中心指标Kafka集群(整体数据) + 广州Kafka集群(部分数据) --> 中心指标Kafka集群(整体数据) + 厦门Kafka集群(部分数据) --> 中心指标Kafka集群(整体数据) +``` 主从架构: -![屏幕截图 2020-08-22 144112](/assets/屏幕截图%202020-08-22%20144112.png) +```mermaid +stateDiagram-v2 + 订单业务Kafka集群 --> 报表统计Kafka集群 +``` 双活架构: -![屏幕截图 2020-08-22 144741](/assets/屏幕截图%202020-08-22%20144741.png) +```mermaid +stateDiagram-v2 + 北京Kafka集群 --> 广州Kafka集群 + 广州Kafka集群 --> 北京Kafka集群 +``` 主备架构: -![屏幕截图 2020-08-22 145035](/assets/屏幕截图%202020-08-22%20145035.png) +```mermaid +stateDiagram-v2 + direction LR + 主Kafka集群 --> 备Kafka集群 + 用户 --> 主Kafka集群: 正常情况 + 用户 --> 备Kafka集群: 主集群挂掉 +``` ### MirrorMaker -![屏幕截图 2020-08-22 145553](/assets/屏幕截图%202020-08-22%20145553.png) +```mermaid +stateDiagram-v2 + state 源Kafka集群 { + 主题A + 主题B + 主题C + } + 主题A --> 消费者1 + 主题B --> 消费者2 + 主题C --> 消费者3 + state MirrorMaker { + 消费者1 --> 生产者 + 消费者2 --> 生产者 + 消费者3 --> 生产者 + } + 生产者 --> 主题A0 + 生产者 --> 主题B0 + 生产者 --> 主题C0 + state 目标Kafka集群 { + 主题A0 + 主题B0 + 主题C0 + } +``` 如果有可能,尽量让 MirrorMaker 运行在目标数据中心里 @@ -381,6 +424,23 @@ POST localhost:8083/connectors - 如果集群里多个 broker 的非同步分区数量一直保持不变,那说明集群中的某个 broker 已经离线了 - 如果非同步分区的数量是波动的,或者虽然数量稳定但并没有 broker 离线,说明集群出现了性能问题 +关键指标: + +- BytesIn/BytesOut:Broker 端每秒入站和出站字节数 +- NetworkProcessorAvgIdlePercent:网络线程池线程平均的空闲比例 +- RequestHandlerAvgIdlePercent:I/O 线程池线程平均的空闲比例 +- UnderReplicatedPartitions:未充分备份的分区数 +- ISRShrink/ISRExpand:ISR 收缩和扩容的频次指标 +- ActiveControllerCount:当前处于激活状态的控制器的数量 + +其他监控: + +- 进程是否启动,端口是否建立,端口能否对外提供服务 +- broker 端日志,服务器日志 server.log,控制器日志 controller.log 以及主题分区状态变更日志 state-change.log +- broker 端关键线程的运行状态 + - Log Compaction 线程 + - 副本拉取消息的线程,通常以 ReplicaFetcherThread 开头 + 集群问题: - 不均衡的负载 @@ -392,6 +452,45 @@ POST localhost:8083/connectors - 进程冲突 - 配置问题 +### 客户端 + +- 关注网络RTT +- 关键线程 + - 生产者 kafka-producer-network-thread + - 消费者 kafka-coordinator-heartbeat-thread + +指标: + +- 生产者 request-latency,消息生产请求的延时 +- 消费者 lag和lead +- 消费者组 一个是 join rate,另一个是 sync rate。它们说明了 Rebalance 的频繁程度 + +## 优化 + +### 操作系统层优化 + +- 文件系统挂载优化:禁用 atime(access time)更新以减少文件系统写操作数,提高性能。 +- 文件系统选择:推荐使用ext4或XFS,特别是XFS对于生产服务器具有高性能和高伸缩性。 +- Swap空间设置:设置较小的swappiness值,防止Linux的OOM Killer随意终止进程。 +- 重要系统参数调整:ulimit -n 和 vm.max_map_count的适当调整,确保不出现文件打开过多或内存映射过小的错误。 +- 页缓存大小:重要性关乎Kafka,至少要足够容纳一个日志段的大小,以减少磁盘I/O操作。 + +### [JVM调优](/编程语言/JAVA/JVM/自动内存管理/调优.md#调优) + +### Broker端调优 + +- 参数值设置:合理设置Broker端参数以匹配生产环境,保持客户端和Broker端版本一致。 +- 版本一致性:保持版本一致以获得性能收益,如Zero Copy功能。 + +### 应用层调优 + +- 对象实例管理:避免频繁创建和及时关闭Producer和Consumer对象实例,充分利用多线程改善性能。 + +### 性能指标调优 + +- 调优吞吐量:增加num.replica.fetchers、调整缓冲区、压缩算法配置以减少网络I/O、避免设置acks=all和开启重试。 +- 调优延时:在Producer端设置linger.ms=0、不启用压缩、避免设置acks=all,在Consumer端保持fetch.min.bytes=1。 + ## 流式处理 > 数据流:无边界数据集的抽象表示 diff --git "a/doc/\344\270\255\351\227\264\344\273\266/\346\266\210\346\201\257\351\230\237\345\210\227/Kafka/\346\266\210\350\264\271\350\200\205.md" "b/doc/\344\270\255\351\227\264\344\273\266/\346\266\210\346\201\257\351\230\237\345\210\227/Kafka/\346\266\210\350\264\271\350\200\205.md" index 3f1a5cc771..e515285e2a 100644 --- "a/doc/\344\270\255\351\227\264\344\273\266/\346\266\210\346\201\257\351\230\237\345\210\227/Kafka/\346\266\210\350\264\271\350\200\205.md" +++ "b/doc/\344\270\255\351\227\264\344\273\266/\346\266\210\346\201\257\351\230\237\345\210\227/Kafka/\346\266\210\350\264\271\350\200\205.md" @@ -104,6 +104,16 @@ __consumer_offsets的key为主题、分区号、消费组,随着不断提交 - 当消费时长超过 max.poll.interval.ms 时,会抛出这个异常 - 设置相同 group.id 值的消费者组程序和独立消费者程序,也会出现这个异常 +### 重设偏移量 + +- Earliest:把位移调整到当前最早位移处。 +- Latest:把位移调整到当前最新位移处。 +- Current:把位移调整到当前最新提交位移处。 +- Specified-Offset:把位移调整成指定位移。 +- Shift-By-N:把位移调整到当前位移+N处。 +- DateTime:把位移调整到大于给定时间的最小位移处。 +- Duration:把位移调整到距离当前时间指定间隔的位移处。 + ## 再平衡 如果未能及时发送心跳或者消费时间过长,消费者都会被认为已经死了,此时消费者数量会发生变化