From affb941c38c7f266baf4d0de682ea4c49958bff3 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 18 Dec 2015 11:59:23 +0100 Subject: [PATCH 1/6] Updated ZooKeeperNet and log4net to the latest versions --- lib/log4Net/log4net.dll | Bin 270336 -> 304640 bytes lib/log4Net/log4net.xml | 12626 ++++++++++------ lib/zookeeper/ZooKeeperNet.dll | Bin 125952 -> 147968 bytes lib/zookeeper/ZooKeeperNet.pdb | Bin 486912 -> 593408 bytes .../Consumers/TopicEventHandler.cs | 2 +- .../Consumers/ZookeeperConsumerConnector.cs | 4 +- .../Consumers/ZookeeperTopicEventWatcher.cs | 2 +- src/Kafka/Kafka.Client/Utils/ZkUtils.cs | 4 +- .../ZKClient/Exceptions/ZkException.cs | 2 +- .../Kafka.Client/ZKClient/IZkChildListener.cs | 2 +- .../Kafka.Client/ZKClient/IZkConnection.cs | 2 +- src/Kafka/Kafka.Client/ZKClient/ZkClient.cs | 23 +- .../Kafka.Client/ZKClient/ZkConnection.cs | 2 +- src/Kafka/Kafka.Tests/Kafka.Tests.csproj | 231 +- 14 files changed, 8208 insertions(+), 4692 deletions(-) diff --git a/lib/log4Net/log4net.dll b/lib/log4Net/log4net.dll index ffc57e11254ad9530867b35d15aaf38eb4747d8d..6385e8e27d9b29c62809ac862f749605858a6fea 100644 GIT binary patch literal 304640 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 E)MHvk8-m<-rejuZkFNQ z-Cpf5vr%qX4||`(zO9=ZmS$ga$Mx|}w;#CU`gr%Wg925_%tl+id)ZYS_HEs*-hJ#A z?zr9F{p|kkxZU0Z>}-e8P9uZt70ecjM~1Bm8)WA@tnsk*VHx%VhuyK?4jXI-@#bZ! zhYYb3n5iBz#IDI~Dc+HvVhph}9M)sl-mszeIESr>GOgkEY=@1B8e)#HbD1eGBka{G z&edz!QhkK|;U6q7Ic)H-!(k(A?_gE;F~g35#W<`}&jRm}b_<7f>v=kCq&?DMc-z$+ zWsh;#q+tbNqwM3%RPLkg0u_gI>|)qx`>w+xhg}8p;mz4p-ACh`#$U}IM!1skRS#Kd zJW*LH8zpaH`yGrA$L2$?IsOm+ThE@kobm8>oju%V4gPGMyPTf(|6Eocyx315P!md1 ziZ#)!sXAOkE)7}pPdra&OTxmMs#Nn?@7cBwdt1gfD;Qs8T*J7IaUXyVVB!lQhuJhh}kmDeHmK&XiiSw6!^xfkZ^X`|}m=|{;0Z11TjjT9Fc zRec|>(SKJi50}cb{lDTe++g&SRUf$XH?hC6o=_9Uh@u|od3-~l*F<@a4HIs54aAsJgV}SS8bWTG%&~ zjY{?K)j-*IVE<_z9!T>?4-c2k(`P@}YeISOl!vh&Ri3ddPhzAifF@=@*2R3FA(jA5 z@zOttUClNM|LjMyPfcuM8&&3qZ9MC;94#ybA5 z!1^nUo_b~fPc)wG`FFk7v*eyVR`rK(xtu?88GdKk97!!qdMSJ%Ya*C6s$PHR%~S6w zs}g!@JY~d2N`b%Z6RC-&KwY!~8iLy26rGT7;l1hM+&%qx$`9xG?`!RuR$T{Fk5aN{ z>_3-P@AW)7o;{poDSC75hBHn8YGOLe3YBItYhGep&o-M_eur@nYd&OIohhE4PjKu- zj{WB)|F2o9w)%$i`sp9%s8Xqtt9(_9-D3~xi2ug2LUsO{qYBSHDLk*1o*vW{UTHk9 z_P(4p-i?}2cLCC9qA0ddrv5KQHI8k>soF7m`uEI5dG5qE%BPakS(D+RR~lub^qv|e zE6<+jSrSi~%BBgG%2S`o`bj`t%;VgbGCq7)TFH8qm!}6+qkmto4V?DxYUf!mWvOcI zDSM_>vS+HllRev6*{FNpJ6s-5S)I}Jcezgcd;+rY5#LSstrAl zrt@)>MEhG12neOL@LKB zxz?X#T|D}i8f;9#`li6bF{<+Ozq$O+Y%$d{RnPg~WAs1s82!IFE=6~C>0EEs^}IEo z(Oo@Ijoj1~uOI7&F+RiSd5`cMMW~)esPV`_|HH^(BBw2~DZCncmMRA}no!p_CDWW# zihr+HHgp~Pqoulwd6xEJ`R_D;r}y-!Y#z3J*oJDPIcp}XxE(w-N`A{jukHfMvx@!q z8qbm_dsT*qbMe&wS=PmNk1|l~f0st`F)duDeYk{wF3I29KWzE1=0EjMqbW`7|5M$i zP-A0-o<9F;IjU5iM@q?uIbToNGp`dItIkt3w(+!AsXXmfE^3CZN>1ijPrZs&>sKTf&Kf*r zPj4!%C;r`P?LV0>t8+xnbLoDq|6x2&`oEfMtMYi>B|YzVMe<+GwQG5_fU1S^rcll0 zJ!|*hB@cd*&IM0z|M&T-v#c)HNX?!eMzt#F%jc|GW%4Y8D%F$hfn-f6+0*9Xa(0D% z;d-Nz2e1dvygYMM`O?u;Vf%e*D0{+(^_sZuVWX~f^cUX?&l=Jc&g+$j`|P>c7^-^& z<5S&9{;&1k|Cg!M-9(LA|5G`NYx}&k z($w>aeS&53uL+8kf54(xDb#(Rj=PdIp=8gpdCLFXaw(suDlgTC)fG}byQK3=6H5NO ztFBs|Q0KLh2@CtA=NUxzbTuaY<8`Sc*Iikvr-!?Fgg{R!3oX@=>gi$mpV~j{d8miC zku0mas}(sKrD%dmB88{yS-Yb8N>L;i)}7t~(8O4H*2P4Rygb|F;Z#afH2+eoQiXFd zweq84Rc|bk3-4u0qnvNdBu4;8M0s8{QyV#rOwe%qCPq5xIce*2}=SPKi1R9C`Rqmcw8K8lUD3Y04)&?v;{tChrJqIPzw~kg`(Q+&(Glg{;6Cg_`zMCy?M$sPSZqv)~kEE zx(h$f_DVjhb(H#%e+M2-j3@8si|AI^!T?}E3S|uPvKVeN4<21HZZ=2+>MvZ^y zNsuN^^ZRL@D-24ed#Dr-uSLAV9y~`fe|IkYwT-&>72fq8PV0I1{O5TU`T0-$d-h~i zUxnMaj%uWFkX!F0Ydr10V2v7MD_P;!Y)>O4UHk;uaE=aXG}aUzFXK7VJZu@v`e>k< zU1DuyB)#XB1kK;ess+aKUG?E7H4kf2I2U!_S9f{U@@i$3<}4b&9rRaY6_uB|)~WML zwG7FH*Qkc<|KV$t8k;@Iwd=q&B3TndSf(C}`4`Kct?enRvvNGAng-OxLbiXNHEUS& z7SIsy15NP}&=Q{krTB{RYoI261L`7tEa|H-s`;Ad+QJXq4n_LHr;0_I!nu{FrRo*R zkCIhvk-pFm+5CUW>fH&2%DxB-pJ1xIl#R;kVVUl*QasKzRdUf;^T+d1-9glmZ8=sK zF0`UAeiZsc@)yNLG5iAX3&t-DQfd6^h!VgO&;^TDqMV4s|5oBraaTNsUn8)`@q0p4 zgSM76alPQX7yR^smtOGQ7ry(71+qWlGsHMK6kdiQ94_+l z8z-NE{yA|;j>m5T$~IB_EGHsdh~IMjR^s=X$kARy__|oDZ4{fdHxRyw-zNOt5vR26 z$a6dL+>SiABhOvPbCm5XeeQ^e#VzYq=46EkWN$x5mCh-eMgzX+i7oonnZ- zj?=D#AM7C`XxEo@@IR*bI`}6I?e(%w%x2tx*eF4};zSABk7lMu-|#I2>ZMk(ybc&9 z@Rvb>+Zp#T9%ekjc$V=Z@PxR|cn9b$?g4#EdFhlkfH90QiZPBc85mfqKJc7q2E@J; zj9!9dFR^lbFWE__{U6iy?c;Zq@)FaaAD|x^f3nm7{p0cHO69`xoXF*N%N4Z8&S7zR zya>+~b~#sgCcK4-EIn*O^KdWGx=yf|$(nSX_7GYnnobB4_r%i^=7%q2J$dsMXGP|O z+m~bPSl>7Ga^&`&m?o)Tf^AiU~oX{UB6NbMl)T7Ki zc~~D)W;t*H<11y(;jdiLm%?ZD?hT%WC4Ik{uAi@;9g(i*PrPNN>r0~MK|VY&C*q?1 z*~Hw4RoJa6OkC98jyJ9Ad@Lj%O{t}XzKPEPQ$pWi+#PX;TP%v({GRZcR1k5GHTSqj z-QynRC1@{ADs#osUIrbDFzrTktT}H}DA^U*7Stmp-qjc7}QuR5P*1&=? z>F~KXEZz7yY=}9)n3{E?%y46VR z!Z4Pv86@8}_86~Eo?@IZwlpjgal$w?`B3CV*dL2bmh`0{mH$@cJ)`)POwn4FoI<@W zddhXHHR=)&b2a)Q~E-a1I*=~ zkjrNQosY*YX|A0TF9OVhDQ`qcqjjCFQN!W+Ekc)0)>lD)gE)S|M_2}%`SE)zB<#2z57hk8PGqjFIu?Is#$KAGLR9Mz>$ zxnxtuWQtnmxa=O~YMIl3$!3pXnIcOr$TsczCY2;hK3{)qxn|f8x=h46cncHjB(<%V zRxo8*xh&bb&Wq)!eO@iM$5@#?g<6vFUB;8Z6UK$?w_$TV`@oE;N;q_C zm*^}xk>yz|FJa7M&Fd_0WqCKt$ENm#{dv}0p4uNW{#GS0srp)KraKs+B(#`OpYofEv5!2p?p2_wz%@wepX`Zjq z%UB2v$-}B|MeHNhcSh%$qp<(hO!MHhozQfEW~TWul~7+L>mr8cpnU z)2H_FXu7Umj84~D*V%71GrgymilNrtZ!JX0YsI9?%F~k}*Ph-uW}$p+`Z@eDL^{3; zW#j2BV{!%kRgql211^+LPag%F&yvOiPdA(gq`q_*A{dsO%DT}pFX<+*(?MetDg(JjM&3s zZ~ezY4vX)nk0^dv7&Az744Pa?@@73?hJVF7W(wqVeQwlgD_1t0;VOU6q}X*bdtzk8 zdnVoK1{nQj6ohS;d*Rv33aC@3VwSmZ#^V*etni`Dfm>%hT`|ncpW!mYEUH(OMMp5s z!QW;Ks8|cBhEU%s^%i2F{UEDqS@vKd8o%A!addV#7>shC9FQ#$V9UQxN5c_&|Fg7i?2mNrvXZDRU zGr8o$jriGL#|<}X19NfB&x)@lo6p{F)spRI?}prc_P+Q5#=zPC0@6|Q;yt8?YvX2r z9zR@D$8pi@8}SRR)P(Qib1l-WgJ*A1OMW%Gm@nb)@o^gMoD-+fE(>?$FS7?%+HAS- zCnz?veU^-#^IE0tR>GV&D`m;LbFk+k?&8d+fH5%7Hw(&fv!EQ$T1V$}NVsUx2;rhdW5_V=cJFQp zVcJ)7dL~@A%FXSca0jvbtuU?k+|dcr9>z%abnOZj$#Q)!!trwn=gi%NM3fdaFAT_iUQ1@V;XI5P?ACR9R*thL&C949rOlt`El4w`@;$L~ z-f4{PsO}hz%+}Da*3R2e`LK9<9`&3L=3T3tY*(7{RARC%=66n9$h`=CV16)msF^TP zChd`Q*5vYtI+sW3n`IoCLk@-GV>Z9Evbeuc$1FCG6z2+xZIV|SS-(01c zeXRaYAm5$s7v}ep$=b2{`>U*y+vgvH<%jb##b#LmZ@I?T^H0OlYr$t#l4XenTYc_e zFR&Z%^Vot+Ttk{O4qT9$JRCmjCf|{yxg#@KKYhVd&@6(Cc@cK%$u%}E*pQrS>|8L# zAl#EY)4s9bbKq|aPK#RFhUNtkwRl9g-Pqo@OhhMr?ySeE(rBtn)pVJk(X;A8J9y!s zs=0Q#g(Ir2!coB0z`ne2Zq-$2pBW*m1nrl)O3*&3s|4+jx=PT#r~&eag(8KpIOA#S z9`5*!QfR#GEmDPF{rM?-B+WbMEY3^0C-#?Zl(NU}u*kpS9=q?NA5vO#sak8)=5=5{ zIG8kfT5GKn_H1jdjb239t!Ic{2PMH($ZR^n#8~3FMN2WloU;h`4&D37ilJFDXOU^A z>n|>n(TByWi>M7hp0z5KuDTZ)=O<7ZeoJk}V-JaT@T=C$*t9658jX!3s?|b2>{;!w zeIvSmwG%d-xncIzMYyxubk-cUX$-$d(jDip_zwQVY;!SPd1yYhhxZ)aBWYH(N7AgS z6W6Pg7Q7haF)f<03gcrysnOpCk{bO@pj?CY9~o}6TpWyR(U8SC)y~>eAm_^5#jf(X zay{e$#=DD8i-q<_iwnGSjkhZR<<-UbOTO}V;9*fLXCrDcH)>0@TwEdFuQuE$m2LvGX(TSBtZs%yCtZv)ktc0=wsgR^P1m%_&`7x~Ar& zR;M$xc6FKsgrS@%p)INhxagR+)@WW6rR~k3v+@`)K%-IOaIHeK8Py5rRZm9RFfkly zmsHQx?&jd!MB2^Ov!FRzosQS(>MpDSRmQ4?OH{=#RUE-uMV>e%i;LCb8{k@DX)du% zlmYG%(ZGBW3*09v0}qL+z$2mt@VKZ0JSFM_3&az^3!Lf_r@AJdg60ONy)D{8zKi4G z5bV}lKhO5 zG`?YMpf$cZ3{Z@@yW1BYKL@Q~Nf%)2W;67~*@Q}6;ctl$YJg&U}Jf%^6&uDp& z3$RBn+DcmwyrjJeyryjh-q5xKZ)@+F#l_DWwaEjG>e5ty+H#2&IvurEIvus%I@PYf z&h4Xf`{-1=Q99Lbj83&1r&H}F=~TNJY(IzX7qEQ}+b?JP6>Oi!_N&=`txmPupi}KO z=~TO|I@NBQPPN;mQ|VXI#Za zSMvmL7|@7;Q!lG2z zoesF#qLx|9mK!WO3pQDF7HqZXEZAnzG1_Gv0p`OG+Q)MFpna@jKE=fms|4`4l>$6v zwFQRSjlGMD1RzRoQ@&~TS>NKKxBWG+zx};0j-5?yG6%7!i%sR(XHzbR?5a3(f3{yO zR$N57wgY2a=YXwT(~B1uZCy)&9bKz{U0s`iX|Dai-mYuF{;oT~442`DR&tdFj&j8V z$GGYO$GMsUC%M`Ivt2!bGh8Eqb6nZL1+MwP9M=lqa@VWC6|Ogcd9HW;aI9U_hPPc* zm$hD0k_}$>1B#1HUcM!Yi>+Rzf!n;Q19y4V2j+V{4czBNWjN$TevWwcg66o_yO2+L zWk5dTMWrh68V&h^*ErxMuZ6&CUaNsOymkU_dmRAY^*Rgu+3O1MftMawTnO(nfi4l` zO|2K|T?VB(iwvK*5L`Wc=!lQHg|I~IWz$QZtx4e^`6Y)V zyFsNz1cjSQPeK@tD@48%PAN_K zzf^TELawh9PAa3)O+iTdJm#B9?{&CdR_UV=((y_|Ncr?~^m?RlNy-|*TC)`_3 z@p{n|-??l*LEE~BxNr=yIN3B;y)uRzY;@M6ZnWFUd zoG{G^_oR}aW%2nno%mWRyinKSPpWd(dz!)%<rl7o6~t z6OW6bDvuM^bHX$yoaBUgPMGh67n~4}rc`<-tmlMjPB_U4^PDi>2`@OIxa_2N!g@}a z=7f`+FwY6|o$!Jard?I-KgkL6Zz(QrJICdoI_~*ilCMwoic9pHJ8@}FILQg|5DWSS z@%5Z=k`v}TVP(y`R1$v4_@&^diG?}_2qKqpfJJhcO;{_+E+a*CAw)&Fx75K>M@xNC z>Po2_rM@fmW2vC<*zlC_+To4ETZeZJ?-AZBd_efn@a*vC!}G)Uhkq3QS@`{M|A>%? zDiO6JnnbjX=n|0@(K}*T#JGr;B3_MHAF(gubi~Do%Mo8k+>ZD$;z5K~+AdwZbYSVy zr4vi1lzzN)^U_b3?o_&G>2+m3F7s)bugY92^Ie%A%lMQnSGHE!wq@6seY5PlWd}!& zjLeLj8o4y`mBS~l#F1TD&xzuuxmTOV2Pr0GxMwgpfZce$^%k3(6s@xal zu9mx3&J|rEIx4zibW(Kf==#xZqK8ILiJlofKYB^@r_oU{9b$UN42hW%vm~Z?`M~nw z<>SiNDc_`ghw^FVhgTR|;gt%%R`9AATrsI)$BGLozEbf(#osEHi%p8H7TYkkO>EcL zA+ZxfZ~jgOlVw;=9?xcs;? zabLt$j8BZO9zQC6Z2a{2h4CN7pNYQ||8u-uDY;UuN{uUZt(0D=U!`X&&8RfD(&9>a zm9|v+pwh`oXDeN(bgj~@O21Vy5=teMOQ@8PoKQF6iG)@OLlVX&Oi7rTuq0u9!sdjd z3Fi~8B-}_4mAxwmRDP`TrmsVX< z_3f&As~)RbQ1x2XU#eOuB~!|$q^7h;X`9j`rGLthlu;>}DU(xjQg)>rP5C6{^OS2T zW@Y~);sjsK*Og)hLN$S= zgrCsxJX(l;k4}<89As3or>0bgR=NCh4QJZnB-O=3sVJZw|5ODOa=I}^6< zWnhm^d@YRpoui!zkK+X<0)mLCO8d6cIz)~*uqMnV-4C~Alxymb&PYKxNM z5fLuxV(?TC&-oi5RU=VWG)Kx7NZA^1F0@DLE_fc^Rm6*K@R9~E=^_d5BUBOnM6wuw z6@?)pMGVEN!ZYwZM${CU@cbOSPQe=w*?8k&D!fmF_hq7?cnLY=iN;vbYJ#eiGAMHELgQ?-e z%Uz;^+>OA1kx@B1P^Ksq&zxBM*tXSp9rl9uY0&QLJnn7j5JT{Q38jqP@H! zI>>MFmd8!eN!}8j}oD`I_{XZ^$6INtTp5 zWQg1;L*;H+O1>{6WWFpb_sK}PUq;CTGDaSf<>g`Y*GEGz2o|?PHvxYMeFtcVVR#}+ zgna;1v0-5tc!C)JfB)r=Hro>8fFcQ zmm()Xz7mZ~dON0?8#~01{Xh4h%JWJL zo#A(5`n%Dyw8tYqg8m%it;pk$J!AV;pmHidmnu^EZ!kV!RBh#or5e2w^CQwK%MulR z4Ixz8crAc5NaSi%%&E>?a4SSOkM*Qgd^3(>S1$!)8VpMKS- zUL#pEg*A(+m4?mAYE;@?j5Vq!LgR_=*CY=gFz#nO%=j_mX~vp1dHAAcN2I;Unx7a& zEy~xd)gAicwa6y47I}-TMMt3uqpF3<#nbaTw%o$#**?mrO4X<~`BX<=^*yCm=d8kO zwGSfqOOH^#w;1(0lMuWETePQjv@T}v+S=usB6@^=vwff*PtG-K|?A-3&wVgX^evyM>XsY zo2*7RfT|YpO|JL|?7C06?`%ZJ`o%`%A+^a3=$kg7v%YyhRj-@PsQni_ z@gX!Dn$xvfVR8#9!(%O|c1m8#@=6a)K?|ypik;b#Jy&Z{CGG^zK4= z4e0U%{HXI(`B7)9Dy=GKRQIABQ+rUoRLR#x{}4#`NwPhv3$!SkQqwdJ+XsY}2AHH3<*yi3 zzJGrdM#00_p{IcAx;lL*wSc;BUT$;;dankQ@8w3d!f<^a_84%^Fv|CGqn}vwYZyIk z)9@zoS)jy>Ovk)P$A6bNry0xpg#`OLG+jn1KZ&HWuhFJ~2x|e+no? zB@qIBJkVc!ZH7XB9VjtV3xhrZ=n~(Ur4V}qC^2&jhdvSL65pB;(BA|~%m+(DUlZsO z_sufUKLAS156ePd8|W`eTak#30BU%9APTW{f&QYiT@LzAK#AF2G-4kGN>LxR)I>eT z2B;HuxMrkx-!;qw2^*sZ5_3VqW+*jwWo3KyN z8fK-{Ag5vOi7$c}(@`6VxnnJ8dZ7l``4p&O=7_&5kGUiMW;|w%j{%3Gj1n_P!jUMQ zhS?+GD7;xOF@t;@@-rx%6wd>+U44OAkHbtByS?Du zb}5$d+CUEDO4LA#JfMd6#k&AEqU_iO7^T+4+nDd-%QTc1JN)9aEs3}9`$68uxCf=y z#0Qw~YIr6;7_s|-8de&HLjD-@UQHZjJdS#3;w;K8F&};w@P;1Fkivu-LLN0+EB9}of$rvGXp(zd2@aFytkjnybj>s1wmj~kP zkSl?e-YGNMd{y3&`C*&N)rC0%wVi`~qE3gV6#Vc|TSalS$Q4u8O8$n4de@0zmVc0P!nHb4Fg{jF@BA84D7tX_$}5l zq`1j=59=8kzC|JY1#22o+-Lk%-h<`=<8N5wkobc-_n{HmuaG4WJx%)^vJS*f=$e%1 zZ;ZC4OY}EJmu5om1=R2siVcj>ynq!nAL!$?Vvyq)D`|evBmmKiv;fG7KzvcA1wyXE zSXB##CK)J2sult{g|V6z22FJ!dY2Xsxh7+6tu!>X7$4EfLSKjRQ7sDkxM!cMaT_-QZ&}$AV1F7M5_c%Q=o=-Y$`);r6oariV^Q`LGv_YTP+3p zHb5!bYtp?8C9={oW$Yb;+z;XIA;CMY3I6;2_I8lEQI7wd#%+goE!%F=X$S*Oj)?bCZUS9)zU0(;> zpuY~>sBZ+mp}z@y6Yoi)J@qZX&HCHGE&98_xApD7cl4dWclF)CZTkDb?fM?z4t+23 z+6lxxLf;SkRzC>5sUHU3(mw*;){g>98pnVk#tC4kaS|A2d;%AI|HTYVf+BOJ7b#h6Ex|Jy^MR%_hjsA+=sp&5F-KOSI7f^niy>S4tWR= z#|VF#3s-x_5r&RYW?_`Eq7`W5C- zXkGx~3T6(6{32tXITG@#=4jwL^I70KW+w1mb1W>k0dXFgm1J9cafuEa;ftSrCh`j>T z#8q<{X|0^Df5jo3FB-?H9?W;5d!YdiE?foL&n zCvcm!8=CDvw3YQfaHq8gn%&l3$h&~pPubcJc|YSp>mW2Iti#Y8XZ+Oq2=W>0DDbRx z4EULK0(jm!3H;pp1o(yZDex=nEby}R8SsjA9(dLI0(jH92)t!|1-xxt2Hvr*BA4&2 z>yW=={K@(TnxBCf30vPn{)O>@bqkvNjK5iTp#Pn*hW$PC)fpSwKS1Bi{t23;Hk01mSQfzR5(z~}4`;5a)BINlBiX4|EKQ|+?A8FmzKrX3BOWtRuewJQSW*>S)X zb|v78c4gp8b`o%QIPi?!1bEhN20UjshvfykCFCy{ui8&RzGkE!TKpUDrh5r}%iH`SD zrH-|RN2Lj@C+Qh)1L*~9Bz=I5C4GV3RQds*z*A?ujVJ?wPvUFn0L)@Suqx3X9?D^q z6^8lc0?P|H$1;KQEE_n>(t(RCA7G9}-<&VC{D8|X`u6;JD-gKC3dR%I4OR%|rE9&h zH>z0gZ2~uV+rT%xy?~p%eSmLy(--7hz5Rgic+;2U+q?sTJG_JOZuy5;?m8mM_}=z8 zA|idi1IGB?_4!d8FBXh>=F;NcR&lw>FA1~6=lx0pSNN3$=K0|{wtU$y8o1i8Jn%KY ziomsgalrL{m4F-kDg)o}LtDw^e&N8ae#yXh{OBw3ebD&H1Mul555cFOJOZD7@?-e) zlgHuHPyP!&{p2b5^pmII(@&m(Pd|AMKK*0?O64a%hfhCw0X{=yhQGH}Kdb+g_okf7 zxtik_z9)KArNpGZNi$OJr!|u#bd(rGNXO24>i+{L_Y-(7)oJ0ls{_6s2@y5)xpB zEM`1eQMg1^v>#T%7>w)?5}pLMf~72u7+KihpW@Xxy0 z#p+^}Q~jfol~{u3T$P)yBG2 zZLI&)#tKz!tN_&(^|3zH2x~r%1KWwVSSjj-)t6rA>%Fk@(o5_>&)tdNF8p@mw@2h- z?PV`kTaMtpgA?L6^xEI?(=l-L#k2QNJYx^TuQZ;om%*>1tU%Sq?DuPWJdW_&lBOOJ z8>qYDOnpa^cj`dJ0n9ht3Pa5 zpCP^bjBsn+ie?Q)XACN0PYoM2VCayh=|g&Fcvv?aI--v#G-@-bPez|nLx+e4qyG0acviWFIVoTkMA}b={mSwKRmDD1sw=Bgec2|=H^^0BAqBOF$Q>?1)F0&r3 zs%nuPkKt}o!PuA>GsbxS2*%mP0GVA6;9z4Q!AvmT-T04S9Uul`K*o469>4*zzzpC8 zvVgPj{ISUXe&2V#d(OReyPJA=H^7SOs(a7#JKy=<=TU2Gjb5{}K9p0acNZE1OLpnk zrE0I*ZVb?Tq0?_pcU#?FrO|6QJJnXGftvE%7U+lEDbJ{8NH!;3S zuUczZZfF~DS8E&9>#at>&}_GNv)ZdixN-tzqdwj3^t-Llj0b*tadCOZmFEj{bF0h6 z>57|PTqrNj6<5pC%f;ft>ZO(0+2ZnQX<>E|Ev1{7XZFB~6-H;$CylBaS z#LD(&!&Mr$2G@E`OiVJS*=7XUT(@=u11JxAjcVJW#p116L&ya$wHxI@bjuy8Dn_B}xD@Gqr;!1rp zDYcA728|4ik{H)0X)&O0oycr z2YBuEqm*)c5FnG6t-%Hep;@a6CopNLS-Y{dInxaDU1_u+GLjLMF;k6!2?KqbZZ*-2 zOVfU#)vWfH8=KvJ6O6Q-aBjk!Aknqvx|4D<-FCIv31vVX&6*b2QbvqlLb<&5vu({R z&c~JA8|_y79vaIO3>lc1XEFbw7UV`*#fKrHwA9+dhvo#h{{`}Pqa7y zhk?%DZ9)=<0vQ;|&cM}HuTkjKuT=-Njildzfigredq?5+Cg8})nQ5$5w_15Q#a^%5 zn|y{jc&a(XtZ61GP3VRDGrjg zc4L-GQ>u~w!w5WFhF3$WPv+1>Xh5X4s{<h*6dSj`$+;P_oxzhkUT93hB{zCNK*ps6XvSh-7Sg)pKK`9^eJD828YU{ zp?1_>*rPSgoQBQN*rTF}jx2aulPuWi5B8{AhEfF*hjKY{Lx~C359I(?RNTV5!46wb>dfP}zW>93CnSH6mfC{7S#k%g-3pa;Lha#G8l%|EgaJ zU;2K0=FE1d+HM+pd}2Z~{=KwZz3CtI>td2ns8=`1Rwd6$v%PLR0f6@V6vvnFS>Gi! zlQbsTZ1`S~La7C8w>Lx5%Al4_Rq^DDK;V%B8D?Vpd+HaLPOgI?H)$BBbQFAX+yR@kR#Q)vRQ~($;082Z`l7PUpbx z6m{g)b=H;%3VZ5G6Yf#3wz2K}@PHDibgQ9nUS&#?nqmqmN71LUM7?_`Lazx`L`m9i zNJz$95(_e9fLO$U5<{kh3Ed+rj7&t4ctU<4uQj%v=wHgt1vSFE^rC3upv9zWsxN(6 z*{nmhisc@1(aiJ)HC9~^qDGB07l12oYz^w&n+MoN$>7lBa--iED73se zAnfPaU6m)Qs=n*PD}J}x>vr0ZVs$J^Bm##({TnC}EI4EyzZg!#A>xs;wv8{t#Zmc)^j3*R3wJsg? zBqtG9l`fdIP_Op@SjhD-WN_wEk}UleOn>vVkV5re7yhA1Pe-cZG3x&=9U)K z8X3l}ur=r|bvJ{lymvLR(w7^x2K2UaqwxaZ!vCyk*`~3gq`+sbZ61h_pPn8x)7Yxpo!g%SGfVl+~LF@$)giaAb=t=9o z9bm=lPq3~?zwioF(@i#xnMZ^HjrS28Ycdm*dOqtVeOqCI4sJ5EFC6KsM z^2!m;gQ_>GtxMa>jWv&|La$fd7PLgfhjArxsB*zoE^?%n5^aFQ2qA-j)PDxZ|mceWm zWEZ52{sz>h^b_8gmtuK>kxF0*byBZ@>!dMny|So()B+-v5NNM^r*;}@u&2);uYLhM z0zKC#^h5uP9mR*o#u9QRVm`gm5Vocf3qog@Qd=iDKHk&!owrw8;v2j6DqMpGz6Qx? z+p7%*nv7K1s~Z@E2M^`o^&~Gf3Yj`;_ZTc=kofWz!sU`cF#P-pvDX{5R+Z9E-okKF znA4U8YaY@J;4{V9!pdC5;^^hlKPW1GyZ!#QOw^n_am>-g6YtThOkol;lle>Dm?v$7 zSdGjYn+-`UMfr~i5=8p|93r@e%T^UA_R3>D)R8j$o<(eZ0}-T7olcck<$U#z?bYkD zS|jA!UaegRZW{@#m_`|`{|?}_SJy1G#qzNK=C}HTONhJN!h9);B7B63nUU``41&&~ zK;(2(vZ$hvaSbK1BxtnU7|@F8(?};uGf8>vC2XE;Q!>&ugs#|bC@V=?s@;bDNs;71 z4DVjv$<#rpN;$5p#P#^DO{eqWzKd2vC|ArSmdU2Eovfx~xojHC!G2MUE_Q@3q|>3q z(#-WR#>_l;Fl|~WT0o%SadF^hu1Day%MH3l(9Y2LAQ2}H9{qSfr?3$aU3@o6@v}UX zE{HC5nq&mXPvY`A7LTH)W|~msaYB2Q>Pz72gQ)xIa63}!@gPC^30NM8_G&dvQ^RG1 zO5$XJlL=w^!y6~Ly}Ff|QW0+HNeRR9pkydHn=fF5L;=DmjTD)sn4t*|b!E1b2~F4| zoq}050``xjw z;%G2p!59mHG^wGhv1EFsSx4|xjD4)bZS=ZZ>lRoDKO#lV!?sBhzGH*6ot?o_K z-=a0O4lb;^>FsLAUE2U)G6D&5$N==o!v{EFOM|1ZGK%NxXxE+*Z?+Y9q3-MO)O86} z8iY0Pt8q%h8)y1b(hT#$8}kz5voFv@ugnEONBx9WLmN?rbYWBK(}ktNbgA+thEt^( ziSHU+Uwjj>v}(;el7Wa{3<}uXhKo-aO8xS7rv`*~KuBtMF=4se9cVt6Z#b|LA3z9B z>@9r4P#0$%E1a;qFtN85*YFLWZGb-8-FLB^D_;fQQeRZ5P^0#oKz13Sov=AUP-9jm zyG~3_bT4Zm@Qa%5N>`eyz=P(%!AVUxyJUv)`V*{6Z6S%R9=wx*n+IhrPzOMzLQGBjWFN8>2C(_X3*6?$ zt^Gy=|59ew+Q|bX5a*N?Qz9KS*10aOMCxC_fgnRkpSA}~I~1PyR>D>G(x*XTFUBsd zmZkJ9$?Ap-QRUJgWJHLll`Au=iz}6-mCEXs!otj4(J`gCyu7$<3H{ZZKnh|B2uMN( zH@qk99S_P6(-hbV;!^=-P#{R2UV;H`Ni-1?LB#?2qU9Rpwc5-YK*MH}L0!Ehx3ty6 z3MvHu`UZE!Ab19!@)l0u%{A7r>7u*omR0PvcO6gZlI}E_Yim+#t%YGC!~#>XL+S zO^`Q!T-t_#S#C6LEW)I1!d%581))Z#jU}UyB-oSD*anPW{niHMQySxZPFEEK|16FA zXD!Yb-vu8N*~f`YUKq;l!8ye~wz@0S-r-&)zCnc`K-Sl1>k8k}4ZgJt-+a(1U%cNp;oQmvLQKG=+zCCggAM*%q^0jY3irT zjShFvV!f)_l>`7~m7qGTF$4e+I%&a6N;<92@Qy6|dh z+t@=$TY4HDF)r`aVY^oCbvV+6E>huHViybYa3VO5eR<>%JwCzDRslpfC>|oO^;IFV%ZvrS5;er(a zJFj0C^vfqcqi@gZ*K_*yynekvb~lugViNok@ySc_;OzFChmLFWRE-u-t|%TmHo>$G$}DIS}qVkP*?j#RI+cP1!oCW0PbZ znLILeIVr=8@TN7SMXe!^*rn;UqK`nr@Ppiu)G>T5WH@bfN|Qx zI1JAxR(;d&sAWa}$U*wY(h>x&ZvGAZ zCP|7Wf|4YK;F-1nGO;KeCxK;cX!b6U+Dp=qC=0CEbBwTmb=z+m6Z$44!XQ21nwPZZ z9TDX&slnmM_Gg(=hCM{vh$`YNQsab|5Xw%}6vI578!J8PH9leC2v67xw}l{u*JbL1 zVXbbfid`V+Nyrt&ZgzV&uCk~sZ)>VRL)(ZJqeguYfRw#mkiPU<)TtRt?WFe3ItNq|#VU#*ZD|8e5m9GD$4u zH=CCS+uo{5C9nicH(_aDhkepYFWTb1w7PErw!r9cvli8tYQw38`WLXmz)mhTDAiOs z(i*0Ft88o_K(a$dDyn0r!*ma8B2+3?n5+fWV!>%Hv@CYG1y!2ltgdWopd}QF=NrK)c!>>JUt5Ce z>>_NW!7ecg4GL~s6Og23eh2`4j27o^v_C5={(!w;yBX$1hh#Jg1$Jv7Ju(G^U&oj9 zppQnfU?FZm!O0;m(Mdxn+_B1hMtBiI0;p1PMCT|FrMzXQ0Agc!Ug%3B78i(88wH}3 z{`A#D%kE^1fNzL^5Fp-EQNdlVN7yt`LEZgaVV9q1;jjA>?MA&FVxTDzLbQ^E4nWMhF(yuD};| zSE?;g^R}iW57%g$YXz988=~(PFtPk2mm>a2QR2g((>0YCIM9Z~OErDvH{WIVCQHi$ zQ_5SiO;S1AKTA3en_PiAt{L{i9IB1Pgl1c*1eTz|1##?mFh~oTB$lF8Cq^*aNM4w; zRPFa6>@{$Zyhx5|Z&62)ZWim1ABjOL#m%~97pa_Lhr1`r{gyx%-dGDe@mh>3vyweC z-J>eyerD5H?ozjo{W#tqWFx5rYQpl7w3Mx*UJ`BQ7L-(jevOQZQ74=N zT)=6-5)K18H6c00V&W#RYO3|c6z1AQWRPJAR_!=K53@cPhkb|bAZjW?bfhxS0sUuM zfj7Cz#Y0EBL5RW#@9?og3Wc(F13gP&Pmdkgv7J>S&fw>IIfKdZC&wf{=XoVg5<-d- zGF5z6*qO`Sxy6>QLld(SV@<$A)GGMAn#w{lchM`+6JFDnPF_08YrBM9pR^p-TS&>$ zNh)Qf*91aqf=S7ZUqX+Tigps%0|b61SU*(J?tuo`x2%x_A5idH!3l1HX?d^|(Ucqm zQ{@Ev=S~5LCQnh0S!B3@d=s5YP=ZRyxyiFdcnW#qCCEm% zWL`5pVq=fr^Nny*2Y^L;zxS!*%Yq@bdojqgA)2m%^8KVn32G=t2`CRAJxSnJ;%dFl zVEyo^JP)3ullX39|1$eF;C;QM*KHvZ-63|dmtdWz7hr^Dk0}ZPNmPDs5IKeeiuh3+ zP-?NW???*ibFD-_0{@4vy}~8By*vuGXa)pdNbFZ!H}{15CPVKa(nP zwPtM=+7;}tp>TVVwHkYo0HM8*LM06CtIapXi}Bmwyzh^_5ipH?iBcb0m;?b$WBxIC zo+*nRC`|0PLm-4qo&-P>E>EYhjBhKdDe`2fy>!jtTEMj|jr;wem?!LGRE1v01PDA4 z&Z9>{q0>rZxqAaToe^#SjIe@#3gx28S$dFuu#Ap<6)ew?HMTqoMHk;eR6!OiDT}yO z#C11Uu^$7zL$3lg&eu5vk?c9jTI@;fxI~mBc?_+hfl>$O`#>IeqZ7dB@Z#DU=t|Bh zuWE2}78|8n(D-m-K`01@VπihZc?33yF`JYvsqqjw!KR(XRx4%q;rlx-?HME~L$ zRx;udYoR!We%~gGU({s<;s~wE3yHsrNXND2V8a%oL*7C`5IRlblKxng#GAa#aXoOW zeH~(#d3tg-$>mat43c?po%|75a+wgU6vTK!BY;&7-};<2YXAmLR6PKc022Wc0g(U@ zcRp2<4ZwPuL~c^hBcVQ~bXj)Fr39OX7le%bdVrFkqAc10lrol0PuZPDv#PI7~ zo^zG6-BnLsNkk&*Q4cYP*-`#aP!ABI!V-Y0l3gvfk;;TD>!gcgRRwE5!fh6#!x`~t zGdLMsCIO9dyBvMH)K7=aoHgU$v-2ZD7)l9CPOhZi z7>n4$B8Yt!1+#yYWh?(I!rMP{YD;}-&+9sw;8LILm`-79=@e-+og{5rQl{Z_qosb_ zAXF_k?}wVHhOl}HagYf4j4>G>A29>CveCq-(vzj?g_qTs5)zr?b&zN=|E!CA{zV{h zDv0G69LP%FAOyhrP`>06wOEoQtXEksHs&Pk+XwhkYFLxmq=*X+#gdac6UcodwVs>irgi(32u^BeUs*5L6iD3td^3r#ac?^ z46VBS`z9pT2``EQn8iF(_{%0TsVbc=Z6U}{$4t17m1u4RKd&!%WYtQyveCe1`7YL$ zLMqk{qc?36u@l`#r02qHX_$?(A??c3YCSJ;O@Q&@6J+0nX~=nz9eSKWd5{kcvLm+N z*+#5>3+qfRY*e5C29m4tu-K7%EJzX%imgglU)i9Rv;u57ox(E0rdEkXQVHqusVv_g zLd(`QLftYBDaQ1qIld&Fu~^8#OHy7Rkb<_w7%;e`ZYo6@NTsMEwi>kBBsZtiO^x`@MMW@bMAt>n-mPvKQBB_LQ`BYYW^#)F^ zun9ZC!f*aDO{t5EQ$k^EIFrOudN@t6>>ptQ!urP^Rb46b4B^Vy3SC675a-jdpur9aEs_m}T}XB!`NTO1>Dh}mihpX+n<02}}$ zhPj1KX3v+=X_i#4Ky*Gyr?w8ISA`6x_gB~D5cV=w@A{xLM2)fi79qDPFZ|)uZg4Xf zl?w)nk*5p#ae;W^&Ir(OSE}+nKv1Z#r6t5{r|3ESOhYzoUrG5Q!9h9|JFm2XfrS6# zXF}8e;Z3xPsU$4Vaz98&ZI6JF2)UD~W?>+aFp(sFUO^oA?W z&FdaedGeb;<#}m&ajCdmDS_))=GT$;fSRi1*7`YYw)@qRR=Zlpqi@y47345cp>(YXM3YB1?tQ18?VHtDHA3pStoE{ou&p#`RN)2;o zI5&Ce+47O>$X1E67)F+!vB=bFi%*UD!=rU4FVNF;E0CP3${J?JYqlBwc)KpJhi3FW zs_(~{H=IEGKPQ;A zS{QtaU{D>lmA+HNK~?Z#7YZ|^i!F(Ld){#NQYfjtgfmjQsa_}maU6?qO23q^7ya@= zl*hSLwVfD(s^z%XhJk+;uxDs+ZUfRUW?DwrPBGV9YYbq5m0=8Xqo2wn?LjFM@i82S zV6zZUeB?AB>WN(&?=ptQoamLgMQ8+``EIE2XHs&%i+0?Sn0Q~CLgr;1QqCnh22n!Xwg zTcJS*|waEbwp+2};F+iU?hLGYZVfAvYA; zO;}9z1%E*V?j7*kiYYYq%w)~vWT3W;ZOhospu#4dg3Y&F3^y49dnxta&$;+&YQOuf za6ZrTw{BbrVm4&7{1s0jZ))#bv7!cHEQKneIYg0~a+M0>!4W25sVe2@1z0N1u)|fZ z!T@#^iUmRthfYXa&_*V(8x00XmpWpQpsUv(7N$#ZGtvZhGef+@_Wia| zNEUh1$|?3k#AiIEt8kV%Q@25&ohRSO;-KGsVR2f(Q#2KZ

-O&bclM`T{hbCM3o%YSVWu@ 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˵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 literal 270336 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 - Subclasses should override the + Subclasses should override the method to deliver the buffered events. The BufferingAppenderSkeleton maintains a fixed size cyclic @@ -119,14 +119,14 @@ A is used to inspect each event as it arrives in the appender. If the triggers, then the current buffer is sent immediately - (see ). Otherwise the event + (see ). Otherwise the event is stored in the buffer. For example, an evaluator can be used to deliver the events immediately when an ERROR event arrives. The buffering appender can be configured in a mode. By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . + the buffered events are sent with . If the property is set to true then the buffer will not be sent when it is full, and new events arriving in the appender will overwrite the oldest event in the buffer. @@ -152,7 +152,7 @@ Appenders can also implement the interface. Therefore - they would require that the method + they would require that the method be called after the appenders properties have been configured. @@ -170,7 +170,7 @@ Appenders can also implement the interface. Therefore - they would require that the method + they would require that the method be called after the appenders properties have been configured. @@ -340,13 +340,13 @@

Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific - method. + method. The event to log. This method cannot be overridden by derived classes. A - derived class should override the method + derived class should override the method which is called by this method. @@ -368,14 +368,14 @@ - Calls and checks that + Calls and checks that it returns true. If all of the above steps succeed then the - will be passed to the abstract method. + will be passed to the abstract method. @@ -383,13 +383,13 @@ Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific - method. + method. The array of events to log. This method cannot be overridden by derived classes. A - derived class should override the method + derived class should override the method which is called by this method. @@ -399,26 +399,26 @@ - Checks that the severity of the + Checks that the severity of the is greater than or equal to the of this appender. Checks that the chain accepts the - . + . - Calls and checks that + Calls and checks that it returns true. If all of the above steps succeed then the - will be passed to the method. + will be passed to the method. @@ -521,12 +521,12 @@ A subclass must implement this method to perform logging of the . - This method will be called by + This method will be called by if all the conditions listed for that method are met. To restrict the logging of events in the appender - override the method. + override the method. @@ -537,34 +537,34 @@ the array of logging events - This base class implementation calls the + This base class implementation calls the method for each element in the bulk array. A sub class that can better process a bulk array of events should - override this method in addition to . + override this method in addition to . - Called before as a precondition. + Called before as a precondition. - This method is called by - before the call to the abstract method. + This method is called by + before the call to the abstract method. This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. + made before the event is passed to the method. A subclass should ensure that they delegate this call to this base class if it is overridden. - true if the call to should proceed. + true if the call to should proceed. @@ -585,7 +585,7 @@ Where possible use the alternative version of this method - . + . That method streams the rendering onto an existing Writer which can give better performance if the caller already has a open and ready for writing. @@ -610,9 +610,9 @@ will append the exception text to the rendered string. - Use this method in preference to + Use this method in preference to where possible. If, however, the caller needs to render the event - to a string then does + to a string then does provide an efficient mechanism for doing so. @@ -698,6 +698,15 @@ StringWriter used to render events + + + The fully qualified type of the AppenderSkeleton class. + + + Used by the internal logger to record the Type of the + log message. + + Gets or sets the threshold of this appender. @@ -775,7 +784,7 @@ then the appender should return true. - This default implementation always returns true. + This default implementation always returns false. @@ -887,7 +896,7 @@ - This method is called by the method. + This method is called by the method. the event to log @@ -911,7 +920,7 @@ Before the event is stored in the buffer it is fixed - (see ) to ensure that + (see ) to ensure that any data referenced by the event will be valid when the buffer is processed. @@ -925,7 +934,7 @@ The buffer containing the events that need to be send. - The subclass must override . + The subclass must override . @@ -1059,7 +1068,7 @@ The evaluator will be called for each event that is appended to this appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). + immediately be sent (see ). If is set to true then an must be specified. @@ -1076,7 +1085,7 @@ The evaluator will be called for each event that is discarded from this appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). + be sent (see ). @@ -1095,7 +1104,7 @@ event data to be fixed and serialized. This will improve performance. - See for more information. + See for more information. @@ -1201,10 +1210,27 @@ Text that can be passed to a . - + - Connects to the database. - + Creates an instance used to connect to the database. + + + This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary). + + The of the object. + The connectionString output from the ResolveConnectionString method. + An instance with a valid connection string. + + + + Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey + property. + + + ConnectiongStringName is only supported on .NET 2.0 and higher. + + Additional information describing the connection string. + A connection string used to connect to the database. @@ -1223,20 +1249,17 @@ The of the ADO.NET provider - + - Prepares the database command and initialize the parameters. - + Connects to the database. + - + - Flag to indicate if we are using a command object + Cleanup the existing connection. - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - + Calls the IDbConnection's method. @@ -1260,14 +1283,19 @@ to insert logging events into a database. - + - The database command. + Database connection string. - + - Database connection string. + The appSettings key from App.Config that contains the connection string. + + + + + The connectionStrings key from App.Config that contains the connection string. @@ -1292,8 +1320,17 @@ - Indicates whether to use transactions when writing to the database. + Indicates whether to reconnect when a connection is lost. + + + + + The fully qualified type of the AdoNetAppender class. + + Used by the internal logger to record the Type of the + log message. + @@ -1319,6 +1356,19 @@ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" + + + The appSettings key from App.Config that contains the connection string. + + + + + The connectionStrings key from App.Config that contains the connection string. + + + This property requires at least .NET 2.0. + + Gets or sets the type name of the connection @@ -1372,6 +1422,10 @@ The property determines if this text is a prepared statement or a stored procedure. + + If this property is not set, the command text is retrieved by invoking + . + @@ -1641,6 +1695,9 @@ This property is optional. If not specified the ADO.NET provider will attempt to infer the size from the value. + + For BLOB data types like VARCHAR(max) it may be impossible to infer the value automatically, use -1 as the size in this case. + @@ -1795,7 +1852,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -1903,6 +1960,11 @@ text is displayed with a strikethrough + + + text color is light + + The enum of possible foreground or background color values for @@ -2248,16 +2310,16 @@ - is less than zero + is less than zero -or- - is equal to or greater than . + is equal to or greater than . - is less than zero + is less than zero -or- - is equal to or greater than . + is equal to or greater than . @@ -2399,12 +2461,14 @@ whether tracing is displayed to a page, to the trace viewer, or both. - The logging event is passed to the or - method depending on the level of the logging event. + The logging event is passed to the or + method depending on the level of the logging event. + The event's logger name is the default value for the category parameter of the Write/Warn method. Nicko Cadell Gert Driesen + Ron Grabowski @@ -2429,6 +2493,11 @@ + + + Defaults to %logger + + This appender requires a to be set. @@ -2440,6 +2509,19 @@ + + + The category parameter sent to the Trace method. + + + + Defaults to %logger which will use the logger name of the current + as the category parameter. + + + + + Buffers events and then forwards them to attached appenders. @@ -2797,7 +2879,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -3052,7 +3134,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -3103,7 +3185,7 @@ debug system. - Events are written using the + Events are written using the method. The event's logger name is passed as the value for the category name to the Write method. @@ -3198,8 +3280,17 @@ + The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges. + See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog + + The EventID of the event log entry can be - set using the EventLogEventID property () + set using the EventID property () + on the . + + + The Category of the event log entry can be + set using the Category property () on the . @@ -3297,7 +3388,7 @@ - This method is called by the + This method is called by the method. the event to log @@ -3315,10 +3406,10 @@ - Get the equivalent for a + Get the equivalent for a the Level to convert to an EventLogEntryType - The equivalent for a + The equivalent for a Because there are fewer applicable values to use in logging levels than there are in the @@ -3354,6 +3445,88 @@ The security context to use for privileged calls + + + The event ID to use unless one is explicitly specified via the LoggingEvent's properties. + + + + + The event category to use unless one is explicitly specified via the LoggingEvent's properties. + + + + + The fully qualified type of the EventLogAppender class. + + + Used by the internal logger to record the Type of the + log message. + + + + + The maximum size supported by default. + + + http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx + The 32766 documented max size is two bytes shy of 32K (I'm assuming 32766 + may leave space for a two byte null terminator of #0#0). The 32766 max + length is what the .NET 4.0 source code checks for, but this is WRONG! + Strings with a length > 31839 on Windows Vista or higher can CORRUPT + the event log! See: System.Diagnostics.EventLogInternal.InternalWriteEvent() + for the use of the 32766 max size. + + + + + The maximum size supported by a windows operating system that is vista + or newer. + + + See ReportEvent API: + http://msdn.microsoft.com/en-us/library/aa363679(VS.85).aspx + ReportEvent's lpStrings parameter: + "A pointer to a buffer containing an array of + null-terminated strings that are merged into the message before Event Viewer + displays the string to the user. This parameter must be a valid pointer + (or NULL), even if wNumStrings is zero. Each string is limited to 31,839 characters." + + Going beyond the size of 31839 will (at some point) corrupt the event log on Windows + Vista or higher! It may succeed for a while...but you will eventually run into the + error: "System.ComponentModel.Win32Exception : A device attached to the system is + not functioning", and the event log will then be corrupt (I was able to corrupt + an event log using a length of 31877 on Windows 7). + + The max size for Windows Vista or higher is documented here: + http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx. + Going over this size may succeed a few times but the buffer will overrun and + eventually corrupt the log (based on testing). + + The maxEventMsgSize size is based on the max buffer size of the lpStrings parameter of the ReportEvent API. + The documented max size for EventLog.WriteEntry for Windows Vista and higher is 31839, but I'm leaving room for a + terminator of #0#0, as we cannot see the source of ReportEvent (though we could use an API monitor to examine the + buffer, given enough time). + + + + + The maximum size that the operating system supports for + a event log message. + + + Used to determine the maximum string length that can be written + to the operating system event log and eventually truncate a string + that exceeds the limits. + + + + + This method determines the maximum event log message size allowed for + the current environment. + + + The name of the log where messages will be stored. @@ -3420,6 +3593,32 @@ + + + Gets or sets the EventId to use unless one is explicitly specified via the LoggingEvent's properties. + + + + The EventID of the event log entry will normally be + set using the EventID property () + on the . + This property provides the fallback value which defaults to 0. + + + + + + Gets or sets the Category to use unless one is explicitly specified via the LoggingEvent's properties. + + + + The Category of the event log entry will normally be + set using the Category property () + on the . + This property provides the fallback value which defaults to 0. + + + This appender requires a to be set. @@ -3488,8 +3687,13 @@ the property. The default behavior, implemented by is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. + The alternative models only hold a + write lock while the appender is writing a logging event () + or synchronize by using a named system wide Mutex (). + + + All locking strategies have issues and you should seriously consider using a different strategy that + avoids having multiple processes logging to the same file. Nicko Cadell @@ -3562,7 +3766,7 @@ - This method checked if an output target has been set and if a + This method checks if an output target has been set and if a layout has been set. @@ -3570,7 +3774,7 @@ - This method is called by the + This method is called by the method. The event to log. @@ -3586,7 +3790,7 @@ - This method is called by the + This method is called by the method. The array of events to log. @@ -3692,6 +3896,15 @@ + + + The fully qualified type of the TextWriterAppender class. + + + Used by the internal logger to record the Type of the + log message. + + Gets or set whether the appender will flush at the end @@ -3836,6 +4049,11 @@ + + + Close this appender instance. The underlying stream or writer is also closed. + + Called to initialize the file writer @@ -3849,7 +4067,7 @@ - This method is called by the + This method is called by the method. The event to log. @@ -3865,7 +4083,7 @@ - This method is called by the + This method is called by the method. The array of events to log. @@ -3954,9 +4172,9 @@ the file stream that has been opened for writing - This implementation of creates a + This implementation of creates a over the and passes it to the - method. + method. This method can be overridden by sub classes that want to wrap the @@ -4023,6 +4241,15 @@ The locking model to use + + + The fully qualified type of the FileAppender class. + + + Used by the internal logger to record the Type of the + log message. + + Gets or sets the path to the file that logging will be written to. @@ -4095,9 +4322,10 @@ Gets or sets the used to handle locking of the file. - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. + There are three built in locking models, , and . + The first locks the file from the start of logging to the end, the + second locks only for the minimal amount of time when logging each message + and the last synchronizes processes using a named system wide Mutex. The default locking model is the . @@ -4213,6 +4441,16 @@ + + + Initializes all resources used by this locking model. + + + + + Disposes all resources that were initialized by this locking model. + + Acquire the lock on the file @@ -4237,6 +4475,33 @@ + + + Helper method that creates a FileStream under CurrentAppender's SecurityContext. + + + + Typically called during OpenFile or AcquireLock. + + + If the directory portion of the does not exist, it is created + via Directory.CreateDirecctory. + + + + + + + + + + Helper method to close under CurrentAppender's SecurityContext. + + + Does not set to null. + + + Gets or sets the for this LockingModel @@ -4316,6 +4581,16 @@ + + + Initializes all resources used by this locking model. + + + + + Disposes all resources that were initialized by this locking model. + + Acquires the file lock for each write @@ -4379,6 +4654,75 @@ + + + Initializes all resources used by this locking model. + + + + + Disposes all resources that were initialized by this locking model. + + + + + Provides cross-process file locking. + + Ron Grabowski + Steve Wranovsky + + + + Open the file specified and prepare for logging. + + The filename to use + Whether to append to the file, or overwrite + The encoding to use + + + Open the file specified and prepare for logging. + No writes will be made until is called. + Must be called before any calls to , + - and . + + + + + + Close the file + + + + Close the file. No further writes will be made. + + + + + + Acquire the lock on the file + + A stream that is ready to be written to. + + + Does nothing. The lock is already taken + + + + + + Releases the lock and allows others to acquire a lock. + + + + + Initializes all resources used by this locking model. + + + + + Disposes all resources that were initialized by this locking model. + + This appender forwards logging events to attached appenders. @@ -4592,7 +4936,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -4920,54 +5264,256 @@ - + - Stores logging events in an array. + Appends colorful logging events to the console, using the .NET 2 + built-in capabilities. - The memory appender stores all the logging events - that are appended in an in-memory array. + ManagedColoredConsoleAppender appends log events to the standard output stream + or the error output stream using a layout specified by the + user. It also allows the color of a specific type of message to be set. + + + By default, all output is written to the console's standard output stream. + The property can be set to direct the output to the + error stream. - Use the method to get - the current list of events that have been appended. + When configuring the colored console appender, mappings should be + specified to map logging levels to colors. For example: + + + + + + + + + + + + + + + + + + + + + + The Level is the standard log4net logging level while + ForeColor and BackColor are the values of + enumeration. - Use the method to clear the - current list of events. + Based on the ColoredConsoleAppender - Julian Biddle + Rick Hobbs Nicko Cadell - Gert Driesen + Pavlos Touboulidis - + - Initializes a new instance of the class. + The to use when writing to the Console + standard output stream. - Default constructor. + The to use when writing to the Console + standard output stream. - + - Gets the events that have been logged. + The to use when writing to the Console + standard error output stream. - The events that have been logged - Gets the events that have been logged. + The to use when writing to the Console + standard error output stream. - + - This method is called by the method. + Initializes a new instance of the class. - the event to log + + The instance of the class is set up to write + to the standard output stream. + + + + + Add a mapping of level to color - done by the config file + + The mapping to add + + + Add a mapping to this appender. + Each mapping defines the foreground and background colors + for a level. + + + + + + This method is called by the method. + + The event to log. + + + Writes the event to the console. + + + The format of the output will depend on the appender's layout. + + + + + + Initialize the options for this appender + + + + Initialize the level to color mappings set on this appender. + + + + + + Flag to write output to the error stream rather than the standard output stream + + + + + Mapping from level object to color value + + + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + + + + A class to act as a mapping between the level that a logging call is made at and + the color it should be displayed as. + + + + Defines the mapping between a level and the color it should be displayed in. + + + + + + The mapped foreground color for the specified level + + + + Required property. + The mapped foreground color for the specified level. + + + + + + The mapped background color for the specified level + + + + Required property. + The mapped background color for the specified level. + + + + + + Stores logging events in an array. + + + + The memory appender stores all the logging events + that are appended in an in-memory array. + + + Use the method to get + and clear the current list of events that have been appended. + + + Use the method to get the current + list of events that have been appended. Note there is a + race-condition when calling and + in pairs, you better use in that case. + + + Use the method to clear the + current list of events. Note there is a + race-condition when calling and + in pairs, you better use in that case. + + + Julian Biddle + Nicko Cadell + Gert Driesen + + + + Initializes a new instance of the class. + + + + Default constructor. + + + + + + Gets the events that have been logged. + + The events that have been logged + + + Gets the events that have been logged. + + + + + + This method is called by the method. + + the event to log Stores the in the events list. @@ -4980,6 +5526,17 @@ Clear the list of events + + + Gets the events that have been logged and clears the list of events. + + The events that have been logged + + + Gets the events that have been logged and clears the list of events. + + + The list of events that have been appended. @@ -5008,7 +5565,7 @@ data to be fixed and stored in the appender, hereby improving performance. - See for more information. + See for more information. @@ -5054,10 +5611,10 @@ Send a message to a user account on the local machine - = <name of the local machine> + = <name of the local machine> - = <user name> + = <user name> @@ -5065,10 +5622,10 @@ Send a message to a user account on a remote machine - = <name of the remote machine> + = <name of the remote machine> - = <user name> + = <user name> @@ -5076,10 +5633,10 @@ Send a message to a domain user account - = <name of a domain controller | uninitialized> + = <name of a domain controller | uninitialized> - = <user name> + = <user name> @@ -5087,7 +5644,7 @@ Send a message to all the names in a workgroup or domain - = <workgroup name | domain name>* + = <workgroup name | domain name>* @@ -5095,10 +5652,10 @@ Send a message from the local machine to a remote machine - = <name of the local machine | uninitialized> + = <name of the local machine | uninitialized> - = <name of the remote machine> + = <name of the remote machine> @@ -5179,7 +5736,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -5524,7 +6081,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -5756,6 +6313,16 @@ Syslog port 514 + + + Initial buffer size + + + + + Maximum buffer size before it is recycled + + Initializes a new instance of the class. @@ -5778,7 +6345,7 @@ - This method is called by the method. + This method is called by the method. The event to log. @@ -6359,6 +6926,20 @@ + + + Cleans up all resources used by this appender. + + + + + The fully qualified type of the RollingFileAppender class. + + + Used by the internal logger to record the Type of the + log message. + + Sets the quiet writer being used. @@ -6484,6 +7065,17 @@ + + + Attempts to extract a number from the end of the file name that indicates + the number of the times the file has been rolled over. + + + Certain date pattern extensions like yyyyMMdd will be parsed as valid backup indexes. + + + + Takes a list of files and a base file name, and looks for @@ -6531,6 +7123,14 @@ + + + + + + .1, .2, .3, etc. + + Rollover the file(s) to date/time tagged file(s). @@ -6661,7 +7261,8 @@ This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. + a method to control this class when testing date/time based rolling. The default + implementation uses the underlying value of DateTime.Now. @@ -6732,16 +7333,50 @@ Value indicating whether to always log to the same file. + + + Value indicating whether to preserve the file name extension when rolling. + + FileName provided in configuration. Used for rolling properly + + + A mutex that is used to lock rolling of files. + + The 1st of January 1970 in UTC + + + Gets or sets the strategy for determining the current date and time. The default + implementation is to use LocalDateTime which internally calls through to DateTime.Now. + DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying + . + + + An implementation of the interface which returns the current date and time. + + + + Gets or sets the used to return the current date and time. + + + There are two built strategies for determining the current date and time, + + and . + + + The default strategy is . + + + Gets or sets the date pattern to be used for generating file names @@ -6878,6 +7513,22 @@ + + + Gets or sets a value indicating whether to preserve the file name extension when rolling. + + + true if the file name extension should be preserved. + + + + By default file.log is rolled to file.log.yyyy-MM-dd or file.log.curSizeRollBackup. + However, under Windows the new file name will loose any program associations as the + extension is changed. Optionally file.log can be renamed to file.yyyy-MM-dd.log or + file.curSizeRollBackup.log to maintain any program associations. + + + Gets or sets a value indicating whether to always log to @@ -7007,12 +7658,28 @@ - + Default implementation of that returns the current time. - + + + Gets the current time. + + The current time. + + + Gets the current time. + + + + + + Implementation of that returns the current time as the coordinated universal time (UTC). + + + Gets the current time. @@ -7079,9 +7746,58 @@ the body text to include in the mail + + + trims leading and trailing commas or semicolons + + - Gets or sets a semicolon-delimited list of recipient e-mail addresses. + Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses (use semicolon on .NET 1.1 and comma for later versions). + + + + For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses. + + + For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses. + + + + + For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses. + + + For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses. + + + + + + Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses + that will be carbon copied (use semicolon on .NET 1.1 and comma for later versions). + + + + For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses. + + + For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses. + + + + + For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses. + + + For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses. + + + + + + Gets or sets a semicolon-delimited list of recipient e-mail addresses + that will be blind carbon copied. A semicolon-delimited list of e-mail addresses. @@ -7221,7 +7937,39 @@ - + + + Enable or disable use of SSL when sending e-mail message + + + This is available on MS .NET 2.0 runtime and higher + + + + + Gets or sets the reply-to e-mail address. + + + This is available on MS .NET 2.0 runtime and higher + + + + + Gets or sets the subject encoding to be used. + + + The default encoding is the operating system's current ANSI codepage. + + + + + Gets or sets the body encoding to be used. + + + The default encoding is the operating system's current ANSI codepage. + + + This appender requires a to be set. @@ -7397,6 +8145,19 @@ + + + Gets or sets the file extension for the generated files + + + The file extension for the generated files + + + + The file extension for the generated files + + + Gets or sets the used to write to the pickup directory. @@ -7453,6 +8214,15 @@ + + + The fully qualified type of the TelnetAppender class. + + + Used by the internal logger to record the Type of the + log message. + + Overrides the parent method to close the socket handler @@ -7660,7 +8430,8 @@ Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. + method. The event's logger name is the default value for the category parameter + of the Write method. Compact Framework
@@ -7673,6 +8444,7 @@ Douglas de la Torre Nicko Cadell Gert Driesen + Ron Grabowski @@ -7724,6 +8496,11 @@ The default value is true. + + + Defaults to %logger + + Gets or sets a value that indicates whether the appender will @@ -7744,6 +8521,19 @@ + + + The category parameter sent to the Trace method. + + + + Defaults to %logger which will use the logger name of the current + as the category parameter. + + + + + This appender requires a to be set. @@ -7853,13 +8643,22 @@ Appenders can also implement the interface. Therefore - they would require that the method + they would require that the method be called after the appenders properties have been configured. Nicko Cadell Gert Driesen + + + The fully qualified type of the BasicConfigurator class. + + + Used by the internal logger to record the Type of the + log message. + + Initializes a new instance of the class. @@ -7895,6 +8694,17 @@ + + + Initializes the log4net system using the specified appenders. + + The appenders to use to log all logging events. + + + Initializes the log4net system using the specified appenders. + + + Initializes the with a default configuration. @@ -7922,6 +8732,18 @@ + + + Initializes the using the specified appenders. + + The repository to configure. + The appenders to use to log all logging events. + + + Initializes the using the specified appender. + + + Base class for all log4net configuration attributes. @@ -8335,10 +9157,10 @@ For more information on how to configure log4net using - a separate configuration file, see . + a separate configuration file, see . - + @@ -8363,10 +9185,10 @@ For more information on how to configure log4net using - a separate configuration file, see . + a separate configuration file, see . - + @@ -8382,7 +9204,7 @@ Use this attribute to configure the - without calling one of the + without calling one of the methods. @@ -8400,7 +9222,7 @@ Use this attribute to configure the - without calling one of the + without calling one of the methods. @@ -8431,7 +9253,7 @@ If you cannot guarantee the order in which log4net calls will be made from different assemblies you must use programmatic configuration instead, i.e. - call the method directly. + call the method directly. @@ -8462,7 +9284,7 @@ configure it. - The does not extend . + The does not extend . @@ -8485,6 +9307,15 @@ The assembly that this attribute was defined on. The repository to configure. + + + The fully qualified type of the XmlConfiguratorAttribute class. + + + Used by the internal logger to record the Type of the + log message. + + Gets or sets the filename of the configuration file. @@ -8683,7 +9514,7 @@ - Overrides base class method to + Overrides base class method to return a representation of the properties of this object. @@ -8729,7 +9560,7 @@ Use this attribute to configure the - without calling one of the + without calling one of the methods. @@ -8760,6 +9591,15 @@ + + + The fully qualified type of the SecurityContextProviderAttribute class. + + + Used by the internal logger to record the Type of the + log message. + + Gets or sets the type of the provider to use. @@ -9051,10 +9891,10 @@ For more information on how to configure log4net using - a separate configuration file, see . + a separate configuration file, see . - + @@ -9076,12 +9916,12 @@ For more information on how to configure log4net using - a separate configuration file, see . + a separate configuration file, see . - + - + Configures the specified repository using a log4net element. @@ -9098,6 +9938,22 @@ + + + Maps repository names to ConfigAndWatchHandler instances to allow a particular + ConfigAndWatchHandler to dispose of its FileSystemWatcher when a repository is + reconfigured. + + + + + The fully qualified type of the XmlConfigurator class. + + + Used by the internal logger to record the Type of the + log message. + + Class used to watch config files. @@ -9122,18 +9978,6 @@ before reloading the config file. - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - Holds the FileInfo used to configure the XmlConfigurator @@ -9149,9 +9993,16 @@ The timer used to compress the notification events. + + + Watches file for changes. This object should be disposed when no longer + needed to free system handles on the watched resources. + + - Initializes a new instance of the class. + Initializes a new instance of the class to + watch a specified config file used to configure a repository. The repository to configure. The configuration file to watch. @@ -9191,6 +10042,11 @@ null + + + Release the handles held by the watcher and timer. + + The implementation of the interface suitable @@ -9251,7 +10107,7 @@ The named Lookup a named . This is the repository created by - calling . + calling . @@ -9264,7 +10120,7 @@ The created will be associated with the domain - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -9284,7 +10140,7 @@ The created will be associated with the name - specified such that a call to with the + specified such that a call to with the same name will return the same repository instance. @@ -9297,8 +10153,8 @@ true if the repository exists - Test if a named repository exists. Use - to create a new repository and to retrieve + Test if a named repository exists. Use + to create a new repository and to retrieve a repository. @@ -9374,7 +10230,7 @@ Get the named . The default repository is log4net-default-repository. Other repositories - must be created using the . + must be created using the . If the named repository does not exist an exception is thrown. @@ -9414,7 +10270,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same repository specified will return the same repository instance. @@ -9436,8 +10292,8 @@ true if the repository exists - Test if a named repository exists. Use - to create a new repository and to retrieve + Test if a named repository exists. Use + to create a new repository and to retrieve a repository. @@ -9453,6 +10309,15 @@ + + + The fully qualified type of the CompactRepositorySelector class. + + + Used by the internal logger to record the Type of the + log message. + + Notify the registered listeners that the repository has been created @@ -9547,7 +10412,7 @@ does not exist a is thrown. - Use to create a repository. + Use to create a repository. is . @@ -9563,7 +10428,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -9603,7 +10468,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -9642,7 +10507,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same repository specified will return the same repository instance. @@ -9657,8 +10522,8 @@ true if the repository exists - Test if a named repository exists. Use - to create a new repository and to retrieve + Test if a named repository exists. Use + to create a new repository and to retrieve a repository. @@ -9753,6 +10618,15 @@ is . + + + The fully qualified type of the DefaultRepositorySelector class. + + + Used by the internal logger to record the Type of the + log message. + + Event to notify that a logger repository has been created. @@ -9771,11 +10645,11 @@ - Defined error codes that can be passed to the method. + Defined error codes that can be passed to the method. - Values passed to the method. + Values passed to the method. Nicko Cadell @@ -9815,6 +10689,94 @@ Failed to parse address + + + An evaluator that triggers on an Exception type + + + + This evaluator will trigger if the type of the Exception + passed to + is equal to a Type in . /// + + + Drew Schaeffer + + + + Test if an triggers an action + + + + Implementations of this interface allow certain appenders to decide + when to perform an appender specific action. + + + The action or behavior triggered is defined by the implementation. + + + Nicko Cadell + + + + Test if this event triggers the action + + The event to check + true if this event triggers the action, otherwise false + + + Return true if this event triggers the action + + + + + + The type that causes the trigger to fire. + + + + + Causes subclasses of to cause the trigger to fire. + + + + + Default ctor to allow dynamic creation through a configurator. + + + + + Constructs an evaluator and initializes to trigger on + + the type that triggers this evaluator. + If true, this evaluator will trigger on subclasses of . + + + + Is this the triggering event? + + The event to check + This method returns true, if the logging event Exception + Type is . + Otherwise it returns false + + + This evaluator will trigger if the Exception Type of the event + passed to + is . + + + + + + The type that triggers this evaluator. + + + + + If true, this evaluator will trigger on subclasses of . + + Appenders may delegate their error handling to an . @@ -9851,7 +10813,7 @@ The that was thrown when the error occurred. - See . + See . @@ -9862,7 +10824,7 @@ The message associated with the error. - See . + See . @@ -10072,33 +11034,6 @@ - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - Defines the default set of levels recognized by the system. @@ -10410,6 +11345,12 @@ The level designates a higher level than all the rest. + + + The level designates very severe error events. + System unusable, emergencies. + + The level designates very severe error events. @@ -10717,16 +11658,16 @@ - is less than zero + is less than zero -or- - is equal to or greater than . + is equal to or greater than . - is less than zero + is less than zero -or- - is equal to or greater than . + is equal to or greater than . @@ -10851,7 +11792,7 @@ This evaluator will trigger if the level of the event - passed to + passed to is equal to or greater than the level. @@ -10873,7 +11814,7 @@ This evaluator will trigger if the level of the event - passed to + passed to is equal to or greater than the level. @@ -10890,7 +11831,7 @@ This evaluator will trigger if the level of the event - passed to + passed to is equal to or greater than the level. @@ -10907,7 +11848,7 @@ This evaluator will trigger if the level of the event - passed to + passed to is equal to or greater than the level. @@ -10923,7 +11864,7 @@ This evaluator will trigger if the level of the event - passed to + passed to is equal to or greater than the level. @@ -10979,7 +11920,7 @@ Create a new Level and add it to the map - + @@ -11118,6 +12059,15 @@ + + + The fully qualified type of the LocationInfo class. + + + Used by the internal logger to record the Type of the + log message. + + Gets the fully qualified class name of the caller making the logging @@ -11188,6 +12138,11 @@ + + + Gets the stack frames from the stack trace of the caller making the log request + + Static manager that controls the creation of repositories @@ -11396,7 +12351,7 @@ - Shorthand for . + Shorthand for . The repository to lookup in. The of which the fullname will be used as the name of the logger to retrieve. @@ -11409,7 +12364,7 @@ - Shorthand for . + Shorthand for . the assembly to use to lookup the repository The of which the fullname will be used as the name of the logger to retrieve. @@ -11612,7 +12567,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -11629,7 +12584,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -11662,7 +12617,7 @@ Called when the event fires. - When the event is triggered the log4net system is . + When the event is triggered the log4net system is . @@ -11677,10 +12632,19 @@ Called when the event fires. - When the event is triggered the log4net system is . + When the event is triggered the log4net system is . + + + The fully qualified type of the LoggerManager class. + + + Used by the internal logger to record the Type of the + log message. + + Initialize the default repository selector @@ -11702,7 +12666,7 @@ The caller to supplies either a string name or an assembly (if not supplied the assembly is inferred using - ). + ). This context is used by the selector to lookup a specific repository. @@ -11953,7 +12917,7 @@ - Fix the event properties + Fix the event properties. Active properties must implement in order to be eligible for fixing. @@ -12002,8 +12966,8 @@ time the event is delivered to appenders, but will not be consistent at any time afterwards. If an event is to be stored and then processed at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it + . There is a performance penalty + for incurred by calling but it is essential to maintaining data consistency. @@ -12043,7 +13007,7 @@ Except , and , all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally + to cache all data locally to prevent inconsistencies. This method is called by the log4net framework @@ -12068,7 +13032,7 @@ be useful if you require a custom serialization scheme. - Use the method to obtain an + Use the method to obtain an instance of the class. @@ -12094,7 +13058,7 @@ be useful if you require a custom serialization scheme. - Use the method to obtain an + Use the method to obtain an instance of the class. @@ -12117,7 +13081,7 @@ be useful if you require a custom serialization scheme. - Use the method to obtain an + Use the method to obtain an instance of the class. @@ -12172,7 +13136,7 @@ The data in this event must be fixed before it can be serialized. - The method must be called during the + The method must be called during the method call if this event is to be used outside that method. @@ -12247,17 +13211,17 @@ time the event is delivered to appenders, but will not be consistent at any time afterwards. If an event is to be stored and then processed at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it + . There is a performance penalty + incurred by calling but it is essential to maintaining data consistency. - Calling is equivalent to - calling passing the parameter + Calling is equivalent to + calling passing the parameter false. - See for more + See for more information. @@ -12274,8 +13238,8 @@ time the event is delivered to appenders, but will not be consistent at any time afterwards. If an event is to be stored and then processed at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it + . There is a performance penalty + for incurred by calling but it is essential to maintaining data consistency. @@ -12714,7 +13678,7 @@ DEBUG - The and methods log messages + The and methods log messages at the DEBUG level. That is the level with that name defined in the repositories . The default value for this level is . The @@ -12724,7 +13688,7 @@ INFO - The and methods log messages + The and methods log messages at the INFO level. That is the level with that name defined in the repositories . The default value for this level is . The @@ -12734,7 +13698,7 @@ WARN - The and methods log messages + The and methods log messages at the WARN level. That is the level with that name defined in the repositories . The default value for this level is . The @@ -12744,7 +13708,7 @@ ERROR - The and methods log messages + The and methods log messages at the ERROR level. That is the level with that name defined in the repositories . The default value for this level is . The @@ -12754,7 +13718,7 @@ FATAL - The and methods log messages + The and methods log messages at the FATAL level. That is the level with that name defined in the repositories . The default value for this level is . The @@ -12778,7 +13742,7 @@ Use the to obtain logger instances - that implement this interface. The + that implement this interface. The static method is used to get logger instances. @@ -12807,7 +13771,7 @@ - + Nicko Cadell Gert Driesen @@ -12832,10 +13796,10 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. - + @@ -12848,10 +13812,10 @@ The exception to log, including its stack trace. - See the form for more detailed information. + See the form for more detailed information. - + @@ -12864,16 +13828,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -12885,16 +13849,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -12907,16 +13871,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -12930,16 +13894,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -12952,16 +13916,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -12984,11 +13948,11 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. The message object to log. - + @@ -13001,10 +13965,10 @@ The exception to log, including its stack trace. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13017,16 +13981,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13038,16 +14002,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13060,16 +14024,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13083,16 +14047,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13105,16 +14069,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13137,11 +14101,11 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. The message object to log. - + @@ -13154,10 +14118,10 @@ The exception to log, including its stack trace. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13170,16 +14134,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13191,16 +14155,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13213,16 +14177,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13236,16 +14200,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13258,16 +14222,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13291,10 +14255,10 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. - + @@ -13307,10 +14271,10 @@ The exception to log, including its stack trace. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13323,16 +14287,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13344,16 +14308,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13366,16 +14330,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13389,16 +14353,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13411,16 +14375,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13443,11 +14407,11 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. The message object to log. - + @@ -13460,10 +14424,10 @@ The exception to log, including its stack trace. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13476,16 +14440,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13497,16 +14461,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13519,16 +14483,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13542,16 +14506,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13564,16 +14528,16 @@ The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior + for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + @@ -13611,7 +14575,7 @@ the other hand, if the log is debug enabled, you will incur the cost of evaluating whether the logger is debug enabled twice. Once in and once in - the . This is an insignificant overhead + the . This is an insignificant overhead since evaluating a logger takes about 1% of the time it takes to actually log. This is the preferred style of logging. @@ -13644,8 +14608,8 @@ speed or runtime flexibility. - - + + @@ -13657,8 +14621,8 @@ For more information see . - - + + @@ -13671,8 +14635,8 @@ For more information see . - - + + @@ -13685,8 +14649,8 @@ For more information see . - - + + @@ -13699,8 +14663,8 @@ For more information see . - - + + @@ -13746,7 +14710,7 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. @@ -13763,10 +14727,10 @@ as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13776,18 +14740,18 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13800,18 +14764,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13825,18 +14789,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13851,18 +14815,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13876,13 +14840,13 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13908,7 +14872,7 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. @@ -13925,10 +14889,10 @@ passed as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + @@ -13938,18 +14902,18 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13962,18 +14926,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -13987,18 +14951,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14013,18 +14977,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14038,13 +15002,13 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14070,7 +15034,7 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. @@ -14087,10 +15051,10 @@ passed as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + @@ -14100,18 +15064,18 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14124,18 +15088,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14149,18 +15113,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14175,18 +15139,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14200,13 +15164,13 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14232,7 +15196,7 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. @@ -14249,10 +15213,10 @@ passed as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + @@ -14262,18 +15226,18 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14286,18 +15250,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14311,18 +15275,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14337,18 +15301,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14362,13 +15326,13 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14394,7 +15358,7 @@ WARNING Note that passing an to this method will print the name of the but no stack trace. To print a stack trace use the - form instead. + form instead. @@ -14411,10 +15375,10 @@ passed as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + @@ -14424,18 +15388,18 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14448,18 +15412,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14473,18 +15437,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14499,18 +15463,18 @@ An Object to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14524,13 +15488,13 @@ An Object array containing zero or more objects to format - The message is formatted using the method. See + The message is formatted using the method. See String.Format for details of the syntax of the format string and the behavior of the formatting. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. @@ -14654,6 +15618,85 @@ + + + provides method information without actually referencing a System.Reflection.MethodBase + as that would require that the containing assembly is loaded. + + + + + + When location information is not available the constant + NA is returned. Current value of this string + constant is ?. + + + + + constructs a method item for an unknown method. + + + + + constructs a method item from the name of the method. + + + + + + constructs a method item from the name of the method and its parameters. + + + + + + + constructs a method item from a method base by determining the method name and its parameters. + + + + + + The fully qualified type of the StackFrameItem class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Gets the method name of the caller making the logging + request. + + + The method name of the caller making the logging + request. + + + + Gets the method name of the caller making the logging + request. + + + + + + Gets the method parameters of the caller making + the logging request. + + + The method parameters of the caller making + the logging request + + + + Gets the method parameters of the caller making + the logging request. + + + A SecurityContext used by log4net when interacting with protected resources @@ -14774,6 +15817,195 @@ + + + provides stack frame information without actually referencing a System.Diagnostics.StackFrame + as that would require that the containing assembly is loaded. + + + + + + When location information is not available the constant + NA is returned. Current value of this string + constant is ?. + + + + + returns a stack frame item from a stack frame. This + + + + + + + The fully qualified type of the StackFrameItem class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Gets the fully qualified class name of the caller making the logging + request. + + + The fully qualified class name of the caller making the logging + request. + + + + Gets the fully qualified class name of the caller making the logging + request. + + + + + + Gets the file name of the caller. + + + The file name of the caller. + + + + Gets the file name of the caller. + + + + + + Gets the line number of the caller. + + + The line number of the caller. + + + + Gets the line number of the caller. + + + + + + Gets the method name of the caller. + + + The method name of the caller. + + + + Gets the method name of the caller. + + + + + + Gets all available caller information + + + All available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) + + + + Gets all available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) + + + + + + An evaluator that triggers after specified number of seconds. + + + + This evaluator will trigger if the specified time period + has passed since last check. + + + Robert Sevcik + + + + The default time threshold for triggering in seconds. Zero means it won't trigger at all. + + + + + The time threshold for triggering in seconds. Zero means it won't trigger at all. + + + + + The time of last check. This gets updated when the object is created and when the evaluator triggers. + + + + + Create a new evaluator using the time threshold in seconds. + + + + Create a new evaluator using the time threshold in seconds. + + + This evaluator will trigger if the specified time period + has passed since last check. + + + + + + Create a new evaluator using the specified time threshold in seconds. + + + The time threshold in seconds to trigger after. + Zero means it won't trigger at all. + + + + Create a new evaluator using the specified time threshold in seconds. + + + This evaluator will trigger if the specified time period + has passed since last check. + + + + + + Is this the triggering event? + + The event to check + This method returns true, if the specified time period + has passed since last check.. + Otherwise it returns false + + + This evaluator will trigger if the specified time period + has passed since last check. + + + + + + The time threshold in seconds to trigger after + + + The time threshold in seconds to trigger after. + Zero means it won't trigger at all. + + + + This evaluator will trigger if the specified time period + has passed since last check. + + + Delegate used to handle creation of new wrappers. @@ -15010,7 +16242,7 @@ as a string. - + Last stored time with precision up to the second, formatted as a string. @@ -15103,11 +16335,11 @@ - Formats the using the method. + Formats the using the method. - Formats the using the method. + Formats the using the method. Nicko Cadell @@ -15125,20 +16357,20 @@ The format string must be compatible with the options - that can be supplied to . + that can be supplied to . - Formats the date using . + Formats the date using . The date to convert to a string. The writer to write to. Uses the date format string supplied to the constructor to call - the method to format the date. + the method to format the date. @@ -15149,7 +16381,7 @@ The format string must be compatible with the options - that can be supplied to . + that can be supplied to . @@ -15621,7 +16853,7 @@ The rendered message is matched against the . If the equals the beginning of - the incoming () + the incoming () then a match will have occurred. If no match occurs this function will return allowing other filters to check the event. If a match occurs then @@ -15655,7 +16887,7 @@ This filter will attempt to match this value against logger name in the following way. The match will be done against the beginning of the - logger name (using ). The match is + logger name (using ). The match is case sensitive. If a match is found then the result depends on the value of . @@ -16020,6 +17252,27 @@ + + + Write an dictionary to a + + the writer to write to + a to use for object conversion + the value to write to the writer + + + Writes the to a writer in the form: + + + {key1=value1, key2=value2, key3=value3} + + + If the specified + is not null then it is used to render the key and value to text, otherwise + the object's ToString method is called. + + + Write an object to a @@ -16074,6 +17327,11 @@ + + + + + Initializes a new instance of the class. @@ -16133,20 +17391,146 @@ - + - Date pattern converter, uses a to format - the date of a . + Converter for items in the ASP.Net Cache. - Render the to the writer as a string. + Outputs an item from the . + + Ron Grabowski + + + + Abstract class that provides access to the current HttpContext () that + derived classes need. + + + This class handles the case when HttpContext.Current is null by writing + to the writer. + + Ron Grabowski + + + + Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + + + + Write the ASP.Net Cache item to the output + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + - The value of the determines - the formatting of the date. The following values are allowed: - - + Writes out the value of a named property. The property name + should be set in the + property. If no property has been set, all key value pairs from the Cache will + be written to the output. + + + + + + Converter for items in the . + + + + Outputs an item from the . + + + Ron Grabowski + + + + Write the ASP.Net HttpContext item to the output + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + + + Writes out the value of a named property. The property name + should be set in the + property. + + + + + + Converter for items in the ASP.Net Cache. + + + + Outputs an item from the . + + + Ron Grabowski + + + + Write the ASP.Net Cache item to the output + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + + + Writes out the value of a named property. The property name + should be set in the + property. + + + + + + Converter for items in the ASP.Net Cache. + + + + Outputs an item from the . + + + Ron Grabowski + + + + Write the ASP.Net Cache item to the output + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + + + Writes out the value of a named property. The property name + should be set in the + property. If no property has been set, all key value pairs from the Session will + be written to the output. + + + + + + Date pattern converter, uses a to format + the date of a . + + + + Render the to the writer as a string. + + + The value of the determines + the formatting of the date. The following values are allowed: + + Option value Output @@ -16176,7 +17560,7 @@ Any other pattern string uses the formatter. This formatter passes the pattern string to the - method. + method. For details on valid patterns see DateTimeFormatInfo Class. @@ -16234,6 +17618,15 @@ + + + The fully qualified type of the DatePatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + Write the exception text to the output @@ -16271,11 +17664,32 @@ trailing newline. - If there is no exception then nothing will be output + If there is no exception or the exception property specified + by the Option value does not exist then nothing will be output and no trailing newline will be appended. It is typical to put a newline before the exception and to have the exception as the last data in the pattern. + + Recognized values for the Option parameter are: + + + + Message + + + Source + + + StackTrace + + + TargetSite + + + HelpLink + + @@ -16476,6 +17890,15 @@ specified by the property. + + + The fully qualified type of the NamedPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + Gets the fully qualified name of the logger @@ -16636,6 +18059,86 @@ end time (in the current local time zone) the time difference in milliseconds + + + Write the caller stack frames to the output + + + + Writes the to the output writer, using format: + type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) + + + Adam Davies + + + + Write the caller stack frames to the output + + + + Writes the to the output writer, using format: + type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 + + + Michael Cromwell + + + + Initialize the converter + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Write the strack frames to the output + + that will receive the formatted result. + the event being logged + + + Writes the to the output writer. + + + + + + Returns the Name of the method + + + This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter + string + + + + The fully qualified type of the StackTracePatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + The fully qualified type of the StackTraceDetailPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + Converter to include event thread name @@ -16734,439 +18237,92 @@ - + - A Layout that renders only the Exception text from the logging event + The fully qualified type of the UtcDatePatternConverter class. - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - + Used by the internal logger to record the Type of the + log message. - Nicko Cadell - Gert Driesen - + - Extend this abstract class to create your own log layout format. + A flexible layout configurable with pattern string that re-evaluates on each call. - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - + This class is built on and provides all the + features and capabilities of PatternLayout. PatternLayout is a 'static' class + in that its layout is done once at configuration time. This class will recreate + the layout on each reference. + One important difference between PatternLayout and DynamicPatternLayout is the + treatment of the Header and Footer parameters in the configuration. The Header and Footer + parameters for DynamicPatternLayout must be syntactically in the form of a PatternString, + but should not be marked as type log4net.Util.PatternString. Doing so causes the + pattern to be statically converted at configuration time and causes DynamicPatternLayout + to perform the same as PatternLayout. + Please see for complete documentation. + + <layout type="log4net.Layout.DynamicPatternLayout"> + <param name="Header" value="%newline**** Trace Opened Local: %date{yyyy-MM-dd HH:mm:ss.fff} UTC: %utcdate{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> + <param name="Footer" value="**** Trace Closed %date{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> + </layout> + - Nicko Cadell - Gert Driesen - + - Interface implemented by layout objects + A flexible layout configurable with pattern string. - An object is used to format a - as text. The method is called by an - appender to transform the into a string. + The goal of this class is to a + as a string. The results + depend on the conversion pattern. - The layout can also supply and - text that is appender before any events and after all the events respectively. + The conversion pattern is closely related to the conversion + pattern of the printf function in C. A conversion pattern is + composed of literal text and format control expressions called + conversion specifiers. - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - This method is called by an appender to format - the as text and output to a writer. + You are free to insert any literal text within the conversion + pattern. - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . + Each conversion specifier starts with a percent sign (%) and is + followed by optional format modifiers and a conversion + pattern name. The conversion pattern name specifies the type of + data, e.g. logger, level, date, thread name. The format + modifiers control such things as field width, padding, left and + right justification. The following is a simple example. + + + Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume + that the log4net environment was set to use a PatternLayout. Then the + statements - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); + ILog log = LogManager.GetLogger(typeof(TestApp)); + log.Debug("Message 1"); + log.Warn("Message 2"); + + would yield the output + + DEBUG [main]: Message 1 + WARN [main]: Message 2 - - - - - The content type output by this layout. - - The content type - - The content type output by this layout. + Note that there is no explicit separator between text and + conversion specifiers. The pattern parser knows when it has reached + the end of a conversion specifier when it reads a conversion + character. In the example above the conversion specifier + %-5level means the level of the logging event should be left + justified to a width of five characters. - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: + The recognized conversion pattern names are: @@ -17184,6 +18340,50 @@ logging event was generated. + + aspnet-cache + + + Used to output all cache items in the case of %aspnet-cache or just one named item if used as %aspnet-cache{key} + + + This pattern is not available for Compact Framework or Client Profile assemblies. + + + + + aspnet-context + + + Used to output all context items in the case of %aspnet-context or just one named item if used as %aspnet-context{key} + + + This pattern is not available for Compact Framework or Client Profile assemblies. + + + + + aspnet-request + + + Used to output all request parameters in the case of %aspnet-request or just one named param if used as %aspnet-request{key} + + + This pattern is not available for Compact Framework or Client Profile assemblies. + + + + + aspnet-session + + + Used to output all session items in the case of %aspnet-session or just one named item if used as %aspnet-session{key} + + + This pattern is not available for Compact Framework or Client Profile assemblies. + + + c Equivalent to logger @@ -17215,7 +18415,7 @@ The date format specifier admits the same syntax as the - time pattern string of the . + time pattern string of the . For better results it is recommended to use the log4net date @@ -17228,7 +18428,7 @@ These dedicated date formatters perform significantly - better than . + better than . @@ -17494,6 +18694,42 @@ r Equivalent to timestamp + + stacktrace + + + Used to output the stack trace of the logging event + The stack trace level specifier may be enclosed + between braces. For example, %stacktrace{level}. + If no stack trace level specifier is given then 1 is assumed + + + Output uses the format: + type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 + + + This pattern is not available for Compact Framework assemblies. + + + + + stacktracedetail + + + Used to output the stack trace of the logging event + The stack trace level specifier may be enclosed + between braces. For example, %stacktracedetail{level}. + If no stack trace level specifier is given then 1 is assumed + + + Output uses the format: + type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) + + + This pattern is not available for Compact Framework assemblies. + + + t Equivalent to thread @@ -17576,7 +18812,7 @@ The date format specifier admits the same syntax as the - time pattern string of the . + time pattern string of the . For better results it is recommended to use the log4net date @@ -17589,7 +18825,7 @@ These dedicated date formatters perform significantly - better than . + better than . @@ -17615,6656 +18851,8659 @@ - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. + The single letter patterns are deprecated in favor of the + longer more descriptive pattern names. + + + By default the relevant information is output as is. However, + with the aid of format modifiers it is possible to change the + minimum field width, the maximum field width and justification. + + + The optional format modifier is placed between the percent sign + and the conversion pattern name. + + + The first optional format modifier is the left justification + flag which is just the minus (-) character. Then comes the + optional minimum field width modifier. This is a decimal + constant that represents the minimum number of characters to + output. If the data item requires fewer characters, it is padded on + either the left or the right until the minimum width is + reached. The default is to pad on the left (right justify) but you + can specify right padding with the left justification flag. The + padding character is space. If the data item is larger than the + minimum field width, the field is expanded to accommodate the + data. The value is never truncated. + + + This behavior can be changed using the maximum field + width modifier which is designated by a period followed by a + decimal constant. If the data item is longer than the maximum + field, then the extra characters are removed from the + beginning of the data item and not from the end. For + example, it the maximum field width is eight and the data item is + ten characters long, then the first two characters of the data item + are dropped. This behavior deviates from the printf function in C + where truncation is done from the end. + + + Below are various format modifier examples for the logger + conversion specifier. + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none + + Left pad with spaces if the logger name is less than 20 + characters long. + +
%-20loggertrue20none + + Right pad with spaces if the logger + name is less than 20 characters long. + +
%.30loggerNAnone30 + + Truncate from the beginning if the logger + name is longer than 30 characters. + +
%20.30loggerfalse2030 + + Left pad with spaces if the logger name is shorter than 20 + characters. However, if logger name is longer than 30 characters, + then truncate from the beginning. + +
%-20.30loggertrue2030 + + Right pad with spaces if the logger name is shorter than 20 + characters. However, if logger name is longer than 30 characters, + then truncate from the beginning. + +
+
+ + Note about caller location information.
+ The following patterns %type %file %line %method %location %class %C %F %L %l %M + all generate caller location information. + Location information uses the System.Diagnostics.StackTrace class to generate + a call stack. The caller's information is then extracted from this stack. +
+ + + The System.Diagnostics.StackTrace class is not supported on the + .NET Compact Framework 1.0 therefore caller location information is not + available on that framework. + + + + + The System.Diagnostics.StackTrace class has this to say about Release builds: + + + "StackTrace information will be most informative with Debug build configurations. + By default, Debug builds include debug symbols, while Release builds do not. The + debug symbols contain most of the file, method name, line number, and column + information used in constructing StackFrame and StackTrace objects. StackTrace + might not report as many method calls as expected, due to code transformations + that occur during optimization." + + + This means that in a Release build the caller information may be incomplete or may + not exist at all! Therefore caller location information cannot be relied upon in a Release build. + + + + Additional pattern converters may be registered with a specific + instance using the method. + +
+ + This is a more detailed pattern. + %timestamp [%thread] %level %logger %ndc - %message%newline + + + A similar pattern except that the relative time is + right padded if less than 6 digits, thread name is right padded if + less than 15 characters and truncated if longer and the logger + name is left padded if shorter than 30 characters and truncated if + longer. + %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline + + Nicko Cadell + Gert Driesen + Douglas de la Torre + Daniel Cazzulino +
+ + + Extend this abstract class to create your own log layout format. + + + + This is the base implementation of the + interface. Most layout objects should extend this class. + + + + + + Subclasses must implement the + method. + + + Subclasses should set the in their default + constructor. + + + + Nicko Cadell + Gert Driesen + + + + Interface implemented by layout objects + + + + An object is used to format a + as text. The method is called by an + appender to transform the into a string. + + + The layout can also supply and + text that is appender before any events and after all the events respectively. + + + Nicko Cadell + Gert Driesen + + + + Implement this method to create your own layout format. + + The TextWriter to write the formatted event to + The event to format + + + This method is called by an appender to format + the as text and output to a writer. + + + If the caller does not have a and prefers the + event to be formatted as a then the following + code can be used to format the event into a . + + + StringWriter writer = new StringWriter(); + Layout.Format(writer, loggingEvent); + string formattedEvent = writer.ToString(); + + + + + + The content type output by this layout. + + The content type + + + The content type output by this layout. + + + This is a MIME type e.g. "text/plain". + + + + + + The header for the layout format. + + the layout header + + + The Header text will be appended before any logging events + are formatted and appended. + + + + + + The footer for the layout format. + + the layout footer + + + The Footer text will be appended after all the logging events + have been formatted and appended. + + + + + + Flag indicating if this layout handle exceptions + + false if this layout handles exceptions + + + If this layout handles the exception object contained within + , then the layout should return + false. Otherwise, if the layout ignores the exception + object, then the layout should return true. + + + + + + The header text + + + + See for more information. + + + + + + The footer text + + + + See for more information. + + + + + + Flag indicating if this layout handles exceptions + + + + false if this layout handles exceptions + + + + + + Empty default constructor + + + + Empty default constructor + + + + + + Activate component options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + This method must be implemented by the subclass. + + + + + + Implement this method to create your own layout format. + + The TextWriter to write the formatted event to + The event to format + + + This method is called by an appender to format + the as text. + + + + + + Convenience method for easily formatting the logging event into a string variable. + + + + Creates a new StringWriter instance to store the formatted logging event. + + + + + The content type output by this layout. + + The content type is "text/plain" + + + The content type output by this layout. + + + This base class uses the value "text/plain". + To change this value a subclass must override this + property. + + + + + + The header for the layout format. + + the layout header + + + The Header text will be appended before any logging events + are formatted and appended. + + + + + + The footer for the layout format. + + the layout footer + + + The Footer text will be appended after all the logging events + have been formatted and appended. + + + + + + Flag indicating if this layout handles exceptions + + false if this layout handles exceptions + + + If this layout handles the exception object contained within + , then the layout should return + false. Otherwise, if the layout ignores the exception + object, then the layout should return true. + + + Set this value to override a this default setting. The default + value is true, this layout does not handle the exception. + + + + + + Default pattern string for log output. + + + + Default pattern string for log output. + Currently set to the string "%message%newline" + which just prints the application supplied message. + + + + + + A detailed conversion pattern + + + + A conversion pattern which includes Time, Thread, Logger, and Nested Context. + Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. + + + + + + Internal map of converter identifiers to converter types. + + + + This static map is overridden by the m_converterRegistry instance map + + + + + + the pattern + + + + + the head of the pattern converter chain + + + + + patterns defined on this PatternLayout only + + + + + Initialize the global registry + + + + Defines the builtin global rules. + + + + + + Constructs a PatternLayout using the DefaultConversionPattern + + + + The default pattern just produces the application supplied message. + + + Note to Inheritors: This constructor calls the virtual method + . If you override this method be + aware that it will be called before your is called constructor. + + + As per the contract the + method must be called after the properties on this object have been + configured. + + + + + + Constructs a PatternLayout using the supplied conversion pattern + + the pattern to use + + + Note to Inheritors: This constructor calls the virtual method + . If you override this method be + aware that it will be called before your is called constructor. + + + When using this constructor the method + need not be called. This may not be the case when using a subclass. + + + + + + Create the pattern parser instance + + the pattern to parse + The that will format the event + + + Creates the used to parse the conversion string. Sets the + global and instance rules on the . + + + + + + Initialize layout options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Produces a formatted string as specified by the conversion pattern. + + the event being logged + The TextWriter to write the formatted event to + + + Parse the using the patter format + specified in the property. + + + + + + Add a converter to this PatternLayout + + the converter info + + + This version of the method is used by the configurator. + Programmatic users should use the alternative method. + + + + + + Add a converter to this PatternLayout + + the name of the conversion pattern for this converter + the type of the converter + + + Add a named pattern converter to this instance. This + converter will be used in the formatting of the event. + This method must be called before . + + + The specified must extend the + type. + + + + + + The pattern formatting string + + + + The ConversionPattern option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. + + + + + + The header PatternString + + + + + The footer PatternString + + + + + Constructs a DynamicPatternLayout using the DefaultConversionPattern + + + + The default pattern just produces the application supplied message. + + + + + + Constructs a DynamicPatternLayout using the supplied conversion pattern + + the pattern to use + + + + + + The header for the layout format. + + the layout header + + + The Header text will be appended before any logging events + are formatted and appended. + + The pattern will be formatted on each get operation. + + + + + The footer for the layout format. + + the layout footer + + + The Footer text will be appended after all the logging events + have been formatted and appended. + + The pattern will be formatted on each get operation. + + + + + A Layout that renders only the Exception text from the logging event + + + + A Layout that renders only the Exception text from the logging event. + + + This Layout should only be used with appenders that utilize multiple + layouts (e.g. ). + + + Nicko Cadell + Gert Driesen + + + + Default constructor + + + + Constructs a ExceptionLayout + + + + + + Activate component options + + + + Part of the component activation + framework. + + + This method does nothing as options become effective immediately. + + + + + + Gets the exception text from the logging event + + The TextWriter to write the formatted event to + the event being logged + + + Write the exception string to the . + The exception string is retrieved from . + + + + + + Interface for raw layout objects + + + + Interface used to format a + to an object. + + + This interface should not be confused with the + interface. This interface is used in + only certain specialized situations where a raw object is + required rather than a formatted string. The + is not generally useful than this interface. + + + Nicko Cadell + Gert Driesen + + + + Implement this method to create your own layout format. + + The event to format + returns the formatted event + + + Implement this method to create your own layout format. + + + + + + Adapts any to a + + + + Where an is required this adapter + allows a to be specified. + + + Nicko Cadell + Gert Driesen + + + + The layout to adapt + + + + + Construct a new adapter + + the layout to adapt + + + Create the adapter for the specified . + + + + + + Format the logging event as an object. + + The event to format + returns the formatted event + + + Format the logging event as an object. + + + Uses the object supplied to + the constructor to perform the formatting. + + + + + + Type converter for the interface + + + + Used to convert objects to the interface. + Supports converting from the interface to + the interface using the . + + + Nicko Cadell + Gert Driesen + + + + Interface supported by type converters + + + + This interface supports conversion from arbitrary types + to a single target type. See . + + + Nicko Cadell + Gert Driesen + + + + Can the source type be converted to the type supported by this object + + the type to convert + true if the conversion is possible + + + Test if the can be converted to the + type supported by this converter. + + + + + + Convert the source object to the type supported by this object + + the object to convert + the converted object + + + Converts the to the type supported + by this converter. + + + + + + Can the sourceType be converted to an + + the source to be to be converted + true if the source type can be converted to + + + Test if the can be converted to a + . Only is supported + as the . + + + + + + Convert the value to a object + + the value to convert + the object + + + Convert the object to a + object. If the object + is a then the + is used to adapt between the two interfaces, otherwise an + exception is thrown. + + + + + + Extract the value of a property from the + + + + Extract the value of a property from the + + + Nicko Cadell + + + + Constructs a RawPropertyLayout + + + + + Lookup the property for + + The event to format + returns property value + + + Looks up and returns the object value of the property + named . If there is no property defined + with than name then null will be returned. + + + + + + The name of the value to lookup in the LoggingEvent Properties collection. + + + Value to lookup in the LoggingEvent Properties collection + + + + String name of the property to lookup in the . + + + + + + Extract the date from the + + + + Extract the date from the + + + Nicko Cadell + Gert Driesen + + + + Constructs a RawTimeStampLayout + + + + + Gets the as a . + + The event to format + returns the time stamp + + + Gets the as a . + + + The time stamp is in local time. To format the time stamp + in universal time use . + + + + + + Extract the date from the + + + + Extract the date from the + + + Nicko Cadell + Gert Driesen + + + + Constructs a RawUtcTimeStampLayout + + + + + Gets the as a . + + The event to format + returns the time stamp + + + Gets the as a . + + + The time stamp is in universal time. To format the time stamp + in local time use . + + + + + + A very simple layout + + + + SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself. For example, + + DEBUG - Hello world + + + + Nicko Cadell + Gert Driesen + + + + Constructs a SimpleLayout + + + + + Initialize layout options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Produces a simple formatted output. + + the event being logged + The TextWriter to write the formatted event to + + + Formats the event as the level of the even, + followed by " - " and then the log message itself. The + output is terminated by a newline. + + + + + + Layout that formats the log events as XML elements. + + + + The output of the consists of a series of + log4net:event elements. It does not output a complete well-formed XML + file. The output is designed to be included as an external entity + in a separate file to form a correct XML file. + + + For example, if abc is the name of the file where + the output goes, then a well-formed XML file would + be: + + + <?xml version="1.0" ?> + + <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> + + <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> + &data; + </log4net:events> + + + This approach enforces the independence of the + and the appender where it is embedded. + + + The version attribute helps components to correctly + interpret output generated by . The value of + this attribute should be "1.2" for release 1.2 and later. + + + Alternatively the Header and Footer properties can be + configured to output the correct XML header, open tag and close tag. + When setting the Header and Footer properties it is essential + that the underlying data store not be appendable otherwise the data + will become invalid XML. + + + Nicko Cadell + Gert Driesen + + + + Layout that formats the log events as XML elements. + + + + This is an abstract class that must be subclassed by an implementation + to conform to a specific schema. + + + Deriving classes must implement the method. + + + Nicko Cadell + Gert Driesen + + + + Protected constructor to support subclasses + + + + Initializes a new instance of the class + with no location info. + + + + + + Protected constructor to support subclasses + + + + The parameter determines whether + location information will be output by the layout. If + is set to true, then the + file name and line number of the statement at the origin of the log + statement will be output. + + + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. + + + + + + Initialize layout options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Produces a formatted string. + + The event being logged. + The TextWriter to write the formatted event to + + + Format the and write it to the . + + + This method creates an that writes to the + . The is passed + to the method. Subclasses should override the + method rather than this method. + + + + + + Does the actual writing of the XML. + + The writer to use to output the event to. + The event to write. + + + Subclasses should override this method to format + the as XML. + + + + + + Flag to indicate if location information should be included in + the XML events. + + + + + The string to replace invalid chars with + + + + + Gets a value indicating whether to include location information in + the XML events. + + + true if location information should be included in the XML + events; otherwise, false. + + + + If is set to true, then the file + name and line number of the statement at the origin of the log + statement will be output. + + + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. + + + + + + The string to replace characters that can not be expressed in XML with. + + + Not all characters may be expressed in XML. This property contains the + string to replace those that can not with. This defaults to a ?. Set it + to the empty string to simply remove offending characters. For more + details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets + Character replacement will occur in the log message, the property names + and the property values. + + + + + + + Gets the content type output by this layout. + + + As this is the XML layout, the value is always "text/xml". + + + + As this is the XML layout, the value is always "text/xml". + + + + + + Constructs an XmlLayout + + + + + Constructs an XmlLayout. + + + + The LocationInfo option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. + + + If you are embedding this layout within an SmtpAppender + then make sure to set the LocationInfo option of that + appender as well. + + + + + + Initialize layout options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + Builds a cache of the element names + + + + + + Does the actual writing of the XML. + + The writer to use to output the event to. + The event to write. + + + Override the base class method + to write the to the . + + + + + + The prefix to use for all generated element names + + + + + The prefix to use for all element names + + + + The default prefix is log4net. Set this property + to change the prefix. If the prefix is set to an empty string + then no prefix will be written. + + + + + + Set whether or not to base64 encode the message. + + + + By default the log message will be written as text to the xml + output. This can cause problems when the message contains binary + data. By setting this to true the contents of the message will be + base64 encoded. If this is set then invalid character replacement + (see ) will not be performed + on the log message. + + + + + + Set whether or not to base64 encode the property values. + + + + By default the properties will be written as text to the xml + output. This can cause problems when one or more properties contain + binary data. By setting this to true the values of the properties + will be base64 encoded. If this is set then invalid character replacement + (see ) will not be performed + on the property values. + + + + + Layout that formats the log events as XML elements compatible with the log4j schema + + - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. + Formats the log events according to the http://logging.apache.org/log4j schema. + + Nicko Cadell + + + + The 1st of January 1970 in UTC + + + + + Constructs an XMLLayoutSchemaLog4j + + + + + Constructs an XMLLayoutSchemaLog4j. + + - The optional format modifier is placed between the percent sign - and the conversion pattern name. + The LocationInfo option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. + + + + + Actually do the writing of the xml + + the writer to use + the event to write + - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. + Generate XML that is compatible with the log4j schema. + + + + + The version of the log4j schema to use. + + - Below are various format modifier examples for the logger - conversion specifier. + Only version 1.2 of the log4j schema is supported. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
+
+
+ + + The default object Renderer. + + - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. + The default renderer supports rendering objects and collections to strings.
- - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. + See the method for details of the output. - - +
+ Nicko Cadell + Gert Driesen +
+ + + Implement this interface in order to render objects as strings + + - The System.Diagnostics.StackTrace class has this to say about Release builds: + Certain types require special case conversion to + string form. This conversion is done by an object renderer. + Object renderers implement the + interface. + + Nicko Cadell + Gert Driesen + + + + Render the object to a string + + The map used to lookup renderers + The object to render + The writer to render to + - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." + Render the object to a + string. + + + The parameter is + provided to lookup and render other objects. This is + very useful where contains + nested objects of unknown type. The + method can be used to render these objects. + + + + + + Default constructor + + + + Default constructor + + + + + + Render the object to a string + + The map used to lookup renderers + The object to render + The writer to render to + + + Render the object to a string. - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. + The parameter is + provided to lookup and render other objects. This is + very useful where contains + nested objects of unknown type. The + method can be used to render these objects. - - Additional pattern converters may be registered with a specific - instance using the method. + The default renderer supports rendering objects to strings as follows: + + + Value + Rendered String + + + null + + "(null)" + + + + + + + For a one dimensional array this is the + array type name, an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. + + + For example: int[] {1, 2, 3}. + + + If the array is not one dimensional the + Array.ToString() is returned. + + + + + , & + + + Rendered as an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. + + + For example: {a, b, c}. + + + All collection classes that implement its subclasses, + or generic equivalents all implement the interface. + + + + + + + + Rendered as the key, an equals sign ('='), and the value (using the appropriate + renderer). + + + For example: key=value. + + + + + other + + Object.ToString() + + + - - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - + - Default pattern string for log output. + Render the array argument into a string + The map used to lookup renderers + the array to render + The writer to render to - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. + For a one dimensional array this is the + array type name, an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. For example: + int[] {1, 2, 3}. + + + If the array is not one dimensional the + Array.ToString() is returned. - + - A detailed conversion pattern + Render the enumerator argument into a string + The map used to lookup renderers + the enumerator to render + The writer to render to - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. + Rendered as an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. For example: + {a, b, c}. - + - Internal map of converter identifiers to converter types. + Render the DictionaryEntry argument into a string + The map used to lookup renderers + the DictionaryEntry to render + The writer to render to - This static map is overridden by the m_converterRegistry instance map + Render the key, an equals sign ('='), and the value (using the appropriate + renderer). For example: key=value. - + - the pattern + Map class objects to an . + + + Maintains a mapping between types that require special + rendering and the that + is used to render them. + + + The method is used to render an + object using the appropriate renderers defined in this map. + + + Nicko Cadell + Gert Driesen - + - the head of the pattern converter chain + Default Constructor + + + Default constructor. + + - + - patterns defined on this PatternLayout only + Render using the appropriate renderer. + the object to render to a string + the object rendered as a string + + + This is a convenience method used to render an object to a string. + The alternative method + should be used when streaming output to a . + + - + - Initialize the global registry + Render using the appropriate renderer. + the object to render to a string + The writer to render to - Defines the builtin global rules. + Find the appropriate renderer for the type of the + parameter. This is accomplished by calling the + method. Once a renderer is found, it is + applied on the object and the result is returned + as a . - + - Constructs a PatternLayout using the DefaultConversionPattern + Gets the renderer for the specified object type + the object to lookup the renderer for + the renderer for - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - + + Gets the renderer for the specified object type. + + + Syntactic sugar method that calls + with the type of the object parameter. + - + - Constructs a PatternLayout using the supplied conversion pattern + Gets the renderer for the specified type - the pattern to use + the type to lookup the renderer for + the renderer for the specified type - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. + Returns the renderer for the specified type. + If no specific renderer has been defined the + will be returned. - + - Create the pattern parser instance + Internal function to recursively search interfaces + + the type to lookup the renderer for + the renderer for the specified type + + + + Clear the map of renderers - the pattern to parse - The that will format the event - Creates the used to parse the conversion string. Sets the - global and instance rules on the . + Clear the custom renderers defined by using + . The + cannot be removed. - + - Initialize layout options + Register an for . + the type that will be rendered by + the renderer for - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + + Register an object renderer for a specific source type. + This renderer will be returned from a call to + specifying the same as an argument. - + - Produces a formatted string as specified by the conversion pattern. + Get the default renderer instance - the event being logged - The TextWriter to write the formatted event to + the default renderer - Parse the using the patter format - specified in the property. + Get the default renderer - + - Add a converter to this PatternLayout + Interface implemented by logger repository plugins. - the converter info - This version of the method is used by the configurator. - Programmatic users should use the alternative method. + Plugins define additional behavior that can be associated + with a . + The held by the + property is used to store the plugins for a repository. + + + The log4net.Config.PluginAttribute can be used to + attach plugins to repositories created using configuration + attributes. + Nicko Cadell + Gert Driesen - + - Add a converter to this PatternLayout + Attaches the plugin to the specified . - the name of the conversion pattern for this converter - the type of the converter + The that this plugin should be attached to. - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . + A plugin may only be attached to a single repository. - The specified must extend the - type. + This method is called when the plugin is attached to the repository. - + - The pattern formatting string + Is called when the plugin is to shutdown. - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. + This method is called to notify the plugin that + it should stop operating and should detach from + the repository. - + - Wrapper class used to map converter names to converter types + Gets the name of the plugin. + + The name of the plugin. + - Pattern converter info class used during configuration to - pass to the - method. + Plugins are stored in the + keyed by name. Each plugin instance attached to a + repository must be a unique name. - + - default constructor + A strongly-typed collection of objects. + Nicko Cadell - + - Gets or sets the name of the conversion pattern + Creates a read-only wrapper for a PluginCollection instance. - - - The name of the pattern in the format string - - + list to create a readonly wrapper arround + + A PluginCollection wrapper that is read-only. + - + - Gets or sets the type of the converter + Initializes a new instance of the PluginCollection class + that is empty and has the default initial capacity. - - - The value specified must extend the - type. - - - + - Type converter for the interface + Initializes a new instance of the PluginCollection class + that has the specified initial capacity. - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen + + The number of elements that the new PluginCollection is initially capable of storing. + - + - Interface supported by type converters + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified PluginCollection. - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen + The PluginCollection whose elements are copied to the new collection. - + - Can the source type be converted to the type supported by this object + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified array. - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - + The array whose elements are copied to the new list. - + - Convert the source object to the type supported by this object + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified collection. - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - + The collection whose elements are copied to the new list. - + - Can the sourceType be converted to an + Allow subclasses to avoid our default constructors - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - + + + + + + Copies the entire PluginCollection to a one-dimensional + array. + + The one-dimensional array to copy to. + + + + Copies the entire PluginCollection to a one-dimensional + array, starting at the specified index of the target array. + + The one-dimensional array to copy to. + The zero-based index in at which copying begins. + + + + Adds a to the end of the PluginCollection. + + The to be added to the end of the PluginCollection. + The index at which the value has been added. + + + + Removes all elements from the PluginCollection. + + + + + Creates a shallow copy of the . + + A new with a shallow copy of the collection data. + + + + Determines whether a given is in the PluginCollection. + + The to check for. + true if is found in the PluginCollection; otherwise, false. + + + + Returns the zero-based index of the first occurrence of a + in the PluginCollection. + + The to locate in the PluginCollection. + + The zero-based index of the first occurrence of + in the entire PluginCollection, if found; otherwise, -1. + + + + + Inserts an element into the PluginCollection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + is less than zero + -or- + is equal to or greater than . + + + + + Removes the first occurrence of a specific from the PluginCollection. + + The to remove from the PluginCollection. + + The specified was not found in the PluginCollection. + + + + + Removes the element at the specified index of the PluginCollection. + + The zero-based index of the element to remove. + + is less than zero. + -or- + is equal to or greater than . + + + + + Returns an enumerator that can iterate through the PluginCollection. + + An for the entire PluginCollection. + + + + Adds the elements of another PluginCollection to the current PluginCollection. + + The PluginCollection whose elements should be added to the end of the current PluginCollection. + The new of the PluginCollection. - + - Convert the value to a object + Adds the elements of a array to the current PluginCollection. - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - + The array whose elements should be added to the end of the PluginCollection. + The new of the PluginCollection. - + - Extract the value of a property from the + Adds the elements of a collection to the current PluginCollection. - - - Extract the value of a property from the - - - Nicko Cadell + The collection whose elements should be added to the end of the PluginCollection. + The new of the PluginCollection. - + - Constructs a RawPropertyLayout + Sets the capacity to the actual number of elements. - + + + is less than zero. + -or- + is equal to or greater than . + + + + + is less than zero. + -or- + is equal to or greater than . + + + - Lookup the property for + Gets the number of elements actually contained in the PluginCollection. - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - + - The name of the value to lookup in the LoggingEvent Properties collection. + Gets a value indicating whether access to the collection is synchronized (thread-safe). + + true if access to the ICollection is synchronized (thread-safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the collection. - Value to lookup in the LoggingEvent Properties collection + An object that can be used to synchronize access to the collection. - - - String name of the property to lookup in the . - - - + - Extract the date from the + Gets or sets the at the specified index. - - - Extract the date from the - - - Nicko Cadell - Gert Driesen + + The at the specified index. + + The zero-based index of the element to get or set. + + is less than zero. + -or- + is equal to or greater than . + - + - Constructs a RawTimeStampLayout + Gets a value indicating whether the collection has a fixed size. + true if the collection has a fixed size; otherwise, false. The default is false. - + - Gets the as a . + Gets a value indicating whether the IList is read-only. - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - + true if the collection is read-only; otherwise, false. The default is false. - + - Extract the date from the + Gets or sets the number of elements the PluginCollection can contain. - - - Extract the date from the - - - Nicko Cadell - Gert Driesen + + The number of elements the PluginCollection can contain. + - + - Constructs a RawUtcTimeStampLayout + Supports type-safe iteration over a . + - + - Gets the as a . + Advances the enumerator to the next element in the collection. - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + - + - A very simple layout + Sets the enumerator to its initial position, before the first element in the collection. - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - + - Constructs a SimpleLayout + Gets the current element in the collection. - + - Initialize layout options + Type visible only to our subclasses + Used to access protected constructor - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - + - + - Produces a simple formatted output. + A value - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen + + + Supports simple iteration over a . + + - + - Layout that formats the log events as XML elements. + Initializes a new instance of the Enumerator class. + + + + + + Advances the enumerator to the next element in the collection. + + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + + + + + Sets the enumerator to its initial position, before the first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + + + + Map of repository plugins. - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. + This class is a name keyed map of the plugins that are + attached to a repository. Nicko Cadell Gert Driesen - + - Protected constructor to support subclasses + Constructor + The repository that the plugins should be attached to. - Initializes a new instance of the class - with no location info. + Initialize a new instance of the class with a + repository that the plugins should be attached to. - + - Protected constructor to support subclasses + Adds a to the map. + The to add to the map. - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. + The will be attached to the repository when added. - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + If there already exists a plugin with the same name + attached to the repository then the old plugin will + be and replaced with + the new plugin. - + - Initialize layout options + Removes a from the map. + The to remove from the map. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Remove a specific plugin from this map. - + - Produces a formatted string. + Gets a by name. - The event being logged. - The TextWriter to write the formatted event to + The name of the to lookup. + + The from the map with the name specified, or + null if no plugin is found. + - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. + Lookup a plugin by name. If the plugin is not found null + will be returned. - + - Does the actual writing of the XML. + Gets all possible plugins as a list of objects. - The writer to use to output the event to. - The event to write. + All possible plugins as a list of objects. - Subclasses should override this method to format - the as XML. + Get a collection of all the plugins defined in this map. - - - Flag to indicate if location information should be included in - the XML events. - - - + - Writer adapter that ignores Close + Base implementation of + + + Default abstract implementation of the + interface. This base class can be used by implementors + of the interface. + + + Nicko Cadell + Gert Driesen - + - The string to replace invalid chars with + Constructor + the name of the plugin + + Initializes a new Plugin with the specified name. + - + - Gets a value indicating whether to include location information in - the XML events. + Attaches this plugin to a . - - true if location information should be included in the XML - events; otherwise, false. - + The that this plugin should be attached to. - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. + A plugin may only be attached to a single repository. - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + This method is called when the plugin is attached to the repository. - + - The string to replace characters that can not be expressed in XML with. + Is called when the plugin is to shutdown. + - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. + This method is called to notify the plugin that + it should stop operating and should detach from + the repository. -
- + - Gets the content type output by this layout. + The name of this plugin. - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - + - Constructs an XmlLayout + The repository this plugin is attached to. - + - Constructs an XmlLayout. + Gets or sets the name of the plugin. + + The name of the plugin. + - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. + Plugins are stored in the + keyed by name. Each plugin instance attached to a + repository must be a unique name. - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. + The name of the plugin must not change one the + plugin has been attached to a repository. - + - Initialize layout options + The repository for this plugin + + The that this plugin is attached to. + - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names + Gets or sets the that this plugin is + attached to. - + - Does the actual writing of the XML. + Plugin that listens for events from the - The writer to use to output the event to. - The event to write. - Override the base class method - to write the to the . + This plugin publishes an instance of + on a specified . This listens for logging events delivered from + a remote . + + + When an event is received it is relogged within the attached repository + as if it had been raised locally. + Nicko Cadell + Gert Driesen - - - The prefix to use for all generated element names - - - + - The prefix to use for all element names + Default constructor - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. + Initializes a new instance of the class. + + + The property must be set. - + - Set whether or not to base64 encode the message. + Construct with sink Uri. + The name to publish the sink under in the remoting infrastructure. + See for more details. - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. + Initializes a new instance of the class + with specified name. - + - Set whether or not to base64 encode the property values. + Attaches this plugin to a . + The that this plugin should be attached to. - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. + A plugin may only be attached to a single repository. + + + This method is called when the plugin is attached to the repository. - + - Layout that formats the log events as XML elements compatible with the log4j schema + Is called when the plugin is to shutdown. - Formats the log events according to the http://logging.apache.org/log4j schema. + When the plugin is shutdown the remote logging + sink is disconnected. - Nicko Cadell - + - The 1st of January 1970 in UTC + The fully qualified type of the RemoteLoggingServerPlugin class. + + Used by the internal logger to record the Type of the + log message. + - + - Constructs an XMLLayoutSchemaLog4j + Gets or sets the URI of this sink. + + The URI of this sink. + + + + This is the name under which the object is marshaled. + + + - + - Constructs an XMLLayoutSchemaLog4j. + Delivers objects to a remote sink. - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + Internal class used to listen for logging events + and deliver them to the local repository. - + - Actually do the writing of the xml + Constructor - the writer to use - the event to write + The repository to log to. - Generate XML that is compatible with the log4j schema. + Initializes a new instance of the for the + specified . - + - The version of the log4j schema to use. + Logs the events to the repository. + The events to log. - Only version 1.2 of the log4j schema is supported. + The events passed are logged to the - + - The default object Renderer. + Obtains a lifetime service object to control the lifetime + policy for this instance. + null to indicate that this instance should live forever. - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. + Obtains a lifetime service object to control the lifetime + policy for this instance. This object should live forever + therefore this implementation returns null. - Nicko Cadell - Gert Driesen - + - Implement this interface in order to render objects as strings + The underlying that events should + be logged to. + + + + + Default implementation of - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. + This default implementation of the + interface is used to create the default subclass + of the object. Nicko Cadell Gert Driesen - + - Render the object to a string + Interface abstracts creation of instances - The map used to lookup renderers - The object to render - The writer to render to - Render the object to a - string. + This interface is used by the to + create new objects. - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. + The method is called + to create a named . - - - - - Default constructor - - - Default constructor + Implement this interface to create new subclasses of . + Nicko Cadell + Gert Driesen - + - Render the object to a string + Create a new instance - The map used to lookup renderers - The object to render - The writer to render to + The that will own the . + The name of the . + The instance for the specified name. - Render the object to a string. + Create a new instance with the + specified name. - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. + Called by the to create + new named instances. - The default renderer supports rendering objects to strings as follows: + If the is null then the root logger + must be returned. - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - + - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - + Default constructor +
+ - If the array is not one dimensional the - Array.ToString() is returned. + Initializes a new instance of the class.
- + - Render the enumerator argument into a string + Create a new instance - The map used to lookup renderers - the enumerator to render - The writer to render to + The that will own the . + The name of the . + The instance for the specified name. - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. + Create a new instance with the + specified name. + + + Called by the to create + new named instances. + + + If the is null then the root logger + must be returned. - + - Render the DictionaryEntry argument into a string + Default internal subclass of - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. + This subclass has no additional behavior over the + class but does allow instances + to be created. - + - Map class objects to an . + Implementation of used by - Maintains a mapping between types that require special - rendering and the that - is used to render them. + Internal class used to provide implementation of + interface. Applications should use to get + logger instances. - The method is used to render an - object using the appropriate renderers defined in this map. + This is one of the central classes in the log4net implementation. One of the + distinctive features of log4net are hierarchical loggers and their + evaluation. The organizes the + instances into a rooted tree hierarchy. + + + The class is abstract. Only concrete subclasses of + can be created. The + is used to create instances of this type for the . Nicko Cadell Gert Driesen + Aspi Havewala + Douglas de la Torre - + - Default Constructor + This constructor created a new instance and + sets its name. + The name of the . - Default constructor. + This constructor is protected and designed to be used by + a subclass that is not abstract. + + + Loggers are constructed by + objects. See for the default + logger creator. - + - Render using the appropriate renderer. + Add to the list of appenders of this + Logger instance. - the object to render to a string - the object rendered as a string + An appender to add to this logger - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . + Add to the list of appenders of this + Logger instance. + + + If is already in the list of + appenders, then it won't be added again. - + - Render using the appropriate renderer. + Look for the appender named as name - the object to render to a string - The writer to render to + The name of the appender to lookup + The appender with the name specified, or null. - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . + Returns the named appender, or null if the appender is not found. - + - Gets the renderer for the specified object type + Remove all previously added appenders from this Logger instance. - the object to lookup the renderer for - the renderer for - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - + + Remove all previously added appenders from this Logger instance. + + + This is useful when re-reading configuration information. + - + - Gets the renderer for the specified type + Remove the appender passed as parameter form the list of appenders. - the type to lookup the renderer for - the renderer for the specified type + The appender to remove + The appender removed from the list - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. + Remove the appender passed as parameter form the list of appenders. + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - + - Clear the map of renderers + Remove the appender passed as parameter form the list of appenders. + The name of the appender to remove + The appender removed from the list - Clear the custom renderers defined by using - . The - cannot be removed. + Remove the named appender passed as parameter form the list of appenders. + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - + - Register an for . + This generic form is intended to be used by wrappers. - the type that will be rendered by - the renderer for + The declaring type of the method that is + the stack boundary into the logging system for this call. + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. + Generate a logging event for the specified using + the and . + + + This method must not throw any exception to the caller. - + - Get the default renderer instance + This is the most generic printing method that is intended to be used + by wrappers. - the default renderer + The event being logged. - Get the default renderer + Logs the specified logging event through this logger. + + + This method must not throw any exception to the caller. - + - Interface implemented by logger repository plugins. + Checks if this logger is enabled for a given passed as parameter. + The level to check. + + true if this logger is enabled for level, otherwise false. + - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. + Test if this logger is going to log events of the specified . - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. + This method must not throw any exception to the caller. - Nicko Cadell - Gert Driesen - + - Attaches the plugin to the specified . + Deliver the to the attached appenders. - The that this plugin should be attached to. + The event to log. - A plugin may only be attached to a single repository. + Call the appenders in the hierarchy starting at + this. If no appenders could be found, emit a + warning. - This method is called when the plugin is attached to the repository. + This method calls all the appenders inherited from the + hierarchy circumventing any evaluation of whether to log or not + to log the particular log request. - + - Is called when the plugin is to shutdown. + Closes all attached appenders implementing the interface. - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. + Used to ensure that the appenders are correctly shutdown. - + - Gets the name of the plugin. + This is the most generic printing method. This generic form is intended to be used by wrappers - - The name of the plugin. - + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. + Generate a logging event for the specified using + the . - + - A strongly-typed collection of objects. + Creates a new logging event and logs the event without further checks. - Nicko Cadell + The declaring type of the method that is + the stack boundary into the logging system for this call. + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. + + + Generates a logging event and delivers it to the attached + appenders. + + - + - Creates a read-only wrapper for a PluginCollection instance. + Creates a new logging event and logs the event without further checks. - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - + The event being logged. + + + Delivers the logging event to the attached appenders. + + - + - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. + The fully qualified type of the Logger class. - + - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. + The name of this logger. - - The number of elements that the new PluginCollection is initially capable of storing. - - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. + The assigned level of this logger. - The PluginCollection whose elements are copied to the new collection. + + + The level variable need not be + assigned a value in which case it is inherited + form the hierarchy. + + - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. + The parent of this logger. - The array whose elements are copied to the new list. + + + The parent of this logger. + All loggers have at least one ancestor which is the root logger. + + - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. + Loggers need to know what Hierarchy they are in. - The collection whose elements are copied to the new list. + + + Loggers need to know what Hierarchy they are in. + The hierarchy that this logger is a member of is stored + here. + + - + - Allow subclasses to avoid our default constructors + Helper implementation of the interface - - - + - Copies the entire PluginCollection to a one-dimensional - array. + Flag indicating if child loggers inherit their parents appenders - The one-dimensional array to copy to. + + + Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to false then the appenders found in the + ancestors of this logger are not used. However, the children + of this logger will inherit its appenders, unless the children + have their additivity flag set to false too. See + the user manual for more details. + + - + - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. + Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - + - Adds a to the end of the PluginCollection. + Gets or sets the parent logger in the hierarchy. - The to be added to the end of the PluginCollection. - The index at which the value has been added. + + The parent logger in the hierarchy. + + + + Part of the Composite pattern that makes the hierarchy. + The hierarchy is parent linked rather than child linked. + + - + - Removes all elements from the PluginCollection. + Gets or sets a value indicating if child loggers inherit their parent's appenders. + + true if child loggers inherit their parent's appenders. + + + + Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to false then the appenders found in the + ancestors of this logger are not used. However, the children + of this logger will inherit its appenders, unless the children + have their additivity flag set to false too. See + the user manual for more details. + + - + - Creates a shallow copy of the . + Gets the effective level for this logger. - A new with a shallow copy of the collection data. + The nearest level in the logger hierarchy. + + + Starting from this logger, searches the logger hierarchy for a + non-null level and returns it. Otherwise, returns the level of the + root logger. + + The Logger class is designed so that this method executes as + quickly as possible. + - + - Determines whether a given is in the PluginCollection. + Gets or sets the where this + Logger instance is attached to. - The to check for. - true if is found in the PluginCollection; otherwise, false. + The hierarchy that this logger belongs to. + + + This logger must be attached to a single . + + - + - Returns the zero-based index of the first occurrence of a - in the PluginCollection. + Gets or sets the assigned , if any, for this Logger. - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - + + The of this logger. + + + + The assigned can be null. + + - + - Inserts an element into the PluginCollection at the specified index. + Get the appenders contained in this logger as an + . - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - + A collection of the appenders in this logger + + + Get the appenders contained in this logger as an + . If no appenders + can be found, then a is returned. + + - + - Removes the first occurrence of a specific from the PluginCollection. + Gets the logger name. - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - + + The name of the logger. + + + + The name of this logger + + - + - Removes the element at the specified index of the PluginCollection. + Gets the where this + Logger instance is attached to. - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - + + The that this logger belongs to. + + + + Gets the where this + Logger instance is attached to. + + - + - Returns an enumerator that can iterate through the PluginCollection. + Construct a new Logger - An for the entire PluginCollection. + the name of the logger + + + Initializes a new instance of the class + with the specified name. + + - + - Adds the elements of another PluginCollection to the current PluginCollection. + Delegate used to handle logger creation event notifications. - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. + The in which the has been created. + The event args that hold the instance that has been created. + + + Delegate used to handle logger creation event notifications. + + - + - Adds the elements of a array to the current PluginCollection. + Provides data for the event. - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. + + + A event is raised every time a + is created. + + - + - Adds the elements of a collection to the current PluginCollection. + The created - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - + - Sets the capacity to the actual number of elements. + Constructor + The that has been created. + + + Initializes a new instance of the event argument + class,with the specified . + + - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - + - Gets the number of elements actually contained in the PluginCollection. + Gets the that has been created. + + The that has been created. + + + + The that has been created. + + - + - Gets a value indicating whether access to the collection is synchronized (thread-safe). + Hierarchical organization of loggers - true if access to the ICollection is synchronized (thread-safe); otherwise, false. + + + The casual user should not have to deal with this class + directly. + + + This class is specialized in retrieving loggers by name and + also maintaining the logger hierarchy. Implements the + interface. + + + The structure of the logger hierarchy is maintained by the + method. The hierarchy is such that children + link to their parent but parents do not have any references to their + children. Moreover, loggers can be instantiated in any order, in + particular descendant before ancestor. + + + In case a descendant is created before a particular ancestor, + then it creates a provision node for the ancestor and adds itself + to the provision node. Other descendants of the same ancestor add + themselves to the previously created provision node. + + + Nicko Cadell + Gert Driesen - + - Gets an object that can be used to synchronize access to the collection. + Base implementation of - - An object that can be used to synchronize access to the collection. - + + + Default abstract implementation of the interface. + + + Skeleton implementation of the interface. + All types can extend this type. + + + Nicko Cadell + Gert Driesen - + - Gets or sets the at the specified index. + Interface implemented by logger repositories. - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - + + + This interface is implemented by logger repositories. e.g. + . + + + This interface is used by the + to obtain interfaces. + + + Nicko Cadell + Gert Driesen - + - Gets a value indicating whether the collection has a fixed size. + Check if the named logger exists in the repository. If so return + its reference, otherwise returns null. - true if the collection has a fixed size; otherwise, false. The default is false. + The name of the logger to lookup + The Logger object with the name specified + + + If the names logger exists it is returned, otherwise + null is returned. + + - + - Gets a value indicating whether the IList is read-only. + Returns all the currently defined loggers as an Array. - true if the collection is read-only; otherwise, false. The default is false. + All the defined loggers + + + Returns all the currently defined loggers as an Array. + + - + - Gets or sets the number of elements the PluginCollection can contain. + Returns a named logger instance - - The number of elements the PluginCollection can contain. - + The name of the logger to retrieve + The logger object with the name specified + + + Returns a named logger instance. + + + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. + + - + + Shutdown the repository + + + Shutting down a repository will safely close and remove + all appenders in all loggers including the root logger. + + + Some appenders need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + + The method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. + + + + - Supports type-safe iteration over a . + Reset the repositories configuration to a default state - + + + Reset all values contained in this instance to their + default state. + + + Existing loggers are not removed. They are just reset. + + + This method should be used sparingly and with care as it will + block all logging until it is completed. + + - + - Advances the enumerator to the next element in the collection. + Log the through this repository. - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - + the event to log + + + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. + + + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. + + - + - Sets the enumerator to its initial position, before the first element in the collection. + Returns all the Appenders that are configured as an Array. + All the Appenders + + + Returns all the Appenders that are configured as an Array. + + - + - Gets the current element in the collection. + The name of the repository + + The name of the repository + + + + The name of the repository. + + - + - Type visible only to our subclasses - Used to access protected constructor + RendererMap accesses the object renderer map for this repository. - + + RendererMap accesses the object renderer map for this repository. + + + + RendererMap accesses the object renderer map for this repository. + + + The RendererMap holds a mapping between types and + objects. + + - + - A value + The plugin map for this repository. + + The plugin map for this repository. + + + + The plugin map holds the instances + that have been attached to this repository. + + - + - Supports simple iteration over a . + Get the level map for the Repository. - + + + Get the level map for the Repository. + + + The level map defines the mappings between + level names and objects in + this repository. + + - + - Initializes a new instance of the Enumerator class. + The threshold for all events in this repository - + + The threshold for all events in this repository + + + + The threshold for all events in this repository. + + - + - Advances the enumerator to the next element in the collection. + Flag indicates if this repository has been configured. - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - + + Flag indicates if this repository has been configured. + + + + Flag indicates if this repository has been configured. + + - + - Sets the enumerator to its initial position, before the first element in the collection. + Collection of internal messages captured during the most + recent configuration process. - + - Gets the current element in the collection. + Event to notify that the repository has been shutdown. - The current element in the collection. + Event to notify that the repository has been shutdown. - - - - - - - Map of repository plugins. - - This class is a name keyed map of the plugins that are - attached to a repository. + Event raised when the repository has been shutdown. - Nicko Cadell - Gert Driesen - + - Constructor + Event to notify that the repository has had its configuration reset. - The repository that the plugins should be attached to. + + Event to notify that the repository has had its configuration reset. + - Initialize a new instance of the class with a - repository that the plugins should be attached to. + Event raised when the repository's configuration has been + reset to default. - + - Adds a to the map. + Event to notify that the repository has had its configuration changed. - The to add to the map. + + Event to notify that the repository has had its configuration changed. + - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. + Event raised when the repository's configuration has been changed. - + - Removes a from the map. + Repository specific properties - The to remove from the map. + + Repository specific properties + - Remove a specific plugin from this map. + These properties can be specified on a repository specific basis. - + - Gets a by name. + Default Constructor - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - Lookup a plugin by name. If the plugin is not found null - will be returned. + Initializes the repository with default (empty) properties. - + - Gets all possible plugins as a list of objects. + Construct the repository using specific properties - All possible plugins as a list of objects. + the properties to set for this repository - Get a collection of all the plugins defined in this map. + Initializes the repository with specified properties. - + - Base implementation of + Test if logger exists + The name of the logger to lookup + The Logger object with the name specified - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. + Check if the named logger exists in the repository. If so return + its reference, otherwise returns null. - Nicko Cadell - Gert Driesen - + - Constructor + Returns all the currently defined loggers in the repository - the name of the plugin + All the defined loggers - Initializes a new Plugin with the specified name. + + Returns all the currently defined loggers in the repository as an Array. + - + - Attaches this plugin to a . + Return a new logger instance - The that this plugin should be attached to. + The name of the logger to retrieve + The logger object with the name specified - A plugin may only be attached to a single repository. + Return a new logger instance. - This method is called when the plugin is attached to the repository. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. - + - Is called when the plugin is to shutdown. + Shutdown the repository - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. + Shutdown the repository. Can be overridden in a subclass. + This base class implementation notifies the + listeners and all attached plugins of the shutdown event. - + - The name of this plugin. + Reset the repositories configuration to a default state + + + Reset all values contained in this instance to their + default state. + + + Existing loggers are not removed. They are just reset. + + + This method should be used sparingly and with care as it will + block all logging until it is completed. + + - + - The repository this plugin is attached to. + Log the logEvent through this repository. + the event to log + + + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. + + + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. + + - + - Gets or sets the name of the plugin. + Returns all the Appenders that are configured as an Array. - - The name of the plugin. - + All the Appenders - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. + Returns all the Appenders that are configured as an Array. - + + + The fully qualified type of the LoggerRepositorySkeleton class. + + + Used by the internal logger to record the Type of the + log message. + + + - The repository for this plugin + Adds an object renderer for a specific class. - - The that this plugin is attached to. - + The type that will be rendered by the renderer supplied. + The object renderer used to render the object. - Gets or sets the that this plugin is - attached to. + Adds an object renderer for a specific class. - + - Plugin that listens for events from the + Notify the registered listeners that the repository is shutting down + Empty EventArgs - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. + Notify any listeners that this repository is shutting down. - Nicko Cadell - Gert Driesen - + - Default constructor + Notify the registered listeners that the repository has had its configuration reset + Empty EventArgs - Initializes a new instance of the class. - - - The property must be set. + Notify any listeners that this repository's configuration has been reset. - + - Construct with sink Uri. + Notify the registered listeners that the repository has had its configuration changed - The name to publish the sink under in the remoting infrastructure. - See for more details. + Empty EventArgs - Initializes a new instance of the class - with specified name. + Notify any listeners that this repository's configuration has changed. - + - Attaches this plugin to a . + Raise a configuration changed event on this repository - The that this plugin should be attached to. + EventArgs.Empty - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. + Applications that programmatically change the configuration of the repository should + raise this event notification to notify listeners. - + - Is called when the plugin is to shutdown. + The name of the repository + + The string name of the repository + - When the plugin is shutdown the remote logging - sink is disconnected. + The name of this repository. The name is + used to store and lookup the repositories + stored by the . - + - Gets or sets the URI of this sink. + The threshold for all events in this repository - The URI of this sink. + The threshold for all events in this repository - This is the name under which the object is marshaled. - + The threshold for all events in this repository - + - Delivers objects to a remote sink. + RendererMap accesses the object renderer map for this repository. + + RendererMap accesses the object renderer map for this repository. + - Internal class used to listen for logging events - and deliver them to the local repository. + RendererMap accesses the object renderer map for this repository. + + + The RendererMap holds a mapping between types and + objects. - + - Constructor + The plugin map for this repository. - The repository to log to. + + The plugin map for this repository. + - Initializes a new instance of the for the - specified . + The plugin map holds the instances + that have been attached to this repository. - + - Logs the events to the repository. + Get the level map for the Repository. - The events to log. - The events passed are logged to the + Get the level map for the Repository. + + + The level map defines the mappings between + level names and objects in + this repository. - + - Obtains a lifetime service object to control the lifetime - policy for this instance. + Flag indicates if this repository has been configured. - null to indicate that this instance should live forever. + + Flag indicates if this repository has been configured. + - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. + Flag indicates if this repository has been configured. - + - The underlying that events should - be logged to. + Contains a list of internal messages captures during the + last configuration. - + - Default implementation of + Event to notify that the repository has been shutdown. + + Event to notify that the repository has been shutdown. + - This default implementation of the - interface is used to create the default subclass - of the object. + Event raised when the repository has been shutdown. - Nicko Cadell - Gert Driesen - + - Interface abstracts creation of instances + Event to notify that the repository has had its configuration reset. + + Event to notify that the repository has had its configuration reset. + - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . + Event raised when the repository's configuration has been + reset to default. - Nicko Cadell - Gert Driesen - + - Create a new instance + Event to notify that the repository has had its configuration changed. - The name of the . - The instance for the specified name. + + Event to notify that the repository has had its configuration changed. + - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. + Event raised when the repository's configuration has been changed. - + - Default constructor + Repository specific properties + + Repository specific properties + - - Initializes a new instance of the class. - + These properties can be specified on a repository specific basis - + - Create a new instance + Basic Configurator interface for repositories - The name of the . - The instance for the specified name. - Create a new instance with the - specified name. + Interface used by basic configurator to configure a + with a default . - Called by the to create - new named instances. + A should implement this interface to support + configuration by the . + + Nicko Cadell + Gert Driesen + + + + Initialize the repository using the specified appender + + the appender to use to log all logging events + - If the is null then the root logger - must be returned. + Configure the repository to route all logging events to the + specified appender. - + - Default internal subclass of + Initialize the repository using the specified appenders + the appenders to use to log all logging events - This subclass has no additional behavior over the - class but does allow instances - to be created. + Configure the repository to route all logging events to the + specified appenders. - + - Implementation of used by + Configure repository using XML - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. + Interface used by Xml configurator to configure a . - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. + A should implement this interface to support + configuration by the . - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . + + Nicko Cadell + Gert Driesen + + + + Initialize the repository using the specified config + + the element containing the root of the config + + + The schema for the XML configuration data is defined by + the implementation. - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - + - This constructor created a new instance and - sets its name. + Default constructor - The name of the . - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. + Initializes a new instance of the class. - + - Add to the list of appenders of this - Logger instance. + Construct with properties - An appender to add to this logger + The properties to pass to this repository. - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. + Initializes a new instance of the class. - + - Look for the appender named as name + Construct with a logger factory - The name of the appender to lookup - The appender with the name specified, or null. + The factory to use to create new logger instances. - Returns the named appender, or null if the appender is not found. + Initializes a new instance of the class with + the specified . - + - Remove all previously added appenders from this Logger instance. + Construct with properties and a logger factory + The properties to pass to this repository. + The factory to use to create new logger instances. - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. + Initializes a new instance of the class with + the specified . - + - Remove the appender passed as parameter form the list of appenders. + Test if a logger exists - The appender to remove - The appender removed from the list + The name of the logger to lookup + The Logger object with the name specified - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + Check if the named logger exists in the hierarchy. If so return + its reference, otherwise returns null. - + - Remove the appender passed as parameter form the list of appenders. + Returns all the currently defined loggers in the hierarchy as an Array - The name of the appender to remove - The appender removed from the list + All the defined loggers - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + Returns all the currently defined loggers in the hierarchy as an Array. + The root logger is not included in the returned + enumeration. - + - This generic form is intended to be used by wrappers. + Return a new logger instance named as the first parameter using + the default factory. - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - Generate a logging event for the specified using - the and . + Return a new logger instance named as the first parameter using + the default factory. - This method must not throw any exception to the caller. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. + The name of the logger to retrieve + The logger object with the name specified - + - This is the most generic printing method that is intended to be used - by wrappers. + Shutting down a hierarchy will safely close and remove + all appenders in all loggers including the root logger. - The event being logged. - Logs the specified logging event through this logger. + Shutting down a hierarchy will safely close and remove + all appenders in all loggers including the root logger. - This method must not throw any exception to the caller. + Some appenders need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + + The Shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - + - Checks if this logger is enabled for a given passed as parameter. + Reset all values contained in this hierarchy instance to their default. - The level to check. - - true if this logger is enabled for level, otherwise false. - - Test if this logger is going to log events of the specified . + Reset all values contained in this hierarchy instance to their + default. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set its default "off" value. - This method must not throw any exception to the caller. + Existing loggers are not removed. They are just reset. + + + This method should be used sparingly and with care as it will + block all logging until it is completed. - + - Deliver the to the attached appenders. + Log the logEvent through this hierarchy. - The event to log. + the event to log - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. - + - Closes all attached appenders implementing the interface. + Returns all the Appenders that are currently configured + An array containing all the currently configured appenders - Used to ensure that the appenders are correctly shutdown. + Returns all the instances that are currently configured. + All the loggers are searched for appenders. The appenders may also be containers + for appenders and these are also searched for additional loggers. + + + The list returned is unordered but does not contain duplicates. - + - This is the most generic printing method. This generic form is intended to be used by wrappers + Collect the appenders from an . + The appender may also be a container. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - + + - + - Creates a new logging event and logs the event without further checks. + Collect the appenders from an container - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - + + - + - Creates a new logging event and logs the event without further checks. + Initialize the log4net system using the specified appender - The event being logged. + the appender to use to log all logging events + + + + Initialize the log4net system using the specified appenders + + the appenders to use to log all logging events + + + + Initialize the log4net system using the specified appenders + + the appenders to use to log all logging events - Delivers the logging event to the attached appenders. + This method provides the same functionality as the + method implemented + on this object, but it is protected and therefore can be called by subclasses. - - - The fully qualified type of the Logger class. - - - + - The name of this logger. + Initialize the log4net system using the specified config + the element containing the root of the config - + - The assigned level of this logger. + Initialize the log4net system using the specified config + the element containing the root of the config - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. + This method provides the same functionality as the + method implemented + on this object, but it is protected and therefore can be called by subclasses. - + - The parent of this logger. + Test if this hierarchy is disabled for the specified . + The level to check against. + + true if the repository is disabled for the level argument, false otherwise. + - The parent of this logger. - All loggers have at least one ancestor which is the root logger. + If this hierarchy has not been configured then this method will + always return true. + + + This method will return true if this repository is + disabled for level object passed as parameter and + false otherwise. + + + See also the property. - + - Loggers need to know what Hierarchy they are in. + Clear all logger definitions from the internal hashtable - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. + This call will clear all logger definitions from the internal + hashtable. Invoking this method will irrevocably mess up the + logger hierarchy. + + + You should really know what you are doing before + invoking this method. - - - Helper implementation of the interface - - - + - Flag indicating if child loggers inherit their parents appenders + Return a new logger instance named as the first parameter using + . + The name of the logger to retrieve + The factory that will make the new logger instance + The logger object with the name specified - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated by the + parameter and linked with its existing + ancestors as well as children. - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - + - Gets or sets the parent logger in the hierarchy. + Sends a logger creation event to all registered listeners - - The parent logger in the hierarchy. - + The newly created logger - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - + Raises the logger creation event. - + - Gets or sets a value indicating if child loggers inherit their parent's appenders. + Updates all the parents of the specified logger - - true if child loggers inherit their parent's appenders. - + The logger to update the parents for - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. + This method loops through all the potential parents of + . There 3 possible cases: + + + No entry for the potential parent of exists + + We create a ProvisionNode for this potential + parent and insert in that provision node. + + + + The entry is of type Logger for the potential parent. + + The entry is 's nearest existing parent. We + update 's parent field with this entry. We also break from + he loop because updating our parent's parent is our parent's + responsibility. + + + + The entry is of type ProvisionNode for this potential parent. + + We add to the list of children for this + potential parent. + + + - + - Gets the effective level for this logger. + Replace a with a in the hierarchy. - The nearest level in the logger hierarchy. + + - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. + We update the links for all the children that placed themselves + in the provision node 'pn'. The second argument 'log' is a + reference for the newly created Logger, parent of all the + children in 'pn'. + + + We loop on all the children 'c' in 'pn'. + + + If the child 'c' has been already linked to a child of + 'log' then there is no need to update 'c'. + + + Otherwise, we set log's parent field to c's parent and set + c's parent field to log. - The Logger class is designed so that this method executes as - quickly as possible. - + - Gets or sets the where this - Logger instance is attached to. + Define or redefine a Level using the values in the argument - The hierarchy that this logger belongs to. + the level values - This logger must be attached to a single . + Define or redefine a Level using the values in the argument + + + Supports setting levels via the configuration file. - + - Gets or sets the assigned , if any, for this Logger. + Set a Property using the values in the argument - - The of this logger. - + the property value - The assigned can be null. + Set a Property using the values in the argument. + + + Supports setting property values via the configuration file. - + - Get the appenders contained in this logger as an - . + The fully qualified type of the Hierarchy class. - A collection of the appenders in this logger - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - + Used by the internal logger to record the Type of the + log message. - + - Gets the logger name. + Event used to notify that a logger has been created. - - The name of the logger. - - The name of this logger + Event raised when a logger is created. - + - Gets the where this - Logger instance is attached to. + Has no appender warning been emitted - - The that this logger belongs to. - - Gets the where this - Logger instance is attached to. + Flag to indicate if we have already issued a warning + about not having an appender warning. - + - Construct a new Logger + Get the root of this hierarchy - the name of the logger - Initializes a new instance of the class - with the specified name. + Get the root of this hierarchy. - + - Delegate used to handle logger creation event notifications. + Gets or sets the default instance. - The in which the has been created. - The event args that hold the instance that has been created. + The default - Delegate used to handle logger creation event notifications. + The logger factory is used to create logger instances. - + - Provides data for the event. + A class to hold the value, name and display name for a level - A event is raised every time a - is created. + A class to hold the value, name and display name for a level - + - The created + Override Object.ToString to return sensible debug info + string info about this object - + - Constructor + Value of the level - The that has been created. - Initializes a new instance of the event argument - class,with the specified . + If the value is not set (defaults to -1) the value will be looked + up for the current level with the same name. - + - Gets the that has been created. + Name of the level - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - + The name of the level + + - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. + The name of the level. - Nicko Cadell - Gert Driesen - + - Base implementation of + Display name for the level + + The display name of the level + - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. + The display name of the level. - Nicko Cadell - Gert Driesen - + - Interface implemented by logger repositories. + Used internally to accelerate hash table searches. - This interface is implemented by logger repositories. e.g. - . + Internal class used to improve performance of + string keyed hashtables. - This interface is used by the - to obtain interfaces. + The hashcode of the string is cached for reuse. + The string is stored as an interned value. + When comparing two objects for equality + the reference equality of the interned strings is compared. Nicko Cadell Gert Driesen - + - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. + Construct key with string name - The name of the logger to lookup - The Logger object with the name specified - If the names logger exists it is returned, otherwise - null is returned. + Initializes a new instance of the class + with the specified name. + + Stores the hashcode of the string and interns + the string key to optimize comparisons. + + + The Compact Framework 1.0 the + method does not work. On the Compact Framework + the string keys are not interned nor are they + compared by reference. + + The name of the logger. - + - Returns all the currently defined loggers as an Array. + Returns a hash code for the current instance. - All the defined loggers + A hash code for the current instance. - Returns all the currently defined loggers as an Array. + Returns the cached hashcode. - + - Returns a named logger instance + Determines whether two instances + are equal. - The name of the logger to retrieve - The logger object with the name specified + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. + Compares the references of the interned strings. - - Shutdown the repository + + + Provision nodes are used where no logger instance has been specified + - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. + instances are used in the + when there is no specified + for that node. - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + A provision node holds a list of child loggers on behalf of + a logger that does not exist. + Nicko Cadell + Gert Driesen - + - Reset the repositories configuration to a default state + Create a new provision node with child node + A child logger to add to this node. - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. + Initializes a new instance of the class + with the specified child logger. - + - Log the through this repository. + The sits at the root of the logger hierarchy tree. - the event to log - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. + The is a regular except + that it provides several guarantees. - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. + First, it cannot be assigned a null + level. Second, since the root logger cannot have a parent, the + property always returns the value of the + level field without walking the hierarchy. + Nicko Cadell + Gert Driesen - + - Returns all the Appenders that are configured as an Array. + Construct a - All the Appenders + The level to assign to the root logger. - Returns all the Appenders that are configured as an Array. + Initializes a new instance of the class with + the specified logging level. + + + The root logger names itself as "root". However, the root + logger cannot be retrieved by name. - + - The name of the repository + The fully qualified type of the RootLogger class. - - The name of the repository - - - The name of the repository. - + Used by the internal logger to record the Type of the + log message. - + - RendererMap accesses the object renderer map for this repository. + Gets the assigned level value without walking the logger hierarchy. - - RendererMap accesses the object renderer map for this repository. - + The assigned level value without walking the logger hierarchy. - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. + Because the root logger cannot have a parent and its level + must not be null this property just returns the + value of . - + - The plugin map for this repository. + Gets or sets the assigned for the root logger. - The plugin map for this repository. + The of the root logger. - The plugin map holds the instances - that have been attached to this repository. + Setting the level of the root logger to a null reference + may have catastrophic results. We prevent this here. - + - Get the level map for the Repository. + Initializes the log4net environment using an XML DOM. - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. + Configures a using an XML DOM. + Nicko Cadell + Gert Driesen - + - The threshold for all events in this repository + Construct the configurator for a hierarchy - - The threshold for all events in this repository - + The hierarchy to build. - The threshold for all events in this repository. + Initializes a new instance of the class + with the specified . - + - Flag indicates if this repository has been configured. + Configure the hierarchy by parsing a DOM tree of XML elements. - - Flag indicates if this repository has been configured. - + The root element to parse. - Flag indicates if this repository has been configured. + Configure the hierarchy by parsing a DOM tree of XML elements. - + - Event to notify that the repository has been shutdown. + Parse appenders by IDREF. - - Event to notify that the repository has been shutdown. - + The appender ref element. + The instance of the appender that the ref refers to. - Event raised when the repository has been shutdown. + Parse an XML element that represents an appender and return + the appender. - + - Event to notify that the repository has had its configuration reset. + Parses an appender element. - - Event to notify that the repository has had its configuration reset. - + The appender element. + The appender instance or null when parsing failed. - Event raised when the repository's configuration has been - reset to default. + Parse an XML element that represents an appender and return + the appender instance. - + - Event to notify that the repository has had its configuration changed. + Parses a logger element. - - Event to notify that the repository has had its configuration changed. - + The logger element. - Event raised when the repository's configuration has been changed. + Parse an XML element that represents a logger. - + - Repository specific properties + Parses the root logger element. - - Repository specific properties - + The root element. - These properties can be specified on a repository specific basis. + Parse an XML element that represents the root logger. - + - Default Constructor + Parses the children of a logger element. + The category element. + The logger instance. + Flag to indicate if the logger is the root logger. - Initializes the repository with default (empty) properties. + Parse the child elements of a <logger> element. - + - Construct the repository using specific properties + Parses an object renderer. - the properties to set for this repository + The renderer element. - Initializes the repository with specified properties. + Parse an XML element that represents a renderer. - + - Test if logger exists + Parses a level element. - The name of the logger to lookup - The Logger object with the name specified + The level element. + The logger object to set the level on. + Flag to indicate if the logger is the root logger. - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. + Parse an XML element that represents a level. - + - Returns all the currently defined loggers in the repository + Sets a parameter on an object. - All the defined loggers + The parameter element. + The object to set the parameter on. - - Returns all the currently defined loggers in the repository as an Array. - + The parameter name must correspond to a writable property + on the object. The value of the parameter is a string, + therefore this function will attempt to set a string + property first. If unable to set a string property it + will inspect the property and its argument type. It will + attempt to call a static method called Parse on the + type of the property. This method will take a single + string argument and return a value that can be used to + set the property. - + - Return a new logger instance + Test if an element has no attributes or child elements - The name of the logger to retrieve - The logger object with the name specified + the element to inspect + true if the element has any attributes or child elements, false otherwise + + + + Test if a is constructible with Activator.CreateInstance. + + the type to inspect + true if the type is creatable using a default constructor, false otherwise + + + + Look for a method on the that matches the supplied + + the type that has the method + the name of the method + the method info found - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. + The method must be a public instance method on the . + The method must be named or "Add" followed by . + The method must take a single parameter. - + - Shutdown the repository + Converts a string value to a target type. - + The type of object to convert the string to. + The string value to use as the value of the object. + - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. + An object of type with value or + null when the conversion could not be performed. - + - + - Reset the repositories configuration to a default state + Creates an object as specified in XML. + The XML element that contains the definition of the object. + The object type to use if not explicitly specified. + The type that the returned object must be or must inherit from. + The object or null - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. + Parse an XML element and create an object instance based on the configuration + data. - This method should be used sparingly and with care as it will - block all logging until it is completed. + The type of the instance may be specified in the XML. If not + specified then the is used + as the type. However the type is specified it must support the + type. - + - Log the logEvent through this repository. + key: appenderName, value: appender. + + + + + The Hierarchy being configured. + + + + + The fully qualified type of the XmlHierarchyConfigurator class. - the event to log + + Used by the internal logger to record the Type of the + log message. + + + + + + + + + + + + + + + + + + + + + Delegate used to handle logger repository shutdown event notifications + + The that is shutting down. + Empty event args - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. + Delegate used to handle logger repository shutdown event notifications. - + - Returns all the Appenders that are configured as an Array. + Delegate used to handle logger repository configuration reset event notifications - All the Appenders + The that has had its configuration reset. + Empty event args - Returns all the Appenders that are configured as an Array. + Delegate used to handle logger repository configuration reset event notifications. - + - Adds an object renderer for a specific class. + Delegate used to handle event notifications for logger repository configuration changes. - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. + The that has had its configuration changed. + Empty event arguments. - Adds an object renderer for a specific class. + Delegate used to handle event notifications for logger repository configuration changes. - + - Notify the registered listeners that the repository is shutting down + Write the name of the current AppDomain to the output - Empty EventArgs - Notify any listeners that this repository is shutting down. + Write the name of the current AppDomain to the output writer + Nicko Cadell - + - Notify the registered listeners that the repository has had its configuration reset + Write the name of the current AppDomain to the output - Empty EventArgs + the writer to write to + null, state is not set - Notify any listeners that this repository's configuration has been reset. + Writes name of the current AppDomain to the output . - + - Notify the registered listeners that the repository has had its configuration changed + Write the current date to the output - Empty EventArgs - Notify any listeners that this repository's configuration has changed. + Date pattern converter, uses a to format + the current date and time to the writer as a string. + + + The value of the determines + the formatting of the date. The following values are allowed: + + + Option value + Output + + + ISO8601 + + Uses the formatter. + Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. + + + + DATE + + Uses the formatter. + Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". + + + + ABSOLUTE + + Uses the formatter. + Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". + + + + other + + Any other pattern string uses the formatter. + This formatter passes the pattern string to the + method. + For details on valid patterns see + DateTimeFormatInfo Class. + + + + + + The date and time is in the local time zone and is rendered in that zone. + To output the time in Universal time see . + Nicko Cadell - + - Raise a configuration changed event on this repository + The used to render the date to a string - EventArgs.Empty - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. + The used to render the date to a string - + - The name of the repository + Initialize the converter options - - The string name of the repository - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - The threshold for all events in this repository + If any of the configuration properties are modified then + must be called again. - + - RendererMap accesses the object renderer map for this repository. + Write the current date to the output - - RendererMap accesses the object renderer map for this repository. - + that will receive the formatted result. + null, state is not set - RendererMap accesses the object renderer map for this repository. + Pass the current date and time to the + for it to render it to the writer. - The RendererMap holds a mapping between types and - objects. + The date and time passed is in the local time zone. - + - The plugin map for this repository. + The fully qualified type of the DatePatternConverter class. - - The plugin map for this repository. - - - The plugin map holds the instances - that have been attached to this repository. - + Used by the internal logger to record the Type of the + log message. - + - Get the level map for the Repository. + Write an folder path to the output - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. + Write an special path environment folder path to the output writer. + The value of the determines + the name of the variable to output. + should be a value in the enumeration. + Ron Grabowski - + - Flag indicates if this repository has been configured. + Write an special path environment folder path to the output - - Flag indicates if this repository has been configured. - + the writer to write to + null, state is not set - Flag indicates if this repository has been configured. + Writes the special path environment folder path to the output . + The name of the special path environment folder path to output must be set + using the + property. - + - Event to notify that the repository has been shutdown. + The fully qualified type of the EnvironmentFolderPathPatternConverter class. - - Event to notify that the repository has been shutdown. - - - Event raised when the repository has been shutdown. - + Used by the internal logger to record the Type of the + log message. - + - Event to notify that the repository has had its configuration reset. + Write an environment variable to the output - - Event to notify that the repository has had its configuration reset. - - Event raised when the repository's configuration has been - reset to default. + Write an environment variable to the output writer. + The value of the determines + the name of the variable to output. + Nicko Cadell - + - Event to notify that the repository has had its configuration changed. + Write an environment variable to the output - - Event to notify that the repository has had its configuration changed. - + the writer to write to + null, state is not set - Event raised when the repository's configuration has been changed. + Writes the environment variable to the output . + The name of the environment variable to output must be set + using the + property. - + - Repository specific properties + The fully qualified type of the EnvironmentPatternConverter class. - - Repository specific properties - - These properties can be specified on a repository specific basis + Used by the internal logger to record the Type of the + log message. - + - Basic Configurator interface for repositories + Write the current thread identity to the output - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . + Write the current thread identity to the output writer Nicko Cadell - Gert Driesen - + - Initialize the repository using the specified appender + Write the current thread identity to the output - the appender to use to log all logging events + the writer to write to + null, state is not set - Configure the repository to route all logging events to the - specified appender. + Writes the current thread identity to the output . - + - Configure repository using XML + The fully qualified type of the IdentityPatternConverter class. - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - + Used by the internal logger to record the Type of the + log message. - Nicko Cadell - Gert Driesen - + - Initialize the repository using the specified config + Pattern converter for literal string instances in the pattern - the element containing the root of the config - The schema for the XML configuration data is defined by - the implementation. + Writes the literal string value specified in the + property to + the output. + Nicko Cadell - + - Default constructor + Set the next converter in the chain + The next pattern converter in the chain + The next pattern converter - Initializes a new instance of the class. + Special case the building of the pattern converter chain + for instances. Two adjacent + literals in the pattern can be represented by a single combined + pattern converter. This implementation detects when a + is added to the chain + after this converter and combines its value with this converter's + literal value. - + - Construct with properties + Write the literal to the output - The properties to pass to this repository. + the writer to write to + null, not set - Initializes a new instance of the class. + Override the formatting behavior to ignore the FormattingInfo + because we have a literal instead. + + + Writes the value of + to the output . - + - Construct with a logger factory + Convert this pattern into the rendered message - The factory to use to create new logger instances. + that will receive the formatted result. + null, not set - Initializes a new instance of the class with - the specified . + This method is not used. - + - Construct with properties and a logger factory + Writes a newline to the output - The properties to pass to this repository. - The factory to use to create new logger instances. - Initializes a new instance of the class with - the specified . + Writes the system dependent line terminator to the output. + This behavior can be overridden by setting the : + + + Option Value + Output + + + DOS + DOS or Windows line terminator "\r\n" + + + UNIX + UNIX line terminator "\n" + + + Nicko Cadell - + - Test if a logger exists + Initialize the converter - The name of the logger to lookup - The Logger object with the name specified - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. - + - Returns all the currently defined loggers in the hierarchy as an Array + Write the current process ID to the output - All the defined loggers - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. + + Write the current process ID to the output writer + Nicko Cadell - + - Return a new logger instance named as the first parameter using - the default factory. + Write the current process ID to the output + the writer to write to + null, state is not set - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. + Write the current process ID to the output . - The name of the logger to retrieve - The logger object with the name specified - + - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. + The fully qualified type of the ProcessIdPatternConverter class. - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - + Used by the internal logger to record the Type of the + log message. - + - Reset all values contained in this hierarchy instance to their default. + Property pattern converter - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. + This pattern converter reads the thread and global properties. + The thread properties take priority over global properties. + See for details of the + thread properties. See for + details of the global properties. - This method should be used sparingly and with care as it will - block all logging until it is completed. + If the is specified then that will be used to + lookup a single property. If no is specified + then all properties will be dumped as a list of key value pairs. + Nicko Cadell - + - Log the logEvent through this hierarchy. + Write the property value to the output - the event to log + that will receive the formatted result. + null, state is not set - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. + Writes out the value of a named property. The property name + should be set in the + property. - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. + If the is set to null + then all the properties are written as key value pairs. - + - Returns all the Appenders that are currently configured + A Pattern converter that generates a string of random characters - An array containing all the currently configured appenders - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. + The converter generates a string of random characters. By default + the string is length 4. This can be changed by setting the + to the string value of the length required. - The list returned is unordered but does not contain duplicates. + The random characters in the string are limited to uppercase letters + and numbers only. + + + The random number generator used by this class is not cryptographically secure. + Nicko Cadell - - - Collect the appenders from an . - The appender may also be a container. - - - - - + - Collect the appenders from an container + Shared random number generator - - - + - Initialize the log4net system using the specified appender + Length of random string to generate. Default length 4. - the appender to use to log all logging events - + - Initialize the log4net system using the specified appender + Initialize the converter options - the appender to use to log all logging events - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - + - Initialize the log4net system using the specified config + Write a randoim string to the output - the element containing the root of the config + the writer to write to + null, state is not set - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. + Write a randoim string to the output . - + - Test if this hierarchy is disabled for the specified . + The fully qualified type of the RandomStringPatternConverter class. - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - + Used by the internal logger to record the Type of the + log message. - + - Clear all logger definitions from the internal hashtable + Write the current threads username to the output - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. + Write the current threads username to the output writer + Nicko Cadell - + - Return a new logger instance named as the first parameter using - . + Write the current threads username to the output - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified + the writer to write to + null, state is not set - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. + Write the current threads username to the output . - + - Sends a logger creation event to all registered listeners + The fully qualified type of the UserNamePatternConverter class. - The newly created logger - Raises the logger creation event. + Used by the internal logger to record the Type of the + log message. - + - Updates all the parents of the specified logger + Write the UTC date time to the output - The logger to update the parents for - This method loops through all the potential parents of - . There 3 possible cases: + Date pattern converter, uses a to format + the current date and time in Universal time. + + + See the for details on the date pattern syntax. - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - + + Nicko Cadell - + - Replace a with a in the hierarchy. + Write the current date and time to the output - - + that will receive the formatted result. + null, state is not set - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. + + Pass the current date and time to the + for it to render it to the writer. - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. + The date is in Universal time when it is rendered. + - + - Define or redefine a Level using the values in the argument + The fully qualified type of the UtcDatePatternConverter class. - the level values - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - + Used by the internal logger to record the Type of the + log message. - + - Set a Property using the values in the argument + Type converter for Boolean. - the property value - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. + Supports conversion from string to bool type. + + + + Nicko Cadell + Gert Driesen - + - Event used to notify that a logger has been created. + Can the source type be converted to the type supported by this object + the type to convert + true if the conversion is possible - Event raised when a logger is created. + Returns true if the is + the type. - + - Has no appender warning been emitted + Convert the source object to the type supported by this object + the object to convert + the converted object - Flag to indicate if we have already issued a warning - about not having an appender warning. + Uses the method to convert the + argument to a . + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Get the root of this hierarchy + Exception base type for conversion errors. - Get the root of this hierarchy. + This type extends . It + does not add any new functionality but does differentiate the + type of exception being thrown. + Nicko Cadell + Gert Driesen - + - Gets or sets the default instance. + Constructor - The default - The logger factory is used to create logger instances. + Initializes a new instance of the class. - + - A class to hold the value, name and display name for a level + Constructor + A message to include with the exception. - A class to hold the value, name and display name for a level + Initializes a new instance of the class + with the specified message. - + - Override Object.ToString to return sensible debug info + Constructor - string info about this object + A message to include with the exception. + A nested exception to include. + + + Initializes a new instance of the class + with the specified message and inner exception. + + - + - Value of the level + Serialization constructor + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. + Initializes a new instance of the class + with serialized data. - + - Name of the level + Creates a new instance of the class. - - The name of the level - + The conversion destination type. + The value to convert. + An instance of the . - The name of the level. + Creates a new instance of the class. - + - Display name for the level + Creates a new instance of the class. - - The display name of the level - + The conversion destination type. + The value to convert. + A nested exception to include. + An instance of the . - The display name of the level. + Creates a new instance of the class. - + - A class to hold the key and data for a property set in the config file + Register of type converters for specific types. - A class to hold the key and data for a property set in the config file + Maintains a registry of type converters used to convert between + types. + + + Use the and + methods to register new converters. + The and methods + lookup appropriate converters to use. + + + Nicko Cadell + Gert Driesen - + - Override Object.ToString to return sensible debug info + Private constructor - string info about this object + + Initializes a new instance of the class. + - + - Property Key + Static constructor. - - Property Key - - Property Key. + This constructor defines the intrinsic type converters. - + - Property Value + Adds a converter for a specific type. - - Property Value - + The type being converted to. + The type converter to use to convert to the destination type. - Property Value. + Adds a converter instance for a specific type. - + - Used internally to accelerate hash table searches. + Adds a converter for a specific type. + The type being converted to. + The type of the type converter to use to convert to the destination type. - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. + Adds a converter for a specific type. - Nicko Cadell - Gert Driesen - + - Construct key with string name + Gets the type converter to use to convert values to the destination type. + The type being converted from. + The type being converted to. + + The type converter instance to use for type conversions or null + if no type converter is found. + - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. + Gets the type converter to use to convert values to the destination type. - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - The name of the logger. - + - Returns a hash code for the current instance. + Gets the type converter to use to convert values to the destination type. - A hash code for the current instance. + The type being converted to. + + The type converter instance to use for type conversions or null + if no type converter is found. + - Returns the cached hashcode. + Gets the type converter to use to convert values to the destination type. - + - Determines whether two instances - are equal. + Lookups the type converter to use as specified by the attributes on the + destination type. - The to compare with the current . + The type being converted to. - true if the specified is equal to the current ; otherwise, false. + The type converter instance to use for type conversions or null + if no type converter is found. + + + + + Creates the instance of the type converter. + + The type of the type converter. + + The type converter instance to use for type conversions or null + if no type converter is found. - Compares the references of the interned strings. + The type specified for the type converter must implement + the or interfaces + and must have a public default (no argument) constructor. - + + + The fully qualified type of the ConverterRegistry class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Mapping from to type converter. + + + - Provision nodes are used where no logger instance has been specified + Supports conversion from string to type. - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. + Supports conversion from string to type. + + + Nicko Cadell Gert Driesen - + - Create a new provision node with child node + Can the source type be converted to the type supported by this object - A child logger to add to this node. + the type to convert + true if the conversion is possible - Initializes a new instance of the class - with the specified child logger. + Returns true if the is + the type. - + - The sits at the root of the logger hierarchy tree. + Overrides the ConvertFrom method of IConvertFrom. + the object to convert to an encoding + the encoding - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. + Uses the method to + convert the argument to an . - Nicko Cadell - Gert Driesen + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Construct a + Interface supported by type converters - The level to assign to the root logger. - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. + This interface supports conversion from a single type to arbitrary types. + See . + Nicko Cadell - + - Gets the assigned level value without walking the logger hierarchy. + Returns whether this converter can convert the object to the specified type - The assigned level value without walking the logger hierarchy. + A Type that represents the type you want to convert to + true if the conversion is possible - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . + Test if the type supported by this converter can be converted to the + . - + - Gets or sets the assigned for the root logger. + Converts the given value object to the specified type, using the arguments - - The of the root logger. - + the object to convert + The Type to convert the value parameter to + the converted object - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. + Converts the (which must be of the type supported + by this converter) to the specified.. - + - Initializes the log4net environment using an XML DOM. + Supports conversion from string to type. - Configures a using an XML DOM. + Supports conversion from string to type. + + Nicko Cadell - Gert Driesen - + - Construct the configurator for a hierarchy + Can the source type be converted to the type supported by this object - The hierarchy to build. + the type to convert + true if the conversion is possible - Initializes a new instance of the class - with the specified . + Returns true if the is + the type. - + - Configure the hierarchy by parsing a DOM tree of XML elements. + Overrides the ConvertFrom method of IConvertFrom. - The root element to parse. + the object to convert to an IPAddress + the IPAddress - Configure the hierarchy by parsing a DOM tree of XML elements. + Uses the method to convert the + argument to an . + If that fails then the string is resolved as a DNS hostname. + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Parse appenders by IDREF. + Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - + - Parses an appender element. + Supports conversion from string to type. - The appender element. - The appender instance or null when parsing failed. - Parse an XML element that represents an appender and return - the appender instance. + Supports conversion from string to type. + + + The string is used as the + of the . + + + + Nicko Cadell - + - Parses a logger element. + Can the source type be converted to the type supported by this object - The logger element. + the type to convert + true if the conversion is possible - Parse an XML element that represents a logger. + Returns true if the is + the type. - + - Parses the root logger element. + Overrides the ConvertFrom method of IConvertFrom. - The root element. + the object to convert to a PatternLayout + the PatternLayout - Parse an XML element that represents the root logger. + Creates and returns a new using + the as the + . + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Parses the children of a logger element. + Convert between string and - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - Parse the child elements of a <logger> element. + Supports conversion from string to type, + and from a type to a string. + + + The string is used as the + of the . + + + + Nicko Cadell - + - Parses an object renderer. + Can the target type be converted to the type supported by this object - The renderer element. + A that represents the type you want to convert to + true if the conversion is possible - Parse an XML element that represents a renderer. + Returns true if the is + assignable from a type. - + - Parses a level element. + Converts the given value object to the specified type, using the arguments - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. + the object to convert + The Type to convert the value parameter to + the converted object - Parse an XML element that represents a level. + Uses the method to convert the + argument to a . + + The object cannot be converted to the + . To check for this condition use the + method. + - + - Sets a parameter on an object. + Can the source type be converted to the type supported by this object - The parameter element. - The object to set the parameter on. + the type to convert + true if the conversion is possible - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. + + Returns true if the is + the type. + - + - Test if an element has no attributes or child elements + Overrides the ConvertFrom method of IConvertFrom. - the element to inspect - true if the element has any attributes or child elements, false otherwise + the object to convert to a PatternString + the PatternString + + + Creates and returns a new using + the as the + . + + + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Test if a is constructible with Activator.CreateInstance. + Supports conversion from string to type. - the type to inspect - true if the type is creatable using a default constructor, false otherwise + + + Supports conversion from string to type. + + + + + + Nicko Cadell - + - Look for a method on the that matches the supplied + Can the source type be converted to the type supported by this object - the type that has the method - the name of the method - the method info found + the type to convert + true if the conversion is possible - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. + Returns true if the is + the type. - + - Converts a string value to a target type. + Overrides the ConvertFrom method of IConvertFrom. - The type of object to convert the string to. - The string value to use as the value of the object. - + the object to convert to a Type + the Type + - An object of type with value or - null when the conversion could not be performed. + Uses the method to convert the + argument to a . + Additional effort is made to locate partially specified types + by searching the loaded assemblies. - + + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Creates an object as specified in XML. + Attribute used to associate a type converter - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - Parse an XML element and create an object instance based on the configuration - data. + Class and Interface level attribute that specifies a type converter + to use with the associated type. - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. + To associate a type converter with a target type apply a + TypeConverterAttribute to the target type. Specify the + type of the type converter on the attribute. + Nicko Cadell + Gert Driesen - - - key: appenderName, value: appender. - - - + - The Hierarchy being configured. + The string type name of the type converter - + - Delegate used to handle logger repository shutdown event notifications + Default constructor - The that is shutting down. - Empty event args - Delegate used to handle logger repository shutdown event notifications. + Default constructor - + - Delegate used to handle logger repository configuration reset event notifications + Create a new type converter attribute for the specified type name - The that has had its configuration reset. - Empty event args + The string type name of the type converter - Delegate used to handle logger repository configuration reset event notifications. + The type specified must implement the + or the interfaces. - + - Delegate used to handle event notifications for logger repository configuration changes. + Create a new type converter attribute for the specified type - The that has had its configuration changed. - Empty event arguments. + The type of the type converter - Delegate used to handle event notifications for logger repository configuration changes. + The type specified must implement the + or the interfaces. - + - Write the name of the current AppDomain to the output + The string type name of the type converter + + The string type name of the type converter + - Write the name of the current AppDomain to the output writer + The type specified must implement the + or the interfaces. - Nicko Cadell - + - Write the name of the current AppDomain to the output + A straightforward implementation of the interface. - the writer to write to - null, state is not set - Writes name of the current AppDomain to the output . + This is the default implementation of the + interface. Implementors of the interface + should aggregate an instance of this type. + Nicko Cadell + Gert Driesen - + - Write the current date to the output + Constructor - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . + Initializes a new instance of the class. - Nicko Cadell - + - The used to render the date to a string + Append on on all attached appenders. + The event being logged. + The number of appenders called. - The used to render the date to a string + Calls the method on all + attached appenders. - + - Initialize the converter options + Append on on all attached appenders. + The array of events being logged. + The number of appenders called. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Calls the method on all + attached appenders. - + - Write the current date to the output + Calls the DoAppende method on the with + the objects supplied. - that will receive the formatted result. - null, state is not set + The appender + The events - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. + If the supports the + interface then the will be passed + through using that interface. Otherwise the + objects in the array will be passed one at a time. - + - Write an environment variable to the output + Attaches an appender. + The appender to add. - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. + If the appender is already in the list it won't be added again. - Nicko Cadell - + - Write an environment variable to the output + Gets an attached appender with the specified name. - the writer to write to - null, state is not set + The name of the appender to get. + + The appender with the name specified, or null if no appender with the + specified name is found. + - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. + Lookup an attached appender by name. - + - Write the current thread identity to the output + Removes all attached appenders. - Write the current thread identity to the output writer + Removes and closes all attached appenders - Nicko Cadell - + - Write the current thread identity to the output + Removes the specified appender from the list of attached appenders. - the writer to write to - null, state is not set + The appender to remove. + The appender removed from the list - Writes the current thread identity to the output . + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - + - Pattern converter for literal string instances in the pattern + Removes the appender with the specified name from the list of appenders. + The name of the appender to remove. + The appender removed from the list - Writes the literal string value specified in the - property to - the output. + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - Nicko Cadell - + - Set the next converter in the chain + List of appenders - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - + - Write the literal to the output + Array of appenders, used to cache the m_appenderList + + + + + The fully qualified type of the AppenderAttachedImpl class. - the writer to write to - null, not set - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - + Used by the internal logger to record the Type of the + log message. - + - Convert this pattern into the rendered message + Gets all attached appenders. - that will receive the formatted result. - null, not set + + A collection of attached appenders, or null if there + are no attached appenders. + - This method is not used. + The read only collection of all currently attached appenders. - + - Writes a newline to the output + This class aggregates several PropertiesDictionary collections together. - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : + Provides a dictionary style lookup over an ordered list of + collections. - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - Nicko Cadell - + - Initialize the converter + Constructor - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Initializes a new instance of the class. - + - Write the current process ID to the output + Add a Properties Dictionary to this composite collection + the properties to add - Write the current process ID to the output writer + Properties dictionaries added first take precedence over dictionaries added + later. - Nicko Cadell - + - Write the current process ID to the output + Flatten this composite collection into a single properties dictionary - the writer to write to - null, state is not set + the flattened dictionary - Write the current process ID to the output . + Reduces the collection of ordered dictionaries to a single dictionary + containing the resultant values for the keys. - + - Property pattern converter + Gets the value of a property + + The value for the property with the specified key + - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. + Looks up the value for the specified. + The collections are searched + in the order in which they were added to this collection. The value + returned is the value held by the first collection that contains + the specified key. - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. + If none of the collections contain the specified key then + null is returned. - Nicko Cadell - + - Write the property value to the output + Base class for Context Properties implementations - that will receive the formatted result. - null, state is not set - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. + This class defines a basic property get set accessor + Nicko Cadell - + - A Pattern converter that generates a string of random characters + Gets or sets the value of a property + + The value for the property with the specified key + - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. + Gets or sets the value of a property + + + + + Wrapper class used to map converter names to converter types + + - The random number generator used by this class is not cryptographically secure. + Pattern converter info class used during configuration by custom + PatternString and PatternLayer converters. - Nicko Cadell - + - Shared random number generator + default constructor - + - Length of random string to generate. Default length 4. + + - + - Initialize the converter options + Gets or sets the name of the conversion pattern - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + The name of the pattern in the format string - + - Write a randoim string to the output + Gets or sets the type of the converter - the writer to write to - null, state is not set - Write a randoim string to the output . + The value specified must extend the + type. - + - Write the current threads username to the output + - - - Write the current threads username to the output writer - - - Nicko Cadell - + - Write the current threads username to the output + Subclass of that maintains a count of + the number of bytes written. - the writer to write to - null, state is not set - Write the current threads username to the output . + This writer counts the number of bytes written. + Nicko Cadell + Gert Driesen - + - Write the UTC date time to the output + that does not leak exceptions - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. + does not throw exceptions when things go wrong. + Instead, it delegates error handling to its . - Nicko Cadell + Gert Driesen - + - Write the current date and time to the output + Adapter that extends and forwards all + messages to an instance of . - that will receive the formatted result. - null, state is not set - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. + Adapter that extends and forwards all + messages to an instance of . - + Nicko Cadell - + - Type converter for Boolean. + The writer to forward messages to + + + + + Create an instance of that forwards all + messages to a . + The to forward to - Supports conversion from string to bool type. + Create an instance of that forwards all + messages to a . - - - - Nicko Cadell - Gert Driesen - + - Can the source type be converted to the type supported by this object + Closes the writer and releases any system resources associated with the writer - the type to convert - true if the conversion is possible - Returns true if the is - the type. - + - Convert the source object to the type supported by this object + Dispose this writer - the object to convert - the converted object + flag indicating if we are being disposed - Uses the method to convert the - argument to a . + Dispose this writer - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Exception base type for conversion errors. + Flushes any buffered output - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. + Clears all buffers for the writer and causes any buffered data to be written + to the underlying device - Nicko Cadell - Gert Driesen - + - Constructor + Writes a character to the wrapped TextWriter + the value to write to the TextWriter - Initializes a new instance of the class. + Writes a character to the wrapped TextWriter - + - Constructor + Writes a character buffer to the wrapped TextWriter - A message to include with the exception. + the data buffer + the start index + the number of characters to write - Initializes a new instance of the class - with the specified message. + Writes a character buffer to the wrapped TextWriter - + - Constructor + Writes a string to the wrapped TextWriter - A message to include with the exception. - A nested exception to include. + the value to write to the TextWriter - Initializes a new instance of the class - with the specified message and inner exception. + Writes a string to the wrapped TextWriter - + - Serialization constructor + Gets or sets the underlying . - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. + + The underlying . + - Initializes a new instance of the class - with serialized data. + Gets or sets the underlying . - + - Creates a new instance of the class. + The Encoding in which the output is written - The conversion destination type. - The value to convert. - An instance of the . + + The + - Creates a new instance of the class. + The Encoding in which the output is written - + - Creates a new instance of the class. + Gets an object that controls formatting - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . + + The format provider + - Creates a new instance of the class. + Gets an object that controls formatting - + - Register of type converters for specific types. + Gets or sets the line terminator string used by the TextWriter + + The line terminator to use + - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. + Gets or sets the line terminator string used by the TextWriter - - - Nicko Cadell - Gert Driesen - + - Private constructor + Constructor + the writer to actually write to + the error handler to report error to - Initializes a new instance of the class. + + Create a new QuietTextWriter using a writer and error handler + - + - Static constructor. + Writes a character to the underlying writer + the char to write - This constructor defines the intrinsic type converters. + Writes a character to the underlying writer - + - Adds a converter for a specific type. + Writes a buffer to the underlying writer - The type being converted to. - The type converter to use to convert to the destination type. + the buffer to write + the start index to write from + the number of characters to write - Adds a converter instance for a specific type. + Writes a buffer to the underlying writer - + - Adds a converter for a specific type. + Writes a string to the output. - The type being converted to. - The type of the type converter to use to convert to the destination type. + The string data to write to the output. - Adds a converter for a specific type. + Writes a string to the output. - + - Gets the type converter to use to convert values to the destination type. + Closes the underlying output writer. - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - Gets the type converter to use to convert values to the destination type. + Closes the underlying output writer. - + - Gets the type converter to use to convert values to the destination type. + The error handler instance to pass all errors to - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - + + + + Flag to indicate if this writer is closed + + + + + Gets or sets the error handler that all errors are passed to. + + + The error handler that all errors are passed to. + - Gets the type converter to use to convert values to the destination type. + Gets or sets the error handler that all errors are passed to. - + - Lookups the type converter to use as specified by the attributes on the - destination type. + Gets a value indicating whether this writer is closed. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - + + true if this writer is closed, otherwise false. + + + + Gets a value indicating whether this writer is closed. + + - + - Creates the instance of the type converter. + Constructor - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - + The to actually write to. + The to report errors to. - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. + Creates a new instance of the class + with the specified and . - + - Mapping from to type converter. + Writes a character to the underlying writer and counts the number of bytes written. + the char to write + + + Overrides implementation of . Counts + the number of bytes written. + + - + - Supports conversion from string to type. + Writes a buffer to the underlying writer and counts the number of bytes written. + the buffer to write + the start index to write from + the number of characters to write - Supports conversion from string to type. + Overrides implementation of . Counts + the number of bytes written. - - - - Nicko Cadell - Gert Driesen - + - Can the source type be converted to the type supported by this object + Writes a string to the output and counts the number of bytes written. - the type to convert - true if the conversion is possible + The string data to write to the output. - Returns true if the is - the type. + Overrides implementation of . Counts + the number of bytes written. - + - Overrides the ConvertFrom method of IConvertFrom. + Total number of bytes written. - the object to convert to an encoding - the encoding + + + + Gets or sets the total number of bytes written. + + + The total number of bytes written. + - Uses the method to - convert the argument to an . + Gets or sets the total number of bytes written. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Interface supported by type converters + A fixed size rolling buffer of logging events. - This interface supports conversion from a single type to arbitrary types. - See . + An array backed fixed size leaky bucket. Nicko Cadell + Gert Driesen - + - Returns whether this converter can convert the object to the specified type + Constructor - A Type that represents the type you want to convert to - true if the conversion is possible + The maximum number of logging events in the buffer. - Test if the type supported by this converter can be converted to the - . + Initializes a new instance of the class with + the specified maximum number of buffered logging events. + The argument is not a positive integer. - + - Converts the given value object to the specified type, using the arguments + Appends a to the buffer. - the object to convert - The Type to convert the value parameter to - the converted object + The event to append to the buffer. + The event discarded from the buffer, if the buffer is full, otherwise null. - Converts the (which must be of the type supported - by this converter) to the specified.. + Append an event to the buffer. If the buffer still contains free space then + null is returned. If the buffer is full then an event will be dropped + to make space for the new event, the event dropped is returned. - + - Supports conversion from string to type. + Get and remove the oldest event in the buffer. + The oldest logging event in the buffer - Supports conversion from string to type. + Gets the oldest (first) logging event in the buffer and removes it + from the buffer. - - - Nicko Cadell - + - Can the source type be converted to the type supported by this object + Pops all the logging events from the buffer into an array. - the type to convert - true if the conversion is possible + An array of all the logging events in the buffer. - Returns true if the is - the type. + Get all the events in the buffer and clear the buffer. - + - Overrides the ConvertFrom method of IConvertFrom. + Clear the buffer - the object to convert to an IPAddress - the IPAddress - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. + Clear the buffer of all events. The events in the buffer are lost. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - + - Supports conversion from string to type. + Gets the th oldest event currently in the buffer. + The th oldest event currently in the buffer. - Supports conversion from string to type. - - - The string is used as the - of the . + If is outside the range 0 to the number of events + currently in the buffer, then null is returned. - - - - Nicko Cadell - + - Can the source type be converted to the type supported by this object + Gets the maximum size of the buffer. - the type to convert - true if the conversion is possible + The maximum size of the buffer. - Returns true if the is - the type. + Gets the maximum size of the buffer - + - Overrides the ConvertFrom method of IConvertFrom. + Gets the number of logging events in the buffer. - the object to convert to a PatternLayout - the PatternLayout + The number of logging events in the buffer. - Creates and returns a new using - the as the - . + This number is guaranteed to be in the range 0 to + (inclusive). - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Convert between string and + An always empty . - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . + A singleton implementation of the + interface that always represents an empty collection. - - - Nicko Cadell + Gert Driesen - + - Can the target type be converted to the type supported by this object + Initializes a new instance of the class. - A that represents the type you want to convert to - true if the conversion is possible - Returns true if the is - assignable from a type. + Uses a private access modifier to enforce the singleton pattern. - + - Converts the given value object to the specified type, using the arguments + Copies the elements of the to an + , starting at a particular Array index. - the object to convert - The Type to convert the value parameter to - the converted object + The one-dimensional + that is the destination of the elements copied from + . The Array must have zero-based + indexing. + The zero-based index in array at which + copying begins. - Uses the method to convert the - argument to a . + As the collection is empty no values are copied into the array. - - The object cannot be converted to the - . To check for this condition use the - method. - - + - Can the source type be converted to the type supported by this object + Returns an enumerator that can iterate through a collection. - the type to convert - true if the conversion is possible + + An that can be used to + iterate through the collection. + - Returns true if the is - the type. + As the collection is empty a is returned. - + - Overrides the ConvertFrom method of IConvertFrom. + The singleton instance of the empty collection. - the object to convert to a PatternString - the PatternString + + + + Gets the singleton instance of the empty collection. + + The singleton instance of the empty collection. - Creates and returns a new using - the as the - . + Gets the singleton instance of the empty collection. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Supports conversion from string to type. + Gets a value indicating if access to the is synchronized (thread-safe). + + true if access to the is synchronized (thread-safe); otherwise, false. + - Supports conversion from string to type. + For the this property is always true. - - - - Nicko Cadell - + - Can the source type be converted to the type supported by this object + Gets the number of elements contained in the . - the type to convert - true if the conversion is possible + + The number of elements contained in the . + - Returns true if the is - the type. + As the collection is empty the is always 0. - + - Overrides the ConvertFrom method of IConvertFrom. + Gets an object that can be used to synchronize access to the . - the object to convert to a Type - the Type + + An object that can be used to synchronize access to the . + - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. + As the collection is empty and thread safe and synchronized this instance is also + the object. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Attribute used to associate a type converter + An always empty . - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. + A singleton implementation of the + interface that always represents an empty collection. Nicko Cadell Gert Driesen - - - The string type name of the type converter - - - + - Default constructor + Initializes a new instance of the class. - Default constructor + Uses a private access modifier to enforce the singleton pattern. - + - Create a new type converter attribute for the specified type name + Copies the elements of the to an + , starting at a particular Array index. - The string type name of the type converter + The one-dimensional + that is the destination of the elements copied from + . The Array must have zero-based + indexing. + The zero-based index in array at which + copying begins. - The type specified must implement the - or the interfaces. + As the collection is empty no values are copied into the array. - + - Create a new type converter attribute for the specified type + Returns an enumerator that can iterate through a collection. - The type of the type converter + + An that can be used to + iterate through the collection. + - The type specified must implement the - or the interfaces. + As the collection is empty a is returned. - + - The string type name of the type converter + Adds an element with the provided key and value to the + . - - The string type name of the type converter - + The to use as the key of the element to add. + The to use as the value of the element to add. - The type specified must implement the - or the interfaces. + As the collection is empty no new values can be added. A + is thrown if this method is called. + This dictionary is always empty and cannot be modified. - + - A straightforward implementation of the interface. + Removes all elements from the . - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. + As the collection is empty no values can be removed. A + is thrown if this method is called. - Nicko Cadell - Gert Driesen + This dictionary is always empty and cannot be modified. - + - Constructor + Determines whether the contains an element + with the specified key. + The key to locate in the . + false - Initializes a new instance of the class. + As the collection is empty the method always returns false. - + - Append on on all attached appenders. + Returns an enumerator that can iterate through a collection. - The event being logged. - The number of appenders called. + + An that can be used to + iterate through the collection. + - Calls the method on all - attached appenders. + As the collection is empty a is returned. - + - Append on on all attached appenders. + Removes the element with the specified key from the . - The array of events being logged. - The number of appenders called. + The key of the element to remove. - Calls the method on all - attached appenders. + As the collection is empty no values can be removed. A + is thrown if this method is called. + This dictionary is always empty and cannot be modified. - + - Calls the DoAppende method on the with - the objects supplied. + The singleton instance of the empty dictionary. - The appender - The events + + + + Gets the singleton instance of the . + + The singleton instance of the . - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. + Gets the singleton instance of the . - + - Attaches an appender. + Gets a value indicating if access to the is synchronized (thread-safe). - The appender to add. + + true if access to the is synchronized (thread-safe); otherwise, false. + - If the appender is already in the list it won't be added again. + For the this property is always true. - + - Gets an attached appender with the specified name. + Gets the number of elements contained in the - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - + + The number of elements contained in the . + - Lookup an attached appender by name. + As the collection is empty the is always 0. - + - Removes all attached appenders. + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + - Removes and closes all attached appenders + As the collection is empty and thread safe and synchronized this instance is also + the object. - + - Removes the specified appender from the list of attached appenders. + Gets a value indicating whether the has a fixed size. - The appender to remove. - The appender removed from the list + true - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + As the collection is empty always returns true. - + - Removes the appender with the specified name from the list of appenders. + Gets a value indicating whether the is read-only. - The name of the appender to remove. - The appender removed from the list + true - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + As the collection is empty always returns true. - + - List of appenders + Gets an containing the keys of the . + An containing the keys of the . + + + As the collection is empty a is returned. + + - + - Array of appenders, used to cache the m_appenderList + Gets an containing the values of the . + An containing the values of the . + + + As the collection is empty a is returned. + + - + - Gets all attached appenders. + Gets or sets the element with the specified key. - - A collection of attached appenders, or null if there - are no attached appenders. - + The key of the element to get or set. + null - The read only collection of all currently attached appenders. + As the collection is empty no values can be looked up or stored. + If the index getter is called then null is returned. + A is thrown if the setter is called. + This dictionary is always empty and cannot be modified. - + - This class aggregates several PropertiesDictionary collections together. + Contain the information obtained when parsing formatting modifiers + in conversion modifiers. - Provides a dictionary style lookup over an ordered list of - collections. + Holds the formatting information extracted from the format string by + the . This is used by the + objects when rendering the output. Nicko Cadell + Gert Driesen - + - Constructor + Defaut Constructor - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Add a Properties Dictionary to this composite collection + Constructor - the properties to add - Properties dictionaries added first take precedence over dictionaries added - later. + Initializes a new instance of the class + with the specified parameters. - + - Flatten this composite collection into a single properties dictionary + Gets or sets the minimum value. - the flattened dictionary + + The minimum value. + - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. + Gets or sets the minimum value. - + - Gets the value of a property + Gets or sets the maximum value. - The value for the property with the specified key + The maximum value. - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. + Gets or sets the maximum value. - + - Base class for Context Properties implementations + Gets or sets a flag indicating whether left align is enabled + or not. + + A flag indicating whether left align is enabled or not. + - This class defines a basic property get set accessor + Gets or sets a flag indicating whether left align is enabled or not. - Nicko Cadell - + - Gets or sets the value of a property + Implementation of Properties collection for the - - The value for the property with the specified key - - Gets or sets the value of a property + This class implements a properties collection that is thread safe and supports both + storing properties and capturing a read only copy of the current propertied. + + + This class is optimized to the scenario where the properties are read frequently + and are modified infrequently. + Nicko Cadell - + - Subclass of that maintains a count of - the number of bytes written. + The read only copy of the properties. - This writer counts the number of bytes written. + This variable is declared volatile to prevent the compiler and JIT from + reordering reads and writes of this thread performed on different threads. - Nicko Cadell - Gert Driesen - + - that does not leak exceptions + Lock object used to synchronize updates within this instance + + + + + Constructor - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . + Initializes a new instance of the class. - Nicko Cadell - Gert Driesen - + - Adapter that extends and forwards all - messages to an instance of . + Remove a property from the global context + the key for the entry to remove - Adapter that extends and forwards all - messages to an instance of . + Removing an entry from the global context properties is relatively expensive compared + with reading a value. - Nicko Cadell - + - The writer to forward messages to + Clear the global context properties - + - Create an instance of that forwards all - messages to a . + Get a readonly immutable copy of the properties - The to forward to + the current global context properties - Create an instance of that forwards all - messages to a . + This implementation is fast because the GlobalContextProperties class + stores a readonly copy of the properties. - + - Closes the writer and releases any system resources associated with the writer + Gets or sets the value of a property + + The value for the property with the specified key + + Reading the value for a key is faster than setting the value. + When the value is written a new read only copy of + the properties is created. - + - Dispose this writer + The static class ILogExtensions contains a set of widely used + methods that ease the interaction with the ILog interface implementations. - flag indicating if we are being disposed - Dispose this writer + This class contains methods for logging at different levels and checks the + properties for determining if those logging levels are enabled in the current + configuration. + Simple example of logging messages + + using log4net.Util; + + ILog log = LogManager.GetLogger("application-log"); + + log.InfoExt("Application Start"); + log.DebugExt("This is a debug message"); + + - + - Flushes any buffered output + The fully qualified type of the Logger class. + + + + Log a message object with the level. + + The logger on which the message is logged. + The lambda expression that gets the object to log. - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device + This method first checks if this logger is INFO + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is INFO enabled, then it converts + the message object (retrieved by invocation of the provided callback) to a + string by invoking the appropriate . + It then proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Writes a character to the wrapped TextWriter + Log a message object with the level including + the stack trace of the passed + as a parameter. - the value to write to the TextWriter + The logger on which the message is logged. + The lambda expression that gets the object to log. + The exception to log, including its stack trace. - Writes a character to the wrapped TextWriter + See the form for more detailed information. + + + + + + + Log a message object with the level. //TODO + + Log a message object with the level. + + The logger on which the message is logged. + The message object to log. + + + This method first checks if this logger is INFO + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is INFO enabled, then it converts + the message object (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Writes a character buffer to the wrapped TextWriter + Log a message object with the level including + the stack trace of the passed + as a parameter. - the data buffer - the start index - the number of characters to write + The logger on which the message is logged. + The message object to log. + The exception to log, including its stack trace. - Writes a character buffer to the wrapped TextWriter + See the form for more detailed information. + + - + - Writes a string to the wrapped TextWriter + Logs a formatted message string with the level. - the value to write to the TextWriter + The logger on which the message is logged. + A String containing zero or more format items + An Object to format - Writes a string to the wrapped TextWriter + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets or sets the underlying . + Logs a formatted message string with the level. - - The underlying . - + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - Gets or sets the underlying . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - The Encoding in which the output is written + Logs a formatted message string with the level. - - The - + An that supplies culture-specific formatting information + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - The Encoding in which the output is written + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets an object that controls formatting + Logs a formatted message string with the level. - - The format provider - + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format - Gets an object that controls formatting + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets or sets the line terminator string used by the TextWriter + Logs a formatted message string with the level. - - The line terminator to use - + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Gets or sets the line terminator string used by the TextWriter + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Constructor + Log a message object with the level. - the writer to actually write to - the error handler to report error to + The logger on which the message is logged. + The lambda expression that gets the object to log. - Create a new QuietTextWriter using a writer and error handler + This method first checks if this logger is INFO + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is INFO enabled, then it converts + the message object (retrieved by invocation of the provided callback) to a + string by invoking the appropriate . + It then proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Writes a character to the underlying writer + Log a message object with the level including + the stack trace of the passed + as a parameter. - the char to write + The logger on which the message is logged. + The lambda expression that gets the object to log. + The exception to log, including its stack trace. - Writes a character to the underlying writer + See the form for more detailed information. + + - + + Log a message object with the level. //TODO - Writes a buffer to the underlying writer + Log a message object with the level. - the buffer to write - the start index to write from - the number of characters to write + The logger on which the message is logged. + The message object to log. - Writes a buffer to the underlying writer + This method first checks if this logger is INFO + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is INFO enabled, then it converts + the message object (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Writes a string to the output. + Log a message object with the level including + the stack trace of the passed + as a parameter. - The string data to write to the output. + The logger on which the message is logged. + The message object to log. + The exception to log, including its stack trace. - Writes a string to the output. + See the form for more detailed information. + + - + - Closes the underlying output writer. + Logs a formatted message string with the level. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format - Closes the underlying output writer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - + - Gets or sets the error handler that all errors are passed to. + Logs a formatted message string with the level. - - The error handler that all errors are passed to. - + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - Gets or sets the error handler that all errors are passed to. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets a value indicating whether this writer is closed. + Logs a formatted message string with the level. - - true if this writer is closed, otherwise false. - + An that supplies culture-specific formatting information + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - Gets a value indicating whether this writer is closed. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Constructor + Logs a formatted message string with the level. - The to actually write to. - The to report errors to. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format - Creates a new instance of the class - with the specified and . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Writes a character to the underlying writer and counts the number of bytes written. + Logs a formatted message string with the level. - the char to write + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Overrides implementation of . Counts - the number of bytes written. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Writes a buffer to the underlying writer and counts the number of bytes written. + Log a message object with the level. - the buffer to write - the start index to write from - the number of characters to write + The logger on which the message is logged. + The lambda expression that gets the object to log. - Overrides implementation of . Counts - the number of bytes written. + This method first checks if this logger is WARN + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is WARN enabled, then it converts + the message object (retrieved by invocation of the provided callback) to a + string by invoking the appropriate . + It then proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Writes a string to the output and counts the number of bytes written. + Log a message object with the level including + the stack trace of the passed + as a parameter. - The string data to write to the output. + The logger on which the message is logged. + The lambda expression that gets the object to log. + The exception to log, including its stack trace. - Overrides implementation of . Counts - the number of bytes written. + See the form for more detailed information. + + - - - Total number of bytes written. - - - + + Log a message object with the level. //TODO - Gets or sets the total number of bytes written. + Log a message object with the level. - - The total number of bytes written. - + The logger on which the message is logged. + The message object to log. - Gets or sets the total number of bytes written. + This method first checks if this logger is WARN + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is WARN enabled, then it converts + the message object (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - A fixed size rolling buffer of logging events. + Log a message object with the level including + the stack trace of the passed + as a parameter. + The logger on which the message is logged. + The message object to log. + The exception to log, including its stack trace. - An array backed fixed size leaky bucket. + See the form for more detailed information. - Nicko Cadell - Gert Driesen + + - + - Constructor + Logs a formatted message string with the level. - The maximum number of logging events in the buffer. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format - Initializes a new instance of the class with - the specified maximum number of buffered logging events. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - The argument is not a positive integer. + + - + - Appends a to the buffer. + Logs a formatted message string with the level. - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Get and remove the oldest event in the buffer. + Logs a formatted message string with the level. - The oldest logging event in the buffer + An that supplies culture-specific formatting information + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Pops all the logging events from the buffer into an array. + Logs a formatted message string with the level. - An array of all the logging events in the buffer. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format - Get all the events in the buffer and clear the buffer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Clear the buffer + Logs a formatted message string with the level. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Clear the buffer of all events. The events in the buffer are lost. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets the th oldest event currently in the buffer. + Log a message object with the level. - The th oldest event currently in the buffer. + The logger on which the message is logged. + The lambda expression that gets the object to log. - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. + This method first checks if this logger is ERROR + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is ERROR enabled, then it converts + the message object (retrieved by invocation of the provided callback) to a + string by invoking the appropriate . + It then proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Gets the maximum size of the buffer. + Log a message object with the level including + the stack trace of the passed + as a parameter. - The maximum size of the buffer. + The logger on which the message is logged. + The lambda expression that gets the object to log. + The exception to log, including its stack trace. - Gets the maximum size of the buffer + See the form for more detailed information. + + - + + Log a message object with the level. //TODO - Gets the number of logging events in the buffer. + Log a message object with the level. - The number of logging events in the buffer. + The logger on which the message is logged. + The message object to log. - This number is guaranteed to be in the range 0 to - (inclusive). + This method first checks if this logger is ERROR + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is ERROR enabled, then it converts + the message object (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - An always empty . + Log a message object with the level including + the stack trace of the passed + as a parameter. + The logger on which the message is logged. + The message object to log. + The exception to log, including its stack trace. - A singleton implementation of the - interface that always represents an empty collection. + See the form for more detailed information. - Nicko Cadell - Gert Driesen + + - + - Initializes a new instance of the class. + Logs a formatted message string with the level. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format - Uses a private access modifier to enforce the singleton pattern. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Copies the elements of the to an - , starting at a particular Array index. + Logs a formatted message string with the level. - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - As the collection is empty no values are copied into the array. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Returns an enumerator that can iterate through a collection. + Logs a formatted message string with the level. - - An that can be used to - iterate through the collection. - + An that supplies culture-specific formatting information + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - As the collection is empty a is returned. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - The singleton instance of the empty collection. - - - + - Gets the singleton instance of the empty collection. + Logs a formatted message string with the level. - The singleton instance of the empty collection. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format - Gets the singleton instance of the empty collection. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets a value indicating if access to the is synchronized (thread-safe). + Logs a formatted message string with the level. - - true if access to the is synchronized (thread-safe); otherwise, false. - + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - For the this property is always true. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Gets the number of elements contained in the . + Log a message object with the level. - - The number of elements contained in the . - + The logger on which the message is logged. + The lambda expression that gets the object to log. - As the collection is empty the is always 0. + This method first checks if this logger is FATAL + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is FATAL enabled, then it converts + the message object (retrieved by invocation of the provided callback) to a + string by invoking the appropriate . + It then proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Gets an object that can be used to synchronize access to the . + Log a message object with the level including + the stack trace of the passed + as a parameter. - - An object that can be used to synchronize access to the . - + The logger on which the message is logged. + The lambda expression that gets the object to log. + The exception to log, including its stack trace. - As the collection is empty and thread safe and synchronized this instance is also - the object. + See the form for more detailed information. + + - + + Log a message object with the level. //TODO - An always empty . + Log a message object with the level. + The logger on which the message is logged. + The message object to log. - A singleton implementation of the - interface that always represents an empty collection. + This method first checks if this logger is FATAL + enabled by reading the value property. + This check happens always and does not depend on the + implementation. If this logger is FATAL enabled, then it converts + the message object (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. - Nicko Cadell - Gert Driesen + + - + - Initializes a new instance of the class. + Log a message object with the level including + the stack trace of the passed + as a parameter. + The logger on which the message is logged. + The message object to log. + The exception to log, including its stack trace. - Uses a private access modifier to enforce the singleton pattern. + See the form for more detailed information. + + - + - Copies the elements of the to an - , starting at a particular Array index. + Logs a formatted message string with the level. - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format - As the collection is empty no values are copied into the array. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Returns an enumerator that can iterate through a collection. + Logs a formatted message string with the level. - - An that can be used to - iterate through the collection. - + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - As the collection is empty a is returned. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Adds an element with the provided key and value to the - . + Logs a formatted message string with the level. - The to use as the key of the element to add. - The to use as the value of the element to add. + An that supplies culture-specific formatting information + The logger on which the message is logged. + A String containing zero or more format items + An Object array containing zero or more objects to format - As the collection is empty no new values can be added. A - is thrown if this method is called. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - This dictionary is always empty and cannot be modified. + + - + - Removes all elements from the . + Logs a formatted message string with the level. + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format - As the collection is empty no values can be removed. A - is thrown if this method is called. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - This dictionary is always empty and cannot be modified. + + - + - Determines whether the contains an element - with the specified key. + Logs a formatted message string with the level. - The key to locate in the . - false + The logger on which the message is logged. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - As the collection is empty the method always returns false. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Returns an enumerator that can iterate through a collection. + Manages a mapping from levels to - - An that can be used to - iterate through the collection. - - As the collection is empty a is returned. + Manages an ordered mapping from instances + to subclasses. + Nicko Cadell - + - Removes the element with the specified key from the . + Default constructor - The key of the element to remove. - As the collection is empty no values can be removed. A - is thrown if this method is called. + Initialise a new instance of . - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - + - Gets the singleton instance of the . + Add a to this mapping - The singleton instance of the . + the entry to add - Gets the singleton instance of the . + If a has previously been added + for the same then that entry will be + overwritten. - + - Gets a value indicating if access to the is synchronized (thread-safe). + Lookup the mapping for the specified level - - true if access to the is synchronized (thread-safe); otherwise, false. - + the level to lookup + the for the level or null if no mapping found - For the this property is always true. + Lookup the value for the specified level. Finds the nearest + mapping value for the level that is equal to or less than the + specified. + + + If no mapping could be found then null is returned. - + - Gets the number of elements contained in the + Initialize options - - The number of elements contained in the . - - As the collection is empty the is always 0. + Caches the sorted list of in an array - + - Gets an object that can be used to synchronize access to the . + Implementation of Properties collection for the - - An object that can be used to synchronize access to the . - - As the collection is empty and thread safe and synchronized this instance is also - the object. + Class implements a collection of properties that is specific to each thread. + The class is not synchronized as each thread has its own . + + + This class stores its properties in a slot on the named + log4net.Util.LogicalThreadContextProperties. + + + The requires a link time + for the + . + If the calling code does not have this permission then this context will be disabled. + It will not store any property values set on it. + Nicko Cadell - + - Gets a value indicating whether the has a fixed size. + Flag used to disable this context if we don't have permission to access the CallContext. - true - - - As the collection is empty always returns true. - - - + - Gets a value indicating whether the is read-only. + Constructor - true - As the collection is empty always returns true. + Initializes a new instance of the class. - + - Gets an containing the keys of the . + Remove a property - An containing the keys of the . + the key for the entry to remove - As the collection is empty a is returned. + Remove the value for the specified from the context. - + - Gets an containing the values of the . + Clear all the context properties - An containing the values of the . - As the collection is empty a is returned. + Clear all the context properties - + - Gets or sets the element with the specified key. + Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - The key of the element to get or set. - null + create the dictionary if it does not exist, otherwise return null if is does not exist + the properties for this thread - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. + The collection returned is only to be used on the calling thread. If the + caller needs to share the collection between different threads then the + caller must clone the collection before doings so. - This dictionary is always empty and cannot be modified. - + - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. + Gets the call context get data. + The peroperties dictionary stored in the call context - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - + The method has a + security link demand, therfore we must put the method call in a seperate method + that we can wrap in an exception handler. - Nicko Cadell - Gert Driesen - + - Defaut Constructor + Sets the call context data. + The properties. - - Initializes a new instance of the class. - + The method has a + security link demand, therfore we must put the method call in a seperate method + that we can wrap in an exception handler. - + - Constructor + The fully qualified type of the LogicalThreadContextProperties class. - - Initializes a new instance of the class - with the specified parameters. - + Used by the internal logger to record the Type of the + log message. - + - Gets or sets the minimum value. + Gets or sets the value of a property - The minimum value. + The value for the property with the specified key - Gets or sets the minimum value. + Get or set the property value for the specified. - + - Gets or sets the maximum value. + Delegate type used for LogicalThreadContextStack's callbacks. + + + + + Implementation of Stack for the - - The maximum value. - - Gets or sets the maximum value. + Implementation of Stack for the + Nicko Cadell - + - Gets or sets a flag indicating whether left align is enabled - or not. + The stack store. + + + + + The name of this within the + . + + + + + The callback used to let the register a + new instance of a . + + + + + Internal constructor - - A flag indicating whether left align is enabled or not. - - Gets or sets a flag indicating whether left align is enabled or not. + Initializes a new instance of the class. - + - Implementation of Properties collection for the + Clears all the contextual information held in this stack. - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. + Clears all the contextual information held in this stack. + Only call this if you think that this thread is being reused after + a previous call execution which may not have completed correctly. + You do not need to use this method if you always guarantee to call + the method of the + returned from even in exceptional circumstances, + for example by using the using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message")) + syntax. - Nicko Cadell - + - The read only copy of the properties. + Removes the top context from this stack. + The message in the context that was removed from the top of this stack. - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. + Remove the top context from this stack, and return + it to the caller. If this stack is empty then an + empty string (not ) is returned. - - - Lock object used to synchronize updates within this instance - - - + - Constructor + Pushes a new context message into this stack. + The new context message. + + An that can be used to clean up the context stack. + - Initializes a new instance of the class. + Pushes a new context onto this stack. An + is returned that can be used to clean up this stack. This + can be easily combined with the using keyword to scope the + context. + Simple example of using the Push method with the using keyword. + + using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message")) + { + log.Warn("This should have an ThreadContext Stack message"); + } + + - + - Remove a property from the global context + Gets the current context information for this stack. - the key for the entry to remove + The current context information. + + + + Gets the current context information for this stack. + + Gets the current context information - Removing an entry from the global context properties is relatively expensive compared - with reading a value. + Gets the current context information for this stack. - - - Clear the global context properties - - - + - Get a readonly immutable copy of the properties + Get a portable version of this object - the current global context properties + the portable instance of this object - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. + Get a cross thread portable version of this object - + - Gets or sets the value of a property + The number of messages in the stack - The value for the property with the specified key + The current number of messages in the stack - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. + The current number of messages in the stack. That is + the number of times has been called + minus the number of times has been called. - + - Manages a mapping from levels to + Gets and sets the internal stack used by this + The internal storage stack - Manages an ordered mapping from instances - to subclasses. + This property is provided only to support backward compatability + of the . Tytpically the internal stack should not + be modified. - Nicko Cadell - + - Default constructor + Inner class used to represent a single context frame in the stack. - Initialise a new instance of . + Inner class used to represent a single context frame in the stack. - + - Add a to this mapping + Constructor - the entry to add + The message for this context. + The parent context in the chain. - If a has previously been added - for the same then that entry will be - overwritten. + Initializes a new instance of the class + with the specified message and parent context. - + - Lookup the mapping for the specified level + Get the message. - the level to lookup - the for the level or null if no mapping found + The message. - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. + Get the message. - + - Initialize options + Gets the full text of the context down to the root level. + + The full text of the context down to the root level. + - Caches the sorted list of in an array + Gets the full text of the context down to the root level. - + - Implementation of Properties collection for the + Struct returned from the method. - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . + This struct implements the and is designed to be used + with the pattern to remove the stack frame at the end of the scope. - Nicko Cadell - + + + The depth to trim the stack to when this instance is disposed + + + + + The outer LogicalThreadContextStack. + + + Constructor + The internal stack used by the ThreadContextStack. + The depth to return the stack to when this object is disposed. - Initializes a new instance of the class. + Initializes a new instance of the class with + the specified stack and return depth. - + - Remove a property + Returns the stack to the correct depth. - the key for the entry to remove - Remove the value for the specified from the context. + Returns the stack to the correct depth. - + - Clear all the context properties + Implementation of Stacks collection for the - Clear all the context properties + Implementation of Stacks collection for the + Nicko Cadell - + - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. + Internal constructor - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. + Initializes a new instance of the class. - + + + The fully qualified type of the ThreadContextStacks class. + + + Used by the internal logger to record the Type of the + log message. + + + - Gets or sets the value of a property + Gets the named thread context stack - The value for the property with the specified key + The named stack - Get or set the property value for the specified. + Gets the named thread context stack + + + + + + + Outputs log statements from within the log4net assembly. @@ -24284,15 +27523,21 @@ Nicko Cadell Gert Driesen - + + + Formats Prefix, Source, and Message in the same format as the value + sent to Console.Out and Trace.Write. + + + + Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - + + + + @@ -24313,11 +27558,21 @@ - + + + Raises the LogReceived event when an internal messages is received. + + + + + + + Writes log4net internal debug messages to the standard output stream. + The message to log. @@ -24326,11 +27581,12 @@ - + Writes log4net internal debug messages to the standard output stream. + The Type that generated this message. The message to log. An exception to log. @@ -24340,11 +27596,12 @@ - + Writes log4net internal warning messages to the standard error stream. + The Type that generated this message. The message to log. @@ -24353,11 +27610,12 @@ - + Writes log4net internal warning messages to the standard error stream. + The Type that generated this message. The message to log. An exception to log. @@ -24367,11 +27625,12 @@ - + Writes log4net internal error messages to the standard error stream. + The Type that generated this message. The message to log. @@ -24380,11 +27639,12 @@ - + Writes log4net internal error messages to the standard error stream. + The Type that generated this message. The message to log. An exception to log. @@ -24440,6 +27700,44 @@ In quietMode not even errors generate any output. + + + The event raised when an internal message has been received. + + + + + The Type that generated the internal message. + + + + + The DateTime stamp of when the internal message was received. + + + + + A string indicating the severity of the internal message. + + + "log4net: ", + "log4net:ERROR ", + "log4net:WARN " + + + + + The internal log message. + + + + + The Exception related to the message. + + + Optional. Will be null if no Exception was passed. + + Gets or sets a value indicating whether log4net internal logging @@ -24514,6 +27812,11 @@ + + + + + Test if LogLog.Debug is enabled for output. @@ -24553,6 +27856,44 @@ + + + Subscribes to the LogLog.LogReceived event and stores messages + to the supplied IList instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a native error code and message. @@ -24639,11 +27980,11 @@ Formats a message string. - Formatting options, and how to interpret the parameter. + Formatting options, and how to interpret the parameter. Location of the message definition. Message identifier for the requested message. Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . + If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. Pointer to an array of values that are used as insert values in the formatted message. @@ -24667,7 +28008,7 @@ If the function fails, the return value is zero. To get extended error information, - call . + call . @@ -24965,7 +28306,7 @@ - The error message is printed on the standard error output stream. + The error message is processed using the LogLog sub-system by default. This policy aims at protecting an otherwise working application @@ -24974,6 +28315,7 @@ Nicko Cadell Gert Driesen + Ron Grabowski @@ -24997,6 +28339,11 @@ + + + Reset the error handler back to its initial disabled state. + + Log an Error @@ -25006,8 +28353,20 @@ The internal error code. - Prints the message and the stack trace of the exception on the standard - error output stream. + Invokes if and only if this is the first error or the first error after has been called. + + + + + + Log the very first error + + The error message. + The exception. + The internal error code. + + + Sends the error information to 's Error method. @@ -25019,8 +28378,7 @@ The exception. - Prints the message and the stack trace of the exception on the standard - error output stream. + Invokes if and only if this is the first error or the first error after has been called. @@ -25031,21 +28389,49 @@ The error message. - Print a the error message passed as parameter on the standard - error output stream. + Invokes if and only if this is the first error or the first error after has been called. + + + The date the error was recorded. + + Flag to indicate if it is the first error + + + The message recorded during the first error. + + + + + The exception recorded during the first error. + + + + + The error code recorded during the first error. + + String to prefix each message with + + + The fully qualified type of the OnlyOnceErrorHandler class. + + + Used by the internal logger to record the Type of the + log message. + + Is error logging enabled @@ -25057,6 +28443,32 @@ + + + The date the first error that trigged this error handler occured. + + + + + The message from the first error that trigged this error handler. + + + + + The exception from the first error that trigged this error handler. + + + May be . + + + + + The error code from the first error that trigged this error handler. + + + Defaults to + + A convenience class to convert property values to specific types. @@ -25176,7 +28588,7 @@ - Performs variable substitution in string from the + Performs variable substitution in string from the values of keys found in . The string on which variable substitution is performed. @@ -25229,6 +28641,15 @@ If true, ignore case; otherwise, regard case. An object of type whose value is represented by . + + + The fully qualified type of the OptionConverter class. + + + Used by the internal logger to record the Type of the + log message. + + Most of the work of the class @@ -25335,6 +28756,15 @@ + + + The fully qualified type of the PatternParser class. + + + Used by the internal logger to record the Type of the + log message. + + Get the converter registry used by this parser @@ -25395,7 +28825,7 @@ date - Used to output the date of the logging event in the local time zone. + Used to output the current date and time in the local time zone. To output the date in universal time use the %utcdate pattern. The date conversion specifier may be followed by a date format specifier enclosed @@ -25406,7 +28836,7 @@ The date format specifier admits the same syntax as the - time pattern string of the . + time pattern string of the . For better results it is recommended to use the log4net date @@ -25419,7 +28849,7 @@ These dedicated date formatters perform significantly - better than . + better than . @@ -25541,7 +28971,7 @@ The date format specifier admits the same syntax as the - time pattern string of the . + time pattern string of the . For better results it is recommended to use the log4net date @@ -25554,7 +28984,7 @@ These dedicated date formatters perform significantly - better than . + better than . @@ -25569,8 +28999,8 @@ Additional pattern converters may be registered with a specific - instance using or - . + instance using or + . See the for details on the @@ -25679,7 +29109,7 @@ - + Add a converter to this PatternString @@ -25687,7 +29117,7 @@ This version of the method is used by the configurator. - Programmatic users should use the alternative method. + Programmatic users should use the alternative method. @@ -25718,47 +29148,6 @@ - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - String keyed object map. @@ -26158,6 +29547,48 @@ See + + + A class to hold the key and data for a property set in the config file + + + + A class to hold the key and data for a property set in the config file + + + + + + Override Object.ToString to return sensible debug info + + string info about this object + + + + Property Key + + + Property Key + + + + Property Key. + + + + + + Property Value + + + Property Value + + + + Property Value. + + + A that ignores the message @@ -26436,7 +29867,7 @@ If the type name is fully qualified, i.e. if contains an assembly name in the type name, the type will be loaded from the system using - . + . If the type name is not fully qualified, it will be loaded from the assembly @@ -26457,7 +29888,7 @@ If the type name is fully qualified, i.e. if contains an assembly name in the type name, the type will be loaded from the system using - . + . If the type name is not fully qualified it will be loaded from the @@ -26479,7 +29910,7 @@ If the type name is fully qualified, i.e. if contains an assembly name in the type name, the type will be loaded from the system using - . + . If the type name is not fully qualified it will be loaded from the specified @@ -26548,6 +29979,20 @@ + + + Parse a string into an value + + the string to parse + out param where the parsed value is placed + true if the string was able to be parsed into an integer + + + Attempts to parse the string into an integer. If the string cannot + be parsed then this method returns false. The method does not throw an exception. + + + Lookup an application setting @@ -26600,6 +30045,15 @@ + + + The fully qualified type of the SystemInfo class. + + + Used by the internal logger to record the Type of the + log message. + + Cache the host name for the current machine @@ -26852,6 +30306,15 @@ Dump an object to a string + + + The fully qualified type of the SystemStringFormat class. + + + Used by the internal logger to record the Type of the + log message. + + Implementation of Properties collection for the @@ -26864,9 +30327,9 @@ Nicko Cadell - + - The thread local data slot to use to store a PropertiesDictionary. + Each thread will automatically have its instance. @@ -26890,6 +30353,15 @@ + + + Get the keys stored in the properties. + + + Gets the keys stored in the properties. + + a set of the defined keys + Clear all properties @@ -26904,7 +30376,7 @@ Get the PropertiesDictionary for this thread. - create the dictionary if it does not exist, otherwise return null if is does not exist + create the dictionary if it does not exist, otherwise return null if does not exist the properties for this thread @@ -27176,6 +30648,15 @@ + + + The fully qualified type of the ThreadContextStacks class. + + + Used by the internal logger to record the Type of the + log message. + + Gets the named thread context stack @@ -27256,6 +30737,11 @@ + + + Characters illegal in XML 1.0 + + Impersonate a Windows Account @@ -27518,6 +31004,29 @@ + + + Provides information about the environment the assembly has + been built for. + + + + Version of the assembly + + + Version of the framework targeted + + + Type of framework targeted + + + Does it target a client profile? + + + + Identifies the version and target for this assembly. + + The log4net Logical Thread Context. @@ -27544,6 +31053,13 @@ The Logical Thread Context is managed on a per basis. + + The requires a link time + for the + . + If the calling code does not have this permission then this context will be disabled. + It will not store any property values set on it. + Example of using the thread context properties to store a username. @@ -27617,7 +31133,7 @@ This class has static methods that are used by a client to request - a logger instance. The method is + a logger instance. The method is used to retrieve a logger. @@ -27794,7 +31310,7 @@ - Shorthand for . + Shorthand for . Get the logger for the fully qualified name of the type specified. @@ -27804,7 +31320,7 @@ - Shorthand for . + Shorthand for . Gets the logger for the fully qualified name of the type specified. @@ -27815,7 +31331,7 @@ - Shorthand for . + Shorthand for . Gets the logger for the fully qualified name of the type specified. @@ -27968,7 +31484,7 @@ Gets the for the repository specified - by the callers assembly (). + by the callers assembly (). The instance for the default repository. @@ -28007,7 +31523,7 @@ Gets the for the repository specified - by the callers assembly (). + by the callers assembly (). The instance for the default repository. @@ -28049,7 +31565,7 @@ The created will be associated with the repository - specified such that a call to will return + specified such that a call to will return the same repository instance. @@ -28070,7 +31586,7 @@ The created will be associated with the repository - specified such that a call to will return + specified such that a call to will return the same repository instance. @@ -28161,7 +31677,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -28178,7 +31694,7 @@ The created will be associated with the repository - specified such that a call to with the + specified such that a call to with the same assembly specified will return the same repository instance. @@ -28294,13 +31810,13 @@ - Puts a context value (the parameter) as identified + Puts a context value (the parameter) as identified with the parameter into the current thread's context map. If a value is already defined for the - specified then the value will be replaced. If the + specified then the value will be replaced. If the is specified as null then the key value mapping will be removed. diff --git a/lib/zookeeper/ZooKeeperNet.dll b/lib/zookeeper/ZooKeeperNet.dll index 0c3ac0756b865d273ca44975321524a162be4fb0..165c8a508a37f0059a628ec54dd77558855a7c3f 100644 GIT binary patch literal 147968 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

Z^Kr+{1bD_ z4cm&K-&i59X>K3n{}I|5#3@uK9WRnpP*_7K{p|(K@Yi#l%D=$MYMTXpG$;@1G%kkH zv+<9EIgnL^H;U{@ezDyL89^m1PJPR^aj z>n^nCpv+=>0rUZTF?5;zAasTO2(;2(1zlsWfv&TkfNrp#f(07?NB>i4%J-Wc@-Mu?8RDP&YRFk=L=}GV+90=rcP`CJaUqu z2OaY0kV9Vg^dURZhx#GKr$2K0`=mn$`V55*@fi-y^ce*m;gbU$3&e1z4Kw3Qf1DM_q3tQD*~S&y(v#bsD?SXZ+iVU-r;#;_)_=CH12-N|}{ zRoYw+YX$30R_SmJtVygDtgBgfvPvH=!kn&RWU3n)L{4Od!>e!&rPe? zM!Ax;DQhBY5^FYV4r@7U1#2a173)scYStsHBAn`M${NF(#9G0+nsq1Z5mp&NE8W)*I3Icrna7}iAAB-U)!9M*Ey3f4;2)vP;NkFd%}sxyf-hqZ!r zHS12+Bdjut+svBCn$0R2ajRIHvc|9`vF5N=uvSG=$!gZ}E6A>7tzxZa6-_9;DQi_z zF3&1rIGr_-HJep5<8;N ze@8y#Y*{tGv zPG?PI&1NlUt<>ows7y9%Icp_r;tib6TFzR@TE$we(??O6O4h`ixjbt*Yb9$HYqd_# z=JKqGw{UsZa@I=L#5_)C6{E>+%33vs>}pmqmeW}iS+iNoSu1t=ty~YQDCF|2RpYrH zR#C+1tck4ItYQMEvnH};vx*W+}jLU&&guM|A%Cv5@Zm|li3Dy*ArgfLK(7NAx#9D2wvo=}JSua_;tbNwI)<;&g^_BIVb=JCI zS#~`;7{BS##BO27+X?nH_6>HiJ=vaN-)S$f@3SAaEA7Yar|f6#?e?qo8~9C^L-yyk z?L;}NoGnf}pG2PwpLIUReKLH<`abIWwC~HldwoCk{mS<{-!NAb*9g}t*B;lKu9L1m zT#jEozm|Rlei!`e)r+jxqF(oU1M7{dS6FX)y$9-jSMRra5&oV1`}-I8FYtfJe~bTb z{#N}+oWtVpB!z{0{=T^5TMzg8>*KC)1KjNm!T$(c5xH^iH4^vqqxhb_8+YR)asM|; zG{gP-R=8H8JLvJaXWt3;>$@WNYTT#qffBuNf4(7svwff^8 z{I$6MJ^*W{<8JI=)G)-{Zy$>L?89(xc?4>_0aso(i3Hre?t(kXUBxZ9m!60F==r$o zJQ`cN6 zDK_ES?P+XbE4J{g$PzE%{&*F(@~X(iUsdLbJ=oG47<+Gu0*tv^@%H#a@ea219_|Rg zFBXaqFgjoJeH7oUyn4moq5VQgySgZ)q4Om4$7Y+L*Ep2^372`2%U>Dwf+uB7XUf$n zdaaimy@Zs!Mth)>c&*Fj>hxW$sD@c_`#kmN8uS*u*Y!?$DS_6~ZPwd8;!w*^`ck^~ z;)P&J(Pgxb4W^bKi6ZZG&ALwA1KEwKy!L22*S05sO6uH;)4kiK+q|_+ZEtwjuYJ@h zvm>czmc$?Qv_Y@youbQp-}vKyDe0Z=U7PL!?;3Rf%xg^T*S-ga&~|l89`@=b?-X59 z*X$hy@0#_tbiaA0dv8&1H`2worb;_Zr z4dU8vVcpM>t!C9N31~uVo#FAeu?5BP+9*mn*qC%Oul2uM!=GEL!xdj+i*ut$XS6#B zeZz-({#0jrCZ<&a=_5R@^caigz3GvT)Xt|_cekYSI!3ll>FwR5x9~o7t|8?fYjYNw z8fW7>(S^L0uK(hiPdN=xMsKT>x2sE@3k^m3b%9Y(9gE|E)XzoS+H;{zklrt(xhFTW zWgP5;79F7%$MoNCC8F(BSnJm=J)y6+C0{yr>;pU6BD-x6d2~9iKT^tD4uZ~cXF{7r z-*CwkU9wAXHgc2PqoF!QkCq*Ag-F@kVKVf=_S2ysx37TCZGRV3?^EYO$_K>fQDR=lFJI%{xi9RSpbGOWo?ygG>jygB^QB1thDs_-&6H|)EhO5BGdlN9$u6=wTJ zuvbIzJQ0pi5_5lJ*lTc56fxQk#E4tU-4EA$4VoC8lREcdkYDs)I z*b??XaOA?1N>GLGZQ@|R1XVan#KYbPRpJo7F_z*ZsKT#Lb%gyDRNLo!D zM|mCW!B8cJ$PC!mLGiQ#&dDU+06q+MwxnO(%Yh<}awP0rDB>t@ggp_8ILez~mqHOo znFV_iRN?*2Ik2Zdm6$4XVNZi9F-PXZo(shjrg9AI`A{Y9mIbgEKo#CAJP!6Es1lFJ z@vxUel~^H*VXuVZWkGTx>{U>V2U!YxHB^bGEou680D<`d_VrJqe2aNUerF8>+-&^%(3WQ1qKx3wsq5{iYs= zy&8)BNId}?XUnjkR_kGJhAQ!l+6a3K6wmgmO|YMZD!dJl?bt3gB=RRlP=aC*x^tmuC!i<-3+Qk2Wubfj!=w$>rL3#Kr#NUw_ztimFQ!= z13MY2@XOin!A^x@{9EtC&VXY4TOY#CfhtjCeFVE0it%rK0(&A9jdn_pqR(3Z(y&5Vji=;h5a}b z^O*HL>?fc~JZYVVy&kH>2J1)I8=)Bg)>+t_popXOGwjV!#L@Z%_7*7OXq|`sEEI9H zeuMog6mhivfc+X&iQSfzQtW{$vDd;vybi^DXyI`Hu@8#<$nu5#CRB;HEPQz=-i9i1 z!19Ov4iw|TY5@B^s1nsyAnYShCBCqNVIPHJJXoQyzl365wZdV41y$l}%MJSk6#JtU z1^XMQ5+|)ju)l>W{C;X<*xy5y_|<9x`#e;M3swy5-=GS=LD~%VA5euyL7PMC+bxmO z0IEcQ-5Pcv6i<5Eaj=7-7-@Dq>`*91n%y3DI8=!yc1LJayE8P#?t=6yp-RNsS3!H( z-Jt{Q9?*eyFKD`b4Ro-b1kJRQp~LM|XujPKI@(TyjxMDDk4R9{Pr}5xURWB>RYN zu4W=xOn?p$yP-FW+x(j09OV@}OqeTT>ovpm;4RQX@l(C#&~x=#LNC;74gI}d98~zn zLzRDfsO{eo&rZ$rZ-%SlcDU|M$8%M`5|9dl*-t@7LE_nO~^dRyzgRPV=nANu>& z?^xe1r{@Th4z?E5y^y^mL%YnV0@I zxPB)**^Fxlq!r+L`c{0#;ZumucwEI7;Zuz3>It}>o`_EgKBf4S;WG)J$@omcXDU9^ z@VO12+wqx>&kTHK;xh}Ma(pWAxdWfs_}q!lU5LOOeCFaa51;w?+>Nuv1^6t)bvgaJ zMyzC4lgx6KSyq_k>wXzss8?S1OTjaoLcHm>((Z?~XX2cz9G~9!B;qp@=NRSq^u{L< zpP6|7a5+A`@kzvICf+wvj!$oV67gA$(Y4=izK@@r@3S9oCRr^4U3=tUzt{2E>-VnT z9{CgOpZxlvuJiJfdaYH8f0jDuPi+v%CHXmJ`I%FTuJ0gvCKne?&MzrT$}KGIeM?qW z#|~LYOv=kk9$QeD$0;2tWoZ8R;>r27iJeTbp*clk^0^qN^zNRO)tRk+`DOi!OUt-Y zoswKUVOmC6P8pZ(OzUUlmlWg_7Tl&QNT8&Y{L(s!T_}-i?MenJ%_uG@%h#Rg!JBq%OigL3%ih%`1y&o9ZjrI2ZGNnUD<~RMC$VO0 zWyK{}p?^;4*o^!#ShdXp+|m&aUX_(Kr6gwpnd7sv`W6)B6c$eFD2C?etvneTRI8!H-{V@ z(22%CX>sA?d$j9lM%RFia^< z(pluvu*|;QDE6XfdU4*Q!u;N%U$PjQnv^1vhGq8eo0K*%RhwDH&PdJ3NEl zp=r>hjEup_X-S!BgZc^6EHVcU?uY6!hmPd7W~FEJL&M2Wkv8c1q=9KE$w>nT_DM<} zAO;VpNy3%|Z({J!EacLbDPpw1IHLtpMN&$7+91&=OB?W4ZF(tc4>pf z4aLO+^7AL;mki1;BTi2mn$aI?qFJd!hYlVpl7^&dBV%MnCb~{1qHXAk3^X&jf7-y5 zp{axV4j!61q(2o%8kpg6Ztx()A%hx_G_>C^>UdfwB{g+KS_Vw?*--Sx;6a&b>8XQ< zWr~!f%%rqI=$Z`Vrw&RUDTWT?%({sPYijzC%#mVpPT{2dtSpg}B?gy_X_qu1CwFXq zJ2*9toobhYotb@RqZC1ABWY6EST@jOyhNArGLOoSFU>73DJ-}J<1d$2PR|)rkSl0y zZH;F(omjimm$vJdUxW!P7yVn5D@t<34Fl5hxCSg}bwlYnMLA>g^D@Vl(C(av?G$EZ z6%-YeVM6pI(umB!E`|xmtnE!T=~ODYumE$EDdd6Nnp6yH+Q+yZ$vH)A_sJhqpe?RI z&vJUxB7ZV!Gj>V-#7X(s&!#&J)tKcYYn4O&utDYuveHu8ul8AnSTsZEv_ znAAb}Q~FIZMU$tRVrLiqS=N9IamT|FMs)bfgzOAM{ zZBbgfCrw+FHpG*rtz72utP@y!(je+RE-R}~4j(}K7UUOVci_G3;^efvi_<*&#Kl=P zd&0#zBML526ZQASMQghH;vDMTi&Jm7WU6=XUc3(X;>F3_kryX(UtXMSI$}spY3Y>W zl1sFVb1spdff;jr{>2q$7F;Sdx$Kh3>6cDUDK5HH&C@1aB9(TNOC%4^Da##uaqEWU zlwBeaoMHwXs8X$FB)^H_2_tT@itN?P|uX)6keQ#Gv8g`2n?wCq zP&B&uVkbO(ICu&UjhDzTxkMs`isO#c%ZvJv`{c5@sZ(*jf7#r=g*js`Q6(-O#$O^C z7fF{$)s>fAB8RVUE^4nXpO;EU)r-BMy=?HLOJtb+nevM-m2VDD7z39rlAbg5q7Bwu z+~Ks_b4@35>2gn`6ldVHS0qiCKnp%yDW!RNOiA%1B%}?^$7xX>pRXH}&n!4`cu7H7 zzDY$ll$05p4g>H6t*n`t%+ZX`Up#5Fv45GsxSXD|xGf&DcFjC7fo3~u(uBgC+k#k zj8h0Pcmgk|%G8pQ;u0o(Vu8z*e36S2yZ_bR*8s_VmiN88_py6>cPrgW!d84IuYz5q z*g8p;jBH^WpS};Dbh7UxJB}D>Z+GvsXm5A5AC?Zw!>&RS+lW?9+~5+^(3UhJF|AXe zA+4Dz88Zb22+Y6`+R(s^Nkc;^lTjPBG0@-ddEWQ`vAZW<$xNpmBK!XT_xpX`=Y784 zcX#V~Ndn;{XIdT{g0g9%l#^@?63>;(yI5E(Xvt#cOrGLIinHun;)5g2R`Yp5&S4mb zFe5oC=XY5TC|4l%oXY?l@!H`eE><8a_Mgv+4QFPnOS72NOqQO2pppqDYe(|u>)2%R ziYA`O6pFOcOktUFIK>=O+Bol*?csycCew1E4oT7w-B)g~g^-U;!$N%P&OL>CZMJMn z9%+=QUS^>-4rNL?w8xT}J5Vhz+7hmMq6V|=(M$pRB&~$y0(nk215=G4(XG}=Y>5uw zs%yu~G?37eA3jB!LkPECXqZWuktiOjB_AG1;O#iGb-+o*O<_z?|rJ5ANY4x(~8qUs4%=pz9g1iuH9?pXjyh`r7mr*YDvH@6vWe}YXM6Xyl z-Oo|cz(uj(TXF2=t6l{?7KfDpCyZO~gru0SBIM)pU_|I}^ifDN!^r4x3WWiKqVOFJOh|qP4^+ji1q8W?dc9hh zV->v(KPNui0=e2RL+9g#S|L<6fr!!KTybf(0DkhD&St7u(Sa(M3byMRze2~&R}U3( zxqQhl-+#WIFHx)bMQ-Q=0NC0#ot2ZYQL2kz>@pC(Y%A>Ld|{zcm3EzjAWE677AhRX zuT)e?4;uUDB~|n59e78p2xn#MofQm_RtpQK166ycW;krIkSPU99ZpCu#mtgFk`$f-EOxIb5>3sVE;oufAVst1=+~J8#YXKk zcSrlsI+8Auc(_rnXC!qPmWd=lWQ82|QZiT@?IT(NlCMdOM3NMDlF%raB)NOOgDBGk zvQRjIT*X189-}OX3dUw>0tB*v$klLz0)3!I3X2VZMCpm^ z18b}%39PVM*CZE44@{OMi41cEQ=WU5ksaBK6NNdzV6rYTk(JomvC2XHR$9Q;%QnnV8o?k$ z)^jccWrbQG?MdUdD&?G~B0PUUoNI)Xl{^gFgtLI&3)> z+63L1V@MYve)LSQSPTdEb12}l_LR#-U6Q1zcc=qulh8DR;60gI9x@}JSu{8lphC8} zgCa{fC^|X8ax9(M?lF}WwWa!1t~;e9GHPT z&ez4vl)^;_Yv}>2zPxCv`kDvVgH{`hL94|N{96YOBBY8YCrjSa^O+L1noDO2+j0=l zgW|a}X0oQHKDZ1@*Fe_W6bEOAJWbX{yeckkmM9 zQ!2d-F&;Ydl(vDukTehGfskNtFP)`}kH`?Uw(!(6j145q`g#WxzKm@J6Uj-&4(6?Z zk~(S}^`g{e5(y_m@j0-#1ofXG}(Pp#k)yne++0jZxvz0Xlo+^hkc*9zL6g@=N{!ltEn2RUEB?WFZUe!3j>R}7BiPY0V-a2WQZ5!ZP~P+p2h*9EF7*x7KbA_zl!>ZE?}_C zBGMlA_-&`>-h~qv>j(wL0CDj!Wf4>p97atp5uDXVB~*niqM0YWM0Ekz1WI)np40OZEb;4(l(`;1ZxQ44t6$*;IfD3rUkYh5J+ETZFWi&KS(5k5 z?6@9Y{Tg-W{5;QR8G`al4#Rsq4LuJ-uB}GNr>*cv*$D}R%RJRp^T+c^W~y8Zlml+J z%0Q{&lD@G&!VKg)B)UgBuA5(CcZOmX?uTFQA)up%=GP>wXSjhl%PwV?{7%+xUZxhL zv462r543+YQ-ywLlwf9^DV5Kax@#0fgCRH>m9Qy7z@+-=OsP-J)L|(0f^7#8>M$(L zc}i(FT=JrS90Jf+_J=ju5*{#^XUpPKKx!g|JV}tAtf84FiK#r6kgrNw#2+dOY(XAp zbIGu|Bp%OK%iR|#@|H&C;Y`JdiOB@bF9;eYVSU(?1gOkjs?i48>WuwgFq4w8a@n+7Uv%J%efmEw|3R}n#WX$@UJq64Y^S6|f@oz@y`8)pJHgVFXhpk9$X zh`1EOiD_ewKP?1>&ZDH6(UEAp&qZ87QHT`})=w^+rL* z84twq@3TBEH-(Nu4l#)G0Peith(PYuEi+VLh_=S#S#}xE$_vOo4((5H=-S%!;WDnp zpiC&FT2->ZdoF`V9)Gm48Hb@ubOg6Qx&Jk{qJ4$TLWw3#wq_=CHE{yujzLWZoJHH> z;Q~};4ciXS+Ax+7DsUE;9zl$Yu~DvYD+=HoH;;?dF!aNKsaLPTI)KNspqd=w=+smm zx>YqPLgFb=%Sjb^Km2t!jy$l@d@0Ts7Vxy?4{MZiO3Kd zFLO?%Zp|D%lPjPSyFF2xX=EwRomiLARfd&VJn5KLDl7v_T1AU1@gZQZj54|-b#lMj zbC?u_U4&5ruF%sooFVf(PfGLFP?GpR! zB)VUOhPIOQEJTXncOJG}P35_lV{F#ydhEL#)DRB2l59>x9tggyNvT+dQ6sbgug;!; z!y3j(frdA2nuelH($um^k*+p9uboK#2a08M7qy{DLQSrbjg*AD6m4oOo-M2YL$zZG z$jCiCmqDMZBdx%8__)H}kPsjQ^9_VZX>`LV;uSobp($vS8X2(}%s|`T<|^7#cbReC zoh1&e7G8kXJ>>uaJuY-F#039MPJ$ZsvXHCRkb1k<gCNh+MgRVTlrkF_?68U zY|0|yUK$&eZchy?^*;}h{po}Ijq<@vN*RFCyZiM&gnHrEyPoMuTBr` zy~lw90%DXf&~hDZL+v=TU0|R$jm28Zl}7w{&0|t zV_KSTnqbsGq^)M5O{;p6iwM3RGP8L>I%VtU5&D3GzGq3sJc45%9HT?~PE@P%rWvN` zkjEs&HLbv1IPe>cm_imkVLO;J_zO_Mfy`o|xP5T-jg3JkEB}3_`+U%Hnk2okmz0Bq#m?ML;lV;lYrw(z22-y|e)Ly%4R$ z@f5>jfL-7C%-EJ=_^ch=EqwN^hELp;@Sek`@bdVs9X@e#fY02WM(%$6nV6R0qkJPZ z)K;(#rQMQOr_hqCvXGvp> z0=|1^UV3rnI?C$!bYBG}HKfa^OQSvR;317D3`+4K!i`gA3S}IrBz-6Go=1yKfT4iz zQ!oQ=6f^K{d}2_b9mt^vq@Xb)8GNFUYb@A)rY~>s^D5Jvr5#3o`jB%sP;(T$v-s2^ zE++!6g233o7zOD?OfBM%>%bK(V|Gp9vxnV#Z$ck_^6?k2l1a4Pgt2OX{GEh;a1rz1 z3?FluRf=y9r&z@tYA`yma6m@MX8+>wg4X%;NTpXne2v9br`>wdz+XjJ| z?1uNf=*v}cR-I=B7@y!e+xro>is=c|P6>v>SSQ}!jWq#hhgSy6aeTAX3gF?#x;o%t z-<84yh;Es}XMS;C5q~}|*dKKd!JBL#={XQ zL#dZMcOKHwwLC0&at%2(2fUJc-5SXO!2igUSHjOUvxGcQkhU;L$)^KZPXamKGH-VM z!ko*VMd^=`hHKy_@+|qt3^$21npr zPJYQs2ItY2vJmw9a5wr5a#wiX6>#UlFn5OguZ%;53U2QlC%huzRkRB7ap!C@7AV8# zWVQ*9By9%I0Vj2#4uetm%bsyR5#ejYJ>oE=hym8JkHMPT+lOZ${cBrlQ~i$`MR$?U z%^VSM9>iRZk2~i@o0)Dq*4`^P`wI4Kp>y8g2r7wgBo9`&KJbu2+Aaa^S`NqH{IIMr zCzoG;_fdl@SphD7{>Cr{M*FN;GLS#itzCG`JuAhU2WNNP(Fp@on3NNa6@V)Ug>FfS}L?sC|j5B za~vLjXFv2hw-@wEYnG9XH0DrmUt=A*FN`jv@g0s&!jpRnZ$>T3c+y9sUCjJx86}N% zawp4(TcqLl(i^7rt#r!oH+~XuJcZiGP0GdG9pY>TQkU@w^OkUVFa{CA_4--y7BpVs z^F3lXX9`yGY z*bpK#_TX$s84Rpq9VsL1U+qSeCv70!knrGVy$bMho|>(kboBHiFqve5gq^igw58aZ+s<7mXQ+bPtIg?r^aDI-0{9>+J6 zZ2^sGZ&D8XGKQ2kk>>mM0(HJar@@{y01Bd%1nmZJDAImYf_R(@V?Y-!W9vzPJ%KS) zQ7G|~f$l_Icx<0BO!EU1vftDiS-@BkDkXSIwT|0Jk(5SnOa;W3Qm((|?iAThkD&kUXMZwuk^H;cMKGStB zF^CGs(oRefOa?r;86-Wb6B1<_PX?mM)=%Qg)^$%AkfdOz)3_VuJ5as_@11x@wm8}e z6Q3FfIx4BHjCmkXrYAw(6v+%d>*Bf*L=MpTEoe@tD5r_y(-_q7W(L8#t)iXC%=EOZ zltEsd_l-A~#6@*b6RfBjB?d|B=4}ToMig(_GE5?_zxE*JR7IG(XMynw)G2w0tV=N- z?(29}IkisQot*(RHzr5!pBgDV3ZP)6SXVaTN_(qqq$xAgPGg;;yFhuT zx+2zeWy<6hZ#M;{i94!*a@$B~eWm7(47l$L7-=Iy=wS?*=KHw${;7v++H6t5?#5H4!FUFE!YBpu|m4>h!U*+$i8k{D^FLJ*Hy}&JO&t8?y##=NgU}R4Yi>g-@rWRltkti9ziL0A&7N##8-kB?mWY^ zj_-E^HivC<{}I_!8s*Bre5*>NF{j2O%?*w+XU)Y0O9$p5|5%S>s{2hkQ-hg~gUWoL z#hgx|RMHtOSMTU14S67_;Y}(yS_WhsH-@=YjThf>3Tu$ay+K1RXylSAG`y}b(CF29 zlorh{n*I%N%W0G^r|D?&szyn6#v@v)1 zBZgN;$*kr(13EN#%-t&AYADwuw=~+Qu$jYLl%`>WRs;`%$fQReZJ1$7%O%+x=*BIR z$Z-#;2~@YYYem&Mq-E2`K$N+OF0#5~_#hv~Ra?Mpegsf)jVf(8vV)d#n`>vu62ek0 zaB_n-V|xWgN;Gw3Nlnh$G#lwC;Zm`z-rwf{G`CRj6B3o6P6r7-HmaWIfhD2k$g>t| z|TX!b3c?(@AQYvxDdFa%ZkRt6nQxZFKYo~^y z_2;Rujo~>-8_H*McvJqETiQoh#4NOnKzn1{lQS}}n(xGlQV+EI?LoEc?8yT9gbot7ghvQy%+BZ>^<@&LX zT>bq0Qa5}8*!(&Ca7GC~E@66r(;i%Pc#DHpcgqiV zP-2h@c)*K;`>lRE+8mUdTz?uo)WBS%6z%Z2D`+4>x?p(AWXPAzou zoO%*C%HH2?1fMF^-Fd@N?sY5ZHiu8;N~e^gY85?*OB+7rYdfVg8jO?|+;jDO)Y9raX%Sd^WEjJdU23*BRpK@XFo)$_`s zr_SHWT?~OyGdU^2@C7Apr+aSR5)7H*dqqWdsE^?0&69r+MsXK^H0N-H+<0z-ok2>re3%_NLKe- z7qH#*468`CqN^H28qv#g1_ey>oBuC^*S@$(>?T2H+@igXQi?tWuRyR3V;W}UKI}Se zCelXMo+ol0d@^Eky&2~4I<9l+t z@8!@kZwsa#`^hyS?Z;nkK-;Pnn8}h9mI8@ z=ErGfsX;^$uFe68flNnp!53rx5Wb-3rY!VKgldxxu)2o6$ajj6qK8XV#pyPg=7-Ks zvn{BCfdP?(H>m5P?`LL?10Ht_?BX9h1d$VS6R$epE9X%*36IPxUlVSPZ|sK* z=B3YRw3Zxt9z**>_~Ez%=sAfxDZk|i+RUP~%Lus0s}WRxmBHgcUXJMWu(2!KpDTUg zo`uOh&;Hf#M}PIdUdE53;&i1q9f`#I@EBRgWRj04Dx&@CQu#<~sW**Zr9*xc`AOvC zX~T*&rY~($&FA9lQmx@g>f&uNscv29i$&vOeSOBHT4NYCIo5|?M~e5SBdO-s;ut5{ z8;hVmjYl%E8gsMX2Gg6s15+H1CX;9t@5M0jM65UU&Q$AiGL?z;3uFm^GuB5KM=?%n zh>tj?Ox>x^D4}ZIjbDtxbEI`|42fe%4#lFfoaXgZ^Lk$bz+6{=<&AYVuP0+YsnzRJ z1*WxHl0?lK^QKr#AW04R!vHGIye$fFqN7ai6d-m+nZ75E;&@V$(n6B=NsIfU9z54l z&1(YBH46{lgy&iS9yUTT;knih3F|B*56Z;*jf=* zAsScwfB+MbWFP60&wM1AaHvVLpb$x>LU>6gffWJhMIG_OI^u^l_Yr+v(ZVa5dr5OI zY3^msy{x%UXzml5`;_KBrMXu$_loAOYVNA$Ue(;In)|H2zMzF)(A<|b_hrp}RdZj} z+@EOfPc-+Zn)_4DeM@uS0uA*FO0edii47>jVEMv0{(CK|$hgWbXzO9FCGOaO|j3-elY_gPEf-DmTLZC zs`*Ru|7TJe?lUnAtc;u`ZdeeB+NJ&yluT-ADBYWCeg>PHYCSV5%I*&_7ods?LYkkE zvd;~t`_OExFD~uC9`RK3b7OrF2p}rdM4<&^@l+*3PpJ9N-6^iKtIxj z@K@^!Er`r;tk23TAn^~tiV0vKo&bIzx#F?DWY1Vn4;4BeW~>Kk>s`(;{dix<6AdiQ^ zm&%>d;o)Jh5sHVgk06EC1#&l8;{wQ~^&yB-BvaccN(&-9P`1YH#RcFI`%DoCX2(Wv zAoa8cus<6jm?$A!51OZJS`V^FBt}}d55)T8U|RG@r2AmXLLGod(mj&wkM*!*0Gk|H zJ+{HbVJh_X#d^>hOojipoxsdM_QZFVXQBTO-waEl#KO7)r@4?Z2rN(ll+jZ3 zCP2xSPN+)x1{0<6wZTJPorZLYOgWn6r1Nld0CbpYi{t9En)IR$8znRK> z>$lH5b=SHdzP9=8fA4EQfA+Np_q^lk=hl7pxtHGjo&S)$_V2b|f6wOLBR`sbuJO$N zkN)nb4n29>*O&hMTkrYH|Mb`Y;*(!`bo;g^_HMZF)#oq#tL86%{k3nrX?noSe(v8K zKm6A}zWDh+j^6#)AN|z_zw?#nQ^{u||9tbAn=|(|*sKe$Z|K&* z`NuW5ZJhr{1nP%;yw1np@bSO+_@8`S=i@~_euIw>^6`)Oc%F}6<>NU%{sA9t$SAmUD zBrdLH?uXI-9w4O$=~iTwPUx{P3oDec@0Tec`&qIR19(Wdz!G_^XX<%A#`xIC$BTSC zO(0&d$mV#kH28RFkkeTU7-KFG!O*))to#()tA&BwD=abzt`nuO8ITuXF5VgKAA-z- z9n-o5sSk8qg2wHmb)Mj3h>u}DVADYNr$!<0BB|9$b{YbWXs63G<@!(sgHE1s!jVqM zb4Z@U(jNhc!EKP^Dk75!G}8Ekj()Sg)?#=@G{*X%AP5si0Bkg-k-My8(=>>Wg1M9U zizK0GEfDUYLKfNlm#SOsvI2+yF((Hgt2_d!QCUmwO`b^_!E zZ4S1=>oHmK2HVq>kPE4p)>)^wnN%Lcv2s;H`j`l}ar(w@xS6daZJ%mAWINcMCix(j#d>Wnz zva-G6!+0tDv_aU`99 z5)y;$nc(iw_6EdwCgE)Y@YnJGFj5v?$OK(i5qk)M!;Cn_28^yXmDTCqq)*I{oCEYt zU&qiDOuUeWrhv~RUxdGPl}l$e7uCAD7F6eNCJ6oFS{RZ*LQ;qic;+rf55$y9>_Hd}+HN4;y% zh6;!Rnkb(#MY0B;(j%gAj1q_?l3Gl)Mr36#P^Kg(b|8iTF)U^R+j<_#gi=aV5+TN9&&!nXlab!YRl(}L z9Zpyu{(AA(kG~lH2JknCzag1pGlr&V4mpMSMb7Dq(?T9c`uT|QF~G+lA47c5r@*dk zW?Ev&y-f8GA!9wT#-Qxv`80}Q!9(dF>>P=+?-1vq6^|D^0lbFwHKZ>wO5jOoE~c*m zeGTFjGwRDjJOTn15PBrJ*II%x;jQbk5YI+6K^yBEmS?{_p*Tu`_Mn_*<=#lWR$K<)OFD|6S=hF^cAdiC-Imi+qAC>GYNDaj! z_@#UP+dvm-Hu@%hZ!CU4%lqU}Tmcn06ShaWI5R~L*KiI^d;E5F*$JQy)=^L{5Neb=^aySCi5ZTns6{JGPa z2EMiN&UAV4T=~p+dP^GLB$Sq)6RM@F_(n?nOl%IPOG6P8+cCaleCPN*xQ0oW$83(6 z+qUKNJ9f_J-nwP`y?5ug?7VmTU0d$m_SVdnojbR^^{#w2Ge4in;S*XB^D~6n`<!hw>-GyzeEtLZ!*BcdfBgP`TKdn=R_}Rg=C{u*e(9FiYPYWaXU$Fj^7{|% z`S@=>@S`)&KK|$DpL*c?lOOz#-Np;M+6jelxTFm-puW^6I5u{IxG$`t{%1G`(x<%RAoJBn-)~ z)Qh}6y7bwl!lloD_fFz%@9q;bFZ@;ep7s zhL;XI%GvG^{vJCOHCJGsx_?)Cb|QJ)%;1>!IF5ZEL244mzDJPf!SVs5`R~)c|LsSN zoAltnI3fq`{dTE^|BbhgEiK%KR|KQ-f`R*9CLXf$;G6$$lU}o^Wk{oj1AK-w?B!o+ z@p3Os=?Gxb%V`XfbdK~ICXQg$?!TS5A^{wj_nNn&oEKvk@gEQ0VkKOs{6X~D`%uU4u;B%S zz}0rN>xAhD+CnDc-!@>}AEWJ(H0pO?KK|{*ALJh996@_xS}!^9qGk~*(d(Ma&oz#) zl3a1c7%!UpFvb*MSdiYtVg-l#gj_!i02$Fymd2en?gFo=Ftr^|UVGq24&2qts(gfk zd&2AXX8>~=t<$)8z`1$7#Ld71h)~TFqxk$1tv7Cx+35-n$7}I+ZX82|7keYLgOsR8Ldw^M4@gst{?>zqBp z(wdy(K9F5)Gwv=i|yd6(+$2g+on}6X`Edmn%&%o1GbIwt!Uj8@F0Myyk z2bQIz;C4%0N?(gz9&r!R<<+2GL&{@Qx9rRNo0pPCfzfzAvJVcqerQ z-|@e8r55#-%B91A6yCt2RP<%!iT%w{YEEBi$eW=tQk_nX&tO@pPS8AmJ*BZNeQE}oiFC3G+EOEzSm-XL2<@k;>6Z^Kjc=bsu z9{JZnm!8=C=-u(VwZ+&CN7ydG-d5_Ca`f$eN=kA&I-s?a3ze3^OXO7-G|MKj2 zulVJv)?GH6_N_3_U))d6)24?N9Cp~}g+R8Or{ml{ITC1+g?I^{-?$a<@wh>q8Uc=>WfbFQ}-kD7FI2?ZVJ ze+Gb^E`h>v{#;u*sh*lty3|6@WzNDfzZrR5$1mV<@zT}>{&m1x8kW*lXWbsh^^qt0 z%<8Pu<2XUQv33Q@NR~DNwTwR&?^i3U&KUyXWKktNw%Y+}-)|_?i}9V+@!!*NrM6XP z{Y*6?Wn%nvOLfS5l`mwi&YA}0jRP%f5FIR;lM>TjD@%8aNS8pjvG8AGv!=!T{lG(5 zl0O&b_r{ZoJw!5=hc1$}gp5#hHAN5%>2+?T=`~Kb)sI0BZIUlfM6RquJwMJGWHWe^ zfbrW9bUCF#L9>-A&{qkX#a_52=zHz4EMJv(Z1xKDgMy|SRG|MPXsSg8`aMBYOX6rB zQp}bb6Y9892LgXGz~a1BD9iGuAnr{?urh&M#YV_%bJP(e@>Xxk?zIXkbkR=2-M(w1`B2KyrhJVF zhq4SM2(}xDJW21sl=~q@t`5SpD7-=w6m&dqCw-)FEL(HAE#g{Mw&rp>A}BRmGr1FB z^t9Pl8J#FAg6y7JUWxvjvt7;B_M|7=xcFt@&7PE@{IDlhX&=_{7y#+G#FuG=k@!&>VdRAV5lVbkOyaeL#$@+o zjmRfO=8dUzKBcR7G^pg0E%O_b`DCX5DHLf4g6D1^jNm^bMQR3*MLe`>VivU}^HJSw zqr1A$=;R&0n^NsTuv(S&L$!)|w@5p{zgJ#S^ z581L#ujLdikFs@rhW@k|ngVfsh81Xv#q}AkNoWe>)l$2neD?RYJnW#9F&)HmZJo|S zcRo-;zY-<1D^a8y=5dOxrEgMt=%}#Ru=(R5lg&^L`g306>;~n}Ksmim8Adu=EaaTd z+J=N!c&9u7RE>-;8Euc#7&p)kmKv)XyNx}Dz!mt*Tb+Zj)*!Mcqay6yRP(Z$)mvGE7z~nRW)m{gVbNft!3Hs|Bput|6xbk*AW2Wk0dTRz&u@e>FTe;11GzlQ+vHH?3xm^q_gk+jKbNK@NbeUp5_~PGRYMZ@U_1c-nPuwiQvRQjZv1R_6^Fi${4@0LsToPJcm)r z&MG&-8V})B7=?}^x-}E9Gg#%hj8ea>@-~c81A`IshXGNz7Xb>RA~ce|Abbn@g6(|3 z7wo{ZNFN8I6x)wJ&LH!}93_nO!yTp2uNm7K>Z_$XK?5us8j-VP50OZfYZU2xoCd_D zP*+34IBX=*o3o^+3q5O)DBIr_^{@8iLjGn982-=)Mx~uBOB0{UUMjTIs)^m+Gf(Whb8gUE}TH`fhDG^%jHR2>9wC-yJ zJdv;iXvA_NbT1gB67-;<`Mh{(ccLI&Lf5=EV;7`Xbi)S{0sGrS6oRU1z)&79y<+6C zbnWseoq{eDI8{<~+=m)$2QS(^nFrgcg=d$}VwO|Dx^3y~^nR+?i1g^dgAE_0weq3q z1P+sUarBRL#|Ru7cxI07BIPBFvLP!tI+Yx0LUeYj7z*XGFNH@b9+Z-}!i+g@4!K-&Oc`3H}Y?AK#x8Jj1kn z9*=)V;olPcI|Tonws#k72R}o>C6RvKjwdXK_#YV8WWH|Uc`E*OpIqJxS&HS|B}8{b z92O2C%nZW4CEQKI%_T&)0)8h6(G?Mg*++;Tgm4E5=SYYF1ejeU+(W{-67I>c^hLC_ z9+JQZ<tZcJqrGcrQb^U zhJ?*FF|#GyU&2!)yh_6RB>c66FG~1N2|tpsImx`+NqB&S$4hvggx`?xaS8t^VQmVN z#0$}kme-E{h#}a6XgLF&0!1p$s{mo>sa|xQV zh);(IiHL7`3hE4}Dn2h?j_jp_prO7ab3np9y_UzPkNJqqy2okQ^>+gTv+lG^;)5CY zi=DlVu10W;y0e3Cr?F*D=VJ}!91>;Zh}Ik&AD2xim+7R_c>>eoHV)^klx$1(e2 zIj#?@S2>q{I-nqP>GGRMD`KhOgOl-aTFp82AHf5hzzv&In|fk8ju|uIo=x>rq$M-v zHjTiHnevhub3WxSLs~Okeg?B+Lk$**(`6&IqmekA&tnGj@utf%rlXqb$3I@@d>N`S z>UMFsYUEWn!WhV@)e&z^tk3GmN2wzG(`q^SaTKSyPk}Xb1nC~Mt*DS>Ag+I(LmkI&sQww2s7=rq!_pE#tj7XN za&=Q}W`yMxt_Rb>!ruues5*P}^_9<}xY5>E&e!iPH6QdQh>mnnM{=dDAV94`_6bB` zSK1F$8@ICYd%QbT=gg2QqsqrfQ{MMoA)?Z-!I2vY%ZVhFMegfLUF!@#w3iaT50SMjt4iKTvLiwol@ds&i; zr`fLJxz->lVP3-;6#TcCO#?07*GQ{6#k(fO*pXAbXHv9|oZ@|xV$#SdJ}@cPQp$%W z#ac>PV^XZ8l>e9%YoYOuNfFSvph{w|m=taGx-tg`(zLIy6y@R&|C_28pP{0(xS^t0 zHkST1DVRRfl6ErXqrKUfgH*DDeFF+$%)1?2KsV_NL9+v2sDh@Z<6Vh_b^-K#=mwo4 zI6%56u2*fk?!3mC^6q5S4FTk3`A6b83H?`dZWpH2OVvtKSU(t$?5WuCXxE}}Iz6J!SbNfl^sI0Q0UNsc%+uYswR3|Ypj5@0?fcCbMQ$zvHm5xrEDq(v|D>)1$x&S;6GLv*!CiYxX?t*$dRha&C;G3ot#%0xR%BR#? zGNBM{5d$|WyER$IwcQ0mxF+4(=*sI_r;sVQ-XfHiDY|KH+xGuDps&~e3!op6vK(7< zB6y!vm{KVCG(r6fENg}?%RdwpajIazDKAFsR3{B9>9(~UvUpK8Ew=Fx*3F%W65FQq z|DrU7d}G?3Jry)*%jwTo(e7Id?TL#?y^=6@pvU(=R!ujlHUizr!t=wTuOfz=1ZjV`HH3MkPCUcpCM7Uu#@b+U-y}m;j?BA!XV!ZPVrdHYHtG!EqM;4 zB?Ck2ibcQ_TUVf6U|MbO2v!bH40l=aTgRZhDQxSqg(*T7ry^`Txi4*T&nkGA2;Sjf zjZ>U!!}>l4DZ<5EN;-XTHphC;1M}X zVx)`w9?cl)?5d4X=c$lK>qTrjs&=E}B8l6&aK6WC+$d`ft^Kb#}GB7OKOMvKv586Hbv20#l~YNP0nL;0tsE?!!fOwNa8+CORzHbPxeY6M^3?zIcu ziI!z8Xd?2C%|);r0^3JShZwwG7QH6W8oq%_O$y^X8|Fh)1ziFoW}H`k20Mr=7one& zv5xPo)IBDc%kOT%c3?FcmWrMZY+Dj?El30~(R5%0kEg)dLNVJS;{|OG`!prevVd*e zl5*SycKb(ovFs4|kCWg(N-HP(U!oo+<*Z&8@)VXa{TOG`V(8%f%Z^=?m2|28zltt{ zf;=18=+VlhSId41MqtbI%7R2Lh^;KtAjJr)V|RrM33>^Obg+bF633UYt{K!(Fr%Ew7^B}?GN(YhVO`0C6Afz;_)$1gi?oTl^s#J@DN*avCtI%E5ZhCv zG)B>#Zv9@{o^EMZv~IQT5GA_9ia0*QnC{5g*Uaj{OM3Fuel8^KL+_fQC& z$v8uBE0b_NtwBb#dbz;IlJOYe5QaXTj1iqI&1Bezdk8$-wRoJdn<{;bnHU^QVT&$1l61P?@&ei=jXxKrs#BKFfXc&MuMN({ksSf%%32p)(kYwiYvGtDg>}ns#5me`%fnxIZ>dWl-)S;d!eg%l<>G%O(--tieSp@D`aq(V48Lnbs(RYG_&Y@5f? zU*UPckCC>i@MDO9AH$|_rC~y6R!iNLHZV8}*cEXb9A)W>WDSmDb47>-M+vziFN32n zToH}IvEHso!Qfa$95g@};)3z_eAF$4y2<>GwODG-7f@|tAbF30WIG0uW0RG<8i-sP zi2TJelBo!!Q@1J1CdM8;p)`*CIY`GL>6CCNkVxE-KN~65*O4c+xPALre!M9VPTwb< z0&a*Oe=dbFiXVTTey{!b8KS!b!|e)DVpmuZoI60cHa{ME4*eGz75YyM^q*OAu7CvA z;m1oF^rnh6gr#h9xEUUOtf=kHV!{<53}@ylJg5R_EbT8y1c<>9ArZ=D2zu?1XX6`O zj@LXuCyVqHGJP!x&b;`dFBhck3O*} z`&C7sAO?Mcm2`cP5k~gttPQK``V7~3=1cO%`-*PcVQ0Sn8Mm0`8^@bb271j`_(*xT z@_{M9?Rc^iofh^Pi2#8vqkEM^fPmg=ghYTiJw!-E=D1L0wMk_^`w|K$EvPll@Rx}w z6M-HH^&!l|m3;b`xP*r*39tQdrJ;hp#KV=hknHCSS;9Pp$fuAEPazT!okFzpDV#!F z04o-QDo5{MjYAxG#j`3V zCBQJR_>X2-ueq%C8`V2dkh3ma%urP&tJl_((_N747q)x~_@ zXkpX)77BnRzmJcU_gy?_!B>XnSRz225h5f4#F-&NB3v`s7JTzB<`>-ya&foW`!*5N z=%XxzUcz*JhltpUNMO21Z>}b%0^g?M@UL(k|889PkFQj)CZQLu_hzmKy$#-*F*VSB zc&r9k|Ky^9sexW2SPx}i`)*(8Tby&wI_LlQqk^O9_V@IAOD#veXNf*TtE=b#M2Vly ziaI{Sn4fM*bseA0=3#^lwg7dd9iLU_ESFCW4WH%eb<2am!)(Jtg-=5k(5G0ms~IqU zzGlD`24WpW7wHNEVGoSfNKuaIKT@H1SI`tI{2Wa!oJF#)d}`#r@-SFLUwMR&l=llf z*jLU9dxAuOI6Fj01c-A&ghbZTR~`bn(m^OVTpRou5le^&794+0gl|%e+E;{QzVa*m-jZ{rn~R>J$5i(f zqNJ~|qS!q^NbNUJmG)aA0LP~on2=8m4NFMDI6gxrG*DH-X#Z<}==i4$pB4RyY@$Dr zEmxQfdx+-16@Cnkg}G96hzr(l&}&RTBDJuGXgaY`i6p|8>^>*OyN_9Bc@oLkVa^S^ zgGA!XEKeXse7p!We8l}yQj3)KWAB%m693ohEPtRhMp(h{uW0 z4#%iAQz(f=6t-?TBDiBK4E?kB{YFm>L8&)6^hvI7|(+!|}iJFJ40h zN7K*O^?U7KY$>`0%UP|TM2UW~qK?my7S2Fb7S56;bbN{-rpT5@F*rWMm?IMDH~kCj zyTWG|9xC*k80a^PbcKP?&grsTU6#>#U6w0l#e9yD{R>hJO`oP$%fV1ea7@=STWG6a{5dAyE+d#t>;0e7T%yg0$C%Xqvx z#H!1Byf(zD%Xz$Vf&K1+uvbY0h|h%xi2!k7h>!>n7ljCk0C91MkO&Z$gb0ZMacPK< z2oRTr2#El3d5Dk*5Lbi(c%|6gel#pf6QM*S=HWZxztz9;)G5%E3Q_lbz_ z$$mgYYzE@-LYIm?Sq14;?8)+~mWn-D-q%w4Ps|SS(w0(wjB)08>&pncw)6#m5!P#j zJzG(O_@1pOM10RyR3pA;D>@RN35l}A_iROL;(NBDKJh(U(IZ>eNbI2~l&xzd2+^$g zuCCnb5iPE8Jf4a<`UcOpOp69CqiN9qVOlgmm=+BXrbPprYFacvm=+BXrbPo9rbUAk zrbPpUX;Gc!6WQhX`UcnQ_^%Fnv5xhPEVODg8=cedE%hhRnA^%to_O9J$qq2@NzXAsfq)>yntzK*JKU5gnf)6B=k(LN>1BGh{*o4NJ&IcjR^^ zCN$8ngj5Dcu6JTW0}V?^C2@R)OlY8C38_4eT;jxp1{#)-O6B+rnb1JP5>nY5pCJ<( zs48JJ9=-$J+1j*s#dyf(#(2o)b)~V*c*vG?rCkk)1YhxhRBbJd>FfYlxfyj20ls>`67%ebHS08pRARQcmv3PI(pZK$v~yQ3zuQT?Ym(r zaBmG$+OB>gGaBv9t;hHE<0#Ql=3lM)y(RapVJ#BAC1zpOwv#BaovfJSGpul1Sv_18 zi;x}HKqGWq&a<|MOt&#*RrFgHg?`H-TwPGyXC-OePm3_t4P@@t74HYaV0`YTnF{ri zinxDV5zXwq6Qrqu*Mtfuk@)O=DpHKFRbBPb1?gbn*CgH^x)*BJ$DYR?c#B zNRQUzn~N^WWfVQyNWa(fc+6p;N0^CM>k(0+N34kBGhEv@7uy*c75YIE&<|#HH375X zFycI33W@6iTmPJR>zfVVeo%!O+JujkH5F{JOmEMSwH6dTl@=peVnwG}otT8Axoljm-o9S&S&B&|c@=0?bK0E7u2qDup zZD4|nprv%wumn#@g1&*R+_t`f%|U7Gf-Bml&0z=R=?i=S-&YH4%Y0%nRH@RJhtYr! zg+lrUW-uYM4;&xn&4zgg4j!Jd`;bgwMk>?R*58|HJAFnv)BZ(J>Tl1qt3Tkk4FG@i zF5vo1`#(McJOMDC)0#@pR8Xu~eRL0M}c+vgV_YoSudfuF5^ma`d;_HFs8SL##AElF?k217{TX@t*DDbDE5xjB5MXa_Hn;KGG%J>^}id7ccMH- z8H;z;?=ALiev1#=gx*$dn}`zI#ELjRLs}98Rap|uy4Y_q+TwQqh-QV&AW7H^l5mA! zXbXb5N+a?{a}}lvdpU>XeV_?Z1;pnABi z?TPD}Fc$X#LuRVKfjmF1gvJ6Lj$){NcZA9&k+=mq3@O$O4A(X<*xk^m&=Zn?o-nJc39MsYAce$r zf=1}>c>A0Ez2iX@MySk3%3F>Hwc*ZC8zch6S3`tEfcRR7kjUEh_l^U-3PV*QB7T18 z1R`Rq_oMFbb@JemZ08Bv@$*Acf%vL9s}fo@t$){}-)yjNZ)yRYU?6hVIXcE#XioC+efKTyf0WDDOUK| znp%9selOlx%!qv^a-y@GjR$)Pd{uo2S|UK)6(S@OAFu(doX zHm=)bpi;L#_i=RFFcs*wVd}r2%FJ;v;FDA7@D?Ya8BUd!7{^avhcwXG#ebeR=% ze1;Xe%<4HlLn^I-Mo`*tEpKmAR)x;8DCjJUaCJd(oh4~k3W_TyX?DeRQy8q&P3DX% z;*>_Xj<}id|DaiezenJoim60-5J7}~Vr2A_m1wS?I1245f59(5kgVmM25LihOSA#e z72iO#v=d6UlNUB)Z6W0i0qw6qpgBpcX&k~t33tsTaW5N*lz+$X-oHuQAVYr_etFKm zpH`noiI@Q8*InkTD0BQpm{{_QcpG2C>+yR{s4+T%zN$^71XSMDY2#)M0nlAp~}d1G^H~Tqi?E+>_vzS`v03 z8{FKqrg88d62`SeKuVOq^Kvufu@B`Dy!U^NM(>>I z-wiZlcIkZ$IrXovoW=SxZNPgAqO03i+bJ7iSS69|_tgh+lsC+G|Lo1J((zb`( zHwDaNWnnn;8a0f0&C7Se3l>x(UYc^ro;t0dNvHe>7#In+}0=}tWNUuzwIIYJ#U3iDIdyd`EbQ=;oA9`sQGypy_Ed?2T$mIveH5%{SSeM!0-zhPI)q< z_Q~0u3M!#qVnYPK7`e8-hoAQt*7w?KG~a&_Ua*Yl{~a--nEwP+F0*HTLdAq4E(e*l z^{yYH94%)|^ZtLWgYH}>p&C)=k~*!ebNz^w;$4P^p-%KeN^fAmYYp8DJ@{YPgu#v1 z?*wBqT#hih;(IVWxFE9wlh5wv()a=g-n&3ld?SwoFPsx?6mQm!2!60~r*M$bKUhhZ z%3QfWbT2^MM)WOWu}*8NgTUK?;0-@&@iUOdFJU0|5MtRv4S#D6S7o6b3=GWDkf3qK zWj4Ky<#Q3q1$dWMI_p}4B=3KgNmggmJx=hmbkt9d=N5jEXUo0yZw3`?-X1g8!fk{< zMQOOr<=f=xSi7gj8f0{k-X$*Fk@)W!@3VUxyX`t;YpKY1A78>-;!|AJinreh-tsy4 zB!OrRYUqaq;f2X_p|#@sfct8!6+ggJMxSD#cyp8OosSyzzzxU8;5yn;v?Y_y>Ro{M z#W&ZI(8m-hyK48SSuTu-ogm2Hp!#&F$%OopsKjKR2*Jhg(J5^P6(~QB^eZvUCQG|T z;Qa)bL?9KXbV>xWTBY+MkhL=(w&N~F+{lP=EvY)tPLrSuxV?333a--ps+$<)*GrTA zf7bRUsoIeq^NQdu#zwh|F@>8P-377x7;&E`&Zb}&L!NZ=jXHYIv+0xG3lss`;emj& zA&CI-qYxpH_`LQxWT}|f{)ve7JfkAT#?Ppbf&aq1)-bgU^~EP%hAGT{*6$PYwSVHZ zA@kZ7DbZ2pwSU&{^}H4~0Q(txLqn_Xb0kXUwXB%qGpv}`vU-lskn>stjWVx2*pyW< zuVqn~*Rlv#7Zjh@lC&!YjXJLt2H{CZ_c&;#;`7=sq8m^ls}zyL9u$$|9ToAxQ12uH z#E(OSMBnVYl>(~u zuLm|T1)6eKjWAZJf0~)n>4ghYUNC`3pEh=)UjM1c5Nh>!^Cz&65sr}}=955ZA|c7H@fd>uUjuHrYC5atag ze8z7uAw2pGCWexwFH^8d+HJv97PEJ5@}!6uPsDzL2-fV$`>o*JW!sLhj45J`uh~<; zBmY)3Wj^waCz}6_VO-XJ?X1m-#wQKDj z0>m?x%mjRsH;=q|$y?*3b>6(mo3G4Ek3W{T0eKrFZ>^Kjc^gdLhIrl;Sc^!`=Kh8~ z?o(VI!7r}sdUQ56HY8EF|Zf z!nBx1krXov%Zl@j6dwyRrC%3c2vszHn<80=);(n3j@oEy^qulTT|yf;Ef8 zl}MxZR1=Pt&u$REP))c!j6b3#{5gy}iHTDZSUP6<{=~#R!uY|7iGyMM!bIoYVf;r4 zd@35Ge<$I!SwXzd>f9%cFSfS7J&fOHbv~ox^HyOcFa87H6jJeKs|;SVLu`m3N@)gB zN+s}$7s~H^Te66};*Y@V-$t!KKNF#EEqxafTlo|arNhu2O-{E~&qMC=jEGL?wfH^zatqRTuy zEHm;~q%=7#EaI?rY2rGFVB!}sh=?$OWoeQ{WM%8pBnyQWdKqrWY_X2B*$mSga#Ux zkSgT(44KeC!xB=cj?a(@4Kyqvg^h0jf`kUDN*J6wJRS9h9)|UM7|G8jh#=X2t)5h%PIDfrNlsz z4%5=pS%5AQS)OR+&+A7r+LRYUdmxec>9ZL~5uf=4y*GCL)f@^UwXn0XpP|2<%IAjm zH&dqe?f-Y@Uk50UQReBJ==b`}8JvFT%mKsu3Q^KmSP`7fM;M!@N8cFsLpCr5A&m;X zBMImov*L_A3G~rm;dj*ZW#;sg$HsL<(!@Prw)#-K)y*-Qtw0as%+`3Y@m~xZUm`&K zIYdY#zRI&DvQ*r$Glz)b#{FS4|1|gLNU?F_Oa`j-g?{D+>xSNm=Q{eyF2JKH_jG{yH^?PlDmP$Kf#jtw3CQ5XO6>)rqYqLS9 zAoNgZROkXR&;@37HGy^5AStBU2K^-7@N=?^ zM3@VEeEL_>DB}mXCTiIAuLc4?Kd*lh9!A`epW|}+pTn}9p@b<+H@U)&gY+R=fsi_i zyheVoxl2bx6?c0@Xz_(SiqFyjC&i%0{%_%JNn<=LzkwXEY{E$iGXv=cpc<{s*st1`bE-%SZ8jU+EpFmsyiL z9`Zg~`s5<^>xw=}4EiLc>iP^rTWpD7U7reVaFngVXGQRX3kc~F7-*PF zfIScW?G-viNV7ucND?|n68P-`grR-~<3Fa-Mql_o)E74W>G7sFF6dcE2J?Ro9@Kz0 zLJg1z5Pt~~5{bK@XCh1KT2KvFAkHS@79wbGBeVLZF{P4PbVQ03YbZs-D4X0BAIwmH zK8Jd3urF%Z3+$aK0Dby@x%Yi8Wjl&Kou}XHy>DOIe(`X9B1-g$6?1%s)F%T~>64Zy z4!9zr|6K&;M-QoI+e4=CeW7PkR)wAs13e>YoW?{L>Y1jA-!LG}N`pn3U2*+mzEJ;k zzKTx`sFGi$N+J)>dO+v-d(C;P{Z(73^0gQMhW-KF3;mR#zY(z3IG2HL`3rbmzJ{DR zpC^1B;p-7(ozl-i)gG+FV!3}OHbvw>lh=-S{tXD67XL;*hW<{)#wi^>eRwGHn_0Gk z)1pe?W7gLZu?ES4e-qwjS5Lv>vw&X$*jvBiuXt5@4TZV>&A>c+Au>42VGpdHh0Y0l z)}#j~k&Q3oHEu!gZg9P?Ac|kM9&98239z@ixiP6p%^uHBhlSQ^g`~Hzm|tP{!Ch0x zqXX#Oht*@dkR_$Fl$j+JWQlP%dz+6w`UuG!o$RYj<^;(!>O-L996RNo*cAaRM_r?u zvYmJr2dcVdsu>M|jg-CBtPAv-F>e?@{0qv4ek3G*gHFTTKmDm{hJC{Ch9%Vkz-8)| zKNHSN^MD-i{wKs``ekCp)=b4W=QQfqJi!58wj&F1bQW& zvQs3HnYz-pe=CGlJTVZ#Z2)w`wy$!P@^1&+g`;SPp-tpB?etMJHel@V)tdyxzxovT zKY_Y9NSuEMvajyVuJ{*#(#8{bYMc#j4gMR59vu1R(}GfhHUCZ~#;-$%zDaGZ>ZKg# ztvbB2bW&sKUnMDf=q-XMmuF3B@0O$d(jW>eorj?O4bWcsHqyw&jWQN$+&jRvT*MxW zF9q7#RxnNZ45Yre=DrAe74w8I5pfkn5{^1w zCPJ3Jpmt`|;X3+U$dP|$05ZP3ux)EfG9pO@;y+`_szh##=miYShL1z02EjOFY7ihy z4VHcKfhp9x_4sb?7F2Mwap_k5-cskG-Y2p@FUL%w+Rq_M#wAwN@fmVlGSIMbi2`us zS0$OyK*JJJFpm6?WaW&RV-41W)k%h@it&pqVf-Qst}tZAFP4V;?hzUsi@|;O2uE1k z+XUrAJ~%0wF^yCVB>AVK$Au`4a9@I=Mt#RPU3ViV`ph@+U}sqqb_Iz5@llA7NZjfA zKV+%67WN(@#ObO~|A&pv%O$e%t*8`>pOB!7CI~WMR9tlYWBFQ!E3Ltv;p)Gj(vdA) zk9EI$Dbi7Vt#9e~`nMoY7X3MLxK0x#I?akXKEs#>T2ej7XC-53y{5Ml^yL&ow?Z#T z7J5l?t|rM1rhrx$e$4LB2&y;x6Kwx zVxoob_~)Ne16xy)ZAaF{C^Y8|AIoN&8U!ZV)F42Z8o=0m(#gaI*zAW;!O`^lVf|j; z|BgK$*zBdl^_wWsZ&uXt8PXIRXqYLc034qo6B=k(LJG$588V@PsuD(fFZ)Ax1`VGT z{e^6zzmP3gm^3z<9Js=d!Lcw`iVktXycj*j*lQdhG@^rk_e0qOCSf9YR2~QDBdQS`X2??J>h#&X0%9kKAQ~())rr@Knp=LsyKVTlA zPJ>QZgDkdfn*R+klZF1RH3mB|K;+!uzNU=Trp z|2Ber8n-9$*N)tam-b(&6Rf~*z$bh2O>3OjP{;CpNVbwF!Fyw{j@kvaL0h`~UQYfj z=w4w=!uu}LY9jvqh#q}__dPty-$yXi021+ZQ-Zv676!5OoOtp^B&Tk-@JYX3B0!7{ z5fTAnT!@ee5Un9XA~#wxHD3YVlKwrI09%990{>D}&Kjf&_?`Sh(4L-En2YNA=-K?; zNUc8+P86*{s;8YSzm9zV4_MK*584hde;Qy@0r(d%b!?J9?`7abM&m(~e&Y(XbNMGo zfQgrrOf@ytC7YTgS*}pyMjshQMG(*EdaN%_vH`~Wbg;-Xg=|DLDf z-xi@;iN9j0aca}u^|wU_>xxMqtV`87b*|sVI*!L&ZyESG9sI=lb(`+juc9=3fPnI= zKWuIpYC`2L`Cc{aw7n(Y%(1rKORVZ@yKA*tjUP}KX?_|d1v0)0Z=WH56DZbxHGVf` zbIy+QU#fj?)j}+NCrlX?b{X>JiKr!3RHjeDNZp2bX=lWS@g#5Ng=uuLgP&$g{)l;w zu6na2-#o}SCs)0}IpyHZxm9m4{0DEYta^h5g{1#uP}3yus(L+8`T7^;HMLH!=lmqh z-R1Zlh@0<$h9)2p4E{tsVpuNf0LwKT8H<}Cua%IOg`3X&pMpY9njftp(uL3F$0+Y% zMB5Hub^tzr_kV_X%Ni^_$ySHu!`O4>!hZx$EN}fB552tgZ??RT5rA)hq2K;;FGJ=9L_%kO~tPzP%O?IcQ;IjljVyvLaqzXp$aRs-tBztXD^ zo!%O;cv>s_OsMBbm*Y`)e5dLh>!>nQ$vJA zsGAp~90#(F`J3;9Tzmz<`+$hqydozd`&NXxQ^;rh69B@ae*$1Ap{HY~&|5>&!*46m z{pM`&20_I34$YAqN?_z8{uIi{NBlK^8$;ODJA+a=?hN9pW8nrJ1V5s{GJ>1y>HGd2 z{9u^curqc>nlMe=1vE0iI##!ad3>MvisSo4tk3a%Ll8y=yMQsFYVUeIwt7a}7L4YL zPdu^CeL>i{QT^!z-}jZ;+d}2%+QUJR>ltk4<;SCYR_+TD1D};r#J%Dak(tbCnc-@2 zqNkx*!>J#&3b%_RjCroqDT}`~W_(wn2X8i7V+dNI5=A=fhcpV z={vSAY$p!VPW0=WWVzzkHz8?V;vUtV1i!v1?8djx*(YE~F*0vppD=u*JB78!&tei^ z@hhrCpbP8hFV7S|C6eFr0;j%y-t0v1%so_AM5zOuk@V? zeeZ|N&J=ww4byjGqE--j7{#V9#I{Ad8XcB2afPLd7TQNt(Q)JkDvE0rw2De3zArr% zDdN{C4?h(tcPxu}B(=~y%32rZ#~Z$$Yf4;iW3@i#hYve!o#%&JDUDIqw#MuCdSCi1 zX)o-;RIk?(C3AmP#PJz&rf#6&Gj+BhT2*0ugUu6~74vjrpaUe~3c;8aW8TJi`!iMC zI_(^9`fpoeY;uOw+;l75N)j!`;`R#~u{7%V+ZtNeQ=z_1H)L-b&^ zIn7u@69&_bZ>2DjdMBQJpt;N7(R)|2`GR3 zkls?N-rdZ(r4t}7UD{f=I9Z*>lm{Z9POt<-~eu?&*U_>7Dh zqdn1#x&(R8W!uZ4!?s*sA&4E`R|B7DDr(?wg+WIqI8Ajf=Qw4w3ru$%mPs&~aO#{P zcn@ep7Ui3nTn1ZupF;lbVgcK$lzL}PLn8RzhLU&uKR_tBzQOHr()yDa%bSfHFfLp- zv(zDK(vY5Kh4%eC@LI42+2H<8Na{TW68_T&a^2gy{vS!O4F475FB)eCQk0)%iq#05 zR#_n_wEE8xDsPXs{_}`xdNB7u;L~qldhZpk@LL4{o4f)#zhmo9}Oxt%TZbLO(@;My$gx+Z(OtU+q?AZMCAsb_COZp$lzP(U{*1yf5F z=DmoLYXGoF0r2^h!mRtUeRUGfC4OFff=3(#d3f7Xp)0txqI!ig0L53fkr zeKJz*H$2s2m8teds(qk%qtoiqwRjVGt839zl5&SASPU|FSl-5zsA(x#%IO)abIKx6 zp}DCH8|?U(!|Pycn)w5L7>_;0Z8lF0uHqP&WZ{ZE%$ugm=` z$_=lgYdhS-!G!GUNnNpY0e^o8`CF|D=wKYWIvZ2aWq7nG1hPx|e?zpk`tYgmh&Il1)m`AEmmw2#!tq>`7V``}MtgO6{dG3)Q4U@yb%ys0rT;zgIj}?faO@ zAq#Bbdul>+qE5%3QTtBU-zAR68Yudkxyj^D0T!~3Jw!T= zHAKozK`1$eGER_Whe!{Hy{<&U@&`b8ACk5s<+Rst1Pi=IBUpS-qFB0}4XGLX2ycQY z>Xp^woeUnmc!Nm**M)KA9ln&sI;;$isuO3(q%-^2{LIRlua>wq$QBiq!tlaX&cO6> zp|~-NubICKqB5++Y+?|77HP^utgL+YSRxo0mMNCHd=o5sV@ejQxvSE)M3$=& zc~_jqydz8Tc`U=@uZ&tdjkvjsCL@mpc1XV~7$Ugh??ZXAjWyk$#)sV4OUpKR9hcTyCr)MY8yNs#J?>5@sIdp@NW_RJ&J#E{H+kk&cOWxPce9iGd;Xn zh4peZ4nPg!{A+|Bcj0+D^tf$JTTXUEU~8N$U2ZNlws z!Dtd*;TB8Xi&2zWee9%WeQcxRv}NqNHn{{&JJ)0_=W2)Cbq3RzQWW&#;-%VQAA~%T zJ>8Bx!}-dDICyv;hE9%o!PFvFQ`gVvnz~*;O0rJlj)a#5t_z|H<{L#dZGmp0n|0P6 ztWeMi(1U;A5oqI)Lss0`cBfn+IF_X{nu(6n~aL$GK7B(%j zo1X>H_UjPE_2QVk$0fH-G;OM_m^Mi(^x`r;X%bBSx}5<`utduBpd>Sw;5s}#1F>ah z6QkXO-LK7sHF1B7Q42OE8}u!FnyDV_G?8wM#h}mR(r_n|L6?yR)P;yFG2ZaR@MZ^T zSz78+HRC}&zVoi+Q=r?IiVV>0vxP0i_tNrMh*!F><;y{&v)Ad8Xa@CyM(7lA@X3-wySJvnS<~DG`;w23^@&x*aXy-fiXFV?1}r*$~B*f?AIdx zii;oE3OQF=p+g39<0A#7VSkb2ezjR5>$4i=_VY$TqlYxR#2YNfq6 zD0DU>mo)dLp5@g*fmnVJiY4$iq$MwjSG3f%(Qr}e;{f##@2Q%l<~f+=jlj`qYs)MS zLiq-|kNn}R(hrf)=h@ppY5s(0&raA?_%f5=`tBHBjvw~c!9kQ8ws~Z^dlK)Xj;GlQ zHI|boKHuk)W%z*(z6~(bP(9TwtwPE9u-M9V7GW|b8BFRqNq_caG_M{_WyI+jU#ju2 zKq+md^#`L@wtN_ZQ*nSMoU>*ycZ|(hqj8^}ABSdN#;BS+2asTt%DZ|<-x9@Y`hA-N zhb_cp+XwzHP^HqIl|{#M7+u!91UWS!|6$~gFh2(%^dij9hAY)JeO6~IfLp-uJriGLtmtf^Px&?)f%CFX zXmjWbBC2K}z^q$MW`Dtxf5cm5NW1^4T*WHP5{-|i9L2PZeY#jlP4V{0>m~ULL%U$5yQzC zJoQ*hhb0_fnSa|bxkPr?n-7*=s`lnmB=pJ8NB*nA@y+r$?hYH|d`wSaWefdjcLluD zWdHcm`%pz!I!LKuW3DQq(z=&e+G&syELWTsZw{!&wGbNs;xk#Ecv*0&=yr&gA$}ev zlooc`c05e08qfF52x;x@pq9XLLxxy6e1)7KG$+)W-m~zI5V>k5m+1x&&&|!nHfIgXJ!bG zerCo{f=%I>nf*xm;ifSA(BC05SnLfuGh?K= z4803m{6+>aL^v=&m}h4AtT;16#QL0>F$6K-@yv`7Dwl{p@u&3B8G`jVGqXQ<9&I0b zKHvA1Zf9@nWpCqHaS-JCdG^EQC&3_8o|z#A+fc;Y~0fbxZT%&S6M~Zn*>x_Q##W z-X;+sb_o#@iGR4W7+ET=vpAdxKZOo=02*+luchJY2fxlN#g^ZM?;%B_Pnq1XgOLKG z-qc~Nsc!hW2E*V{T8B*$N3XAjjdIW-{KjEDzTx={r8~+wha>cR{SD8xqEjbRrz*d{ zCrZvauwst<>`28Ax3PMT{4`0$&k#~qcY^%BVCYtybs$;jDv9FW2ZR*|xkwaOKUAW{ z?;u@{8BeBcF{upRsHyx!2L&<~P;evklumIh(WmQfLye{5V2Bu#arpB8WQdm^vkbkKwO zIfIXscNQPGtLGefro8j;q)K2JLwgAl0b=(MArT<<2oVwi0<(0TMIu1#6(S@8e%Ep@ z4+L#(C1SyOZ zf)qvy+W!8R`p$aXOUZ4e(fZE$`n_J4zCrXJ)}h+o5+!|y!f9I$Ync~17EAh9roL4TRi6jUWs}0l(|RyiVSaZ~Jm4!%eOCI|sO6$kJgy`R$k5AHbFHbq~Nl3?>TmB=spgFTxXf**oRu!%}kf#N0HF@rNbc5w}1) z>WdREp4gyPO}uBKqoz*c+kS)%>W#MN+Z`8~V#IBF0WN3E3b90_li z@O}xOkTBKDa!>DM%1ONp`+C_f+erLh(jxPFS;u1~JVnB5+0@+v?Pf)5zx&f?qhDZ*M@@pl+Sc z8a*Uo&5ZY^H>kxkzCHOoq1K>IM;vcwkfz(uutmbD5^jyKK`rfnzHM4i`gaBMZ2z|> zH{d)9^PW906H`^K_YC=8Jw~s|=mm_Q0jGN!?rce6Tg_2lLdxv{;d>pd^fBe`ICal= z8G%lcd}GuE^sjog66sQEqVm)kfX>IeS~W#YR~9E{qU5*0EjfI5tw391uPuR+Z?h&tx^u7+$ai;H4_YbQ!K0yH z3p8KdC9U#jffnJ+KqFfE9h5$f^zm1(()NSamGGWYAX%>_*(~pHl@+K@pe3qBpsfWu zLUjqWhfVD{QVj@npiQoi!cGpUEEVWzwMF7fsM(2tcy3`!d3UzFJ4Wp$@2-(|zFL&9 zk?%$N-GqK-&p)Tk=6Guf9wOH182A zw+7J91-eb`E${vy&>iYffnE{lPIat6ZwvHwb-I+EOtJKDsEg&@7(gjNw^(PQgmD=1 zQtDpyQ|L*(>IUQ`zO5b+Xd8jh{-lca-Ur@$h(|Fn$N0Mftnqb{(_n&P=`P-sx54` z(KO^!>Lr|qCbW3~?J6mEm6R{3eFR$Ie8x$sm(?PH&X*EiS7m`Ncc>w6D1NwKudWte z{;Dn!=w5-|RM*&);7=X+9_lUi1$pg(Ey=e-Vh@2n5}G?F76~*a&GL3l_ySE5Xt%^^NgI3~i>WT`S>iH*ZpT(Y zO6{AtA~{2SBRw9cYrmOpLwJ9BD#C}-8zKC4x(Al<>GX8OUxaTkMZJ}th4}kO)1gus zzI`V%6=7|57Q!jnClJocK8Jk<((F)&W#2=1QuYJjhqAPY=OfIktFu#~gI|&G9tj_k z@OKCkYE3qqa8xE&K-iRcUE&q(;9gnyIJsU^+4 zgsl>8Ea7Ykx0P@YgdJ*3-4D<|2kQQcaJRaDBh(T*scw42;gxl@_PmvD4Z|-<{B{Yy zA>n-zJ|N-45lhV>AWRzdko|C2otI>W;!I+HimNR8gmdZyNy|n z@Tf8DZ)c1-KT6YBPwkDT9AEz&a#g3tSec)j%&WcgyFuR$X<(W|8!k-^uc@wehq|cY znpB6nqTzakY@-hKV8gEwf3V?2gm&Y2r=Xe}NoNZQ$2GBir%Sklga=EwyoqTpmhg57 ze=PVHB-9et+Nfpza5L%rxtXnyC@^f3Fs{9t=FJ6CzOTUak4jvpX>TEZW()Om_ZG@< zLwUPHC_E%#oX^ZyQr3K4De-Sf_}EzT@Y>i}k)CWb?wZuRmAgndU&13LJW;|G2t%De zf85>9yp>lYOejs?XkA#=@VaXZhjhn-I?kJ3Ga~bn-boS&;cFFP?t5Fw>Ve21;>u3-VTgsUp`vG<0U*v!W9yp zBjM)|h7!1B{PmF4l@i`0;nyVmK0;l)DX>V%^c1yfJj3%5x7D-b8!%6zT`DMAq=I^L zJi`wVCe*wMY?0$87!5gBFj_Y>=URW_7#-IdrS0TK6VFeF+I8?mQd>Up?sO>g^Cx~k z-Jx!s_#n7?Y2rgj`LBt;0;YS?OFx3=e0huXVs zI>G}HYHnw$JAiLg-vq{1tJ!W|_|vGW$>n%hYUEbJtmTRXoE%u|SuR6DIp@i9ePkEvbM(qT44 zoiTlL%!#R8j{4pVj6Uj#880+B0sc$gD^07~;RdO*#@1%GK#8w*2$XKj;JXmz(ZN$^ zrQ0+60XkWrhgB~=7|E*br|{inV}IT@A(K@H3UsyFDzjK`xZ~Z!shu**q7yO?r}oJl zk5z`7CFQv&?-ckvcSg_)KLhBN z%=PHE?*-7;Gq(b=rjpNd)8ES6jc@wUy#;z8^DRJ40==9dpJUaJ0*HLJs>3^(QrC8Z zTG=J})Xy{bW5#|{06m_05FYoB1bR8KRpt?V^Z6@*9#&6h9#w5>*NrrlKcVz?^%a4x zR)5X>2GCapIyb#hZqr1&x>rMLW^OK^w8wmBsBLq*Bs!EQ(79@#+#Y~#3ZO%B3lo!7 z4>sRfzoT+X5>wQc8d4|cjsdi10G*vXApwCu7mq*ZrNO?m9or3k&+bW>DE1>UH zKo3RGg~+!mf=RSic)om$WC%JT=|Z_E8m7L1z0kX**xlJ4V`8sS6w7^bd0pEQI9xA+SaKb93yQT)F3=Fpgu<0hSf=qk+zNMWXDL`CF&H%NZVy< zmSd#td1|&}r0w~t+A-4hLbaHgj2bN};<4YG7PV3s#)+5B#cH)zDzxE9Hp(`G5IpJ*D)HCSE>WdWK8~r z`j(lD$(O4NI!MFFPGj;abvZK`lUJ#0n2AQK)Xg4Cu&dMq!gzMNQa$1r%}!UU9gbC| zO~db!>~^d+Z3ft%n2APLtN0VB_WhbPx<;MIOfFrJO4iX>`59B8l&# zS>^_{oSA5Jqk7db(rAs!;Acpp(Hhm28EF)>Yt#UbonvoS_XGO(A5!l!+pj-D+Ex{J3YWsIvQ_1H>>T^B`mHc-l}FVM$EZ~vRl6Od zR(VvtAdFk(QT3W*)DDlT1C9;K_}Xq$3H0y|RvMl0Jy>tY#%4@Y+f=?|r)8MHHWhTN zB4absE_Uqfj7fT%y3?^m8S%)u)3HcKC$RS&yD%dSEFN#cQ++ElvcQgU?7ECDU=tm? zJ)=8Vjbrz6eQP|{8)*&sQp&v<#{`~G2ON7KV_4uxHMKy}9tC?!H8}PhO4+IQIQAB^ zemu3TP+w=vM%wAjq>Xl}8pq-?-?q5Vv8>GF0=twcq#C5fo~0oE?TR}pa~jTA<=?K< z5t(@btok_T4T%#nCxG>LY-Z+ku))k$sIxO?fsJ;oA@i)jZk6ZQ#hLR1zgM#yyDoEK z;5ij>?C#8(z#g^Su?I3Efj_FN9eX(QyueyejajdeO0cnKuMpS8qG^*UVc3Z>WzP`)B3`{Qm#v%vP&!Gw%(wsa`xex2m+P zhXU_9OYDs64Ypqm=d>HJM|dpop*qoHI|6@I1s;1g@Ubdown7ce+8g+XTJG4WtXBh{ zsBMnrWxXBvR2^W}szzmf5co``7gLoh!2S{VLUr}nXMr!(Q6Bpy@Rb_rF&+1{I>lqd z0^g{K9!rS(R!#RW*0b&LB!HG8Z#9{OFvtX1V@^`~P_{!FYG z*n+qt^)Qds#r4s79$OOEPoK?fIq$iS(G!`;>i!tLfEn%owyI*X0~5Ze;BB56_!Z-VW3{eY^Nei4Ad_S%pFGnrG5*EzgglsWZyJ=!sv zQ%}$p%w&~tqF%#H=G2q)tB%o}I!1rXOy<-v+Lpwm9;1^zmSD%|KEimFkf#SaMyrH8 zJ<>5+C7hziI7X|4Q*KJL1uQxFhjmGH;Uh;}Y<8-5Aq*0;1j+tmwq`zb) z8Wro(NhGzbd&cYK%tWK{`f_H{D&zIF9$Tfx>pO(8Mica}93zb;=!ckz)D!i~j*--- z=`Wdy)TR1rUYd*4rTPKKNb1RYFEf#Piq4rVa?%dEOjkHY?J!j@V+VWOlMdBSy4?9(yQBPhF*|JobCA zkjGw1&52*&v3HQR&|^O!ZIQ#>eKjkHyIykmbt+A3Y<*xRV@3Vpg` zpQ64i^gPGnawh33^&-d8b8fR&>PBWVqFkj1PbWELx3pTfF_WHptya8gml5S!o$DBl zDA(zHW-_8&uiuzKrN}sVgMMVDFd9*A)RRvqCL_v?x`LUs%8h!C$5tWdVqrWEuF(<4 zXdGOl&u1o5-=uGMjK;xR^mb+<^{sl=EUHhWzEv-CjHJFzuVE%q->%-7X?B=st_UQhK{v${ji^4Qq;J9M3}L^>(mpqDsCC#4(oMUK&YdzZe{ zF`94h(pNJR{qEL1XOk?_DjW4iW}@G(^oBDjP4xSf-su?WcdverndrAkA7Cc>-KQtc zq5DL?U+asQiGIJvC{Zo>xYCT=69Z?AJmUIHm&n*_CdYVvH6`}HV^4N zj)gnF1@>phE=JlG{ib8rB5jM_@7M;UZPkBwY%9{X>MxmzC4Qsx&nBtG5|8LPb43R_ zA%9f&3lbAcJgSQvBTGD{tC)!;w&@0DVu|1B1CEh@KCVmVQz>GJ$MsZZVu{D~ERW5L ze_Yd_mZSbov)T@Qfn(&KJM;?2==A(aeWhb`dj6!oF`9;6{FJ`kG3xzK>5a@p+nxGL z$H=dDY5a~M{z#`N>LC0FUOwxPxqmHfYa+}?&pK|OP-1mZh z&as9LW}@xu`Y~pr?d$p}kF7$^KMCWu{V)BxW7M|)rQc;HQoo_&tEoPb`Yk%Zvt9s9D&Z1sWun`5@?DzMKTOY6E?eW<^8tZUaBz!DdW ze)P=duX>ha4?<{X@Dr zu}K)UW`_BYnY3nxIlxR>GsAr8u@&(dCT$7V$2~5~ba9M&T$btW*jLat+Z^MVK4L4_ zaAu-Wj;V5tH0om3Fcbeg!sIWFX>^2{=NM_!&9pERjk=qUnaLQ^!{jfEY1Gq%nTbX{ zO*1pmsHbW5*mJt4xmpZ8nM%`vHuG8-Ku zsr#B|nTgc>Ov-s8C$&R=Q|cJC!_lUJnMi%KS;|bLKH6O5u~qR$n+?Jek2+$rI@WA* z?0DGvShLl!(~vgE{LZnNNE>8!IX3@@NqVsPqhk$6+-3)xR~)?iR*9uH5|EG3s&U=3!)tE$Xp%%qJL znEcBqO|)HL<~c^%E;KF7MB7Csu#$308&#VI$4J|A%vNTi?Kx%}Gtu@Ov(sZM;?FU! z3uA3-%sY;ewl(G>$7qJFHUD&sG^#b&HYVX39~+-=osUgTxWUKf zCfwvPdgiv)W7MnGnqs!+ibUEQt~GNUqut!7BzHvFJ zjW(LNE2;KN5@&V4Ghw620Hd6w-#un8r?sm2-IL<)F^N}E&i$HN>{sRk$Ed}AZ5pqZ zG-|O2%t@=G?6dd>%`C^L#kQEVYb5Rdw4{WG&0xo<#U3@=9HSQdohiLma#D*uVGcM( zE%v0j@j6NSL)!R+oo0*2rY7t%i?5HS%}v;CE@LJ=XOH=UnVh@rF{w9DPI`)Qf5INu znmgl`b$>YFkES1|tx$jOhW(#e$84v*r28`od(GXFhWqv;ykH)dG)4ElWL|WPa{k%8 z?aTSHIpE9rn)%L`_PR;Ck!0D)rMzi+Fe9H>rQR~f3d70sZ1uJoDNOC^J`Jpd*?#?c z(i;hHn=mu!?``IO$7lrGXP#vyy6^LR_mAD*P1t90*HG#-H_e>D#Z<1zAM^QdDqMt*Fba*Wm*e>2ZH zMr)0~nU|Q!82NXTcoRu2W8?vo$4pxKQ}Z4(86!V6fty)Be)Hjmf2FJ_|O=cd2M671*ZWMQn)m!{A$(&$T5>KLsxzA_b#(OTmx za~3nv=xejuF`Bi%H9MJ!M&Fy7wW0&PG5Eb%}cB1{nF`Bg#?bnXciC~g7x3ScT zbRw8!lO1~*zT3%WJN91p8DKpf`?ULJm2CSt7T04d*l=cIr4;+IV`QZ?yY6<;mPX+W zyLTPe$1Ac7d%!WWQl`yVPibPMEZdWrSSi~+;22pc$M(E~a*CC5Y+q*5J96w`k2T{f zY@?aAs*ihgOYCfmnC;iJ+U{zz?xs@2y4~%!cM+5R*WI4XX*a02o`Vv*+v$#_gY~f2 z`tIv#tC`7tJ?$;+((d%w@Wh^Wudu`;dg2{V`>JF8d){XI*nN(T?711=ll#!IlY4Fj z`_wTy-Rf(91OF_L_ij<%y6 zBR@ONRxlH(kGE@>iJzTdUv-S6KGA;5Or$>1+WWXnjQY(;OZM1Fi6`1V!uWJ@j2-A0 zolcIiBORl5IN6SIjN0L3TgXf_%Ck!yBaOz|P0U22d|UDBm`3@w(J|7fz+T5pG#Y0! z?x&ohQK6mZ7->{wuV5w`6qyI0tU9HVxxu-ll4m1fwt9V089 zZq)-UHNT~PhF!x+4fatVx==JIvVND?`_Yqa~vZpon>2?iIvW>mogKn z&$3r}ER=Yb-6D)nJcD+dW7M`m`?O=!Z|B=TI7a<;zJ1v-8lfxgTaM8PU1|T~SZc4v z#47s_$GZ2r5bR54Vu_I5@F3|RGweb;@gdQOM%rpywS|~iqS`KZj4W}E-M~yNvDiMq zOe|4jhi{cq$P%@7IWw_Dt-YL?SfbWm>oM$)>>a`q>72dJ{>m{rXRoslF%zll?aPi) z`<-jQWF}r7u~+{lCUwL<;225WX!kM`she!Sheb{rZI;-1j*-+$?M2K)>ZNuCGm(0! zz0zZA6PMZz!V*vGwOKXWO^#Lc+6uPSvAeo$NIcK}&aqA1eg(FRnP~Jg`?X`F(FOLz zM?^Aehl^|*Giis5top6!M;f)*TxOzCt6jxR+Tmi`<``*oiOqVH?h}nJu|1iQMlU8_ zVsBu!UsEq$ZZ}98{u~vt4<3{Hl8<~hVY!{WP1ydPuP6T8&SciAx*XY-xWZO3lfA{I z_F`r-t6gf>$bG2q)5J^dMqz3uYPig*-%**8^D^6o8AkQ1W&hyxU+FWMR zVprJ)$Ed|t+wIK62d}luo)9b1+;Od4;~2Hrb@mZv(qh-!((RN}TI>e9#W8BJ8|}ZC zNsHZRzhNdmc%!vDa2u~Yt}!>-Zo(4j$;eH%k7M*?DZ=jcvsn; z%uF=8#nwAU8r^C)FcXb#x1~>VeZ1Hrp-CMBB~wF=q6;CY_Tu+gF*bNL<)^v)W?Y9Bb%34eSHQE@F0o zne>h=cEB@KUzA|_efe|E7G>xKf5%V-*?zInO%~2UG5EF`&}B%_D|Zs zyEHmWf6{*8(rE5~%KpHtHE|~jTh}kX40B3+Ur@r)#}t?pJu&iH|?RE^uEoW_?PUH%*cXGNiW-1ncbjH>~l%d ztM)6$X7{-^>2(|b2fFVDRoCaHr2n#+j*ZINko1N<(y`0?{3_{9o9EaqU~k#kj%@{d z+b(l#SD(#EZFU7Ss{PZ%ckIo~Wc+;BZeg}lz0#*yy=&j|auWNv9s8HZwk5r5Gyh0( z$}|1_wwq%#g6+3QIYv9Tzu03Pqn+Dd>?p^mSAAelc8q$}2eycr^qdcEn`1Oid}JG* zr~1U!f3xTB<=T0i_?unp81@D+&y-^td&d8_scE{*P8agNbb zsBi5gW+L@>w$3rK^$+%HW+Jr?4ES?QY8{y97)fmci~J7wGzO zOzOBm1v8TR#l*P4`L9sga^91~2X1C2eKS7r2(uMxf6rN+;saH$QqEQt?AxqT1G8Qu zwn8mow&x8=yM$TQTf#19meD3`P2ZYMse!eQ-Q73bDJ@X-uB812Inx7c9D9P<9>;bw zd+9yN`BL9$$oZXPU-WJ6lpYxHzNDq}YweU77`$ItH?XY0mcIz=-|wRky%1j-AhJFBs)q+3)ql zZh^^v7j`39_rPV$q`&tFyw6NV_8x(6n5{^>zuz^TdIao0=)M(+kM_F-EXA>>`>j?z z138ZEg)BV-xsLr8UdihfIN7nk_S+0r=-4;?wt|%kLrXWSBLnk^ zcd*`pVquA!`r|iJ1CyDxCjPenR!`Z1kQAfMzCW7RgTdJHXu;r z7>!^90?U|5uNoN0`IKalv0zYO12gGWLjn){Q*@`b+mOIs$Ea5g4IE%5y=qwCTV~R$ zh6fh?i|&(^&WON$%w#MW5!k{^#)1)nZ64dzX++>p!V+m8H!ASDW3-PO6?oS%dcSUT z;3LQAY2fIGkaof0^KnP_xMU@SAy=#;>CkKs2`12cs2K74H8EXSz*#s(HJ6RA%PtaOY< zw}QYXW+HWApyLJI7Vanl)x>H z(JH7caHnIm3Mvb1a*W<6m>SsP7`;(2HL#tTSZP{d^w*@3v~77{12eJGj6lmbF)Pgo ztaFU4G&8WBnON!cz{YRIF0|X76*%!bVKfJv5x9YwSm}%aJ_vz-Vx=Ux+LU z1)=<9M-$Ef8a0c#MO=bl z9fy}OUce|d{@e>|^$UcJx{70d0~y-OvjZ_vjjrK5f|CDmdi7$xs4n^{(V@`b8#omI z({T;UDZ2Z^bA7hG*_S8ii(l)Dzs(n3=L>K63E{had45V*+C|VWvp@Ww$iLAi&;N$} zyVxK6J|I5n_dS33aDFIWcORsU`qIBw&g69R&sHG5z_#3cOhq@@wSsF!e8wEW(zoj*qE6_ot1b1nYxkLhUC+nk^B{NE2- z_1A-Hx9ZCui4i~PD5q6o+k>@;<|n&Zwq!JhTBN<#{g{;wm(wUJ$KuOiG)hyu_{%?3 zd`C(CUyh+sh`wO*ops!JVfcRb$FrbD2 zf>+zx;Rc{?_q_57$!vNh{B1Ica@m@V&%?W%k$Z4d4NaRl(-GKeWcZ>uNl|Z8oE=D^UExI&u6_BF+Ao+^Z4_No#kGN$9k1V zREeR~_A!2&NFINFs@MJx)b%3!@ILlok@n!20Q+{FI>0&}&L$EsyZHY<*@tXm-08&k zYym$W!Ku=kqWe!tJ=|TiroxwI2M{JO_Ji+fC9^PD_)u%^y+260JKYTc? z{VO+ret-CI_ZCAEgRdDM><|8X{o%uvv$7YJAU%2#Yd4*7(2*2h!C|ojd2Do7)zJd} zy8Pk8)hjLjpUXd!?Lf1tRdZO{|6I1o7zYf#56oo(v5)3jWIlQsF#&uNnBwVg^V$>lxQ}KsisA z6JzlZ8IAq(en;*6{@@QE&Nt|k^4}eiXx;no-Yb3Kr;amPt!MkZcofxmH^RpC7wI)I z#4p$IxE+hp>OQ_#a2tmOJ6g|wm!v+<`JZ9@-?0B@iKL5v{VetR+s+?8Tsx9%|885z zE@lsOw7i#zuJ`DB!qGB2+Unnv^Ty$^w!0#W{$fTP=8ptid#hzC7uQ_yKDhS5wJ*NR z+z&tao-lrr)IeMZ;(9Eu$KpCnJ%TTaZ&xG1M}m*Sbri10;d&gd$K!fDt|#Dn0&dvDjB6gQdAOc}>nXU7#dR#Mg}4^tT7+v6uEn?(<2oMK@wiUF zbpoy>khKJV(_;!|$?1rjj<|AM%WRW~1Tfk3}IuqA3ah-$f99+*i0gb@=i^$5e3i(z5PTu{B3u{YT8(Qpu8Y+&y%>2GBTqek&PDvW zh!5i$#x;U#1lLC7X+-)`@TK6(a9xHgeOJ2~*Yj{a57(14{a#W5V+rFl#xod$jMa?i zGBz`|0%xd|9A3?M6XSZ|Yn?U&x2oR)oAGrK!X!nwo5QW@yJIg-ZpI&tzRm8|*@IT2 z-RWJfX{yJdOOs#I0|u=H4jptShY3d^ypQkwP){4QIccAsHE3%xg|{UqDSC7EL%nd& zlgVG{)RO}##7w(4U( z8MG;WAo8z5Ij<+}(ne{czVOsIhS{A<5s3 z<4NCyRQl3kT6_`5moip3BpoX_X9Y_50rojH>9e>X>(#7o89Yr@BYcg)H(FusX7%gz z+Elbj(jH4?Hm05{sV@KDk-t@aJ-C(Q@r^Hzze#l-vI2L}H#b+BenW0Sco4p$c@t8b z(eKEHWZQ>RKhz~do=&CsRru}0vorUk-eVdvUjW{n`38`_0ZF)n@!7y?-1}}So{tat z2U166eVBtV3$akh{|HTXsX*5-EIN`fJF!1u>n5PJ{3D8Y=ORA*R>ROOxkt zt5vZ*=cv9zuSlulc1co$hhCUL9zvKmba}>Cx@hPxGOE<{q0>_4;QQncXVj>RhrW=} zsIDIR5pXTapQG*?Djwd3zraJbI-gtZeD=)qT@1C_a)h_4-M}$fUqQk#S-(X%ANcUl zRd^wM`_LIcetTQJFtjvlxq6x9&q%*CxeE18%UXqcOMz7Ha`uGfs^_p~+%;&}GYPxZ zaD=Y|UYS+G^-{l>ma>+^8yNBR^kMI0k+1#*c>b_J_J{gn#H=@04olANW3L>Rk^LHS zcFkVPmYx&+p;cDv0BnR5_>uM1~y;GD1N7lxgaJ;IV#P%pkX zn{Z|J7S6w%aT{BH8~gu<>Mz44>75+^mHGsdf2Dq4Oc_q${*0$EmIBE)?#n*Oo;CbV zj12TXrPengo^*dTTk{yQg>~%4;pT+g_h%BishJ~Yt4v)zVnt5S(if96HQ{gZRrpmoTTt)nocFli_qYYOu;+Bs=Z$zg zhw|*qS<60?$x@vQOa4A5Q?DAa7r1uB43zf6h?-8V_NL*}@LLHyN(0Aat+vBPew1^Q zEgktx!fUExM<==?F){xR1cv{#NC+j)z+W#rV( z|5A62EX@kq`w_F*K0R`N=b(LlyVUxsT2mwG5a$>cY+?X6UGkao6Zk%}C83 zg*PA7j8Uao->QY9C_lZ;w%Rm~x+S%bZsyd~q#u&M6NAOLLM10A3ByhVr0k{)i$VkLDd<%ek@P&#*wO367 zzNDrCUsW@JZ>ZV8Hhl3QQN5?CfFEFdOoT*Kd!o*=i7G{R1!m};z#RMrU!pof9}VoO z2LW^Sa9}@u9B_ah101YR1rEpWOC{nfr6s@<^%P*9E(hl8S->JqdNmrtWrpfH-%wpG zhH6=ENVdxi$#ylTUdO4qmh$woB+mf+_8{uARPS*6bpq*OJ$ZK zf0|kw*qsD>21a%oioa<2c9)@8y%7#l?*p^d)4;{*)UHGE%-{lqPgef|7IL0)#xqrC zq>kd85mk!t&(sXyCF*S8<@j53m5kdN=jlPPVUV$fv6XQh<9f#Jj5`?H7?q*BavAd( zTN5Z|J>w3>eT;pRp0mr-TT?idaR=i*#-~zA9-T(1eHaTEgN&_=>loKFZfD%V*v7bz zQKeG}nz0XK0b`J{lChQX62|q6I~eyd>I{~Fv4Ani*uvP#xQ=l><95a!jBSkj7 z!&tx=WNc+z&$xqeAEVCV{EP*RLB>|b^^7|h_c3A-N48=tU<@+u$f5XsjJh-DVJu(_ zGPW|VXWYTKuPf!$M{s_|0>&U?E8}{`9gO=VrU&KU!MKl6_v8{73mAipt&Hm#cQEc_ z)V(-AV*z83u~ovoDYcbxJ>w3>eT+Jn?`14tZ0SQW>lpVPMPc2SFqg3pV?JX6<2=S7 zV~fQ1qx?a}R>t*=I~Y}eE{(BZ0Ow?EW!%BIk5Lb#)IN*_j6ud$#`TOl822&iV>v%# z+h7W-A%wY%`Hb@zTNu|dZf9&`R6{vGV?N_N#umnPjN2L87}YS!-!hzV9b^7T3eRI~ zVO+<7}qi8PNh8gjPn><7~9UIcr}MhV9aOS zeip^FF{-mUm2ur%3U6m@V^s4vl`)@j9%BpRI>zl1Q%O13F>YsUV^mdK0%JboJjNEr zb&RkFkYu9piS!HpY3aTr#7&gzIH& zyOhG}GLB))XKZ0yC-EyOHJ>r}7aV4s$JoNSj&VC<{wm5dkFkYu9b@j5d@tknt0>&Y zsII1PE@M99JjNErb&T5?+ZgHn>iGmX^|>l}WAgpU&nCZ}{AF@nN>0krDT7i*q|8aF zPq{v2ZOW@D@1%U3@Pe*eIoVc)DKfX zPfbqCNb8z*WLp2U!D*w?CZ?T{HaBfST5Vcm+RxH1PP;Pg*0e2YkEK1CwmWTa+AC>q zrM;i_aoRuAzE0EWiRtO-UDA7{_e(!6eQbJhdTDxj`t0;z`l9su^d;#Rr0+=ImHu-2 zd+A@Mr)2cX7@Bcv#+ez{W!#c+N5(xF4`h6k@nq)i%)ObfWWJU8e&)xS|IAFx%FH?< zt9RDXSwpfWWL0IgWL=+ibJjgs4`e-@^?26PS$nenmNhB+-0btS*Jp3Zek}XR?A_Ua z%}&fI&RLRkXU;1*U*>e}T-b?HEyDISaS#KAaA9FB9uQ8>#u9_NQAU@bcaCpE=5Gn|0)!iiYbmg1anGGfYb zJ~$Pz<%q?X=5Xpa1+6&^Z8;sEyDe7>a3;72v9&k{4C4eKf-}G-oc%T9-0wV``CW+I z7vYSr6}gt~i#x8vIo|cS>jt$%-Hda*wK&7O9VM(s33tG6 zj!!xpSk~zsU`40>z%x311U#z~{aVN!$;-7;_a(0eexLj&#;=T069U>s@47OLO895` ze#8`|e+*O^p8z|?{4#K19BRp04m>mK7r^tgsFvkf*CH&b9ZMG3ev|by@@&g`4k$5S z<&23}>IcTS&J<2&%aS+FkVU&ACN2%+SE_Cl{T}ZE)jFpUjn@E}ObfJ>> zbN-JwEP1xE7FAuzh6mEfhX1Fsz0;LS{u`rT&LfYYc#%_gqi`l;w{9eJ-)>ZwF3Dbi~1 z$5Aa`bo&irB8QOKQ4)Qn%MmNWb!d- zLD6Md|NHQc<3;^RixvH;%+>v=#(y$?%P3O$%Mp$Itt`GV?r4(mU=J}E*DS_2i~k1u zYy4pu{MAev?NTw;Y5dJh!VH|S8ci&|oa;0lW_5rNMaA8~6Z9HTWA>eSr^Rgf;4q7+;Ng z9`zWUnG6D2Jp>rQUv$LStVf`mio0`XC5U5Ics<6>Qmm>R}9Jpu8xjP<$%@ePb&JqhvW0yUnF zOh!1u*rdx4vjhlh=xGQq1Hu}*9O0icUaMyy<{F?@*Xz>}zK(IdJ_9j#FmBLiBK}Us zyYyLzzZ+=OFZEo6Hv)~?qJs!;WqcSV17K!ux>+-_edB`~l-RhuP;ReRAxf3xF#wK$Y;u{%T%`Xvu zG0><>%smJ%2O4#yxfkK9fCeXQ_W@U%`+;~$0ld~c1iZ^^1>S8Q2L96g7Wgak81A|k zi1$g&?|}E2CxE{;JAj+bQ%HRfh+bo!2EJyV0lsZ^BfgFC9rGMw_A&n5`~mU*VEn{9 zkN5*XjjzbPfbe&WKbRL0qb#AZe@47!wDuLm1b{}x+1C(`2V#`4|AlZb#@_Z##2m?( zYw7O{_hIa7_aXi$AX>`4i*P^25%zt=jAT63{sr-48T0Ljh%W#doFaY%oNWIFoPu9) zHmb~i0-Rz0i99obM$NaMAzTSGs>*(WaENiC{R%M)fEwQ^`Uc@ej7|1C#4G_Cb+P>c z;Y)z%vsP>LS)ft3TU_wf5{vM9OMisx4#o{O0Wo(nK46m&znSqNn~eAefm&_1sR%#8 zxWlF+=1HKzcPlax-U-B5XS0EOZD-&MwkzT{D_fM-KSSQfi4#xZ2(^={c zj%%Oq1I*O52s;AF$q7V_?e8KDfkItUr~b{LM?vk zRh??UPZM?sOYrkE{G5*;`u984mP*$r-1TjD-RG{aB^37|YrU3mS|7^yW#Le-LSxnJ`ua(sP(vs@CDb^ys-{Lw4OT7=HMWaar!_T(ikGRf@WP=5 z4Z+Gqp`jF`N~VV@>%FdPathNg$kZ3;yi{kc&1VlI5>)Np-cy($Ve1}nm$5C^8z zSA~?+UA(L^)X-R6U#AKwvS4aSaX4Hbjzt$VH7*(-tgZ=F#p1>Vs|vykn`%RKjgfY- zGehAB%8JDm*4NdADyjU^`iL(tiBnQnSzi~ajx>hqDw|`sl+-N=)>Ky&6qa^~D-71u z%!iR;36q22$Rfm6*DX9q?kV*oc`WCY`ocxkHC5qI-FT?iuqad;3I}U^B9T#wmqDC% zaS|J~(Ukhe;@XBrpR{FYzaZ&XQC%CVZ)%KHIK8Q^5pjpnvOE+KOEpx7{ib#Clk1nX zi*1ILY7f$IMqPDnLk;w(YxL(WDQjwMXlg77S1zhv5>n%;>w@9t_Hh$JjZtHaoF0la zpcz6+boX4Tf&HPluBtj%CuN)-u5Jv4+qvh^k}~DbGCdTmLY8P$Bbt9nC`@;i)HRM8 zS&n9^2|;eS+qmk5hsahQY9!b2gz`xml?+kvjVL=k*oaP1RlEdNP|_)!oI;#LB_(wo zY|<_Y8LC3doV6re-WY70N)8R%R~@==O%5)L8Z;_cR7_`GC?=vtl+&?dS>2%v zrG)9BhMMMyV$GsZO{g(MvE)++Ce{8HWZYmlCdZ1J~4g$siH&FHYMKB7xN~?LQM}X zgt?_hIgjiZPX%|3}9k-+U393CcrZ^v0o*QSoTPUR7AC4lbHSM@DydTAF>g3UeoUfhFRQBzxfu;}B!cX$K7Gmmxy!l6 zgtv2LQ-jsMaS799Q8kPbVXKwH->d6FHD1?{w(_-~*E^*Bq7H&)JXiqNG?-DVnku>L z(1cAxjC7jvdg28Uw5Dg7srB{Iy2;pHuW_vwoxr11=F6xr)J8DN*Hq6(OVb3P%I2Sg z*%Y2oU)vB2vwmJ%pvyMZsuG{-GlMlvA@)DHokr`Dve*qJ#pgDmE5WzsjSy$$rmU%7 zIJyq&kdo5+g{rh{f?6cwP=wuwh6@$;4Nu|d1hSyIt~!FTSS_V7xm{1LqH(g4o73Gd ztuVB*u|BL8h8pLNkKP>dlZyKC#xN!gIFc({G!IqOqdmjbSSXx_B~1vTxvD~jO&#S~Q5D2kvfOIQFn>0WZ8T`_CJx>d>Jgswz5iB3wz!A?ZjF6|S#u^acvm5U#Im z&v>khMV(6n*g^E5EM7xEd9p`&h>Rcd7G99DZsDX*^W*KkL1M&L8}ZH09r}76oqrEx!xR6!Kx}U6EA&Hxc^#MkEI&czYWdQjg_w=?{4%q zT3|p>6`?$AJVbFFtT_>K4v!R6RdE2hk47_LdE6A5J6DxWQsrlqR}@b!o<6;7x|%*?N=3=!;*u$aWmC#a5I?2x3{_N6 zQP4gHsZ)vzD@w|yl$Mp3tH}k^%O@6;mX=JJAjQm>QZjjJDGHrZQCy_TrWQ{xpv+Ws z*^CM`uAr!3`h*#jT+X`%u6s(^l(M2?HKnXz2L3WM^2{urUXHsEQ#i4tv}k(ql<{TL zi>FQ`VGByj5nohXJPT4%5GqWqI75{em(xAPv!<3zN7W@$W)_r|6cs|aaRr6g?g_{8 zMo}%}3rb3n%iT1&Y$gbI$#KnCzDS6MUJhaPDFOBijv8N6k9Oo>QGFB5uN-#c4Tr}y zEm(kl#9_DJ;`z^ou~zWM&ct|w!K{LoPA*(tkF{@AyMD+8kk2C*U6#tC8qFMCup>B^ z{gAwg19?%e>CpT0D7`~0mB1aF9a2JheCd!?60xnRUQk`h`xuO-wA^%yFY-ekUC@2` z3QjEmN*A!GY`hpzQ)#gF#g61PtDDqaZ&HOd^^s7N@G?YI@q~@JW4_qDa#1ks%#Ric z1#8_5IJ6?P3_TP($1196ezk9lu@GvH^G9G`DcLB+y9dilDvxsqA%{?w3FBu|WD%4L zEiMaJFRZ5ZbZ9XwQdwOabgpy)s^GFhRpeELi$ax)WzL24>?(*3h3k;tMPpOplX6_F zPLzxO9#&QET3cO5&KtpUs1W*N;0RW+H&dY83yp(Yhk~?62$BdRj*o^$jf{qlAI+f| zv1AImbPBo*vLWNVt`kt9QGF@QX)IMNR2If!uzo2=9Apl<#oO5(BF%L#C%TxaBHY}L zmqh$)ac(GCmh*0;hS%vFE7{-#GSs79C0bO}vx=}g7N(>ug(~WuilQ{<88tGRM?zR{ zz^yPARMbbUT!C`~w1s!KFAIu>@m)c3g?~x==;?{XgsR4e>ubfx zu@Gu>euw@fi8MtW6e__H09H1%ccCpc9+fX(+Z03~9qJ}GFNip;qLE%ig!g)lv_+we zG@3|=SB_hV&22Q^Yelu$}Rl+ZZs5lZnE5M@iT^5i=YilSUoJ!vJB$0~Ig zq4QXmj?slAddFzisAIHKsbfN+)1qTaRHcq7?Um`6&iZtSmKKwiVd0fn--)K8lBj6K zv4xn}QOrc9n;xpcT(u-LJL&`NA}9yVRXn$0p-b)K=iEee(C5#<#~0BE%E9wmG=hp~ z7m??$v4g6-tatZzO!QaPG1Xs9hg5&9e3Ba#&|fA772nF9beZM43SEhNcH;osBkcSX z*F0qFP;(w-?HG&MyF(<^!UZFdjnBgd)l!b5I@cRrkYZ_9&-plzN4YzcnJ4)>#?w6= zVts{E!F#<=WYB(hWzrb;mHprSj7mFMc| znBW!NF-Z#V5PwizDyo845>6ypz{!}5qT6~LWmH#z^Im91-Qv3XrFFEv!gi0IFJS34 zrJhd1++h)Tdse)R&)Io3Do-=qq$w+l*lDzy(BwLavmGwZpqK?%GJ5VpLYFsS5#}>C z#o-Bn!p4uhvZQW7J?2C@&%`8vVxXYE2&ZrKuBCKn5E9-EuL>?lu^i-VAgzB*Qq)ojX#>i|N9W2Th)i>2tK}?QN(H-HG z396vHysWSU8$N_xG`3ZR*eT*dyRNxz+f@=NsG+9|XiNwrQ?fTLuq-hqK1ciK!glT) zY!{X1-O#~faCYL)+9BP$6Q1MGsHPVeU{g4~q@q|AB8*E>acMCw1x1rfrYP(z;Wk)Y z&|!dV$jOhYLb3&NVGJNx0oE;KA45L(6e$`P^3Nnyp#{OF8aJ_o$rEr;Ra0GCE$0oi z+~R`=K0je!rl{x!f3BQ2I>++}*{=|zFPoJE6hnUFb$gW;&E3H`d2~m|Sh~GKY_t%? zwQvn^sc@s;%e^kZVzH00{N+vap=R{pa#~ZU37wUnXF5msZWPD#l%~E?O?`zt*duw- zPzNES2{KOdK|7C*9LnR9_YU{um2@-#4IR;5CWqU!qm+;e(eor1_D-^5M~WC`Dx1RO zYib;ww&Bj$i6f4=mIkXE5yywXv;g5}eXe)nWYWd6kvOahu*$B3vv8Cu;DbAyHt~a5 z&M`4qSB376vdijb)WILYd{1OCOsIk>XW;Z?Zb{MH8B@v&#>300!jSYB?Di%vt?OT1g<^w(DaXYnQblJK-0 zhxu3l(BT9flEd-pdBns6100VJt>p8bMfG@Mtj>!*%a3{#p6RQSshC}+)>p$zd zK^P~I(aFJ0UeOtVwnfo!C5}kQ9UG#L8jx3>#mG1X2lP`6!}3I;oDO7Y+~@8!0Y}j+ z9->{zvK&5W?xE&9xR+9#uc*BCw{&R8XnM4lcgzqgtV3Ev)`dI;qUojg(W4CR0CIp0 zT?**Hjm}b41&)hV1wY@QWpIdxswu&`dd!RMI$}wLpVwm^rY$EQ&xA|SVaqWnqnn-E zgs1P6MsZO-qhVnYgs)0R@&Qco;FgxMKPlb7}INJGp#< znu_j@hK#l=CU`s~UKV)gSQ%?H&x^z zS434*HpqP89_%QR8h%OZF*%o?j!~+evvs$3$Wy3j(LTB7Z%+IuEW3aaH1oGTk^t_ap%;(eg;sJ{(cp!ZDKH*K@j0c`=R~DwCn@|2s}FW|1l?;L+=5aC7R=O~ zLU0egljA07dBEn#l%|>*%IKb!`SwpPNTaJeouP5U1u1r7a7oCYiOw^rKD^|^vj!hu zMI+qm(dC!QT^y{FC-EIdi#)0B5b?gsI;6TvoTxrA+erkMs9X%S=QhyE7AaI1YzS6X zH#W2M9+^t##8c}VBn!J{UNo^o)zJj_7(HmBQcInC<9u1{(k>#;&pH(6PgMLcNX;Li z=8sg3nC@ss#1u1EHH1Rpxe%I{9#~T1(N%<>xnb1gr-5n#4jmO<4XdOTEq>po25-g7nhl9iZGwpKN=v##cMXCgHGMW|0n_vb9s>F5n7 z#SDk3@_bH)_~;X@1@+-tdZ>0Db@p0DjQm*N)-t*yDpeT`z{liJE);#7C?`Y>Qb1%O z9#H#Eh&VO`b!g`0XQ0j*>U`V(TI{?r+cwtwcHLAv?XDYSLs}j2Ef4Sn5`z!Fr%)+F z2OccYl+$YmEicQeXd&jL!La8J+pD~3R4vA|N!w@=4jH2hTC^IAUPH5B z5MwlyK$C`5HJ+g0Fm|EqH4PBQ^#;5OR_hJY?8OIdSlw2SEK(5+!{^6`gSDZh_2I<@ zji_xty~P;4CA7djtXBn*NT_yxO>;#x4zyz#qtSTMUm33E_Z2%P!nGDuFKm*RhYppD zcP8qZJ0{5Dsj*`M9k;{h7abz00xN`2ZP2ewRK`LK!Fb{yD=w;~ybm}O=klR&eS^1= z$8<2WI#P|{Hg*dgLd00KWM|Tj3G|vxheTIxQFU-3)H34g3FnZA9V(^|z^xy@FVDws?7$Owr zw?}B15mSi<@DlQWENAE`h7*LMdH#TN(2Go1ci=&ttP`*dqh}Zxt*fiNS4LxR;$TID za%4SQLhte5rBa!H;VpP@gyn8*S<4d$Vz8>=w}OVE@N;3W=v{c;MC(0;9eG6hwOcjQ zOozi^Jk5$ef1-&#CIu-_7_5`!K{QJ&IU0izv1|d>b_?;kZ1lxgc`?a7@bv9VU6H(W zfrim1o_Gb69({VxWRXO2MIabC0`IA*_t8`GvIVd&oF`V9JlVpkh$ao(%FpnSsj0HD zG}w$)Y^$y>tnel*O!$4;)2lJHu>&3CC>)2Elf*r!XTf4V#(KK540`LBR+_v* z#xqafD}S`in}Pvcgp1HyObf$U3E(I+xLB-J5}`gLD_gmhhq`c61A0%a^*r~7t5xEG zo-ZkSKl&BT8>eA=LY)S0vg3l+bITT}JV?)b+OhNJ&K<7CH`P_*?WV%=etBb0nhWp6 zPO_??uD-6hw!SGMHmB3Ph3LT}RCxmorfB^XEl%3HWGZb;=p3`8ER3NAGI_m;PFyH% zTr;~w1zvornOu!cT?9|<>-eoll<8*sn3iPLit5V6WO)o^)B$)uMgv-mP?BsnL)716 z3CMNGc)Ef6r&m~vO(;Z{Z)hMryxnNt*vh$cowF9!1S64ADsSxQxpQ&k7QqMF=mdid zIRd{NQI4fV)Kn_AZKU%`*Z>A1yD9GXDmq5tcBBQXs^&(Uj*ht--Ex6^W(H0^D$s!5 zQCrMCVeNzba7JV06uege_r}v+7q=bbzm@pP=5cu+X#rZP+{q-xZI zDLfVL9nsJ!XHOJEGXQ>(BpQXx;!Xd;VXmaU6me5B3A1UGq>g^T0_ zo-4&`hoS^eB~+0N|7bo8mXk5Kz^mAoXc(n`2{l+t*C~~{2-hI?Lm}*iRC*ZKbMf0m z@DTbfqLWMTWdhucv}#-zs$8ViAr(6aAih!xtU@fsR010iQ_a7Xq`FpOpH+>xI>b#y z9gX8aYU=D$0*ozl>uLm#b9oT$Did)!;h_6A_B) z;L^KFdQ2A=kJ{-zY$;eulEkH?&Oyqt_(DS+ers7-)RBbuHCbwvgk2>q975azq=j*{g5tvGv4{8aSPOmi&_JNhQ;rIE?UWq!@IIzC|og@W=A>D&%{q50LkZua_c@tgQM> zMhT?LB9@(`r(WZerpFA#9Hxc)lsQ|FRixw!&KpAc^c#Mv+c=b4g*L;hPOXm}JW}iMbrZ5;F(jj2NHyYg zfm>E}j+S1G-cNlNr~fFsecOqDsm{^5{eGj4DZ+hJ580CHX@?nU3|)4opf4U(}2XFcSH@Qxk_mr#pZXavIDy{JtVbG=J}RC?5V;OYG* zfzwDsv9XpUKOoEI;+rtYl^p9ODwBGE--aqF>g#GQ`QE|f!UU9qrRYI-;T=cB`$wvu zFiM<(S5<#vX#+4`L@+Ag9aq#&J~x1EMs};_|8lM2(L*IK>S-@j} zcn-B8wH{fH#({dI$>>Wqz{{YB9SZxF!m2U(WupJK1wGWk*CVcK|LM) zJC$rpH3lJ($|Rqq@<|%%dukAA7flxn*5Ml!B;8WPQ>j5d6U3Jnl4Z=H`A?P4M0^c; z47G7Bu2fGhauUb68`mf@ke<}z$#+OI@*vWI?x!>w8;7&5#mGaFQQmPZA&nO}5O9)+ zM)PrR)RHQh^dL`Lrc}#A)a9geP&a9UAT-#LlaQm6Xq27Aj1>`cP0B}|jT(xkW*S=Q zmxpUvEfQQBi5i&%qcTNBYCtjo#nRv;ive;Psr}$m{X*aKe@E!~upvnjc2qlP_z;Jo;g(M{)cOQ^7-icMO90#XjAyh zklsU$BC8|vV3LPi;Ail#3vi8E;b&N%5T_Y@0n03YD1KW--e_sGjx{Rj>-_A5an6=B zkJDHf1o!uX=ol@%fn1124Rz|cc5WBTRSnCC)nZN?T~+w{TnUXuG!{l@VzP{X1RU^F zN2_6n8waVxLyRwdqxogN>X-{-&@rdO4zj+XRxjpph}u2cHOK?7Voi;Wd%~jYNU$L^ z*GL;g;A?d#F}li<75PGxN9`%IN+m`=8XGZ7CD;1Gvi6|anBu8JayVT^#^^jrGtt2@ zw7w%B_44$hxvl-&UIxFS6%Iz%Q2&9)(3t>i}s1;kM_|D z$Y00%44To9Bf)uWlIOb#yZs<9KZ_@Ug=0nimoSU z)|XL`{XQv(afkX1Nf%vdPDLxw+KJGCD`wp%f`Jjq!b5Wg0B>EKco+H8EBv z<;d~lt0R?A%igVqL~V0uZ;$E1nqo&MmOq?N{*=0*QSS!WmX-y0!ik?6H50P?dU$$t zd?;fpsq6^SW2B2iH=-I5Ei2l@?d7AhwBeYmXdOOA z%_8Y${QIY;xzMP|a|XX$YFIhsjg8(N>-FcxSU!x#cghvrAw=ghTC0lt{0!f}y#Qgd zyXujPIoI!GluPy&s&gSuH>cn~UNc87`X1E;oV*oa9>cr0h%3SD>&0ic&y9D|(LVI$ z+%n{5hC62<|3rKbcRcQ-?_6;_#uC!95#PM}X{$!=izA|A$-%R@oTMCLRLSnR_Eo)T z93-Ehm3`sCb7{$;R$l&dS()R1!n&)V{dsO|ZSdcp5x)(Xmpjq1MdMN zHad(@s+?#=*O)YS#0HDl(E#ULmQ;Yv&T zpGnYKnpR70h1;9FyZQfX?^Ate4vHy=Ev|WUH~Y#tYaKmu#^E zoBDyVmsi$m7QEONUipR7&=_SVf(lY-yp>V&u%eAb8(Xm|w+e!`iE2eeB8aAmY7|-} z)kZRvt6D0pNa8j%^!xsQ&YgSjUSLzHQ7iTC-ZSUOP~*S%Y- zN3Xn0YT0v$UBqlD<=pPETF#eIVZBN2o#u>`_Mx3=zSp|UTzx;DkGBfYxYi=4?F2_! zjUF3kTiy@(ey_{}`HXz3W?K!m-Ho6R%W^&C;@Y0I=)+^l~$cy`CxT8CT?I3BdT z={EGJ8+L@sT_&#lbVH6k(BiOn`toe8`vPWrJ~msf_KN!{lkt{Lq-=&JHS8&;H2`T)u!)T<`>ED6dfAPeROCs%q_QE;-=hg%q1 zPG&IM#hl8UWS&MDNz8tUkUd((79Z}EP>05{WxEo~l|Ng(mrG%mcGe(SZx(mQ^tCxW zII88=2dB|)dtl28MBLPcq;NE=6eAPw2E*b7mw<(mWi$kAWjFQN zij+WEv$NGyi%p~@6ciW54}&sx!K902RWm$1CbM&*c_2*OWNWnN@$C+j;`Tc@1>FjI z0jhG7b!mFFr*eG14Jc8MyLu^b-5Tq5dXzo$W9|ju*xIanKUntY2&xG|D-t zL$xncRm~cl$#&J_+^2`MTuG@qrXVw}9Ia}kTc+C8iXKiMz%0_`+0$xmlCMw%tljQj zaZqs7a_0icg&DmX>YJQxC|>jnSuYnmGK>{Bs{_?rrUiR90i*cX)xsJuv8)!7KOB|u z_EN4i2Lz`hR@L08Hz?QSUrRqCrc~>sk~MQI&*#Y^W0x*5kg~3rxk*>5-SAbeRQ>f@ z-{xdl0a1dYI@apDQBq0XkRy*YkT+9K0>pHeD_`>Zl_E>rMf^O{N4te(@!0I z7>guXaj#-O-Ta-KYU&qKlAH?tj7^yC8*F;bfA?Zgoo*V<{lLu5Jf=%b}3<2(iI?foi59Kd~t7~)XAlpM;*Ca*^67q+jLsUmpS## zJ+~oO7a_SQQa5m0m$erPSB26pc+H_53usAxv4_L75L5x=OT|~6m%Pc+@r~RGUL67Y9Y{dW&d>iiNU)m`);zCQHzUuBzhLFQ0(n3 zorLeijoV(F*mh6Q{F;TST={Oe^fWxTZ57&ZX`~uf?Jn&GN0s|zq&)8{AV(_otzT=l z+>6$f4eQhDeFW4V+*mj)i>GcJ=j)Pewmy0n+VDW!V#M+4q0vI-jd*h7z-k=5!7qdT zOPxzxavi-4bFKA{I!C~xZ&GCn8y@D+n9Q`AcH+me18 z@J>*QM>W*m?7@1cUB@Lox0@(k)(=$=%i>NOMHx_OvigHKnhl-)r}fMh=y(36-CAqk zHgD&^6*vlF5ASzW29FU-yLOL}bKMC^mUc_KR}vgG=c@PNRKC{Ijfd9Zlrj5XIRC-E z^51U#;&;#9_>=8d|Iqj^{LaMPOGoCO@&==8oG4xAFWdN|^Vikyy{1r(Ru;=qdeAM0 zxF&PRsJUgAc`FL#W@&MZ_xh#>Q4-anTC;@gFvPv0ZZXEICJ+e=D~#(I*Kd}ZrE=^# z(I-NWm*hp(bHcdjgw4`mv>+A=WHaVv`jGNM}*BlZt*Bc~SDTUXG)! z-#~!Z{^BJ^emSe{mVMw57FPghWrYQYEZ;3RSZj?NMh%YWV||he2BRCCu;0c7F-=)i z+;UJQVryKj>&HM1Z318x08!*hD@1L~(}4se0lLHJqDELTB*Z2BSBaPf=P8x}h)ukb zm&?Ef;QK(UsL?D1$P#$SL)Y3j2OcUVE(rh>g6>gV9}3IH;k5*E*M|ya#L%ifL|jk` za@U872A|?P_!Qq}aD~BtGWZ#T|6uU%3@$S`$>56&zQEw~3{Eik0|qk;jx+cygWqTH z41>=gD529*$k3J0moSj9Dq+8bAqL}u1LP9b!oFe06>2UwVStjsXuTVT!j(^Z7~e54 zLZ9TX0)dlD8No9GA+Ho0WRsLgkgQ53maJe2Q3}D?_2kK-Lt?lL_~y4FiBl{wz^kZC z5$_T+MV~>1K_7!E1E>{Kgx6_`KjCnHi~vGX@BukWPDC4mxS)|}ln9&5D_XU8GRY#2}l7t zL$CpzZ2`NM@Gat7#@EBQf^Q$bRebw_OnnR>eT>1ED?kG(dH__2G!mws`V^jxC1VhB zTqhY#P6D9-Ae?@p?-SoDo4MM$pqGBVRP_Rl!YYAYJiS!((ua#@ba=ppb^H=I8fwM3 z2wBJr5OwQgh(H*crTUl;l4NOg9Vq^;jDi$umPkYZkuZ?3DxoJ~MZ!KGvKMf~q%eoT zE62bq2f-`R=hfCDj!biOymCOiazwmxNSGH;u!L8lfP@H>lWw^R?NkLPrbPx5WE;d0 zQvpv;3fYSiPLPR^Loh`NCor|gRL4FIu7`@OaaLZ`tmBY(2q33~LBOEOpr1j=1|oD| z)N>*x$9+gw^7SY=4q5Q4am5Mn@qIrCfM(F2$sDvdglK?d5(&!#j+7Hq#?=pG;6Bn} z+}DBxU?P4#$&5s^RErDLc~N>xHgde%jpAu&A3zjvxT$aF=<3@U9TzgJBeMgx=)v@s zT3if~%5-p)o~pzykPHD8#9++ri!q7JK&m2f<|D>ZAdTT=&8bvE&Chat=o=X(+XJ-5 zT~uo2qD|E%2^gXWd=ZRO9@BMD#@ox~tM5aULi7oA3>`fVc-6R+#Xt=mk5nP%Bulu6 z#s#)3BNIj5^+m&^A7eS;fgX;l7tG)Kym_Q2Sq^QxqqZQ1qN+^)}BlReuq z)3Y2bfX&M6&MFyZIkH)ypG41q-*-{3PdW`^4u;W+XUHCr=)wl-OcDM*&<=VR`BTUe z{TcNOXZjE>FsL68{3(gME?C}SddL&I5lveh&tm4rS@K;5PggNKnYSUh5sTt-p1_!e zOUKz#Xo&{N85J8zb7E?)yByPb$X#xhJInDRLno*o4QlYA2BSwcgHj1e9E=`=D5&L2 z&w;rd%$hn+d+F%g%@4a&Sjd(D9d5eq3*BHUUIbk@j1*KjN&>vj(Iroi+Q@#2!7~G~ zH;)m7^3yUs$y1!%MwHBGat0CvCY_1W^FExVdh)E}S1?f;1N|k(hi{}s?C|q!K;B4Z zXk_7kQg%yJGnv%Xlh=}2yzbT%6N5K38oYlG0n&Hv7+qtE{F#ztj+}nwXPYPIzVh&6 z*AHH~u=3XHUc2wmg%AD4N6vkF@a35^*S_)h;ah*T=JKaj7Pr2=bLQw%n@)fA#XCMZ z^!-Qwaqd(9{0~3efQG1QDS8(0PFL?|>vncu3kgU*vH%W#ldCU@ReWji{9++iilvawK3qu*u zy@r1;oPt@v%eMf}_oEu81St>d=^W}H2^CTIe2WC@L@*A3eoVUfx?r#vYTi1mpuIa_ zY6A|$n{F^?ElQUHY~&Rs3v7%63GjZopvtxxGMcb1GpR6O2Ar~24BVh0?FDCBy@BHs z0KWzu4mdSP2*E68)>2#wffHbq>e2&at_MQD0?J9>4G_bn^NrRek`ozD6eFk)c?QOU za^=w*P^h@j%LLR=G#6+LnuTQ{R#RgOV8~kAvDQdz{`)P~QZn z1Pda-0ySvLqAfvOqT4`MtKyY?x){EXSDIqp#-IVmkn)OBp(IGqj?zGpAJDK2=Lein zgyQH&&>vu`>dEK8KZJx4J5APX`aYCM(}!E<5d(3dnkAPaSWkC>JOMF{5-4Lqcve!+ zWvS;Rbt+4p@{9}lz2ZY%g-wzY0ix)_b;BC^D}?Be;9ky}yez3#v(&3dq40d4R{>S^ zKlGqG&cWE~_bLxjrDdy1i_)(Pv>#;9ejus2EHx*o3t8%dq%LNui;}vOr7lV8%`Ek% zq~6L>Z%OKMmbwgXDsZ|mNnR-|Gz$fmL@69wjwG#0s+Of{l3JXl7E5YLmRceytUsk) zBgD%<$9BgX;!lq4#)g*2hqcDg4)yKAosC8Vq=ie<(D^zfmOyy8xyUQi)E~ z#kBo0#Xt8^vRuewo`)g0)L_uzSFj!iJ6yrPQ0I<}I(JBFbC%kyB)e1fz){fy{Sg17 zEmw#o_4LuKgs~PWV1y9N$t;4`z3WSOC6Ndu`G2=tio(&6=tmopvZ%l6RDdiuJmz9J(;z9650^n79GIG z67ph{K1NNt3$ig_=-k!QlvYKqAm1|2Z$v3(>1#+t{rF3tuw^tV>DPdT_-6Fr8v|Hm zI}mf|D3~Ps6%$0eE?n>63^!5MvCaNl>-4&^D0f45SYw#rdeo) zJ^}XAVTStlMK3n$;{h%FT;z)}$Jh^|cUW%h4T%8<*5XO|)*l2d(1SXHqUW(UB2)B| zUS1YbyqXc_Rhm!`n_jM4AMe8+Q2J&4ucPDic(f}cb(CJ}<02ycBbreQr zCB~!=BI2y4r%{O+ryXDCDw$D3k7-M0>S&zIXt9P=TSt8Z6zWH9WV}8Oo58H{MV^OT z#`s519P6P!1--Ptdip&2^S~p|!>Rm$SBaW%CVl9NEX!Uot-ur($l)3gyGnG8K-51E zfKmDc|EKApegp3QG$tO@_?GlFBYgL!#J{I3`&!1buc7_f>pU>&MY@!kDNkOf_Qcel z#Q@m7R6}pjSpqDXDZK03yk6Wnp>mGG?FEbD3C@8k3wmu39rr5-jAF(yr7<#rM#_6(<< zx)|P$=RiUV@Fp5nY1ZmBbGZA!eAfAfh;sNgsSGKWIL$0^Iw$OzS>jYIae6Uh){D2} zUFWN}Zra&;M%V|l$60Oo_{i#E$LtIjw~Df-nebsWHMWUcCGp5o$1LuA(VV{J6nD*W zGtbb#ZrS(X;R8nwJcJ)J#*SImddOG&&C_wKEWUnt4Sr{_(lJBBQ&Ve49@>55sx|9x zm|8Wme$Dl()(_t}xoTu&_{Qs}9-MsWp~>B_)sFGju3o!(WHo;F;q!&M{2<~>WH}cY zJKd}JJ`Fr_y7inGJSXSCZyyodP;c9hpV-FgY`hoW6E5DQe!;;iW#f)lUYL6BOAkD| z?aL3}b?b|#zbbX^zj*==R-Am~$iyBz{^#fe6L<`*zV&tD$l(Vkb{}{I?{S;Jd%Bbg zczWjqo;x>z2YXFT9+~PWSbcE!19)q-qD>rro$;8l`JdsoddA?{FNZho-@j!N57dws z)=f>x>ulNXonJBWhvozLKa=C&UBw3PBQ{AV%A8JvTfOGzv)&!}-W$7S9rum1&$_}0 zVt1PzxU2ha+_!fZVq`{C9-ePdY7%iXOg88+Sooe%5fL# z?87l#J8s*Mw+9EMquJplk6%~gM!N2kdiFC6Y0F`D{oV`ZYtfS55qu%0W+UE0?ST6B zHW1z`u)huS`MqpK?|Aex_DSTIy?`-+H&i<~;o&cj@%htwz0L6b+6f_kp@D07jC1GOUudWQ-`W2X3j7!HDGUPu diff --git a/lib/zookeeper/ZooKeeperNet.pdb b/lib/zookeeper/ZooKeeperNet.pdb index 5adb72d89ef158d018c2f11fea4af50d4304efed..ec0da3fa15c966215d15452aefd9bc0ee04d7957 100644 GIT binary patch literal 593408 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

15A%Qvna0j-(~Z@BH5@zAcbZZ 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 literal 486912 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

NgvLRX;&S8>`_ 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 diff --git a/src/Kafka/Kafka.Client/Consumers/TopicEventHandler.cs b/src/Kafka/Kafka.Client/Consumers/TopicEventHandler.cs index e2bbdef..1a8ae51 100644 --- a/src/Kafka/Kafka.Client/Consumers/TopicEventHandler.cs +++ b/src/Kafka/Kafka.Client/Consumers/TopicEventHandler.cs @@ -4,6 +4,6 @@ public interface ITopicEventHandler { - void HandleTopicEvent(List allTopics); + void HandleTopicEvent(IEnumerable allTopics); } } \ No newline at end of file diff --git a/src/Kafka/Kafka.Client/Consumers/ZookeeperConsumerConnector.cs b/src/Kafka/Kafka.Client/Consumers/ZookeeperConsumerConnector.cs index 4dad986..c8319c3 100644 --- a/src/Kafka/Kafka.Client/Consumers/ZookeeperConsumerConnector.cs +++ b/src/Kafka/Kafka.Client/Consumers/ZookeeperConsumerConnector.cs @@ -521,7 +521,7 @@ public ZKRebalancerListener( this.watcherExecutorThread.Start(); } - public void HandleChildChange(string parentPath, IList curChilds) + public void HandleChildChange(string parentPath, IEnumerable curChilds) { this.RebalanceEventTriggered(); } @@ -1056,7 +1056,7 @@ internal WildcardStreamsHandler( private readonly ZKGroupDirs dirs; - public void HandleTopicEvent(List allTopics) + public void HandleTopicEvent(IEnumerable allTopics) { Logger.Debug("Handling topic event"); var updatedTopics = allTopics.Where(topicFilter.IsTopicAllowed).ToList(); diff --git a/src/Kafka/Kafka.Client/Consumers/ZookeeperTopicEventWatcher.cs b/src/Kafka/Kafka.Client/Consumers/ZookeeperTopicEventWatcher.cs index 7bcdea7..32074d2 100644 --- a/src/Kafka/Kafka.Client/Consumers/ZookeeperTopicEventWatcher.cs +++ b/src/Kafka/Kafka.Client/Consumers/ZookeeperTopicEventWatcher.cs @@ -71,7 +71,7 @@ public ZkTopicEventListener(ZookeeperTopicEventWatcher parent) this.parent = parent; } - public void HandleChildChange(string parentPath, IList currentChilds) + public void HandleChildChange(string parentPath, IEnumerable currentChilds) { lock (this.parent.@lock) { diff --git a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs index ac040d3..553c3d2 100644 --- a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs +++ b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs @@ -363,12 +363,12 @@ public static Tuple ReadDataMaybeNull(ZkClient client, string path } } - public static List GetChildren(ZkClient zkClient, string path) + public static IEnumerable GetChildren(ZkClient zkClient, string path) { return zkClient.GetChildren(path); } - public static IList GetChildrenParentMayNotExist(ZkClient client, string path) + public static IEnumerable GetChildrenParentMayNotExist(ZkClient client, string path) { try { diff --git a/src/Kafka/Kafka.Client/ZKClient/Exceptions/ZkException.cs b/src/Kafka/Kafka.Client/ZKClient/Exceptions/ZkException.cs index 125bf6a..62a70e1 100644 --- a/src/Kafka/Kafka.Client/ZKClient/Exceptions/ZkException.cs +++ b/src/Kafka/Kafka.Client/ZKClient/Exceptions/ZkException.cs @@ -22,7 +22,7 @@ public ZkException(string message, Exception innerException) public static ZkException Create(KeeperException e) { - switch (e.GetCode()) + switch (e.ErrorCode) { case KeeperException.Code.NONODE: return new ZkNoNodeException(e.Message, e); diff --git a/src/Kafka/Kafka.Client/ZKClient/IZkChildListener.cs b/src/Kafka/Kafka.Client/ZKClient/IZkChildListener.cs index 65c8513..4c61220 100644 --- a/src/Kafka/Kafka.Client/ZKClient/IZkChildListener.cs +++ b/src/Kafka/Kafka.Client/ZKClient/IZkChildListener.cs @@ -17,6 +17,6 @@ public interface IZkChildListener ///

/// /// - void HandleChildChange(string parentPath, IList currentChilds); + void HandleChildChange(string parentPath, IEnumerable currentChilds); } } \ No newline at end of file diff --git a/src/Kafka/Kafka.Client/ZKClient/IZkConnection.cs b/src/Kafka/Kafka.Client/ZKClient/IZkConnection.cs index c9dd1df..099737d 100644 --- a/src/Kafka/Kafka.Client/ZKClient/IZkConnection.cs +++ b/src/Kafka/Kafka.Client/ZKClient/IZkConnection.cs @@ -17,7 +17,7 @@ public interface IZkConnection : IDisposable bool Exists(string path, bool watch); - List GetChildren(string path, bool watch); + IEnumerable GetChildren(string path, bool watch); byte[] ReadData(string path, Stat stat, bool watch); diff --git a/src/Kafka/Kafka.Client/ZKClient/ZkClient.cs b/src/Kafka/Kafka.Client/ZKClient/ZkClient.cs index eca6791..e37c636 100644 --- a/src/Kafka/Kafka.Client/ZKClient/ZkClient.cs +++ b/src/Kafka/Kafka.Client/ZKClient/ZkClient.cs @@ -7,6 +7,7 @@ using System.Reflection; using System.Text; using System.Threading; + using System.Linq; using Kafka.Client.Utils; using Kafka.Client.ZKClient.Exceptions; @@ -88,7 +89,7 @@ public ZkClient(IZkConnection zkConnection, int connectionTimeout, IZkSerializer this.Connect(connectionTimeout, this); } - public List SubscribeChildChanges(string path, IZkChildListener listener) + public IEnumerable SubscribeChildChanges(string path, IZkChildListener listener) { lock (_childListener) { @@ -368,12 +369,12 @@ private void FireAllEvents() } } - public List GetChildren(string path) + public IEnumerable GetChildren(string path) { return this.GetChildren(path, this.HasListeners(path)); } - protected List GetChildren(string path, bool watch) + protected IEnumerable GetChildren(string path, bool watch) { return RetryUntilConnected(() => _connection.GetChildren(path, watch)); } @@ -387,7 +388,7 @@ public int CountChildren(string path) { try { - return GetChildren(path).Count; + return GetChildren(path).Count(); } catch (ZkNoNodeException) { @@ -475,8 +476,8 @@ private bool HasListeners(string path) } public bool DeleteRecursive(String path) - { - List children; + { + IEnumerable children; try { children = GetChildren(path, false); @@ -838,7 +839,7 @@ public void WatchForData(string path) ///
/// /// - public List WatchForChilds(string path) + public IEnumerable WatchForChilds(string path) { if (_zookeeperEventThread != null && Thread.CurrentThread == _zookeeperEventThread) { @@ -934,8 +935,7 @@ public void Dispose() ShutdownTrigger = true; _eventThread.Interrupt(); _eventThread.Join(2000); - _connection.Dispose(); - _connection = null; + } catch (ThreadInterruptedException e) { @@ -946,7 +946,10 @@ public void Dispose() EventLock.Unlock(); } - Logger.Debug("Closing ZkClient...done"); + _connection.Dispose(); + _connection = null; + + Logger.Debug("Closing ZkClient...done"); } private void Reconnect() diff --git a/src/Kafka/Kafka.Client/ZKClient/ZkConnection.cs b/src/Kafka/Kafka.Client/ZKClient/ZkConnection.cs index 98538cf..0e5e296 100644 --- a/src/Kafka/Kafka.Client/ZKClient/ZkConnection.cs +++ b/src/Kafka/Kafka.Client/ZKClient/ZkConnection.cs @@ -98,7 +98,7 @@ public bool Exists(string path, bool watch) return this._zk.Exists(path, watch) != null; } - public List GetChildren(string path, bool watch) + public IEnumerable GetChildren(string path, bool watch) { return this._zk.GetChildren(path, watch); } diff --git a/src/Kafka/Kafka.Tests/Kafka.Tests.csproj b/src/Kafka/Kafka.Tests/Kafka.Tests.csproj index 92fad35..e7ed86e 100644 --- a/src/Kafka/Kafka.Tests/Kafka.Tests.csproj +++ b/src/Kafka/Kafka.Tests/Kafka.Tests.csproj @@ -1,124 +1,121 @@ - - - - - Debug - AnyCPU - {1794B07A-8B2A-42E6-A700-6BC0E7B8245A} - Library - Properties - Kafka.Tests - Kafka.Tests - v4.5 - 512 - ..\ - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - false - - - kafkaclient.snk - - - - False - ..\..\..\lib\log4Net\log4net.dll - - - False - ..\Kafka.Client\bin\Debug\Spring.Threading.dll - - - - - - - - - - - ..\packages\xunit.1.9.2\lib\net20\xunit.dll - - - False - ..\..\..\lib\zookeeper\ZooKeeperNet.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {a92dd03b-ee4f-4a78-9fb2-279b6348c7d2} - Kafka.Client - - - - - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - + + + + + Debug + AnyCPU + {1794B07A-8B2A-42E6-A700-6BC0E7B8245A} + Library + Properties + Kafka.Tests + Kafka.Tests + v4.5 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + false + + + kafkaclient.snk + + + + ..\..\..\lib\log4Net\log4net.dll + + + ..\..\..\lib\Spring.Threading\Spring.Threading.dll + + + + + + + + + + + ..\packages\xunit.1.9.2\lib\net20\xunit.dll + + + ..\..\..\lib\zookeeper\ZooKeeperNet.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {a92dd03b-ee4f-4a78-9fb2-279b6348c7d2} + Kafka.Client + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + --> \ No newline at end of file From 58399ae895899109347ef93a047786ad7a7ea542 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 18 Dec 2015 11:59:50 +0100 Subject: [PATCH 2/6] Added log4net pdb --- lib/log4Net/log4net.pdb | Bin 0 -> 1111552 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/log4Net/log4net.pdb diff --git a/lib/log4Net/log4net.pdb b/lib/log4Net/log4net.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b1861586d8a94e285d32da7b6b9e25fea343367f GIT binary patch literal 1111552 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 z�BFKc)St`>EWbm8(M0il0#{SH?XKJwinT3IC!t@s(W za@DD{cgB0~7p+{4idOuLTA39o?bVN7?iQ`grbH`#My*`6D(&>wnKy`5u4Y9menzd# zWR>=O&r8ijD>Gctil0#{SK3N@_^TRoMJrd}q7^@*R?fIe+onQcH_^(OShV72)XJ5- z(vB_!+e_+fv$V zM>AM8Z2?^?enzdVektv~%Gt(=R#wL(Uhy+(Wwx!fH+Sr)AX=G)i&p%MTDcNe+V0i< z8Y)`3LKm(08MU(Vq_h>QyWbYAtVoGg{ES*zfm7P;&DU#fQdZ_fD}F{T!%(R9Pv@%7 zBwmJSO)Gvzt*l0Rd|BrRUP6Rr3ewQ|L!w6CW<=r3Bi z5)-ZX8MU&iqqH^WPRt=%S?v+6_!+e_BUai6A9VHf z6|MLgwX(vXw63q8=M}B2Jcw5Oj9OVOR@#}zAATxYSw$AD_!+e_lULfi$A^s&t<3O6 zD}F|;tP&{g*3qN1bD^vrh*tcJTDg)`+Pc5anJ)3l6{cv# vIHkSt_Vh2Jl`A{Z zil0#{D{V^q^8O92Z^{asXvNQ{l`A8q{jTb)+7ho^If+*Mj9OU*P})^{%4*}UtPY4) z{ES+;x>DL?os-JquXfcXTJbY#WhGc?N2jV#U$nA9EL!n1YGoxsX>&d6+(fjp!XR4l zGiqf8Txpvh$x%qOvNA4O@iS^=RbFW=jhlQXT3M|Zt@s(WvT~uc*@mSmC0be05Uuzb zwX#B?v@U7CoGDsa!4R$Zh0|sY)Bcj7WLMG3ile5*�BFe--bJ)TvL4R#pW>D}F|; zTxBY4%F)kjiB_&YMJs+rt*izq?b$b<9ucjq5{Xv)j9OWlQQCQjU9|JOtk{TF{ES+; znpfJ26E=M=@fPPh(Tbl@D=Sb++cA6hd7_n-Dbb3bQ7fyhN_*SC{9e(@Dy(S5 < zMoR0tA>Vk>%GI=J#m}gfRUM_Ra{0|B(aLI%XvNQ{l~qNhy_kK3MYOW&C|dC|YGoBu zY0v%j@Tq8JbyKwBXVl7yiqgIrF}kT}Wu-;5;%C&#s=T>XUS@|XvNQ{l@(g0 z-M%tsQi)eqZbd78My;%@DearP$F;eUthk9*{ES*z)lk|3zwPKF@ycq4XvNQ{l@%PN ztvjinc7BtUAJK}RQ7d<3l=kn9iRq%8f2R{V@wxnrWVOU6AODK^NR6w!*GQ7d;~ls5IxQ#5eF z?Am!#?#75#{ES*z)m7R_FJGn*8)UUtwBl#f${io2t>LxoZ_&z~Akm7SQ7d;Jl{Tl- zp);bDyON?6KciOeuqkbp2Jf^rCb{z_TJbY#tm!9Oxhp7I@iS`WPNULx8hci&H@Sl;TJbY#WNnTj9R%Pue8r<3>zp~xl=D%@iS`WuD{a0%(ZxyXk|BmXvNQ{mAmjto2Eei z5~7v6^P&|$qgL)5EA8^ze>M}X+));-_!+fwM@eZd9}d&nq}*u|t@s(WawlAA>pZ>N zTH=*Eg|{BL@Rzqt?Z6a+JFor8c4jdYeKZ*XVl7FH>F(}P;i}SwYzb+;%C&#E&!#y_2aAJ zqLtkN60i6fwXzFJX;)6$*jBW%J4&?TXVl7_ZlxW*sh753gQ}G7hO7xd#WmlbO#m}gfolr_!<@nE9 zUC0h8(Tbl@E4zS{HpkMf+Pa+V4ic^S8MU$lN@P^*yat zi&l2Mh*tcJTG^eWv@0@A*49&H*N$k#�BV?MnOQ?j+kKUbzb|TJbY#Wmk{V{_gxs z57EkQAJK}RQ7bz?ly*|(FDHstc7%vl{ES-Jb)vLwT+3+nCc9BYD}F|;><&}f_Ak2R zk$7d-m}te%sFj_QO8e}WV67j^j!MyrpHVA2WR!O6JNF_Iuk4%=t@s(Wa_3%Ycg=jE z#VdF8MJs+rt?af?S{Lu@UrD^O3q!QxXVl6L45jUsBV>|jWoL$H#m}gf-4RMVw)p7@ zqLp0}q7^@*R(8!O?dU6CJr=F(rV*|98MU%=Qfb##{##qSk{y+z6+ffat4^4EET z?OZ53phPQvMy>3yQQBWt)yS^d%Xgv`KciN5{U~jpbyn>xHUz{8(_R5Z5%?4bfR(6r8c=zxIqgS-zXVl7WMHO%LE#tJdBfA(yD}F|;>_%4FJgq&ndXrtsq7^@*R(6dl?Kj`_ zJu3Ffu2Rv8pHVBjnUr>ZDFI6EJ${l}rLozFGdRp^66->u!&Q^L2f)W=@ZYiWxIhkSNU zRLMd!wJ^*lm3W@bVsxSFkJxI;oe^@2g)DbOwo+Hlfv}vNMxrjK#vx9eNBv z(_h)iBb`P&@ETy{)~--vdeO3ze2DzwR=S*W~F>&r>ye|EYtG zPe8&ct(1!tF{c4zxl~mBCyT9rh51`7{I-oHKi^C8#_zqo`t%KQ_3RfM7$iS~8jHTy z?U}LfseGQc<5JvZs&mQ!duHO6t)7KgZU-Vs-iLt@Am8izj4L~h4*TO8tw9pXl2 zhdx$BZpRH<9O8-{;znkN-nS#S0;BvAFDTDg~t}AW|+@`pxal7KC z!|jjz=<&ZHzPNPO5I@`uxWjNW;tt2nggY5mbklG%^LaXM7Tg86S#cNQX2V^JE4mH1 z+4;N?HwW%_xH)lm;pW0Ujw`y8xVia!3O5h#W!${DS8!c$AK;4aF>XFSKf%q9`v$iF z?pxe~xTzU1M3)Y?5T9iLDU6#Nw+L^s9 zI7k~zi7RF6tX&bX@0HKewu3;9#vt)D2Turr&tMyzfV&_QG#97}oxmSvz$!Qb*Wfus zJQ$K0|MdC4#4Se#-O>J~JtqA)k8Ny^!+1GF>rOJ?)6+O&i#x3$4cdCr=_-wSe*Qz+ z`NeQd*5~>W(nwxC&58ZB-4*c3?`n@MAXN<+T};*v)Ff?Qzf zCSf1=Udv_-^BLX-b-mWkHlEo|o?33VV8i#y2APLxztpGCHMU_hV}o|GRT^~;rmW(5 z4i0alnlET4L@YDfxD^{u8EtG5=r)Ak_UEVCy@pynwfSNv>^xz!RcV#2WW!Wj)pf-x zIq^oYl|GjAn$cFVRNnc3PP+ysOc01cN~i2BVX~d7-kVFOyugY?QvEj_uf(n0o_S*O9rm&BmC`zrG6B57l^* z%{Ip~rn7@|(yDa$AzMj5W@&gwn#S-*(%4BFIaM0<`1$34n5Lm$t3)g>7uKicFxKfe zq){X^4SosH-OE=l9HdS|u;~GaUTIXF#=n2)^Yn-|9*D%oZ?UnOvatzoh#K6gx8y@? zEQo#vh>c34Y>fYS6W&JE9*S}?A&0R&Fo#OoEX+oJ+bbxB?IH3srbLnk^RuKKRT}d4 zq=D8LrqMZEn^XPgc_eAhaFOi7`hb=kn@9#;+Po*R0kS2i* zy#`x7-58xkAayJE{=Eq+;gnX@ZT#Ecm2af}RQprob7R|uywTP@*g7!0t?D+1bb%6!xQpdU-Y{%r1~HN~i2(mK)FWUHEpa%2S?g zlEY}{57;?P*{RJR-2L4>c$+&qsrTpD=t(#Uqjbv7`1k4Xa|mUpvrLdVjD30^b}m+S z%DJRon4K}}58=-zs^57>lGc9GTC39He8OuN`bbBJPdYzGlFk9r*e&!IL3c=@#R z(}tgzm3jEF?iqP$4ElA9Q|LKXrYJQ*j#pf}$x!%OyN2W0PF&ivX~|)X;{#h9DR3o? zl%a8ized%sIU8u3B6X< z=joBhk=+)DxDtoBdK{%KWhgaOrurN@@;LI?;t*Hj5Lb_*6n(KwXdL<+H>{qGc`0Ix zLtH6yaU;8C*XOBW*Zo|IgkG~3wZ$Q>9@ZLqt*_5JBM(>77OoVo-WGaB57MINrHEnKq*;iSCuxr$The8<=}THC^j z%hcK;u3o=cx!0FHw0-IGh{)q;Z;L}*i9_7T;?U3Wk+<`1wm7=uN;~g?tGAb8p=B<4 z(a*n;$I;gohqw}lxVjxhxj#@mwB70F(8$Zt%NB>Y5!<>;A&WPRfrYRQPQWdA3F$Zq$-SeR&;(;(M_&RlQFwPaOj4SgX5K7&ng1a5&kh?cQa zUz@vN`_eWo)IMF~{(tia;n)9U9w^~vgJ_li`|kZmcCSC&ck&aW#3%QMYrXHD3}q}f z$hbx^ayb9z-oMJ%U>O8CjB}vt9$qQJ*kU1PySd ze>B9Eu+H2s5%)RYN!+qOO%5s3H?)y-BrMm{b;N*#@|5yFr6TN7ae-`6jp0M|<#<4#;{ii>x>xJgF{w#e-9lfwKSu&fQa^2d}-N%Zj z*t!l^_GE}&X;h!4Y1^_J*FLS^gOGBPKCNt&wRSmdO99&79%wQu8|9kSW@F5*X~L(Y z#HVqWC@CWp<@{Npa6V^&5dwRLq>M(P???`vV>y!2n0AITx-1{tb3cWCE|a=0?ym&Z-a zy+wV@&!D;LyrK7pusMH}~bC2GpBfnqY+!lwpa*okm zi6gru2ls=O9eR6>JdUomIJ(*5=#H!BML!Qp9CE(Y+oMxxJC*iY5aj4@i^JO%R>G^a z_4X2Z8HCuvi7RCwu3iRmhqq8@9D1EcZvRMI9O6nD=&qE3#85c&{437|${}~UJ5iC| zFa{RFHaG#d;0E1UFRQ-}TqwJS)+5ai^9dZAs%A4B9M;{42m>VaZ8k#r#%_LgJ zP{?`X8m{c)lQ2prwo6%X4vN%v@fSNH_-lK&=#RwfqJ<0dXAgQ%fOd|I*|?zZ%aVFA z&LQ=(chc&CWa#5zb4YeXX#Kb{ZYI8`nc4bJ@zAkgFyHHWbkg$6M~gHk`ipi*zm6}xrFT9k;8cXH;zX3X>jD%f6nMdtNe}q-nh@ZlaDv; zGIU?KaZkj5_JbRBZLPh%c}ELxaFc!$7GD1~c-{;`+TrG$>OGHqAK7(fIIUp@A^j-! z*P9>wXRJ|kKeaa`19qrmJc%q)<;Xtz-d=rzWwU$C`n*2(le!RFRXUN){U#vT80U2K z`Cr6z)ch}_$_(yA(%Bj3bn+%iMH~^+xhn%Fhq3)lBAw%LPABsG$eN5C#{5hsonPXd zPUQL78A&=*NawD}>9|NI<}jAqRML4J=X4@3w+WG?GmUhT47808v2NGl(^2=NU)s_! z*3Wd(N&BC4Tzx$|x(9jmjcGrMJiWfGn?)?Y8Kjrr0qL@)&Q6V*;*B115&XQ6XF$df$!Q z4)z0ScI?CzJH82x!y{ZAdcTZ3j+3@HPTAr(9U6xIQoZ+LvR0)+tJ+?M-N=d zOV7|a!ap;m-ty21O;Ln3p&fX`7+46~-~`-)H;{>etR&Qjt`G!M;7iyAKf`lKl@c8! z9C0rJ8EVzIJHL^8Byis)#;aN=C>&}is9N%%u0cD7mJ{PU7l0}+F`JX>Yi-g#B%Hd2SY@+YuHn=% zG`S^d30vBh(jMAFH!({?pZBUXo)O^#GN89Hr_kqBi}3w5$ry+6oFnHgIp>HivcF!+ zU=W|>8kp>A&w8*IB_t=Ghv8PR={N^lhVz;0WXs36b#Xtzt!MLZj5~tQJ#C*kS6V{& zpL3;UB(5LsC|rMBNmts{Xg*J}eV&RthR@S*$KuY%9f$k5&3_@TobMLl5+>ve+{w6W zaHrs|#g%y1;}Vzl%m{I5&x}mRJdJ1pXcEl zxsxW(Y&6hZXUiPJcjdM3jx<(IaXNo^D4R!X@0A5rH(1Dkj%JJR#|Z=w~%bO z>u|HDiel97AP3u6k%3sb?V(N6KaBGO6=P5Nl zhxxNc*h?RuV`jI$MyTwTK2#I*dUDe0jE}U}ur)%~CbfBfd0eJo^hRm>?X@;-Y}a~O zM!v@GN*KvkJuR$rXn$a=v*q1MD+fL@erRK`{Ap=p3+IL_eV{#VI^0gUxpAeRxZrl? zb3WWIxN>g(2v_=VS6scHma#aq@+0@P<$8!s|7}AjTIFx-|M`vUb^P{2>9*EB!QSox4F>xMSOWuD z(+kws{%pVfAW4Q>v$M_V!hIL7{UJ%B95)t9qvbGGdpGjEN99}YJ2tZp5sl2L-r)8n zjOdj{`n33S?XJ1f`r`JR2l{W_i}fMU`hYF6!+!^6OmYfZBRYRovvHT@5!ecP?c-QRAYF zt$I6%{2pQx!ie4CN`DbozlRupU!h)?k*~)zwZ$Q>*rB`O@5M?R(d)rUs}p3}HOxy} z`|f3n!vj~^k&LU-hCTV58duhMWK8tJEoAdAirbIR#c+LaWo{FIE7KHN*J*`27#BY+ zK7U*~O2`1*;kfu&Lim3auB69&SDPa<-__>CpV_{b*(B!)?RjXK3oqgGB-}MN|Mj?& z`OI8Rn*(pbl{xQr+!?rgaV7r!xHI{D0QXZ|HTRV{?`%F_#+{3M6_=T6$UR&M_W&0g zLLTBS#C?j(ygTGC+$FgG;4a10&ogpXQs&-@g}@1rZPx z4GnccP*6ZnR8mwBghf#iP|>hh*vlVXcGqQ5@LyM@q{2j{M6)ENqC&$YL!&~Yq%^Z4 zBc(#Kva%whvZ8!H-#K%h``pU~7tmkt`~Dm~e0QGtcjnB@nKSduGna$4T1&ySwk> z_VHOew2xcwJD4)JKz*VAME-n#r;v{IzWpNk=vpp6(N|2GQ$@S8U!(e#u04F-TpDH9 znKq)LVGXQ#O8lM#wg*oJ z4+f>{q`jE4@>=bq$HUt9R8X=!4eS@=9Rm)n_Nr0KkHQ&%w}a)c#l7B4r6jwuK)O4)6AN>nOD`=tNx-h0XjRNF|h0V1Uo(tPKLoZu@Key89q;UM(XR*_yKb71zUE zE;qk{TuQfP~b>vvx7Lb^An-aha7d-|ij(%^@v_wZPLW>l`3rPXW& zhxH%)&8Gns-{W}QZz`^Pa+j6Yp%6}=ig~uY-E95h?dJTmo(XP0gYfT%;lJMb*ZMVe zAH*7X*L_@y?{UPx5>lst(#X5Fezp4`N_kutc~rl1$9MFVdFN5<*WI`eqO=@;m!Fo! z&6Kmy%i+CA`W}V#@TGgg6yM{xEEs}&C<|L-JCFXJtxKgzAT5iJz~d*K$IxE&^|_|% zn%Og&Yo^rMdb6FIfiBIXgj}(uOBAux&QWBo%2Bnv!P!e9GGxfcb&dt7uc#lW^eB2e% z6?BKjvc89!K$;Pxc_yY&S+sqste7V5uP7W9uzmOiHFa}x1zp_oab2vBFNo*iC(3Za z#ZDOhradZ$UK8iza(4`km>EvY)illPPt&BY83?*-F?H=pzRJ_{QGJy8w5%7kyJO$Z z*LZ(FC)PvfIOWp){Z{I6UJL6HuhVGZ+*ZuPxX8oOy^M#nUbqb&E@>eTDYX&gxS2ZX z41@CXJY0@@t~ZM7;PzRC40&8yj<-{X2Cu^|-9uBXo6d}KnqQ_2`b_23Ud9{rIbFBY zG8?40j^5|T>}_?Vn(^tcJO&`}@$JMcp z>Hc^JbzI%TI;N)l7WNstv!j%cYvLL%ttXej$GR5sp*|B-Hx{1egf&#Cnmm=C=i#zu zPcar#EbBd$<T)jE~{|%^82*ch^Nhr{(=gc4c8K8dpFszkAs&zCeEGe51i*Wj`YfJe9UhG z*ag4vouKcX%HIe7`Jm?G3qY+OE(Fg26+Q-3{238vf)jae{9P3GG%GlX(MxX>aUHn5 z*!DjM1Z1BqJl8*7k5&9_do9_p@1ihGearO+&g*e0<)|K)fs#ud*d=1R9(t})W`VuH z22k~A1XT}(dp*v@e>r~R|J@1yy~7T?`0tr9{_WgYFYX1BbKa3j+$$-Z0cpcCwYA(0 zm2-`=$@o)$y_6`etY~i`BwX?}uU2=R0lG_mT_%Wz@3A=*oqk1nO{}CXz zVqPux6L1i?5fp#VgY@?h{~~Y`{)@pEK=tt#LG|%pg7m+TUlXYO7f1Xk2tTp@>icK% zB;EJ*PM{aWNW$5>PQ5#@_XOp}gm|-cY_fQzUle5bC(2X5LO$Wl-Jg^43*RwF&bAgU z$Uoiouf;t6k)(Z3()PCYE8q65vQ~C$urp;;fTeA(vTglVzU=lfkG+$$R<_dFnyh@f zE-~E!CFvwDTLYE9zvz&dPN?xIw7zyAw{v$5^`6XgTZ3f7dIT>m6!f0{%p4K(I1-ee zRv(bQmH!}+b9(vSU?0$QhI%0Pob$zs-h1nr#)ax=Yl-r8Jeu@s+rCLYcCVD`Xm)$~ zK5=|ZC&V1e2(6AsqFMSRZEJRO`8-aEc?gw<(DEqg6!Bp;Yxz9Rhu4nQdUghuLD~^Ozd*5GoI$ z<)ItmdMA099aKJ#%VHiv5!WlsQPNLj; zNNc6V&vD4NwOLzU=M6 z&{$|bbT_mS+5+{)s2U2*g=8zr*4hkpMR^Z^8leTy8fXL5g$cbcGy<9gErC`-uRy!w zDoEt}OX#`aPKqd)!r8B1F?nd5adyAx{og7cDXxdN12Y$WTo!xYmu+q5 z{loRlQ!*@Ye9Dx#OX2Zj&SUC6Hr63c z98+iF=p&WAS+In9UD!0UIahcIrbsQ5V{u>g@;1ft>XXvw6O=c2C*?^lT}ihbQaX?8 z^2D?#D^Gt{SqSHy+{~ug&E%mz(Xx8j83FGPC-{4vc2N!{xfs-+j0xw@ij|wd5o6x`Fhcu<9sfOe5UnzBYghT`IJ6S@!7Jr+ZgWr^0sq*IarH+9B1?r z$KCstty!FhJ|DlSRGaC0YP}~^Tn~3yJXb7>@a|mtvgNWUZnIZOI~OwhFB@z@ycwDz zxi{!PnAaLYuY;JcVmPb;+kjPg+k)cZ1j0`Qq5NPF!fw|&`<{_>SLLY+_%f^LTg6L#X{Tq2+N}W+-PG#m5B5 z?3*k%dYMC|Ci`2L#5~>uGQKnK1+^BQ4E6$RKwAszH?Ty9XM7#3I+~qQzK)lZR&^Ar zjzZ&4H>`C_)=g$>l>fe;^Jno2jECHn? z?gVWOc4(#|Q@DSwkqOY|^lV}a983IKO^mqDkxupcJgB4W+DAAX`~v=-;Qe4f@By%Y z3_lKBiC^>4gCPAXq*I@I2>)ns6?i82WpFb16;OKm5%4PTQSf^3tKco5%Do+2gMTsj zH4xsyz8qy`zJZ^zLOjaIJcge#GLM7gk@+S_+RQqTv?1OPBmM~dHqT#({$GJl;Quwa z9{h8B{#Woj`2Ple7i3&zo&@##ZBK!nK=Iibd>X$d?(c(D;4`4Ujr;+~o=b+Z^GAV- z&)!Mc8|(*Sn&jCF344GifIq>1BDfK>_B)zVWf|*CZ?}N%-w=cbaU)uNpzScVc ztKa}e+yOj0fPFo=1DIJ3V$>XjUw;>#^$&ifb*JBmle2w5i(AQC{I;ZSOM3k+XU}?t z=lWam;Y=gj8G2K$F-p`|5vxlu8XYEZiH%$S$zw=e#4@T(V`3#vAH zelR!|zx3~Upw_|K`#Lm+SAp95>JFX{N-tah_6IKnRj-MlDHTVA2CCIbjKPdRyFawz$w{PYv7%y_l$7Q_@zu8sUWS-cc zXS8>4vnXF8s|VGiC5OGh2K?>8Mo|6ma!{?PaLH#jew8){l%CXc^~Wpl_Xf2$HVD+- z*zqy^MDQy7(vuv63-5n;-JKta|5|VqcpYf+P$}N`-WB>?!EgP~`r1(?vNDnGY4XuSXLR+B@D4gEV zP-r652rYn?LaU)?pe;~4x?OK*C^QLbh89CBpr@dhpl#6ZI%yHNGZ`PjsqeVkn{QB_ zJ0zYtDB1thT%))i-jehG;ZB$ME`3y8!<6*7|McEq`tHB7cM1A$#=pUxe?|L>@tfkJ zdu43NGcLzZmo;&*jBMfE`8G)7vh>>^UyBbhRh>CKqGa0vx&F=N%Hcx44^TEd`X|$l zxQg#_WW%ffGcQX;;==w^vKCkP-aIV{59ezK@?7CsAC-hB=V!H-L2xP@8<3wlJfkkB z-;EA8RUbhdRiTgv`}~3R^BZ-K&e;uo7>w&ryf$wTFZtPR;;C$nqjbK_Gx$t=Mnhe# zUCSe_x$h$6qB{cXhuB55#oh zt8Mvou~`adjlFIaG|(i{Jm1~QRvzk`>9P~qj>%n-Lzv=S)Uq|ItpTMMl;-rfztGuC zF1;^ITu0&z?h$pzNIt~#v3mMEhBw2lero71;(aK5Z=%yEy{D1f)Zef{(|tZ!!z*0< ztRy@+-{^8L2@hl9Skft6@+}DuV?r8UvIA1#tkW7BgQ|#Ew}(7bg(!*=`>U4G`Uo_>l3@sra?D&oBAHd z0CgN(y%>$I6K#6_;jvA})-=t|dGS_PecP~&!K^eMPjZ&-Vh?wR?I_(<5+2%NAkURv zx~n9-s2ycTmV}3XpmtRHPTPlv{0H&e+qsaw(1xY$oQ~5xuQBK0VGL9Eb=3Vkbcp+- zj8wM7mrmz>h{uWUONTc!>O;8dn)=#0U3C`vLp2?BEqR|#-akp@t^SZsOMfWRE6Yfy zyOj4L-Rm)(>Z@^8CSB5pR3Ghqt|sjU;`ZukZLWT+F_%u;l$(~!4^ji^Ft009oIblr z>eH2cS3xs~KPu*}{;lztPEX#ZC=%sS&{wXvgf4&W1CAn(xxI|v1Ibg}IGyM2-gQ&{2o!LC|ituBS-gdh)=eS+9N=gH#HMBeCp~_p2Nb4v2v1ZAB6+G%disE}5=kuhU z$X+ri2~Xx2jR%!o2sgV)&os^?*K}C1{08pAyleaV-Umm@^iLrO=NziLZjP{{xH6G z(U|b%PH6x2)MXnJq|$gi)kpFlk}c9nq5aZ2sU$pUf9Y}+UkGPhgi<-3Fubm2_H5HV ziYM7`A1_y%iWYRB=Fu|oG)0Db=uq!#koJT+_9^Ipjo);-9R6LCb@AA9{WGC68R61n zZ+~PxAeJ5Ve=xFx?x$_4NTc{3$NSAG#c~dEbUBOvlJFwkuXZXI?&C~67Q%~lzsi^V zi^9cmTz5%ME$ffPGIAU88ul>czM{b%9X4X+>Z4+RWnm0vv%{??*8| z#^FivB%LSQBAw35j-RuJHhCH0PC|h7#O=gO1Ep1&ngh~lr)s7Nt6CdlDpzR-A-s7o z_=TAE1k$QYq|-KPIZ2$N_Op%!AvG$t~s*~0W={T&_ z$*(zA8!IKgCR3jwH2N{bT@m>@inN-y(rI(`SIlf`sMkKo1vOk%!FLj~i4t^(=hI9+ zKj&F@UZhAi>JKsx)A>X`i_$G8-3a2f?r-U2i^;4>r*nJN%hFjtt?_5E8LzUWLs8*H zX{>*ZuD_yTYPeS8jJd`9YJXCD-*X1+dLGgV-mcoe96{&pGtlyp>`}o*yi9G%u{#tS zmN2CqO!=#zUidGLX;lwRU+KEn=BCxmsf(YO$HCy`E05P8$)f7mU9X4pF@!o?LLTjp z+x0wr9%;Frv~RuLj`RJK^>Gh(7JRrn06p0ddCG7VK(d`R``o5zkc57ydgQ5t_Jx(+ z(;SLC)jv+l7R}*B`zO*nCE-CQ4&=GgOXrk?hq=k;7U`Ul@I+^duXXUX2)<4x-nFqV zt}6@a&?|B8(B;{(Ij2~b{=00O>=lH5qbP9)BFjxK%h9vdlTb0Uo15nFxx6k|z=>b& zsV^tJ(t3QC;@*Kwj>2$OAIWHc?rbKEhT7!p=w|p`Ogg3Uc#?(Yi(xyFh315k@Du#(ozhFc zmV}?^ci$*n^Fm2@kmYeace}C>F1zybIWwDbk$u^f!$LgOYv=J!4|-Z-ARSNhW<#x= zE$Ye(wnfO`CgKc_vJ#IP7o};^b8R=$EQG3vw>XtfE!eK zlq~S3^2IKd-C1&nMho>oIHTn{)%8H#Au56Qacbb`4nhv^;*dk=^TWf$WCn+R_)V8h z;UtR<@H?3FO6&2xZw}vyEM%LMgeS64df5ae;Xz-zKGob`5+3xi`o7Z3t|qw1s`MXr1o&Y*cHJiqp9!cL&oq&tr2x^i7>}WX>O6Gdl<8 zx%%1KI?J6=Fh#AOHo|)s@=`vYR{SfE5!oG&S(RA`=lyeCP4l#dreJ=wT>liW`Fu}m zRjkw;6%yS$savDh&Bk3x)h=w(ehJfE7=L4^lMa0;4^O9hsXv^tlX|J&mV_6LKlRs= z@S-)K`c6rBV$ZnUQV3`Nnj4x(5_nz=&)2}SY^O!Bu1ce}NT=D&JKKtMoWHa0T1DnK zt&QEy<80`!T-LksdmFAtUnRo{kiFl}#uF?$_fk05cpA;5@jVm_^EN0O{&Wx(8t;NX zF`W0%8JG%ARQTBsog26J+u7vZxaQf(8hp6%)|&#n!y+G)7SI= z2CoDUqT-5o2#CVU9}3O`S+-}c0(EXr;Vc`&Jw$NaV6eDG%Q{oq~T2f&Ymv_<}I@I&A|;LYF)@FU>kpz`}Rcnkg~z}vv} z;O*dMa54A-sCd5wKZ^e)@MGYwz&pTfEBhY16{vU>5!--w63$EJa36DDkhaL55W`Ob zm*PJeycZk=(nk3ULE0!k5&QypQN(GW^1m$l=YcB-zY4q`ev#*Q zfwXmgWei^h(&qUugAajU2Wk8KH)8lYkUo%qF8Y5CK8*ht;A&9k7ajqB8^eDOK8iov z+RASOeieTuxCYz@{2JIfhVKV{9lyR`QhoY@-@xAwTnnB6J_eo`!`}ryj{n@~9}j*L z{{)b}nLj^1zYtuHeRO{|}Qhk+ZxsuV;3jY=_%m=A zxEZwbX~$&bbk1yFzFDqdho^!sYW-Q8%;fOABRiXN9oabE7j3aGzaF%&v<}YBuuczH z@Xri>#n<^$IXe$HijppYP6^NK?Av+xD^vdSgTGB?D0p1z`Fn{a8WX~mUj?`DR-ol7 z;!VF+1`}u|AL1x+8%}0hIoBu8^xV?df+xxw{B5x4+VE|)h3$<7mX=h#t77=^!EgDU zL^%V4-_F$@j=yd2@2yk$xb2@0NWbIjjBwYd7c z;{P50QQ&LfvEaWzwJQ2MoT+>r9F1S`&jvB-!dc!dc&@zQv>2{ANB%irEAR@iHMlT_ zF9Iv@-wL(?ZwD*EkAm&MkAX^$ehlR?-UEIUUmw}4+8Sq^Ep9RkY9|XsNUjoO2 z4}lZFRiNbZHBjkf7YJVhFW~tr;Dz8{;`6_Q@Rry3gtt7KB;nk)>;`ztcLU)q-yM7} zcsMv2>0LsF%UQg20hN!O<#$X#m8J2K zzW1a}`293#Bp*A{?Uj(`4~;MXZL*v3?;GN|?qeR0XHK%onU#Hbwl>7V9z`yQInxZP zzh420`zt|dUCB@5;~M!{u{uD!5hJ^fJ!eOgwjRxd2a2X zHkb?9{8@oMu=c2>4pSkuf%HimQknBQNjKVAj>7k6?Rhpo#^cOrsMD>W>ZGz&=iBig z3@!$xB|ZvDzkdu=D=MB^SSU?(2hWYy!|`eU=@fZ9xh!9`^fNn4kxkwY43t%5`1*n-_;irQ4<5y3802~Rf1l1M_p8_%t^HV{_ zVg53ZahSgnWE|$N1r_gl@XPpb03Qaw4SogGT4go(eNgeFdmhEFdE=|#AHX%BbPwY> z|0huK{tSK{|2wIm{D*ct7x)_|d1Cb>NBMx4^;Rw?WPjWmsS2 z(T71E!$GB+8Szr^JA~7JGv5X0#pm?T%#--(pSr_6{{irO;7#Dupta{Aw4ZDun~yqX zs$#pQZK9JIVUoJrJ|h^Jr$ODqGaIwB7{NWlxYa{@Ha?)nvE1I7nt-N5jv-HbZvH;O zud%FtUTpj58w)lUa5gS_1@tk{m-^Vbjcju6;~m76yyc#wuKM$NP-9>dco6t=Q1jR? zzy@$LI2V*`uK{1cuRii3xCHzqco+C<@Z;di;N9SFL5=g@fnNcY{t@u^_#Xw)>ES!L zKY%|`IJhy!doJSh;GcND3ETo&+nh-~tD$S54?*JEWl)2ZI`B+(g=~nK0TpiF-RRlH z$um#qGTVSa>d}{o!k23oYJm}BYL5)x5okV|h#+$`2?aI0}e52GF?24atYrZGQ zx;5-6v;#HnB$Ik@FZ_~qdr-E5o?i*>jbF0ow_5WHz>eStWB7-`eef>?JAyZq`M_a<88a13Bb;cWRr6zFOgoq9W8epyiV6{lF8qVR zlR)WK_89U*!BfFe;Ax=dy}L;%S_X$Nvd%0;u`*eDHqo0`LKlxh0G@#b=Ko!`?^!8{oxY zYbyM1umV*0Uf?D8+k@``JA#wJLt=P$um*n*a0;mXrKun`Zb*;qs_%63L!*Bbh^>{! zcFar%M@Ph_3-Phx!t-h148o^_Gr=2UxcU?}T7ChDjh4SHK4(78)Zu6T&CCLqg4pW$ zPsQ;2z()Mbz{^4AwM-Mpe3qFFGM{CdLFThi{#sD=N0$YB37kXtufQuobX9mR`*SY- zt>D$*U%_j^ZQyla+g28jaU1-M+sylT&Un)WdwIrN=6bLPcmpWAROR*pZ^VBDI3GL` zTmYU3eh{QDhIsV7fZE?$$aDH$<`(cQa1lt`gm7e;VXrEWEHjHi*|{GDsZ-_-@KNwi za2=@f*MoQA{|j;6vaopyJ&c@ive> zxcu$lBj6{&HQ<+G_`~4W@P7sTI@q=X+XLJWTnp|GJ`NrXD&OwlH}UrXkx{;Xe11Im zE&L~dPk?uV-v#dip8{8c-vb{6mCr-q)A+v(ejj`odT){tW-uK-w<$h-dxZJXC`HPE(s-iwCkyr;>~#`$g_ZJfUp{55zP_#04r_R8mS@VEGz zz~6y$z*oTAWB485AMh^${{r3vZUvXd@O#0(;lB@j4g3uF5AeYl{$=o=_#X!U1wI09 z10Mzd1AZHP9ee_0?==4dP<;IuY=!?>ur>G!SONYahQA83x0?S8*cN;}KCi?SYlpur z*d81Mb_CA`*@Mkb1=)km*Mcf%8pt7l{0xvi+5Aj!e~{nY&2$0Rfr|I-h);kA@O*vr ze-Atm|8vp*0{9O6FMFM~&d4}kVs`T^30wehyN64h`ce5_O{N2a**wz8lPu`IJReS5@mD``v!Vw z&z=ZaT$d{H*b820NL*WFZuQS4&-7fpRnoSVnX~1Me5~Z@j2PBE^}Jj7+w!?D>i)Sl!;2#BIl^Fnji;P4`vZFWTYL22nXE34 zb8v`L@asN^ej(iW?-TfH%f7nFpelq}{^Ls0rt4iFdAuUwvB3AE$unhEzTWd<`sZ#&bM4d?q*mew8{^#^VM;})|dGZ1824%i9Q_?N}4=c>`Mphnzr zphlL$wdx&&|0M8uP{v*LDJns!o1qZ}%X^L9> z(t5epnd{XiN~boN&U3ZNWuVp`b)eQ33cnGYg?~O+4{Ckc2!05>9Mqbl3Di1M@oxjg zmt-&hQjqt4`A5N z^sbH5uHm_l0mXB@ToF$>__$a_n4MG0CTHEWo>L!^y8+%L`}yDjpz0u*zaPJ3eiL{! z_(3o|9zKL${o?^p{X)+NgI~n2vAq(! z2z(H%0at-jKVTb`*VyJa@QU6?J&J!O&%Xw$Uws`^fBFX4462+fz_s|bfAJWo zR(%{?41N>ze)9?Z-@^Y%@Ck4!_+3zISmmSrizo4G|Kcg|(fC|z*ze)j8ut6(lkxfY z!DsM41O5Qie&i3qAI0z=gB$Qa3;r0?{^PUYk>EzKH~3Sq54Z``{@KsLe&8=at!+1h zCxAho;0yS*|M((!GWbhy3iuK@6;!-jM6Gdu!*i{1h0+m0UeP}ve3|FkSNSctIEF6) ze~150@b}>7z*oS}gMR?o0}lDE0+ruSB5nk?5dH%AXYl3tTx;1^@w4xi`3tBu>{jq^ z;A^1PvdSmJr11~@S@2(ANAN#jCy-8??*b~`0bncq*5}_zkoN6|5y|zXdZzdL+Zo6H zF0NM?1I4zXY%2XGY-LPi_cT><+DGZ+%tq`99+vovZNgFEx#^L@duQ{15xug1Qf@`2 zD&*IO_s0c3Y#+5v=CjE&EBB4wk)NF8Tf9#@oP5%{!1Aw%^PS3VlNlZPI5_a``k)%0 zo!`sG+N%EcK2j0eBX^oB!#XzK0c0H;=JEqT>CFoEueDdIzh5PM3uNc!vf&IJ-XPVN z^at*sm>=ulyewk1ukw8-e(BI|plpmoLCve2#|XMpScPBld&K9*MAZCLMfe#Y>*`=T zD88&T#jlUp0QTUy^vU6%+0fF=WW9vc5{XZLcq_`fQzW?VnL|;_k-`w9X@Tzv!a#V-^|~YItS}#$)Ad{(HL>pglxvSY;<0C^z`}$uB|y^?$liP zRGEl6OI}4<>2{^{_=j>XRQd2YihFnOo3?z_PHBFJs?*~%w%yGp&U>6+-A`JE-Sg-(ugDSi6)fs{iNnNO3(pt^d<^xfOmUZ8kOtzyHpF9aNud?jQBI z>8*;2@0|9#Z$EU=v!mDa+N;%9zp!dDS+h$uB78Gffu0br>WflsQZ=Qz+UGIZ^Kv~5 z!oLSnj|vWf#Cn7uvS^vEGyN(#h)@5XZbK|XW60e*h;xLOQRbd%y*pb9DUHYTd4Ts= zZ^}I2e7fGSw#kNe5}%SAx+}O-Gp5T<1En{Hf_CR}L4Q^A+~k%`0x&g9(<| zj4s#;b?Anj2MvKHL2tV^mOy&^uZq#rfq9H7*82jdl~8*@i*P~ zMBYowl*4bzSKg2=Cw|wuC*^3*P%d4c^C{

8+@n2cL@Fu#Pq%X6yh-s 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%0DKmtTBg1UqO-ysKYsw9!`_wjH-pE6 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

p`AU?lghI-V|o%^Enw#c+S6kZF~)_zdYen! z`Qw6p&y*V;KI{0+ub4*@ayDZN zlqt3u?*S0`_i5b0_*3wW*YBfk)_TD&&nrjw59T=3X+E`H7#p|1j+jsWd#%(Nr<2C0 zmz5*=Wv5gao%&vqn#IhbCr7I1z*|?d;7jjTT^D(Ossh= zgO&DwjcweLc;R;Zy2^F@np<1w9Pf3pe5Zj|s56`KWU<(haoz5 zIIwN6`)1Ug9GOr(c;eWh{<#?S#tZf>-$Npg_qL?{!P^Sj_-*Fb<7i{Ixdz(!ZEWKed|V07AuG$-bNs|; zKDBYQwR2?*c$>%i0bF8?i#B)e0rV5|#k0e{-nx7@WR2HnCv8ZKanbJ1y$$Wodme zd1txA7#DHKZTuzWTC6*Uopby9&#O^yJdEegJBsnk^E_6-qnqLwKAQWBO^)F0~KpjRzm} z7`OXQ;o&Zbm8HkzV0jmiM2G~lV0yl?~*jyi}I<D zKO%OO=9Z*SopIn-&S_)(9K@l{IPfj+kJG65N6ZdGR!Lse8xQ{Fyc))=G9LBD3uB#p z-@A-Qz43yd9Y8$(h`m=XDkt^i$sSyf<3|xswM|Oa=ZP_H81F74o_?eb-(Hq;vrKIXP}6>;$+$sW9v+HZNOuMltPgt6~D;+~dWrlNQploJof4)uS(oEYPV zvF{$lGPJYr15FDNVgxb9h3~i>?Lv(C2=>r+y4>Zp7C6)yCp-_lgt$VEwpZVsZ`2tF zW1ai-u6GJ2@6(hkz9rwYbN>+^{cyqD`NNz$k1d2)F7x6K5AYxASe^ygnAcl;aS(?( za=IaoZ-vi&xWs>`H(szUd7dcaQExohmiyf$_}zy~{D6An1zUO*b3UzGi60PST-cJ^ za|3g*55I+2O1z~5yYg6iLDT6ww~*Rp#yLDLlVfSY-n>jL#DfpN1s@~c(g`-W5%EE6 zD*OCKx#C;#8;oLu|9rr@;XkJxHpjzU=bGa4=~K@1Ct)vXFapofG{(>j~D%kt9&LO^FueOx{K?DHMZaIibJkJ0n>gSpH#~gG`~HgJ`|l{D%&_nw z$1Y*May@fL8D)kI@m213xQ=JdWB4*3ih=TR-yG$J5A!FvyZyTO!ULU?Y{`^E9Xati zSnT#+g&3QSf7C0lIT7-DgS^7{M;$rM%y{>c1vc@Mw24MH%+GEh{hus(Z$Z80(dY(0 z5j*(FqIXs*H+=9Dsow(yWqQEMR10=@tpH0I)2+eoyr0|1FPko9hK0R3_Jsm0Wrl^V z`J7`TZ0!Mwja*hwR#zl|uc3U2jVR9e-PE>k!u}pmU+Z6!rQGnaHXk3KK?4z=WF^@o z`A~1XFxKySJL{hv>nT@!OYT^9pOb$06D?Q&cOofQ{N$k!%Oy7aiH=46c*+frSnla> zLmM;wkITp7lk!t;_%JWMq@Uy;7%~$uZc6b7Xua zXTN-bY`t^rcw!^e83#7voQnx(?`rR`UNw_&s51`i#5s?mUd$)Gbkcp6I^)1roFngR z$Vor6>m2Hg(@E|9ymIpQMpAD0L#d7JMZ^4l#>OZ!EMk!R(gnk2eVcN_chkN+idew% z`_`Iv@6d@OIKOrzX)j`oiym`3*zykHiX9B*5@XyjMx9Zv%ymC@Vi6HjZpZd^qmCST zCiAv#V111F`xWKu znNz&9=;3SA>HRs>83%JdZ`XA^zgwTIX>ZIe=g!X(W85&e+lFWM->)busT*a64Rh$1 z3$TWv4V^6_&c*86_HB8;@HDKl({yXOnAlo=L2wjJzeSPEw3h{&(;|71arCh#r^72z=Soo8dU*3oOex)BvnPK5eZl5izD*_8Ud+5Y^ zW{)Fv#(@txN6yocqj@OH%S4@V;5%L>xH#60`o|~A6gw98^@;pI0rr5+p~jJ}_wiN5 zimyyBEMT_((DDPF^@ViKPrc^Ri0@2KBi0_!I8e-^-gsdiDbIEXbS%(=&ihxGU1GP? z8xKC|Wl-Q^uCd^U!N@K8_EqI{8H@tV+DQlG3%Q#^o{$N ztnqzJ=H+rU0NecW&!q3EWBM}Z@P28btv;sxnaq#$OSkTu)Ef`|;^W12<#E9lyOu4- zD*d8!T4rL5i@x%Akk6x0K32IuyW#U67o|b0rGdWl z{H0w_q|Y$&c4hUL-7w;HCx+Y(>h68G3w1w%KFQ8KC|7(d`;FK?D(J&MVjoUUqFkQ# zQIzYCu%@Tq#R&aJxu!ii8SLqC_=lvOEequ=OAE2j)0aB^Q(rR-=~J%wrmQbJ{yftE zrv>R#ZgoX@Vl4UIg1UY$>sspu>;|Nr#Zso}*1EwDWIZs8rOdG1;0KD8_@2K*{}t64 zCyY<)=+p1j_>|{RXB@PR`&$h*{JpZjpx|4q)R80aBE3D&l9RjlkaEL^=NCE4`Mu_! zgU(|RW85%)$ea}A8+dkwdgI0M19M4f>#R*}Qn}(=6Yz)F=f7Lf=f7+AT@UsucKo{q z_i9nDX-~=>!X9VDE*~D@{RVN$Z;XNOebhyNM?R86UvLeJI^)28ypN>s9xkXq<*a`* z*s8>?+#H2MgNigKVd<35-kL2kYp! z4{DkAuB@)7eMY&aJtj8j_${dO2i1T3@st}L_1Atf1WRuywD~dBx}ZopQyu)1;LSjr3=+J6V?noXB7!-jqpKhI(*Gc4NO%OLB0SuACS4RK{Zd|-q2YyUS^ zC?`Iy)!kD3?8@;|^42tMXUYwavCjMDQFOot%uTX*$_Z~bCQ>DFUC`H`eQfch7aq*Zzx{ZjrzX-OS$30I>nsr&gP;U6(4|2|5?KOj^-0;C4j^9y?r`+)H2d}rB)8A0Rml}>?4SDfD zMv2lgQD>Ym57@j}IV;(3h*55M_=e|kOYwNWvM4v+sU0W%L7j2nBhKmGC3zHcs51`y z#O-DKJB2g1ymkU7x{_W@>qEWq;4fqLUi^mgioRo=z9h$0j~X)FCdje0;7h(=>ioN; z3`J?}!R%7su4`cPbcnZf;A5W7(JiIvBmvLUA>PtKFZy%*>*eWaAoMhdwKU*|UY2ur zmzE_7WS$Q3Oh@kW^K>5lfzou60O#otZ|T5SJ)JGM3$dh)lfdWc5O3+ge?6VE<>@2= z(bFN`(t%HVI$O4umM006o(}Pr4t)JXW`}17relFj?o{s&Yl$C`YiWjfa1eJk%G@LS zoJqOjTk=fcK7`@Ea=2t3O}+9Otq|9q#ysnA!I}rKUEoTtpNuo=g`s@VQLAe0#vZQ|G$ zQOB#9Js^}B7VY8fE_*|+%39fg@6=ImJoK;goiFDKgLhXCV5eB zJhZ3xpV$NQD&|pdJhZFN%Voba^P9tG&}8|krwinWA{Km-(=09{(see3*xBgsm`-emv!d@1|v1S3KH{kMDhF z-KjGU#zXJht(gB?Kj|}nyk~+s<6!)A&UNL$Hw*HijvRR|^Zq%H=YcQz9C>NUnQO6s zh%qkWk=ulvu}HX9%E+VMc!*8TlXtUaJnD@XV)yIHlX%&`--B|)!>2s1ox$_Mmoj&M zQ)XEBl4B3zSs{z1%&_nwZ|4S{1HOc{27CRA4acdkQfHjtKQ+wt*`Miqj@VYz8xQ{D zd0kcBY$tY&+b4C#f!}za-o!J)mt>FOTJOOgmI@QQL$5lQ7~{f!yd4f;9-nOo$_yL) z=9Xen{e@l^FJO|iDK~uZn}c^q+Ic+XhKJwy_;^|I`8fgQif>6gbUa+Y@)Gv};KPz> zT`5<5Q}*;Zek0;%5uS3x!)_gaeE^rcXe7LW(pseT zpx$_4Y(0(&mhq@JUKk7ZAnuj%s5f4)Q{Vag2;8+QCf#I%>Nu8_r3ZunrwPa}>M;VCzKuwywNR)nYA@UUa|;d>E>h)=uK z>p-1xV*E!u8pPSEI^%@+f2)K;9Xaw2%FFgDV%ea4s51`y#yKw{CJo|HXPn?WXAqNK z(mgT#eMq_CgYR@V72_#4JbcIdd>3L-QTmh{KE#U6h%H5U$_*c4{*45m??dX013&S0 zx_qbSk>^lnoDlEjtS!rx=TK*yFi(2ouE8AYi~}F>vOW6F!5r$06a1w0F5z(JQH-yY z8$S5SrY*&I$_)=c@jjI2`l9qHH#~gA@h{(9jHlf2@DGnaXYpKb>8Fj0F~fb4dh+Bs z&3Ws1{x0KDZ#?*k^Y-F7xr|4>@!%`Yy9dw0WjyMQ2cL1?27KS3j7Pokg6~{c-aJlk zFZGR^lp8+y&P)Hk$Py*Y$Oz472b&bzw3JU{A<2S0M&h4+{9s5f5lr>B2Nc=`Dg<%(~$ z&`&=1yA8guwcvSmE1y^Etq{*&Q*8d7Ddn1WJ+8aRyR5AR?=LAge6UG*Usr^u-0-kT zk7u&)82G|xEb5FCV){+x$n!+{*yFK)I^%?xF3*r#W&Oh`A%0M29N4GN$2VZUv~|cc z7BR*RHhL>^3!bs4H(s#O+b{=8@+{y{Z@duW#Rg6mtdCKy_=bFd(tTCrM+e}K(ry~E zzaZM!dkSpqJ!WI^dmdMi_IsqQ^>a1pJ&TmH>{1qALzeZe_vjkR@NcyeYiVFi@igS! z=zDZcWq2CIS{fKc}*(0eLaH^jMcYj)I&@5HGy4t&+^TWsL7z9x9;V<+$e!{J_|BOa; z{csNUI#=)>nR3Gie`v#I1)qJ7Ou6C1*!6^q z!)M~hmkZ*@ml;2rHPqStRs8feLcqKVObnzaxcPQus8?O*ey-0-2^TjAed*0$=$ zQ*QWB@0S&ypQ}->_|{}*9R2HpdjB=+-Kq!smH7DA1NK=a_%Qc^yH=J4jOj~EzY*_! z7W{7)l;yXr4;D}sj~f>Xu#~Y)7D73;pv`|<`%Aa_Cw@n{;o(1SJ1;3-;$1(Ua>Iw` zlI>`7OJBC@C+Sme_%NPaR=lR)ho{`|!Cz#LDAV85JB$wkEFM`-@}SN*up9TWtICl) z@*L`n1KaU7mG=K;LHmD`?LWB?>fAsZ2{!wlm2ypcav{Wtv#9eowGZ<5kyB?J)Z6D! z_o5EuV3NGFxS(6<@yW+t8+XV{#;4M@Cf3qGJ9rwhFN|qm+|cj;YASM3D89VR&G{a$ zh_y7(F1}y*MKlc4m|I?7J>}OW<@m%I|45M$hhv>!KP zj3IaT%G!GW`wHregT%bfvZtDy&~Edqi}=v}(kUj9*blLm2F7KNara;>U>bH0I9{`^ zuFDzHw9SbzF2-rMz1I@%gShXMmri;cQ%8>6cjTPY7)QRTaW2oH&Nvvay^J@NBje+P zE9=vbbrzT8s9%46#26Q2w{y>7e6aima)~i6Vvln-V;%OJ`kipOHOtLF)``=$A;!3f zMb6!`F>;INxWpJYjO+4k@HF3jN3n^yZ*EMz@!+dIAHc=MftSA{mwMyDXPtLmd6*B# z0cE*BA#*P=^~QtWI`071Xum1*_yIiXjR#+K-fdW`E#pydJou-_>s@yU4{_zb6N}NO zC^tO((f6-hQ#{WZO|KroTxVHM9X@ne=L-3=$i!PZ@J-KGzK8cs>?J#;H;<=%Pr2by zpaj2p0AA&WSO4NS7M{Cn0AA&W4}SODI|Yw+huiPt^}30lQ%6oOtVy1Hmv9gp<=&h9 zE3z8{*S@Fc7O6KLe9zmka<}pj$JVj;Yz@2I)_Tjh$qw)3cX!r~;sQtcLQC2v#9KP> z!#L*LSup0@$uXy1hwnJ{2GYx7DbsZ8b@+;7_hNj?Vkt8${KI|nf?_3(+8 z{KNg~(c6TBv;16ZnmyWE_)M%D^~QsrxV>(FyYNVgc*+eQ{Nd67JmrQD{%{>*+nojX zwNh?)SdrJ`3dXfNIq#NBZ<8+#`Pf3e@!%KEJBjg#ZKm%Way;tElW+Wa-yX&I!u$rG z&mhLQ@DHCeY{vLeE5a;^BLtwMrw=H87It%k78W9 z6VI2J^(A&onPK5ep8gfZYGGKuVC&Qw2R`MT7cl-IMIFz(z`j`)S%Rgf6Ew;A=u3**jn7_ZpR#XRbb2cL2~--z)_Vnuc?OS$4( z69Er*s&qVNhIXS|@eO&#^7KW%HUPh7&q1Y z88*c09f*ZlEM~MfrTOE)2wIxmeRQVyPfusp-KFW| z&Xy2w>A+t-om<1wu|VeKA>Pt~4|_T%u_vau-?fdC0O#otZ|T6VJ)K*lq=Q3vo(}Pr z4t)JXW``%S*QU5U!_StGYiXiSeVn-s^Q3z-^CZd?JJv%z9DA++OPOI&*2LE^Pr8@S zH7DinAbi3^uY~hD-m7}!p*+sJp>i?bWX+1Fa1QRsk>2V<%lQ7& zf_!f&X;)&5i^C1caXX6*SI#& z_nwtv_q9B?D@V4COJwSuT$gWi#Ig}%T*N2m9>?79YjS6636~h-A|@s6tla$b z*fo_azSTlGV}D;R=)=p_hjQM_+u8&R&P(==;m)dw5pTFO(S;t?p^Rs@Qz{P_Fn^)*o60 z?bBlWj7`DUJf_GVg_b=7$@>!haB{Fk>NSrs`No^`t}0LB0t}^qN4@djBmS)0MqRS` zVe_D@C9W)oe2FtYe8%~=l;59k5uZ5Yhxzw$_z?5|MBjaFlp7xQ<88kge$-N*?#EMZ zc-W5PA6Gov1jlrfzNOsoup4j3i}1OY#5#RfrK|4R1@5cV8xQv5yqEE8RmP*%0mIcoCG();d;V)N^tlxy0x z1@xWAyd{+5d(?LZuNM+yT=bvEm@Tkla%Zvpe5CK)CUwR^-#O=H<*4oFIMf*jZ5#XH zrwi);)2x4^2j6nrxPkirbjjIR>NSr>FZk4>XosI3a94Gb4}2dt{tH1W+DK~s(uJIEC<{Cd?ZPW_3C-(H`1!ezpVkdiH zKJdC?^JhsZ*Ro7X`+NVMLD~Pj!k2E`kevDgb;d#4d!NZ%p`X)#|0eau3*+KTh=YHQ z@duY~tY+^ypw2j9T)cwHJI8P7^EgGFao{7~AF}o&?Ujuilq4~=&N#4f=WIh?FrPe!I&$RwdGw*%3fk#5wo@&hd6%GioBB|4_j%uYWa>4Kn#_aT zwl<^9Zqxb~^Qbo-`rPYtT6xk2?L+#2g8aR$sWVQ9hda=2%q!2K&N!VkpQn{0`QTmG z!lKR~JRjWmZC zkPg1X^T>0kGfsG3x~v@Zg}nO-c~EY6#78gJlbFNYX5$8Lr%%g8opBH&quuW*u=_o< z`*FFg*3*|by9Y6D311-7-E?bd`qXLq<6X3^r~fo;cMs2kCT&C+vGOk6v2PS$DKl(n z&jYYkOV>ktl0J3DL3?`nE3msk9O{e{+VpY>hdSegap!5+-=KV`GY-ZbFWUjw)F2LZ z#tGwo1@^HAYvpm@3}uEz?D4kk7GNneY=}2vUraY?+N5o%Gfs#%OR&8`9O{e{;!SPC zU=DT03GwEQ5)O67LA>#{y@+=fgUUvoaS(I7y&lDTi#?gU!znW?{KBy>7howfEd0UC zvK{k&rkihD>d29GALq#T3%aq0TtLKW>(A zs54IRkBhet&WAeV1pj#Aj=>!2j06Ah_S$i$aP&-I;Pg2VZgC&A==A_5t%Xfm@p0{GI@m}pq`F^!-#YxITou*$u z6ynRv%8~VgJcl~t#Q1`F3iH7yI2Mm%4{^FaDf958Y$3k9qH@V6&!Nup3GrnY<|$sE zRqRDXQzZ4F&Nv~yTvHC~ljTrn9K@HzHqgkP&%z0O2kjL4Ru;BHeljml>VMV zeuKEgSiarV59Ge6_m-@sP;WfMAh#hoD+ivQyo_x^x#1Ciyo^s^9^?Hr=x%Rf$X!4j z@_35sRX$N*f1j{t?Qzt{%XLAq`R_qcu4y;M!yH4>{z5_8Utro3+4Ff{z#2?;U(HcX zL(`tfp3f`7%Q{_>e(=j0{NM}fJN^57D7W-so8G3cCiwF6c}ZTuMxTH$Ft7YR9O^7T z*r>Pd4%jt0{qLD5H$3dp@p2CD3;JB%kEh)5=sWLcIg9s&%sw2-3>*4Q&f=kM`}W~b zW?0ysmqYd`8;pS35i~%zDzmqSa>K(f953ha zitv;hKE!R97VKB%F8a3iQzjB@LB*p2(I#H2gaKL&G&F)nP#eMQpz@q)PZ z;}#Q}$R}byRe=4JVH@4l2CgFAPicJyfAc2c!5`grWWDTDT9;xT^;(Zc1HS1zS%+YL zoZI*ZgWM;mCog_S^Bm$A^DE|2Z@l2En-G&eRq#z3$_<}s=N$!Yw}Wk0?}a$C9d+4J znO|JS0dcv(*XuyJrd^lkPw)TBiWl3FuUYducsSkKJ8~-J5@Xz8J10^99opW5xx^S3 zb@Dd9pBZ z3!gc0d=2K7v=ed0M_h9LMdi!#bYOq6>y0$ZWz;VDcABGz$M1Goitxr4`RMLf8c3EzOGK%m>A=R zIJN~boP9f(ON?m}fDMdgCEI--~rk zd6FO2a53oO%FPws5Fl?0!b^6~pLk0L{_5#Ghgi@2M@xrzO=nD=lfA#UVjYR?j>CxS ziwmJNNgEJj+~CJol&f?1fm~vY3qST}t$VQ+wL|u@eC!ig2M{Am_s&pfoG_O-ublk6 zopQs&cYQqEgte<31@nB$4Ig}Uo%rrgoLF0z63z4uulNC<=<#F zd&|O3ZHRKi!$-aC&tYw9hs-@>I|~lW9Y3Mj_PsYE#<=iP-#2-DlW^NTgui2p%ROwO z$phjE@!_-XJCEOC{JE33mmI#sZcKR8 z8xQ{KwtIfF@WgK(!c*z}hh-F)Svj%X?W~@fU0qpQlaGCd*h;*m1K)KUdhISr$1}fw zSw6t+b*9cZ@LO;5%DaRk*hL-b=vu9#Q#T*^Ah?{PU?*Z zU-dj+y1PHmID~kf#E@GL{<#C|9Xl}pKL+FI=_#|l_|o_aYLwQM7~{e}y}TE;3U}~# zrKmSv@XaT1$C>7N2$lt#I2!Vz&N%Q*?~9|jr!4K${xi+g87KJXE4ZtSoPK|y-0<*E z&*R26!3$RVyl?!a&NyLy|H^xW)9x+7Q?&&wtD+5f(fI^%?KbN}|p z!8?D1bIDH%>3vL$ap8wvuWRoYt^@(?U~z|pL!EKpdmd}9|B!I<>tK{CzBK`#bNp>6 z$LfGR7^^myo`S8%dH42$x#M=5JIcKUZfA{ZrLtY;Nb;Pw-ovJCjBRN=r(Vlcm%TvF zyQVxDKZ<$O8xL*myuFwM#{BptskEJ`Hy+yAdAF38=9lGBZ#=Yh(m$9xGCw(&zN9qo zQ&|&B+63+GoF~!X+jWkc=TK+)gm`xR?Viuv^1@12qoC(QopIp(o{y|qF`qn#I^&>k zopV|_G6$Jm(#6MMqtqD(G0ZtTFh65Hc@A~t$o>hBdrvDz=T>SLbIaYmD~tX2rxRn` zFt?DiO3aV8QN$(2xZxS$ymAM}J?f1Y<`-u%H``t?U!dIZh+kg6=P?I!I~=qwNQ`k2 z%iJILV(zrP;G8byhKG;&c>jjt({YQvfOVl|xwu`obtW-`SW5%`=6OmCn8jL5(HX{B z`t^AB4C8Dj2FMx41dF!wcySQEoW)Y6}>J_~Q6S(J`|HYqOLa z9Zhq~QI^!V5c=_ZEqvhAP=bm!IBfdCZ&MMAo?CW1U zrQGm{E#4P$UU4?Fc1jts*)xo2tG=~Ui34tv*)xoS&7NUQu!tF6W;v@UeUM#erQFI9 zVuhSloGn;qrQGmguCoXJEBNd>E9Hg{@!^Kzxo!%VLpiz5O1a@-`(A!I!zjL;U1z1- z@L}wgGm36QgTAMgv{M*+<&2{9(nyk)k9x~5%yHyh{_KEtR_crs#@&N>K4M<^HB;)0 z1K;p*Y6G5&XnT1Mb;f~Dc-y_Mocuj#lp8+ygPc`Vd(EuNQf~O*4{}zq2v51;!&ob4 z7-vh)FnYga&oIuGoMB8j7-PMy`0IK!Bv z1z+;#M>&&NoYvqoj7d81F;7R%B$lKj6GaVR?t8>rn}o4h&Lx(llRLwhlm-6iWsx(9 zC21sq$;(2#l?DFk>Fm0@G@ZgTj7fRmubz&aNh~Q(63Dzf#9Mjb!=8?uNi0bx32>ec z@s2gzN+}?1)XE!apE&!JfO}vuu12^P?Zg%quA~EbPaz(uO~p!BVE!u}&D9ZYh>) zt1FK!Vh0CzMtl2GZ#ch~PjRgKctPFAIaeQ>4D*pasKaVLoyJWiLvf za>IxD$aVB_5uS3x!}h#wWUodMo^rzno2y}tS%jzD@S%_I#T;`S^DlW_)RBXinLeZ5 zc%hHwy@B*WcE1tjif>I|tdD)Rzo5_d+Zv19A>iw;7htdZNBCwsahg{{#^RXQw+r(6 zHuGxL(0^{@vVZB@e1=)=b+O|J%b#l@j!@6~)XWz0OE#pB1AGXI{9PR$>%4#>wi#p>hq z7O$-=%c@|S7j?#g!u{x8_{F#7yIL#D(uherP;U6}?1iFLex<;MeuXyFY=pRdxd2O< zrrT_wecd+if!$=&rOdEsQ^!7CfThf^XiKl3yi@;`3hx<2agzE`Zg}kzp8I$PHdTbD z-0&Iy{d7TleA@hX0x{QZNY+9=UDB`AYaWe>M#_5ub@;UUV)1?h>WvqCct7g$Y4yco z9`(ixK72`eGA{DmTXvrU^~MYH0XeVB{EB(h8xMZ$?ILTUtlz`EBfXQJUD8+78!!0s z85kq;E9OyeyiRHpvexnGf_)K`8$Q^Z*!=ew^zrwzk883o!fo?<0hTgNw1#{p6))u)eBPEAQTH>ph7!}JocQeg><0_#`-7}+ zUCy+6-^sn$Kgjy(D7t2 zoW+SL^rg4&X5{g6S}yLDL$Q)_QK#uoOrbyB&ZIq#m5j^Ov%TcL4Y#uwk=L<;_NCnL z$j9-r@9r4tk$pCxT=A_Y8q)h?-SF`n5R_TknOM59pp7=NjcVOc?$=P?jRp2jxu#v~ zhBlRVEgP}-X1P0aLhizhZAzVSP*?AVqlgh3#oxL8MoHe!)EOuE#(vayqxPMX(s#nt z83#7&`N$l4qxh3kLVr_d9QcKgS@Mjy(bvA?$5;cG7~_Vy%A@e#gj?_}ChCnBZ2u^H zxQs`=@iMmmmj(U$m*$g)yQzI0Mfv}7z_%e1e6TOE>(d2kpJv*P9@@-pQRb#uEM;2e zMlZCHyvI9jKFI6+`_GqBZ@kb(8(}l2b-p6+z~wDvKaYCjp^f}qr<~zue)lgwhFv;c zoDN#Wr+Jq;3q84497RuJ0I`#;lPlH%XVRQ)q}=d_(|n}AU#QG>mTgFoy-cxfs8?Q7&Vsm) zT_KO-h>^T()EOt(i=_1j1-A7EX16i@Yl@Ze^uZIy4)wNNdHId9@+It?59g8}0Y zb;b!}mdt1VKw`z7&e}S!+Y+b-jH$_>3bKY`Cgmf>xS^e1M#JuuIRj}4 zo^r#7e!BsC-dQjfQEvE5zjX)nL)ZHO_4l@we!f`H4;P7TcHooVR$}KDwcdCQRdC;2 z!U_H;W7I{ICwu;laxH(e1Ap|ky`*^cv4QtQ6JuQ1iTC|+^d-yJzh8uM!^2j*KAX{x z#OL>9P-mQAFE1$vv9I8}V$_inzh&4(BTE}+;{fG~Z?!Pzi+%FNfYQy)$`#*|cP`#WV&hWxM#|16d=)=|zxdz-8)R{E-c4WDwuV{YO2 zEok#+w4eI%lp8*b`%frd(w7f7tsPxi>L%?@opE4mZa+KF?#v_4q0TsAF8YdcBp=?# z)mz2F1=`sAn0n&{yL%j+_Ke0FE;K-iV_aIfpvqETrvrMLBuf zqnvm-SM2fW^>;`fdbcG)xW3HN88)hvl#dwWhIN<&cy?j=oGK^pQy%rkLrnL%P-TPg zWSyv(N4@c2Z~mT3?mO(yPm5}ksq~qUIOD?xoxcrxv-2$mQ z*xR@Nj$G=E2ix>E-he$`&s0`*PgRDRv@tQpg^hZdA6KsA>20ND)((qpO`P#zugk3t#OJ~V zxxvn;Hy$j|dADJ2+A}hDnmMt!gmWd?d!?v1UKkVQT#oYG#Y0}ykrTg>wiWx*p20lG zEhF{~b;g1JxLv$voW5qUp7nkq#<-YAdB41XJ#CU-A2;ch)CY+(K77#m>zjoCaA$F? zSD1w7Pn_}LiyohEC_g`DQLgxwtRXrc;ji+`1LkqRY;&_lNWYEo;+G4?M9P`I%-7?X z_?3cj>noP_Az(eO%DnF@CG)<76XvZlzx&F7d0&D@`+DEXoX+wno%bc&P?3LZWl%SUa2=;FD>6*jD6&Nw0CMvur5t zq#WwVk-0$91{mM0Y<>H)Wn6O`T7Vxpeiz1;ujn}5zkWcur5}7q&M=6NX6Lz-E56l& zU3*)>L@NKRWZjH<<}(g^iLv1G1+n1sj0KIuA#U729$749nr`DT%I|h1&mo_;aj18A z@nmdM>WqUp;G8#`ug!3%GftT2$a4tukq@di8+szAmtQj?&iG-TvkAWadF_{S zK5@oJZ16GrN#%=eM}G0xORS}VSm0^wLg(bmP@D#_mIh*k_x}Y=WAOPK>WvrT#X|VGz7x8RPX7(H0bTgZeXovs&7(OLZ24)}!Eb1v z6!WMz9{R%VXBTXN`RP8-ZnQb-j1%JUHRb51*^;_bX4nviW!>>N_$|ByOPOJVU+qSJ zWU-VPHni!Riq$eF=~8A`#NOEcje_=Xu>Hp-f%Ta43L2n+vEZ28Te^QGNt<#_dn~&y z_csM;{|(b_)lp`*H(9g(o054Z^_oYkjxu>4$ulf@IQzcvnZ8&{opCUJcs=AfR?3x) zg_IL7b{E^|s|EG=s@dp5Xrqg$$5%PO>5Jo(Yue3)P?kqg{;w9qamo!3%k#3IM%lkw zFji7-c#K_M_7`AdU(KAgq0F!tw|w3tdvm@jYw!*?^!-l&_+ktMvYdO zkG_gFI#MtnrCif)WWQtaje@kl!L%o3UCP_1h4%ag*6e3iRKTS=VpgDpIVIm|aI z`1}nn1z5+i^^bQ}7v-0)#8b6xRyf23UT zE!k7!HjQSi{6c{}{DS#o9c}LIAb$4?>W_VoTDf%#;xw;j9eKGuNnY3J&wcmtQqHo; z9t_7{ReZiKloKy|BVt|dE2ztTtjl=3N9iWgzAxj;lxe!-%`o5F4?noCAP!M(_)rd+ z&)k=JexS^-As)V5fThf^7<;{b2jMH(bSX1z7;oEXRF)b0!)(F8ZH+qPV7zso+6&*f z4|`=-aGB317T1rqdxtwGmeRWzsW%?_$;&1E_pO3<|CYs+UWh5@6syl0eKDPKO?$G3 znBq3jMcaR?Af{7pc*GOOUr~H=j0SQ(Ur=s%*tFx9(Ei_&IL*hA1W&o)yJ=l(=!0)% z?1nPKB5ruBc}1~EyCC*cXB@#KE_D9Z=pZ(n?VJ8M2OLR>hgZV zxfhhHYnKDL#26QS==IuxHr`@;juEnZ9lT}tcBala=tt+AL_34Cw6fN7O2VPeIOt1n zi+j<2TQY4ynPEdeNw6pUT$`#*`XGAZHtW5|$ z?p319u!t9qJz0RI%&>?R-Vd_(;dAUm-G3k-6!6=)ybi<|7qP>+mz8Vl&)5T3#3jbK zh$YV51z-Q1^`YgbgUo7ZJ7SEB*y3?w8^*)Wl|0W{l%m;N$KklWL`M#u|^=--(-)e<8Bjwp#P@c^ebH{?MY(d&tEM=N*eJrH= zcmb9&!@{n-kFF_J+L5>NxSdmOc-WTXK*E+-GknUef0v!C89RSJWF1 zw&uLEupQ=8%%h&Xc>a0=8g;YUX#O4+>Wl-s^S+jEk1(%1hdSdR)_NS>ml)&1?!8^^eTU~Ohe@&F`+=2iZz*k0>WvrHPi`nrVs_80N%=e;+Us7gR#9OziGm6dc6Q|tpA=b+J>*k7mdqqQHdcKM} z`Vq=b0ir<%WkJxec9DycQ<;u#x)`b;f}&IcGQC?QLe9 zPCmNi9O{e%e{#-E<>-9IYM%Bzb;b#C`|L)^M>&1xoGB;1fw=8?RPg?8b7f!WFwO>K z@6e;pIPf8Fuh*25$5U>2_>bq&#``zqQF!klb;g0;IOoL@4t2%}{<3wG)|~@6g3k$@ zT9KR7yq&2x9{k1Yb6I)$SWda(TNAJ^A4d^FDnC*X%YTHie5{EwIabD}A1T&Ko7|bQcxZ&CJ z0LGCAGxev;u&BT1^O9n@rzRT#y^O>dH?)V$O(dV}7)!b0TX8K(>iSD!XZ%!YUmN@q z`=&V_(!UpF`=x@pBITNXa~$pMcJjR9ZK4?3m~z91xu}%q=e2+M6)3MS<%*v;9OBRm zikCj=$5U?jFrIHhd6<6xz8}gB-%ZPZLGhA)Kb~^Khw*$X+MnsS7uT>8{FE(5c|E8% zUKr11uh-A(yrGy!z4DrI&uk0xfS)heze~B{!yNKW#rHoiQD#`!yZfQE`LAYdmNH`H z+l+3r;%~od;|EqMjz6^Q554KW8DhwlwKV7MLEVROi7{@Nn_NMCeiiGDew+fuNNkuo zD@2cPpf(~TiK>WvrXCC^|?7yHP@8p;*lYK0gm zw)1NR_VjBOXC}jX)J4Tgd-uQlrQFKWNp1Be{Pfo{YkQO#HpC1$fBb8e`6aoO8`~$7 zex%&+h#AojE)|sf63aa)a|7=`8M`jYxpw?d9=-4tl-}ZF{rlF4(R?NwVUBQBxnAeg zz9=_5?AT+gJhNOX82czUe5U;E9D$T zTx348c+u1Ujb!SK6P|-MZSZ{Z9O{hIN&D<^9LQK*>)Eh7KsjO#M8S&`We{PXFQDY zZ)M&mQD)fijB^ov_giWwnYoI}4Ikp)%V>Y%?OPk6Jk%K{#J?+Odvf;lmXGLF=Sdx? zGfwaiY5$KFwEsuVm*P9x7RK-_mNHFuJnj{Ft^iA!VM9As&`;TPDKjkE(e0&MfThf^ zp$+AE=%d=^u;JBpy~y2tlRD#|4c!Kg!v@IF7q3bCQEvD!er!eq63_3(bdIHGDyTC~ z7(ZT0I0%$S{6?wN-l#X;p)}5RVJlX)a0Yqxm>-t#x)Epm5O-RzDe^5k+eg`*N4@d7 zVLVBAb0-&idew!0&OK?L>xwZhVvolW@q6ZpL(eN~i+BfjD*6`n#ygzyc43VDsNKyO znO;`v$&>dbKK9AGCC^X3d)Vt*U4#D+V_eMPoO=<^I3ML&qV2j*$(}DU#trkhqZp%^ zubkuQU&9EDbh zZwz!2JEYDy@Hy|>?U-YHROU6}a#-@$d5SVqzaz%D@H^+eIs%s%5(-33a;CF8-7w!M?6+FXYYLcld^~MW+w{)lEIhaR1d2$}p z{d~*javt@@gU|Wgal>80<2t77sFVK;7#t(kic&GC5%oSN_pHgo; z_??$`&lcfvzl>$q7ni6vUhuumcMA`8R8U6hj04|ue|Swf`8g5gif_sKvyX8Y9x6{1 zjLA=MOm1{xUrE}El{qUm!31BEGw2B(Hs$yyFfKo#zSfVYT+7nv!j2sOy5jTqI8bhQ z*iS6`*9*%2b(VcHo4IY^Gc4@Wv2DyJvSp#nuwg8a{it8(9C2+f z^ZjJ%j01agJKlSnbBv*1TuJLdz42g^&Xax6%uDN$43b_S>Wv56^!Ac_^^NCqfuy~t zGftR?$=&)PuUWipO*qsUCyWWVl#}-v$`#*|JITDAQ5~e&zh+IDV(ZcFE)`%YGc4@i z)0I6@*>ov0Y_PjC1z5_6&EB{6X9eZ`GxL)}A(o#*dH)RWkM+)E*^}H`)mxCguc+5N zCJ&)J-p8^Q_h;}Ky*IglM?HCR2FH043zGc!hO{p~>Wv4#aNfkMe}gz4|zZEJDD|H$~4{PVbtGa*AmL}I~LJC|=U<$5U>2 z#4V4HEyPErk3Hi*f$!ObI#6evsgxt@ra!D>a-Kt-aXKky58|Wcb8P+i?iDO=ByB~V zaSo*%`DTgbljBfl95lT9#6dj2F&~5gebDS*Kce1v-ITWx&tc4~m`A2{5<_m>^CagBnXf#DEn~GSZBOcq1K;t!z8BAY z%rDQO&N%QN=bTrL%-8aFE>mZm5Ht4U8Ik$qIn)^^_|ePC(R^0qf#|opFLcJ&ET} z=9A}8XPn?qZzxCdk;~amX)yFQqs}7Gh6^*T~-JouFJt}0LCYax$%^5Xud-FHZS z#rHB&XB_yG*YEi|y^Mq3TM%R1FfQ%g?D@^%>h#n`C^tNO%JbTLm*5}hoI2Fozq)vA zUk_*bI#`@q3-Ov5;|AYCM}eE4n^La$mh5TuHpCE8SudGaP_Mj3T)&oQmUTa070N}q z;ZZKH(>aW_>+)>M*8>u$lf^;rXJU*S{C_XT(e;8lQO-KaUJjp=TrhmxQ%{+tjacDW zso&ED^OvVNf0>w!@lml{58&!(8oSP`PSc-|??uG)s|D#-nSQMn#`BG6(`v!D!710Y zYqb!6UR1pJYyN&7>WmZO&jIv9Rmbx@hdSdR{*l_N1E z&!NsZA?|E`hvYMOE>1mp@m-?qnPK_*-^EdGc*Go^5AMMHhV9pnr`+(cPq#Js#$%QH zK$Etj%&@RaPkSA6nQEoI;%}_n2Prpvh%0i&p$Jd8;o-C1u1gr>#g?W2bUicl1$D*= z^WP;3aCsjwh)axd;Rnur72_!FdGMG>47u@H@QFKxn;)kr zSA0vp<>0oBkWl$RK^*-6<7mAX#)}5x;s-d7!M%5ByHl=d*L%V4t}0&VE`4~)4G+8X zxOOk%;Rj0mpL*kkc>RX*isv2F87J7>S;Wu}6xbZ)h7YlN7aHmVm6;yiBTTQIT3(Rc zq8(6gJj81E*B6wBufGPC`x14=fxUYF%el=Dgn5+gVmyQc{xLsdjEj*qs};JC-0AE&>xb|pl>HoZ#=|8ug{b4Q`CQ1 zYlOPF?@&&BtCq$yS<`uUCZ17d*w7c!wvP?yyT{nJjZUyB!GFA@4%BNtjd9qo*WqR5 zi7j$7z1M+q!v`DeqJ2NE{@9PF-0e(jSyhdSeg`pfz#^T~ggggWD( z{+^G_`I%3iL!EJg57*!$?;o%)lse;dQ=61=4xHTnLdp#v{C5ds67U24mwMyDf4x4h zDeu0*?~71JP7glpHgFm9`S;_QcF^}ls5c(`*~d+>!)19EmeWe7K6V0E?;l?5b#;>O zK1Yml8&eq1{{QfU=~mv2|NC%3WkvT%{NGmw=39`EHK!?XT{bhCkBXoF-EYykc@BWUu zzr!#7o6`TGavg0TzvuC1wel~JTKZdBInr3}t?y){=&kOYUS3<&Y1{tZ>aj(9i_$ff z+3Bg-T5Yzi+*Zs+r@v++YOkG}<;a8r|H!AY} zMSe^FPIY4`wAyQx`s`d|YOaZge*DVw-&wu%g9@wM(C4yYZEJ^fkkJxeBjIX^N^^E@ zW~R}eVJgG&`?r-htz9pbw5#`6(y3{FJHvJCW3{QNvBnH04EUAT^GfBq8Ru@q?m_)o zman|3erS2=lw;B&RoW9M#dLFagmT&Raw`OpS*t?njb$`1VhFH(`P%YUHmQ0cdXs0HR`P8u=f5y^+gXpqvWfG z+mmZK)^IaelI869c(YxvC!=6_A8)M6c^3J}9DitCi}UPrr1{yo`PTHzh_-#GD(7P4 z_xdP(o2_hfd~AApVg}O%{gv1CI~94pkl%(;@@n@Eok)AKF*Dz6P1Hw;gFjz=(FTf5 zx~4TGKKMb4qz9*F=4NZnNxJ9|TisukJuLD&i~ol9Up6oH+?b2gqatJVsfqc?S zbIq}aoLi7zdAeCiu_h8=i*7{n% zO^zM13;6z`W<1ks&rcx4kI=W{)lD{my)epnRxo_dOf}~w+Y=+UZMQ1lKbPN)QR<26 zbe8s=TEk>G2}F})v(0*YZjQ+eY1jX@BI}{@8!7e{vIoos7?N)niqI;S&Y3@*vpG+D$OR{TLkMcFA=IgU#)2wWH z-v9N#d)|*MW9VL83;EBXt!L-jSQy5yJpXgmbMIv3-_UpCL*|70ust(zn3*P?yT=t4W6KR;xK%Z;vuo-&5UW_Ih-b@nnB*3F}8` zM$MVo_IQ&Sq0HrNxK`a`v7kLlEa=Z`=RVA=d+UBxezQH@o~_HdW%-ro`(IR#+jza{ zt=F+XU;CGR6LD&GYHXs`8fDymz4Dxm+b@hV|Lb4Hn4iQ7Rnt}z%Io^k>Upc{8)%n7 z_JhZ1e57mV^wMHyEj^owZ_}+V9>NvbmDbeQ*d!)k+PFj8cU$$G0n6e-%#$Y=)BNfa zQ?=>FEC;Tk`TclR_7BTX&gT!QBOVYI7nt`6-5*%Ntf$c$YnwX`v7P^y657R=2Wwto2*2%Vz5H z<1ot+>hwxQ-Y3aV)-#8+VfVl!6SIPB1B&a=15>vLcAHH)3EVQw=dAAHgy=96|; zZDM}D)}9{G_CH%aIC>l6sl9=jVwx}3gmD>*EDd{Ho1d&t%r@kXSNWCK_wOo?TD!_R z>5%&JgMn!^+mmyx>1kVRD$nQ9>H(xLzum+8FLSvJ9wGJOy)u+#{buDQ)J=Zdhu1Na&ra{q-t=DFbqq%Mw5uO3;G1-9{thHP@iuRP!XzH-iDkUXoF=i7S> zch*kKHQIACa+%`Lv_Dn7cdNoGw{%Zo@f?)vgOYZ5>oQv(AFtJuiCTFbwp2%X?^Kje zeBsodnx2`iP5F|_kalZTWer(=Pa>ubZ@08=JN;#ozFSP?m3Dh_s)omKCOahm4_0Mw zh5TMA9d~8zRoXVS%f{3s-t>(6-sSVvvo_y8Upja3eB^VjQ*DfZ^_o4TmG|90sot_V zc4Jr!k!LX(dh|G0eSEGlJ|=tHb*apuu2Pm4y_BGpEWGtwe{?5b6)n| z%CEe=_EuZww{MKlURr~R*@@}-$>e2PdHP$c=WHI(E}aL!rtDmaeEb6sFH_@ZecxGq&U{t&jt{C|Uk*Ec z4X96wNQbw&4PPl4mhXR<&(E!>(No0@CYtcA<-{1?eH=qu=uLG6omJ?T{bvF|gO53Xa!$=qzaHPw{+ zt>ssq&%@RI){kY+gO*Rbw|ok>tnptJEEdev8gjL({>t-tPxTeE)y*Y7XZhHUAxx?* zt1&D+W7E!ve(~PwYZzzcSGK+t^Ln_me57Z2)#j&bb2HO?_(U4z_4;^Hue~GG%SOhu zV&h|Tjrl2CO&XS0r~0bJ6gjIf#3uNf-~o9uv5HMk%r+-yk_Ddfdi`0l59#&c_42ED zETh&G!sKMlo`A~pd8GQL_Ee>E5PuG-(}Udw%VMH7)0&*FPaC&9k3X--cV*=#?NU-^{QZ6=U##bHc_&xpDXhxj<%>-{ht&BaRbNlKfHDkf+ic#tYs)gu)_k@--56`k z&svp+jIFu`vHxy?#oEMfn)Ib$D}btTBZb?wWmhf3H?=S|Q(Z-I3oqw#MYz zzEz)WO-&>dwDSDdtJ^GgzXf}n*0z^pX}DZ7m;Y?NIn$a=7Q)K&|BsTsf6HyZ4_gfI z7?R6>y3uUS)@Rz*uI2gvNcB8oll*R!#HdW)%P^hGwubE$m>_U6fb`1q{ZFfM)<=GC zjPB>j>P9Z}ajbGoOwEioj!t|xzK)n3Lt|jF+@y_2%>_bv{t7Ss%ZJG1TXqxs2y)*zwb}2Xs`qyr1u_ z%DSKY%AS2P?Ttf|h@+3`19UEb>?XrL+A&TZkZyVYzf_eyP4YW4x?kzahrTM#<=&WV zj?c`tMw+W`ub#89bK~e^XPS4rw~qT-awVuu)+c9Lazc^6^7{YEcjITgs5h7MTmy&V zvD7$9zLVcgT#+wVOH9k<+^$WIBeIP6Y})v4>g<;c=kuPZ&(F-Ye7ZEm-v0N>WwZBN zXr>Y4=_Bh4g;OSMHEGmaa(NJb<^BBE6<-T`ak#C~-IBEoY=aoDH>O6i>Hoa?s6FSs zQnHVx-=F!f%G}s=eLmeNSYDq8tA4iNCfajIJGM_PcaAN3jI``pnC0SO+#j)qwBNg{ zZ(6^}csL}#WS(hR&7cJv6E?dnuh;)tdD`-MX}Enb`LTyPpXJ}CyPe}$i>geIkI&Xy za-e&tUHpyCp9S|S{u@%SB%}0EZLBuknyK5Xg&}SDUsh!gw*0mYZ$sqeLyWcJ*m!MX zCK*PD1tx$8-OBaAD^E4hQ-GMmP}_Q|?!vlx=s@nk)8w7lTX+3Y4J#^&pDa;2vJ z%5CI7NNiEY?IC@}MNq3%dvoTIg39>&0`-f$3E7P?IS;d1B>;s zW^L3x1ve`4o>6}LOY-A2>~>}T>dxeCzuv#UTEVM;vB@brrc-Vc|6S!t+nXhOvfSuRX>lu=#Ad$sx2nuj!HAhjZi0PW};I4^OrmczrYKd!k#(8fe*B%mI1D*W%N7 z?3tLa@kMKS{q~LYPJB?F{#ra&alC<@o@zGcXcj|!VxfA?>_^Vc4C>FmGDt7ZH=1+p z=FI#^dHiwZ1*9#%8zph1FOOtSFolh-%~s2tue?1UtIE4E`APgAQWx$FmnTTP^WE25 z#gZUPP^rx~XWNq_?wS5}WtWXL7lzkuV4m3HAp7FIG`N3B-x4>c+Y>Y6wlG{?_kUJh zNB;7=jQ3MebN6CzwX?c#^pr;fK1|~t3;h5H_NY(K)h1^&$ssmWuik_6((=1? z`&-PLnc~oJ1JABa%Wc>kvpv!ow~_0LP3y8ji0|bmG0Pb9ZO23EeWZHP+WdLc{VlaQ zv&`>A8k?P%YD|x~W^%H+7ws)SxifZz{F!UoFo~D7>+_frH*I&wu=f9dDrf%z^WF2V zk@8J#E%{pod%ebI=54W}+_rzVdeHn@d~Jk!CbK$OZ+=+(wL)~m3+jZ(VVGI<1LmpT6tZ+rz-Pt`5nZ6Z>g@j6;oE)AC&9+$7_?d zu_>EIl;=5B-EQ%@Z0swn09 zmUJ*45U|nRHh#~{x8|C2jgey3Pgj@Tn(wALp@nCU%1h*~ZWYoUgfnA}iB@C8dkFr$ zk=6y`J4(LbO`e9<5*xVo}@3|EoQui!g!tN$;1XC9za^~eAFAcPQ!N?D?8Sq6hp#w^Ib zQ&WtY2a_=~X0a44l88e4B3e{Ri%O-HN-J%mMJlB|rRCeM`n}G5&UxSXc((mCa^=(rz+UeK+J9||7 zn8&fCO!dNzIazsABVFAAdFkDoXJ5Oj?<}ju-A1-~t8|$RC~KKmXJNSqDlx^}dKx1i zvqGzNK3sFK&V9xmfE(z-T=e?{RZR=iXhDN>#^4 zhL-9&zBx{R_e(Q)Y>To^OYNK-=~3MNUK#pLUwc_V=xkq%Q~j4}la9IrE6YF0W=@AI zJ!z%#^QzEqx?a^eiZiW$`#2#F#Uyp)8Li0fA7g(Fg|_Ilev4J6(KhNoT#?$XW9P(9 zx>t0UUFFc8%8|@$jO9;>_bKV?Ey-zJdCsR)?|+yR8c$!R7FB-EavNHl&1==7FK_ZX zrf?3$xp~AqMwu-N4bbQ2vty-`oL9`pf^sLx^tz?7tM!gvNOqUsb)ju~{<)W94&U#~ zlV@e-WM@X+;^uYkl$?;5+M!g}7K=kKX`f<_|5K;t7tJa$>739zp+lFB-BLSv<1k)E@T{B%;X{YObNI1D8vrX?nH?p?Y$-X5V8?ay-h3}-s};Q?yNZ`f%GN!>bk z)06f1H%H<&dA_nqA96dQA}2^F!mRBdI_QboDkV=^@%b3 z>c`Yq>dc}rufycEdS3f(iAiZZn5UD8;n#{#Rb77So?mDA>ATtU)%!2KZi(G`C$vw{ z&bWO^4XJk~s71X;z@0|kBtE&76S+C!z#>fMH8^Qq%`8Z)I{VJ+q|;S>U)<^XcZqmu zsflUHJn`V?-|gqbklLrzGBZ{mOO+kqr=MP1|6l)u_g-?Bw4|<`O=sm!yG8U_?p|e2 zn-7=e@xl5MS?I_$$i%K`=B5yL9$JOI*Z$|n+DEMZ7kY_2FPPA~L#Ied#;W5+A@$7+ zwKR4-H}ChEq{;uhg*&x9SBlN4aE$%q>W~`Wt0kor|4Xlw?k= z+ILLy<8hba;^;j+tJpeLn>7gqlXbi%s(o_j((RX1Lo@a9x_zwuV~~HZSmdL#y}R;u zT`sBm-o&b(9bUffU)scK6N9+BHaHBFc>QY!o;6BMFi+jP%P%d|6<^dcFIIi2^h%_{ zV;EgKw~rpGW3-FQqUS$vke0KaR663hLNAT!>kdgN<_0sjPdA3rbwBoGto~EIxOQ-E zW_Z8PF?DR;KD9l2v0p4P{F)o;tB>2g9M@g^{b_K%dIC2(TJ(5>YeG`jPLWm~t6fwH z4bkt}+f>SDS%zd3@NGn|Gfx>Mrs+45xXZ11XcuijEiwCJeWDaegFaZjnruKgcT&-0 z|7`^YB-|~zcWQ^E(%utUEtI0ia_Sqy&i1k2Nt&0$1aog5pY-$X_HVnlw2r@-m+!b= z!LO_61@-7~B-qn<&MpbR%!!0M%}+h`4k@*`p3(Nx)VCh-9rY4vCA4RJ(mSzK zb?usJnthD@>!y%;R#z=C$KR^X!UZM1WXuCS$sK!l)e}^1zqWejxYZz5*$oR97iLVz z2}fFeBt4I(2@<-bmF_xO2laKl$l~^AV5o*Z zR{bZ|JXa)*h&PcjzsK#oiHWJDJ?763U8j#(U&cCS*#@fW>Tj2hiDnSv_N{&BUG1A{ z@6L9?{6{39|xvg=ymDF7@X75Qnk^;LY_WHRAU}@Jr-o-7Ea`8 zcCMdy=-tgc^6&O#Tqs8$QiArZb}^&FSjXs- zL#j_y%PQpb=ik$7o046~OMX=6!sHn5FU-sJpWQOqq1Q}mpR7K3$>R3?J?~xJPk-si z%YLWc9=EEcBz4rE4Tur{yigAv|6)h{Nri>ssS|Q$`5jnC4r3`vrM#Ew{LpOO4jVi6 z0nQx`I4$&2cvEvC1*Hm!#a&JnL$e!1w%g*Eza$;=UXzp#+%Dc(zo5k(cm2?l+J~DR zJ`7Ar_P9#ltwRTMMJraGj|!=8$f>25qyHO3yj&JaN$eQC6(L4h?Dk4i=KJmT9Q9(|uow}rBsi}djK0JexVHoI$K z1NO6s{7`Z3MmD>>4)!O^mX}IItgD=@f<>iQnSX5Q)q%-4)i+;e9NHnIZ0`?wm#z)v zO@Dx2`4c^_;ai^9hV|D)pCnMH2${pLvY zPO-EuU6}1Lch$Pn`rVtY$H7A=1Y6%2O)L7n4YMYiXveg!9XpvDd)#T(3XRbF_MXE_ zk!Dg>9xv=O33_QM9a5MYOwvUeW8WDZQs)$ES>-s^n8@4ipBAT4JYl4sqUgvc+dA=I$R8BwpnqWqV$^JsIFwE4gWVsHza~yUTIqa4=?5=azt#a7i>#%#wVfU=V?lp(qI}W?u z4!b=LJ9S;tRu3WOdTjM~7|dpOq{FVM!>%>VoEynDF%Cxe?Jtt$!K&)EE7=Sj(4TZU zpncAVJ#4Y-&i8JHSkhYrJI2E9fE{Xy^L{eY-D3AO>|qOAiQ~O2>?4@1T=oK5YCDEd z(M4si0mlkcw~{r3nYxwiB!^u$n8}N@>*uf==}7M^huzr@yF!QE`3}1U4!f%yb~nM6 z>JpZ|pTvAzl7;2M8fvDe7yMtUjxL4iSNVC8t%B+4vIE#om}&FU?i*Ma-99C2$~=vp zQa&Kgmaux3e4YZM8}S!CWcUA8$@GPpb|%>fm}zH{oe4AhvSi~*#L1yBx~TM~l!#NZ zB8S}t4!ea8yQ>{`D_|paS;4tAX*z11*Vc|Hm=#|N30XJEGdcB_N!hM9egQaPP4GdFmpVTcGF;{T}w6xX3E;wt0YujmcUH8NVWoI>QA!!9PDYBDKlyJ zx`XX@TM+QBj%EDvVdrSxyQgUx~2>fv$+ zTM4t3=Nbol)WM!}q_@psw+lx1>Mv#=RX({Y4>N5^vJnou@eaFe7|q^aWSk2e zab5*8WhU)zgPDH9jDJ)D%7=9&;*@M7tg+gVMY3HmQ@4`+0W){@7)tt!WY@w>{YiEk%+#M`_rO|N;(Qxs@+s{;fc4XM=Gdx!s(hYs zVsOlntSijqQ?eA8$){uk9d=_Kb`u5F1?Rpp&M?fh7qefe zXjD6!1~X+X**P$?&WwMI-698D4r`(|WRZ4H!AxExdl_c(BH31l-G{J2k>n0YuT5Le zyV=6Fz*<|_udp-=>)Fn3HyLL0uLzcHiSq+k6$|?mX6jUy%YR_~EOtHH+wBIzY{R&BRCY=rv3BH0qyVG(oyTMje% zly<9OCZCc$;IMnjVfTW=ZmYxYeTUr_4!iFicKaN5ha`C3_m(pI8D{E8mdha>gZWm; zj&`tiFrxJrX_w((SHjGgLE3GG^|HiSy_4N88D^{Z0kDylIB$WSt{NkY%*&sh?d4KC z(axH~Z0%Eh>Bv?ONiefd9}&rt|F6p4r7*fQf01lGtfhs046A8jdtt_B8D|A1@=QM= zStS_L#{MGNQ82U4gla?O!%48ieXC#_!%l&jF{ZQ|13S`UmkTrXF70N(%vfKtC5||6 zhnc=y+TG)bbCZMZbg=(8SPga*o9|6w=3G?fvlpz;Qf3dqMq5}l1}N1uGj*(fs`@(u zX3lvfYXmcGUb5B>rapRN;xvAm^wg_1O`P@BO1*@<7b^^cnR>79y=$7PpU=^-v3lG6 z?L2QSti6Tpg4MFHy|CVzHPE37RJn9GIjAGa`oN42k`0HMj7v7s!A3jSSeWra#yJ^g z`kteN4>L=|DcL!&BE7w2-@#11Nmhvq48}jnDmz$JnDIf{)rXmSI9m8H7RKqQzesi- z>|zV6*dy2UNG(yk@U>|@91ZB(GzQb*XSdYxniFtfi) zw$#DygM}?|*2RI-EbL6!01LYdX2#btFMDAFEp|O{&c+tPI9>A>E@4C$RW55`WCklY;(J+U3GbnH{U`jompgQ)ZG~1T%3RC+t?jOna8>F<4i-?Ee{S2W7$-#I~ zvJ99RyGd3AYk|F58vFl7{!wu*hnaGbY&FcZ3CSLS^^HVxK%BqBPPVX)DZ#N=#<>_~ z`oSjJUIi+j*T76ZCA$@7@+sLGhuxzNyNwRJEe^Zw4!e&Xc3;CxKPY|ZlInTy>++DS z4xO&qA0#^pX3DdvwpT$29S<}6pJWLo;*_i#%Cu9_jnx{XB1>#lIV1RV?fl zSQ`s_6?VCWoxz}hX6P@?bf^N=mTrcbdY9}T*r9rR$sTstJ>#%@1!mf=jPpI%Zj~t( z$(|e#v|Y*GgqdTiWDD6bhex73AkLjI<9lM2C+biIs?6Sp zne#Epst*auMY8%ZQ!bJ9E5s`JC!t=fU2#*o_z#%$v&e zQs@Y#TkIZ(onv90Mg;fQ$vE?1A6V=LjHFN2{h74eF)FxkTe2lg=)7UE8#gw%S4`U7 z2Rqx6mjaLs1_ zI6dzcn0eo@WQS#V-q#i%euceiNpDl8=k=)&F_dvupBP*pldKKQ%x9S~xQaz3)1?G! z8Hw8eSFzr(o_bv?!On-7P@Aecst2>xLlctB>l}7ZIqY6`*lmSfYiTdplkIIOA9j)MUu2vADLa^B zk*wC)!F3DCPK23bqq+8N+Gh`#X`hnyg_-s#*-(ewnGU;&4!Z(}-MJ3COB{Af9d^rM z6LcL(|NeH^Rhwcjm%6aWb^XaWU(NBnEK7PFrUq?7+I5B5>L>+PN5|PlhbmB67*)bf zvI#JA&Met3n8|}=)pLV&HP(7<0Ln*!@(VJl&^E$n{Sc+F1Ip$e3Lweo^{D0L4{xaQqfZ=(X`!(%Wr7cSX082|f=WT~7S zHPNh{4ppGyoCs^F*GaYnR>Q(>gqi(a+O2Zft##Nv25WCg?<-gp3;P~suHzVcwW;#& z(89n6$?Cz350V`RtFF`QphFd?I9tN1>2(P@RDoh0VW$6-tS`)*b4fN1mZsy9>~@$r z50I=87mv(!ILW%ex>@4Phn;L;cf)F1*yAPA>!`O;f%1JTtiN6-*|7}aO+Gv6ZB(G_ zI>XF7xnv_?rVUCq9%kxKvTTQ4vBT~>n5o;&BA*LjrcFq8WeK}PVRsX(j$S9({V?N$ zWb0vdEq0q7>1}t|ed%C-I^sNJdQdJhpS57Nd^UC1wShI({&mrz3RIgI05kP2*%+89 zGs!X>c2ga8(;aqm9d?Ug9CrLg=H++TFy#!3Wc_Cb*ODd6ht<<336fn*M_~3%$*zW( zw%aw5tpBgd!b+IwKP9^ZX7)eRUnoOm_q>CB3Nv*i?Y@VZI+E;nhutCP+U;t>rmBpw z$T-i14Tzuv*o&~EH9J{{Dp3A?3^P7R_ASi#AlWal`*d8At(qOwk!0&&rjEL6dljg> zJPoU-*Gcvk%+#A?)#vd3A&Xr#25#oKBJGC2##-#|f|R1NOPL>!CvxsAQU65{!2xo9keoz>d&yNxNTQCtBFC3p@|(FJ>-D{ZM&X1vAG0 z$sUCj`c}all(B2IFqjvXb~nI&w%9GXG+TQqnx`SoGZqnOJyU=3pb+oXyFjLmj?iQG-cgY@xHPXi%$+lfiA8BE` zmIn18?G9fS)PrQ{u-@Jnv3RK5JgtLoYKULeSK)H1*%#6n++Xkzlx0h@e%p7wh`^sVWv%~Ih*fo~)uDU+B-qA~M zqXOl_?J$$iUTURY6ng+RO#eOn7}FR2BH81x?9jin$w+_4GRs`c#Y1b2G+L>hiVAU=8 z90BWTVas5LTiC4*_7Lnyi`~nxCKmQJ>w*==T(k|V>GGVs5&4bmnq&EkaYhmBO=2+O|TZ89)Wj?pT820&# zWMgg%?kkaO63o^H3t)pSaXtex#}ygpPcYNJNLFoC&?ie)A7=Ux$xejTvE-$jgY|c? zGaczoh1Ig8HydV-w=$peVYYqqT39n3XR;1e5JFGDOqofx6?U55Ub2R_2ghm2n!`-{ zl&k~HlxK>LTLmgF$uQ%)WW!*ljwG7^Grmh!=wS04>}r@TpLfEHe=@y?9BhMwZFZ#h zfrIUJ#QCR#Rk_3NLtR)ET{qIdqaCaX%vKKx4wekFmFHjwJHx>y!Ax69)xM}ewX^B4 z)_R>}x0HxevU_1>Y%19!Fmnu->{FPT*GSXpszBxCcbMs~C9860a1X0wBVeY?BpVOQ z*Xc<125hK>HCY{u6{X!M*!dQ_?XbKG5!gp>qXOk$${Np`uh&WT3e5N*+1n2GiGzLT zV1GDR<$LUTsRJ{8kIZLNnCX-IYClz=d~X9As{UY+Y|g#GwI0dth1H0d9bosEgFO#x zVX^xb*4n}v+!u_OWM0mMnRO;q(I~fWhn-}Jb1SU9g;luUo?aiANymgL8kOD>*g#91 zJ7GgCtj$_`xr~6dve=ymv-!8iVYl63SK$GB-PVM)wB)4=>@W*Uftlm1EVD}-c2~j7 zelG2Hz-n94`x;i=!hVKTwXnZncUahM58Cb4IM_q5!*!hfbf^N=UN*tZek9o&u!(wm zGsZD?i4S?6nHQ9-09MChHxFj&NZKuf_0xTUWINUc zoM*vInMroGgH3m^xv;vHGP@e~hJ}S6@x0qCtm>oOTWDe1VN56Zi}WFHz2|*sVFMrY zyj~V|8O+3GLba)?(sy9CGTRNSW{LA#*gqDw=W%=e{RK1gFETHOKVi?yu`s3+{6*S5 z4y$QlFTq+^*!QqAE$w>XQ=a#X#jfVlp7*zf)z}cst;u|z1?z9Iy9;LeENS-`ti84~ z_Ufm~`d6^CEUeGQ;GPp{H^IT?z&cyvd=S>l!hVFAF}F-Fk-{|nm}KX}I#}Xd3p>Wb zHapnoFq;p@JZtyi44BP_l`xwRU&3rY9QB;thfWSQ7-sWf9;}z8TsFaMK2+Ug_hBf^ z=EGc=tsZW2u=OyT58uLUKAiNt-G^x~TRl7uv-$81%;rPo7woJF%;v)=n9YZ4U@4Y5 z+5xlqaQusQA4b5;oQK?xra0JK2fNIuFmIyQRw2}>gU82*G>@8Rg3;W2yzJVG4WSoD(s_Qrh>QDvBzsfHMV@1ho z!m8=*C2Ih)#d*AgwS~1-39}4}1pdEj)!0`8-z5t>*fa;5<6sLN>}r@PPnnn7VaE5t z!iTl6hI*Z3TS}xS*}JeqEp{KnmRi`f&B0vB5RsRaFoq5OB3b&DpsXdE3~OewTMRqJ z!d`)y{ZGdE8Em1p8>&MUsCv(3@M)fjk!;6nL3v8{3#^`wYnTpIpyI6ldhjj`$y^RW#T|=1hU9v8)3VQpII#hwO>jtZ#*GZNNGi^e$ zK``UPC~dC-73UaO6}?Wfaj?TR8?8eXD7$=^$%|yOVJ0tS!!LHW%mU(#_cDQC^b*KX6-xn}b z50d=^GyX}o&tX?}tKIH!*hHNN8Rra`$>-^M8x^R0E`S}c*GaYpW_*zBQJC>TvW*VA zEe^Zw4!e&Xc3;EjCjCX`<>9x2ee4XqjS7_S8(_vi$u`4`f0Av3{i)-U?DcKIm?2$n zqXL!QXRwp?x-)gC0>v6_5Aq^eYuK@Rd&&C3POz|CN1W%tjDIrDi(qvvab5%Ksxr(X z?OuDEciTnK0j$M4!LeA{b%o_x?CyZ|wXpACrv7A{f52@1ReU!%{zmLT?BJDncnKmKWcd!~d&Z#23KVW7&VfH7ri7J;$9|iv93A+ZcqxHIc!4hCedfha^ z3Sp-2DG=;>SW~@DvL|3mG%FN#r|k;LQ?lJKn7I|kNOubU~@aG1%9WSOu=dizcro#qX(t94(O0#oy zr~*|kdtt5hI?0ayCTP2owT2yOu}gB;4RhE{hM8l)Y#p}>R6fsvRnY4sn+-F4k7T#P z%>Fk=+p9pu`4FtRUMJbRFyr5OdK(oeyYFBp>2;DFvnS|x&)3_iK-o2inYJWZ2bgI~ zlAR1QZyRr?9%3T_ocC71r9qntmIUr?hJeGvz5+7l&Q4!)^e~_$T8W1gmbz=UCWK z3%eU;#!2&p@3p=Q#ygS~!)oa5CA$!2e3$G}hut*}yOj>RH4eLVum>&qoVb^Muwn$t zd_MbQ(5^2Q<+254%388_9PATVV;z^YtMC)wDA9S5?2%uBHZR#rFth*77x~-@>!@}p z7Re6zEw~OV*-BVAVs?OCrQd^hs!6-{u;$v%%tx!ADhnfFoh)o2%siVU?Nm0b8M7$ zU&5ML(mV9;;GT79mj$zx^#WL`CC*o2-7T!@KX#T3GkGwfibl1G&9E+(I4iJ4frS;p zs#w^$4mKBNtJ}+AH7#*2hviyWwNNN}ZZG}21eRm5`w3?HVre&{LMVEkBiVeItqm@N znX##~+XYLo<8Fs7S_E|C^}}4b}2B^J|!ChGv#@yj#~vP zFB4$Kcgd!~OdUyfA6fH`-5jhJ%vKLW9c%*3R-U;Ic8-J1hc(pgYmp9BpxW83Ff%TYY%i>{-d?h1 zl|#|@@=JCX%ogV_FjFpzb=)dYd8tw*@LjUHutW9sk~MU&<}h>KA?;3dq}S0AXAhX! zH!st9Qi1ZJKg^W1WRpsyCs|>M^dy@N8>rKf>}5xKpTSH&A?<#KnR+neP~$^oKHhkW zPEWEFnAsmB>kq4@?Uv}!#5oey-oh@1wa{#-u)7!bzvX`=@V^rH|F;BcXxC-m@ECoA zIVMQt~5`3@pXMmczzc*w2piLN!9scXvwv<{cJ_-a97Q5j8{6 zb8pEy!_3@*WFuhaoI$cFu-XF0yc~uF!t8|`Jpxj#FV5?zfACq>EmPk*s7ai;!STB`0i?pj> zH>d~6j)$4{DOnrXv`CZ(#Cek=&bwfZEp{)%I$GF1nCbsyUKSq_ie5vN>=D>omN*yI z3wdiTtQ(W=2^Ka5Ho?MPg_$-e^YRxg&0?2aKNP*cR@#k$nKmfd1XzJ3&TS664`D+r zc5NF3{h3VfY*6fn7ajQUOZy?O<50Z^?*iCTQO>x-GaM)b{8?N&w^YRw#SPT0eX0Eqf zqqk9k@~_UZf$x$X2Q$Z8$wtBI=(w)cp$b%-lVN83a-Cr3mq<^tMGkf?%=8n|?iE;V zosMKXU}o;*dXbl3V7)6vR!Y{D#tHTp$wqRZ%GDDQtR%eyk zyLB)#wvp^}m>FxV7Ixpm%sHiGf5J@NN>=4mJF5#b`;Olk8rY8ShGVT#}tFfu&pW@(t{63%j~^P=96{wW;!N4eTUs zC)v9t?AGXQRG{p>gPHav*_Fxk$$ERq*1$|#x<_xL0u|>oFq0R_zAIsOudu6>5{#22 z>jX3DNp>2{q$k;o5_b2A^e%&${YbJWVdnU7zp#51X39mf&tPVpC0T{kpv_BG6LzRh zN3!}b)2`QwyflG5t=CER5$tyhdp9lQ^|7!ric_QC2}Sgn3RA1U+M2-Z;BJ)lDssP@?%Hdn8c>?xROXOg`Id&OdR(`muE+Jkx< z6{z$cgqeO&vZrCD-X(j{VfU89ZYRtfk7S&`IO43(Kk)q_;X?zM@jTcbg-<2Vpk}$AtP^EjaX?Vk zlGTDWw%E0E*mZ|>vDg*BT3XnRumlTx6;|8AK7bvenHh(wpK5>j0cMVWk_{XfjEN*$ z3Cps?S#eNMX40+}%(PF*8o*4PkLb8npz=8z_LE*GS>E7K^x0C$Dh&yFFInuiz)W8! z?T+RJYa=XnxiHi3O1tYFY!l2JJ08_>t3dhp8mzirC)s;2eLChz_CCy9kC*Hd2m8vw zzK7ZJ@~4AU9v1j##&^cQ+AtHRWXHgaf07*wGyX}|%)weaSOUzJm!1y06bI|?V8a~g zo$0X4aB(X%m}ZT`g=M%pBvSUDe@1A0pY| zFq_@64!aW^b_ou%d>3byG05kodWXF#Pd5M8icXqIBn9cWQcNol+i)5Lw<~lEuEr8`&*srj2ENogv(5_{ix53PqL9+W{ z=6pr6^$xpD4)zAj>_;1PepR5#rQ(DjFOt=QnRz0~M!`%yY*dlyMa4N0cD4S!QHLr} z>`$1fhi3${1u)9c+*z&WW%(IvpA3OxO|& ztCAf&_a^N|!OT3$3&Mx-FmrA%*%X+WOOULrRrT!dmL>CCh~!V_^$nms(ieDZxG_<80($tsSh3gC#rIUiPvHXT;o!Y+iJqx1Qy z-bMv#)t@tha}vpF&kW8jB$3MwVg&nHXk*qK5C=1Jg{bOO{XN9~|Eo>#sj3;Dz zPs73%yW=U8!4_5kGv{ir>1|Y?%Ip%@6unNeA7Mi+Ecx8vnufH?g_&cxWEa3pSxdIq zVYk9zcQ@=BOFnze4#qt)y`eB$Ue1Kse8_Xyo$Fwiz^YjCc{!|=g{^nQxd~>@$E1JT z9qe-l`xR#PX&GmgIrj7#I9N*uJK4ed!>Z|Wd0mGpP;GZ4%=8nIjfa`Kl`IEl>Q=Jz zV8(aJE{E09d64WTn5hTJ?sM2Z1+(Slby!VHdLO{rT3Ge-f_5hJQU})FV%HmHi!&c) z^Y20jy8>p~yv)n>Fk4yQ<%sif2ixpmJ7K0xyrIiL1*$E52{Zk?WIs6U{&Lt=K0i25 zm2oD+j?{UOY%I*Q>o@f_Dp2{%f|>n6vRs%MdrOuNGsl3fBF>9pCNGlR2s3R^vb!91 z8yt48!i;}!iM+fEGd@VR1J+t^FWDg%1m&_##90ew&W9!23Nv|;>;qVB9hYR^!c2Ke zR^dXsT^$E&3j5fSUd6c~?_LXA3$yv~goC{RGxJN*hu0i-?>X!~hRw6&Gkj4n-j(Ui zhb36-*27HSBkf*>9bvKi09Mz+zK30+b|@AZ=ZuT(|4I||lO=kr}1sz8;?fD(3+je+&i+e@|*X7-2o^foF`ao!IzJh0d@;v#s_J4 z1I)Dfo!VXnDhrRmOub9?EX>rqWSbp!?>OvsIqdd0?0$BzzhQH=UoxK;ED7cyB>M=q z&tmuf(x5y)(A%g$mDwJc**7Ko17_;|Lt$5GSC-zDn+OV)9HB;qWBnR=J( zVwlOxE@8K%M0%3l;9$4Ij@EHWyA37M`&gv+GR)*tvK_EGdV9(CIN0AXv;RrEnpfD< zYvf?<9V`iE%ja+h3&W1I_;;?u?lK2k2{Yq5>HD3q!z}5ogPDC=+CAl9FF4|S%VD?E z!9Ii8>hEWm>6c_aLs#0_VK7^q$2#mm=(7t7T!MVWz*9 zc43$)Ysm^=rvKcn<5q#n%WRnG2PL}(X8e=vUWeU_um(CEY4?%C?swQR7P}*^4$ie@ zoJYb2SnMXijPIZ7ZB(Fq&w-itBH0WFn+r2#R?@BlvjMz@$B+FV7WLP1wyj!0{l$C# z^*R-P=6%K*p70IqQ;E!n{pRYGwvulfxA6gFnVvrtV0`~Qfo_#ZqF6P1V*Qwc++7bXM0_Fa`t52 zira%b5>8=Ozn7Qf_2!72!drCH7>)MjZAPc@=7Isdk#7()^h20YAI2RDBfOD(dtfxr ztd8Z|J!kMt#hHBjb(}Ze%ivuUncUAC=6UN$-efP^JDVB$9G>XT`V!u|yO3*=i@e3&Wt=N6;hh`H zxcBTz-tloYbLQ82*YOpV8@wBNPWdLTi>>r-_HOZR!+?wzBRr0(M47}#^cYpHPmiX(p;u7YDKju&vPlaMWnH^ndg0r zhN729|1W$wg|g{O9v9=|tH-k)7c|FW)4Uzuf}p(AvXMNzMx4(QPby`!lk~=u{w8dH zro3mukD{!zTk`F0^7IRSZo!|ASoat{y+IsxN%Kh3_>8!BpTM;neCbJ9_oiGbQC>zL z;6ruF^_@x)T}|H7NJE9^Q^rqH)+$t5Od9nlqr=GaaD1IZc`l@^pThnm%BwPY{EIY3 zQkIvI=6dR*1$Lj1=3L4t#JXef`3Tayj=X-z_D|B@?k4|NkiXu<^C96H>_11pV!N9% zsYki3#Mj~Y)}8!}CZ2c6!v@x0L|(6J<9WNt?;O%L+ChF^r(TURNVfq#HmCi3KwLi& zS0D0!4Eb037`;axFC;(Xu)C4%GKjY}>kgwHwo{g^u{(_PjIJck8z_%K`D5X4SWIGR+LKPX(3oRK-X47IQKF47= zSP0is!V@!!bD~92%B-<>W>f6@H5-oGnNwohM~iRx)S~<$*_l&{^HZ`5%-Y!Y&Z6m; z70xZnE}9j8v6SfiMi*o-h$-kdHNO-!^{)qxNGIAqT#DnB-q|BTLUf-`%F4(u)d8Gc z#vg{{P0h&8O)BExKcToN9J?5Of7Ng+b$Uilap?{aI!1uZ z&5$qtqW{+>9~~%_rs?@jHd2FeG+Dp+qKAlnxfAnZrzM)&Kn^ktY~uHsJ-XCmBGaDI z2NxIR7Z>@5;z)08NbG$3zK&qj7a7Qxx;rS@I}XVxU?d(pEx#-17u4!-&Z06)HDWB8 zTExR>^%SP#Y>MA2#b4S7#v9v)>V?3WdPb5Td3G|Jnb4@p4l^}_{l3%Lv5kGt z#Hd#LA@+;1#kF75adepjQ<7sR=vS+MSc>O3I;b>JJIW) zWlk>bd{0S3PCq7vOKa#Cz8+AQ>g-C_vfg>p{l3vZ(MkyyWn|~X-#J8T)9)H`#lBdW zo|-#7yC5%jDrXI8c{$916944*)7Y=8Nl%)!+nn*g zR^za|yrQ_Oa&$IxDl-a)hcktwTtGsxteyuxtM z$YN(X+A<@}D$e;;-KK_TGjA7;{D_?-JGz=a^M_MG4aVWHXvt-tfGn{eM}{epjv%%R zItMAUaxU2hE z>=9-~sS{*wv9yWlEJpU#ff;d(j!mx8hjG!Hj+>a`m=zQ)Nbloin8J=`V`Nso`8#$& z={-Ok`N+leY{tWJ>CmaR#Uhxjfc?l-YrmQyCGzO3_ZqA98YSsA8d zOxp`)*vm2Ajn2o=u1Yb3_ixRhcOF-9Gjb!Xp;Q-D{8$G0Lz2{jf>Phrao|}(TF@m4!^^hjpMwg%z4p<>H404$cXwN#WpNFtvFm*6n|`f z&8AMxS3~^L-=Gxf&eXjToz(3O{+K~^ZWIswrV9FUO*W@AlkLGEL*HrWv%^L43^{ep2349D&mr&M z#^|NY>3+BN#51lJ`)c%P7JnK0H8lcl%GUK?|*3SKSfV!J7qpY*9WXNsAOIhiUB)*{QxJSb)UjI`rYsZXMxX^3IGY{=1 z`@PYG96F-Niiu3J6t?^K2PFzJBM(Ys=>0K0BP)-~S>~te9Q;V*i-XHNnd<2X4u$^H z5#@|d=Zz>!JSb6yZ0UFkOFaBghFA*oDWD>CM{D`qnqcm#GtrbUU(x6$MlYF}h|5-s zehr4RG9%M6<&Ddq+bLfpS?W&h@U^qyowIz|Voxh%oKU_Jmv4~i?hmB zwDi8}s#}J-iHS!UxN|+Db>jJ6zz+jNG#u6jx!1TfF1Q7ExtIo)pv0G* z?1Pb!90pMSqdxJa?VFWx_@1erwe%w>hx5Mu)W|byab{glj%DkIDB`uA6s@~B`xE80 ze~VpYXcpgLG*W23`HaXjTIybpvgLpQia%^FlXcmWo$5cQ&s?T|kAHkcZt0@p&wZhK zN^hci*r03~DdNuhax__8Z}B$TEN%_u>_Xq+pP_HCRe9Nu#8n*oS*ELB2Q$9x$XyKk zB~p&;6{;pz4rduhGi^cdojWTdCnxeNuI%UtB0-tX>2(ac)8h7;vgg8&gQsjJh076# z?uN>hk=(4zvgd$thX2xqvd0iP@nf$jQ(@*rUL%svz(T!7gtLjra8s{f_!3+bEOl=s zBlYK%GSy|D|3b8SycTibAm;brXSE=5!@|LjxG-{;#=(qO^;riqzUWxtU`EPL6ISy? z>gJ1s8ZTE~{~PggGoAlr`oYYr-whtr2)S3|zu|mj$agSv%5?$tAn(DAQoTm$zu~^R zjKNHa-_0JBUW&uc!HiDF73sPUN(RlL?O^7zKtCj)Mrj8#UVlXFU-`)LA2Ivy#CPd*jbRv`SChj2lkugFC(nQBQh|BtQgkL!T~3Mf zf{KXB#2N3jLSza$Jrb00CU3tu%9VjK?X^1j$mKgV&SGMVj+ZmH2#Kq~2a~DklcR6J z)AbY?!%YmHVJmgL|7)z#_{*QcNX`ycJX0cXZ7QF4{v`x;_k6B??@0NgE8ua~gXJZ= zakT8|q4f>CabBS)QKdl~xSJWd3D}=m&CoXim&Nsnvq36l+BJ&ROFs4CEHYCPJt7qz zq}dK<66GGLIAae7uP&JAzq$ZVCu?t`e#W&^ls38lULptOB-!akPUJ@B|DFrE;Tb#v zSiXU@(*wE|^`4yU@|{q|O2VI*{O^?#bGOVjMs~{oUMdIW48&Pdj0+FWUS7lrSah!~ zOrH>WWG%WT{{2`)7>OxzL@FvYk3vSzT@F(G%p(_+c+F|4dw#!+MUKPzmfwR{2HE); zk=KkKyeM_sjf~0Pan+AS-QwUsD5B3A zd2Mw39!6_0?(5<@50Phnrm3gUg4?vpkPrVsl*qlW@mq)0 zW+3twkjRYRK`0Q)L%mgGzxezK&@y;ui>eGe9@*mm`18PhgS<9|qfVUXFMc!62ReZ!1q1y5Eo^u2ST{rS6W-(2udl z-KzfWkQ{FY%5pd5)U3?7lHsCrT-)#0D3s+U9{5Y(sXx9)#mD!m?)_r&ar;iJ{A0_% z|Jkta@?HD>dH(zr`(FRG%H@AOf9;ol|MTbGfB49+TK4f_r_O{o@Ik9H2~+r;KzJ?x zJVf{pAE@d;$hV;Qs30HuO7!^59UrygV^}K)ui}GDnS^WkpcCI?^1AbptMdro<|9qH zgn#m(D!w1(wc+DUeAmhA%JvfouOXv+)5-gjk1`D)yo7k4CA^=6`Vh`1p7RNR;Nwl* z2nVw9jfBrN=7VO0k73uJupyCOMffx6NXuBOeDFLpTJd?<2gZ8QT(G&4;K45q`|?`GoJC zzz4$!Z^Y@-2_Np{@hL#hJGM1tN2nIE0U~h!Nf@5ruF& z;kb@`xQ=i+zgH2SL%#1MY(x7@C9IR+@i|E9fc$~HsjN>Ue30_#O1PNF#uGN6{FV_u zPNr4f7t@ZH6E?=#d4$RJ`RE+sUx*_28j=4K33Dp((Ky22DAXqjA4VYG7hLt0P(I0o z&r+_}6DHyBQ-o<1$s6JKNAR&T!tNB_-GtRTczni^{gQmIBg|_>n8~U_g!|3JI6IyDO6x;q#QkJ%pV*(RUDjOSzvx zxC_5B2otF{qVis#T&^K}ssbOJBm53~vhMYu9fb+sB7bWMlS6#0k1&<;7(&>de4RqL zoqXLw*o*QTNI01C%OU)`oyX@yJ#R05uP2;FJ{~7Ll|*_I{&YAWBP5(n`J6^r4IP3` zB=JJR_eqZ|dh2NfEeRiPPTdi%VL$3Ycz#1ZLP%JZ_H_f{8`LXV^Jd})S@Sxv-N}Uc z{5X~HYdVW8!n-M)X@uLcyNPgE6Y7%iSo|i+|1JM_mB52ElLlmYByCZ3LmTp0!BXLD zx-qJD41fPm|0{$4pW8q>$6<~VUN3fy@99o|qpNN~H~9wr?P|hJ96HwVcLTc6s&s>u z2)EGvzr=Q{`*1ksP_&cnzJz^BU)+qpYp|{eyUC~qU9IAqh+`wR+vtav!#9!M7`pid zRXFq$*AZ;HhxKjf>o<{)5gbo8vF$zBZe!b3*pBD#wftR!w6^iL%CoY`r~6*OA?yOS zsX;m|2!G@FwS_oWGh|U?b+zrhX5~}S)$x2!K3lMj8p1_8Y8iQS9wn-=51xTf@hFed=t5ULV~JC8UUkp2R;83WtM_C;)` z4oQ_ra~*cSsWM=DRVGieO&k7h)-h7<7pP<32^@Yot~TKCsQgfRl6>S4E+ubAu>AtP zz8P`V=J0v}b)@2(P5jI8VKwWO-AhE*rUrFQJ{oekUkqP>eP8mUd{Eo;fZxNqrQ~lZ zT* zs`?v3{2P&KgS!ZK9vR^~iDv<2_ayeJEWRXvRatidZDAklRGFzZH@OM%kcSZ}AK350 zx1IRei){w*yNIF4O!6~ErPrCfv2Gsa)`@TxHeK274dQyKIU#=!A;C=K;NeNjJj8tRV*pn*u8J`6@f z&`>lC4M!u;NHhwKMq|)ebUHc%rK2;^S!f&@k225%l!+(;?e@pR-l#WW^@a>72Sqbq1(|N=uV{C@LlL`vZ`_WqT0D2HTgw~;lk^1KLqi8*P45`zPCy;6b3(?bP1KNn5LC>P+&?fXedI7zN zUP3RUSI}m(1-*)1L$4!M&u^lw=q^+czjQ&BIJgnFZ7^gczg6McX_L?5AD=wtK=+KoO%pP|pu7wAj$75W-|gZ7|r z(RXMs`X2p&endZ^|Dd1IFX&hF8~Ppnf&N7M&|m0p^bhjr4??H{s)#C~Lr`T@1*tyl zP*e@6@21y4hoPFN7OIU7M|DtLbOfr0jzslQ19TKR8XbcgqGQo*Q+Ji1l?)QhguKZWNo?T^Vh^!QUW9H#tJD|M*k?8`sB zY)se$HATmxW{9rSpVByyumx&~TA|iR^^qr`wunQYKSk1kFadEG^`~O!qWx3aE`(iC zH>6GhyQ3bcC*m~0KOO8vn1p(xWR!wZQ5x!l`l5d5G}IprKm*YrG#Cv*92)&8hv9@H z&`2~2jYev`IToFc&OqttOmr3+hsL7}Gy!FzEEGl)(Ihk(Wuvpv6qJLeqFj`R^3gO@ zfC^C&Dn`@M3^WtXLg%1!(QGsaorlgx7oZE#Tyzndhb~6*(IsdBT8J)1i_l_p8M+)T zK}*pxbOpK+U4^bj*Pv_Bb?AC@1G*6{M>nArXeGKC-GXjKx1m+&c60~26Rk#fp}Wx< zbPu{0-G}Z+YtaMfLG%z>haN_cphwYq^cZ>^J%OG?PobyL2DA}9gPujtp-t#{^a6Sj zy@Xyyub|Cn3wjm3hF(W+pf}N0^cLENwxhSvJLp~X9@>GLhG^rc8ETGBKqsOWs3mHJ zTBA1TB-9qQL+w!qq^7w$qE4tYN<>{ySJVxijJl&9s3$rFor-#)B-9(J>6;XkiqcRY z)ED(br=k9602+t}p}}Yf8j6OY;b;UJiPX#XMx!xkEIJ*Xfzr{L=qxl2jYk=10?I^L zD2yheNoX?4MrWfbNR5Z4qFj`R^3gO@fC^C&Dn`@M3^WtXLg%1!(QGsaorlgx7oZE# zTyzndhb~6*(IsdBT8J)1i_l_p8M+)TK}*pxbOpK+U4^bj*Pv_Bb?AC@1G*6{M>nAr zXeGKC-GXjKx1m+&c60~26Rk#fp}WxhaN_cphwYq^cZ>^ zJ%OG?PobyL2DA}9gPujtp-t#{^a6Sjy@Xyyub|Cn3wjm3hF(W+pf}N0^cLENwxhSv zJLp~X9@>H4M?296=tJ}o+J!zwpP=37Q}h}79DRYlL|>t=(Kl!h`WAhM_M-3659mkq z6Z#MO8U2EOMZcln(I4nfv=9A-{zm^GuL8$WR0$n|Dx)f>DmoNZL)DQw$2bhtM72Y^i1J#-|hj~bw((9!4^)DRtujzf)5W7GsSMaLs`&e9y6fKEg$P)pPbwMK2w zNvJJqhtzpe2b6$1qE4tYN<>|dI-l)^PDb5P57ZN#f=)%fP!j5ml2HmuMQNxHQs-O! z&}pbY8h{3(L1-{i=P^UkFf<&EKqJv8G#ZUTW6|m843v(}L}#IKXgtb56Hq3~LSZx! zO+u4VHaZ(kK{;qD%0+o7A5B9As1OyQVl*AiKr_)SbPhTf%|>(3dFXs}0lE;)MHiuY z=wdV>xedvC)7CnF-L=T~L=wb8-dK9fkkDe)I8Zy=xB5dYKV?S$Du~3F=~REqT`X8Gir`bKqn$KchwTLLak97 zbP{Td+M)KS14=+0k(zJlj1o~7)D?9@C!_AD2kMDVL8qc#C<*mO$tVS-B6X>(4^s0$ z{m^NsKN^4rqCsddQu8W9(J(X|jX)#OC^Q<4L1WSB=nRyO&O~RSacDfsKod|V%0gi@ z5lupqQ8qdoO+h(mD#}H9C?8Ej1*i}ep<*;0%|J8JEOZV!7tKa<(0S;5bOE{$%|#cX zdFWy^A6PXghivy@TFG z@1Y&&eY6vOfIdVYp^aQ9f33Wz^s0-?fx}lR%chm#*M5mxrQ7@E)dZT2Nf>Kc$>Vx{Ce&{sR9}PeQ z(I7M!4M9WEFf<&gdC`$*6dH}jpt0z5bOuuM<7c9?&^R<6WuOTt6J?<=nusPLH5ZzV z&PG#E4w{N`Q69=i(@+5_L`A3=O-D1(Of(CfgU&^>(HwLhIv-ttE<|(DMQ9$n7|lnQ zpap0lx)d!!i_vB1a(LG9MzkE=gjS%H=w@^ax)t4q zR-xO`9q3N98r_BNMr+VL=w5Umx*x4Y51MeEUH=yCJ}dJ;W_o<%l3;GrP zhJHtXpg++*^cVUY{e!$iIPRkgs3NL_4ndVs6;u@+imIXNs0KO=)kL*WZFD%QgX$u6 z&7~eX64gfy&{61UbPQ^Ujz!0zMyN4rf|{b^Q8UyWoq$e6El^9;3bjUU&`GE*YKPP{ zr4A?obwr&|XOxJ#psuJJIvI6GJy1_{3OW__LP@AMN=7Lt6{Vp*s4wb=PDB0C05lK{ zLW9u|G!zX(!_f#d5{*Km(HJxqosP~x>F7*!78-}fqYN|wWuhz;MibE_G#O>1v(Xfk zgQlWfl!x-sG*o~JQ4uOe)6op1uBpsI=b&@ZY%~X*ht5YApbODlbP<||E=KdwC1?R! zh%QBo&|-8Mx*RP*OVKiP1-cSlg|0@|pli`}=z4Smx)Ci$H=z}1CAt~if^J2(p;hR1 zbO*W_0(ud>gkDCkpv`CtdKJBfUPo`BH_=w~7TSikqqosJ=w0+4+JW9jJJAQ| zL-Y~ag+4}~pxx+G^cngbeSyA2U!kwjH)s#~7JY~IqVLfU=tuMu`VaaU{epf)zoFmJ zALviC5B;BZ?XpP=G71AQBd|+%cXxMpcSwiCvdeY{UAur1cF>q$fdK{>G$^H@gpvlK zpeSWf*ZVVc_RL&=;GXl$^Wi>sxyOC71bO#lBRfF^6X>*al8f8~y5+p&BR>TwNFfSS zgrXFqIDu}rB&8@#83N}*s7?)PQj6Nup)U2PPXij#h{iObDa~k3 z3tG~O)&x4(wzQ)?9q33WI@5)&bfY^x=t(bn(}%wFqdx-}$RGw2=zWJUlwk~K1S1*6 zXvQ#>z?tMY#xsG5gfNLv!kA1r5kwM2G%>^yM?486l0-5oq>{!IrZSD`%wQ(7n9UsK zGLLjJn9l+h@+gn7h{Y^nDUb66Px2H`^9;}O9MAIt%UI3|RsZh0yuq8i#oKIPBk%Ao@9{pH*vtof$VYt47Pj&UpYj=>vyJWSWCy$0%^vo$k1zO= z{T$#Rhd9hve9aM#@(tf|jN_c(B;WBpr#Q_S&T@|P{J@X=#LrydBA2+#FZ{|CuJRkd zbB#avlk42zCbziFU;NEK{L3Bga*z9D3HI;v5LwAac7g~d2RX?_Zt{?qeB`G91t~;f zicpkd6sH6wDMe|@P?mC(rveqJL}jW_m1+=(3WW(;F_ zgmH{#0uu>g5}|}KnQ$VAB#LNah$W7A5=bP8WKu{ajVVlJ8q=A0~gU y1uP_U{+|hiT31QJOinG{k Date: Tue, 29 Dec 2015 08:09:27 +0100 Subject: [PATCH 3/6] Memory leak fix --- .../Kafka.Client/Common/ClientIdAndBroker.cs | 79 +- .../Server/AbstractFetcherThread.cs | 903 +++++------ src/Kafka/Kafka.Client/Utils/ZkUtils.cs | 1328 ++++++++--------- 3 files changed, 1192 insertions(+), 1118 deletions(-) diff --git a/src/Kafka/Kafka.Client/Common/ClientIdAndBroker.cs b/src/Kafka/Kafka.Client/Common/ClientIdAndBroker.cs index c2d670b..c6d26c3 100644 --- a/src/Kafka/Kafka.Client/Common/ClientIdAndBroker.cs +++ b/src/Kafka/Kafka.Client/Common/ClientIdAndBroker.cs @@ -1,24 +1,57 @@ -namespace Kafka.Client.Common -{ - ///

- /// Convenience case class since (clientId, brokerInfo) pairs are used to create - /// SyncProducer Request Stats and SimpleConsumer Request and Response Stats. - /// - public class ClientIdAndBroker - { - public string ClientId { get; private set; } - - public string BrokerInfo { get; private set; } - - public ClientIdAndBroker(string clientId, string brokerInfo) - { - this.ClientId = clientId; - this.BrokerInfo = brokerInfo; - } - - public override string ToString() - { - return string.Format("{0}-{1}", this.ClientId, this.BrokerInfo); - } - } +namespace Kafka.Client.Common +{ + /// + /// Convenience case class since (clientId, brokerInfo) pairs are used to create + /// SyncProducer Request Stats and SimpleConsumer Request and Response Stats. + /// + public class ClientIdAndBroker + { + public string ClientId { get; private set; } + + public string BrokerInfo { get; private set; } + + public ClientIdAndBroker(string clientId, string brokerInfo) + { + this.ClientId = clientId; + this.BrokerInfo = brokerInfo; + } + + public override string ToString() + { + return string.Format("{0}-{1}", this.ClientId, this.BrokerInfo); + } + + protected bool Equals(ClientIdAndBroker other) + { + return this.ClientId == other.ClientId && this.BrokerInfo == other.BrokerInfo; + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != this.GetType()) + { + return false; + } + + return this.Equals((ClientIdAndBroker)obj); + } + + public override int GetHashCode() + { + unchecked + { + return ((this.ClientId != null ? this.ClientId.GetHashCode() : 0) * 397) ^ (this.BrokerInfo != null ? this.BrokerInfo.GetHashCode() : 0); + } + } + } } \ No newline at end of file diff --git a/src/Kafka/Kafka.Client/Server/AbstractFetcherThread.cs b/src/Kafka/Kafka.Client/Server/AbstractFetcherThread.cs index b215733..90a4a66 100644 --- a/src/Kafka/Kafka.Client/Server/AbstractFetcherThread.cs +++ b/src/Kafka/Kafka.Client/Server/AbstractFetcherThread.cs @@ -1,432 +1,473 @@ -namespace Kafka.Client.Server -{ - using System; - using System.Collections.Generic; - using System.Linq; - - using Kafka.Client.Api; - using Kafka.Client.Clusters; - using Kafka.Client.Common; - using Kafka.Client.Common.Imported; - using Kafka.Client.Consumers; - using Kafka.Client.Extensions; - using Kafka.Client.Messages; - using Kafka.Client.Utils; - - using Spring.Threading.Locks; - - internal abstract class AbstractFetcherThread : ShutdownableThread - { - private string clientId; - - private Broker sourceBroker; - - private int socketTimeout; - - private int socketBufferSize; - - private int fetchSize; - - private int fetcherBrokerId; - - private int maxWait; - - private int minBytes; - - private readonly IDictionary partitionMap = new Dictionary(); - - private readonly ReentrantLock partitionMapLock; - - private readonly ICondition partitionMapCond; - - protected readonly SimpleConsumer simpleConsumer; - - private readonly string brokerInfo; - - private readonly ClientIdAndBroker metricId; - - public FetcherStats FetcherStats { get; private set; } - - public FetcherLagStats FetcherLagStats { get; private set; } - - private readonly FetchRequestBuilder fetchRequestBuilder; - - internal AbstractFetcherThread( - string name, - string clientId, - Broker sourceBroker, - int socketTimeout, - int socketBufferSize, - int fetchSize, - int fetcherBrokerId = -1, - int maxWait = 0, - int minBytes = 1, - bool isInterruptible = true) - : base(name, isInterruptible) - { - this.clientId = clientId; - this.sourceBroker = sourceBroker; - this.socketTimeout = socketTimeout; - this.socketBufferSize = socketBufferSize; - this.fetchSize = fetchSize; - this.fetcherBrokerId = fetcherBrokerId; - this.maxWait = maxWait; - this.minBytes = minBytes; - - this.partitionMapLock = new ReentrantLock(); - this.partitionMapCond = this.partitionMapLock.NewCondition(); - this.simpleConsumer = new SimpleConsumer( - sourceBroker.Host, sourceBroker.Port, socketTimeout, socketBufferSize, clientId); - this.brokerInfo = string.Format("host_{0}-port_{1}", sourceBroker.Host, sourceBroker.Port); - - this.metricId = new ClientIdAndBroker(clientId, this.brokerInfo); - - this.FetcherStats = new FetcherStats(this.metricId); - this.FetcherLagStats = new FetcherLagStats(this.metricId); - this.fetchRequestBuilder = - new FetchRequestBuilder().ClientId(clientId) - .ReplicaId(fetcherBrokerId) - .MaxWait(maxWait) - .MinBytes(minBytes); - } - - /// - /// process fetched Data - /// - /// - /// - /// - public abstract void ProcessPartitionData( - TopicAndPartition topicAndPartition, long fetchOffset, FetchResponsePartitionData partitionData); - - /// - /// handle a partition whose offset is out of range and return a new fetch offset - /// - /// - /// - public abstract long HandleOffsetOutOfRange(TopicAndPartition topicAndPartition); - - /// - /// deal with partitions with errors, potentially due to leadership changes - /// - /// - public abstract void HandlePartitionsWithErrors(IEnumerable partitions); - - public override void Shutdown() - { - base.Shutdown(); - this.simpleConsumer.Close(); - } - - public override void DoWork() - { - this.partitionMapLock.Lock(); - try - { - if (this.partitionMap.Count == 0) - { - this.partitionMapCond.Await(TimeSpan.FromMilliseconds(200)); - } - - foreach (var topicAndOffset in this.partitionMap) - { - var topicAndPartition = topicAndOffset.Key; - var offset = topicAndOffset.Value; - this.fetchRequestBuilder.AddFetch(topicAndPartition.Topic, topicAndPartition.Partiton, offset, this.fetchSize); - } - } - finally - { - this.partitionMapLock.Unlock(); - } - - var fetchRequest = this.fetchRequestBuilder.Build(); - if (fetchRequest.RequestInfo.Count > 0) - { - this.ProcessFetchRequest(fetchRequest); - } - } - - public void ProcessFetchRequest(FetchRequest fetchRequest) - { - var partitionsWithError = new HashSet(); - FetchResponse response = null; - try - { - Logger.DebugFormat("issuing to broker {0} of fetch request {1}", this.sourceBroker.Id, fetchRequest); - response = this.simpleConsumer.Fetch(fetchRequest); - } - catch (Exception e) - { - if (isRunning.Get()) - { - Logger.Error("Error in fetch " + fetchRequest, e); - this.partitionMapLock.Lock(); - try - { - foreach (var key in this.partitionMap.Keys) - { - partitionsWithError.Add(key); - } - } - finally - { - this.partitionMapLock.Unlock(); - } - } - } - - this.FetcherStats.RequestRate.Mark(); - - if (response != null) - { - // process fetched Data - this.partitionMapLock.Lock(); - try - { - foreach (var topicAndData in response.Data) - { - var topicAndPartition = topicAndData.Key; - var partitionData = topicAndData.Value; - var topic = topicAndPartition.Topic; - var partitionId = topicAndPartition.Partiton; - long currentOffset; - if (this.partitionMap.TryGetValue(topicAndPartition, out currentOffset) - && fetchRequest.RequestInfo[topicAndPartition].Offset == currentOffset) - { - // we append to the log if the current offset is defined and it is the same as the offset requested during fetch - switch (partitionData.Error) - { - case ErrorMapping.NoError: - try - { - var messages = (ByteBufferMessageSet)partitionData.Messages; - var validBytes = messages.ValidBytes; - var messageAndOffset = - messages.ShallowIterator().ToEnumerable().LastOrDefault(); - var newOffset = messageAndOffset != null - ? messageAndOffset.NextOffset - : currentOffset; - - this.partitionMap[topicAndPartition] = newOffset; - this.FetcherLagStats.GetFetcherLagStats(topic, partitionId).Lag = partitionData.Hw - - newOffset; - this.FetcherStats.ByteRate.Mark(validBytes); - - // Once we hand off the partition Data to the subclass, we can't mess with it any more in this thread - this.ProcessPartitionData(topicAndPartition, currentOffset, partitionData); - } - catch (InvalidMessageException ime) - { - // we log the error and continue. This ensures two things - // 1. If there is a corrupt message in a topic partition, it does not bring the fetcher thread down and cause other topic partition to also lag - // 2. If the message is corrupt due to a transient state in the log (truncation, partial writes can cause this), we simply continue and - // should get fixed in the subsequent fetches - Logger.ErrorFormat( - "Found invalid messages during fetch for partiton [{0},{1}] offset {2} error {3}", - topic, - partitionId, - currentOffset, - ime.Message); - } - catch (Exception e) - { - throw new KafkaException( - string.Format( - "error processing Data for partition [{0},{1}] offset {2}", - topic, - partitionId, - currentOffset), - e); - } - - break; - case ErrorMapping.OffsetOutOfRangeCode: - try - { - var newOffset = this.HandleOffsetOutOfRange(topicAndPartition); - this.partitionMap[topicAndPartition] = newOffset; - Logger.ErrorFormat( - "Current offset {0} for partiton [{1},{2}] out of range; reste offset to {3}", - currentOffset, - topic, - partitionId, - newOffset); - } - catch (Exception e) - { - Logger.Error( - string.Format( - "Error getting offset for partiton [{0},{1}] to broker {2}", - topic, - partitionId, - sourceBroker.Id), - e); - partitionsWithError.Add(topicAndPartition); - } - - break; - default: - if (isRunning.Get()) - { - Logger.ErrorFormat( - "Error for partition [{0},{1}] to broker {2}:{3}", - topic, - partitionId, - this.sourceBroker.Id, - ErrorMapping.ExceptionFor(partitionData.Error).GetType().Name); - partitionsWithError.Add(topicAndPartition); - } - - break; - } - } - } - } - finally - { - this.partitionMapLock.Unlock(); - } - } - - if (partitionsWithError.Count > 0) - { - Logger.DebugFormat("handling partitions with error for {0}", string.Join(",", partitionsWithError)); - this.HandlePartitionsWithErrors(partitionsWithError); - } - } - - public void AddPartitions(IDictionary partitionAndOffsets) - { - this.partitionMapLock.LockInterruptibly(); - try - { - foreach (var topicAndOffset in partitionAndOffsets) - { - var topicAndPartition = topicAndOffset.Key; - var offset = topicAndOffset.Value; - - // If the partitionMap already has the topic/partition, then do not update the map with the old offset - if (!this.partitionMap.ContainsKey(topicAndPartition)) - { - this.partitionMap[topicAndPartition] = PartitionTopicInfo.IsOffsetInvalid(offset) - ? this.HandleOffsetOutOfRange(topicAndPartition) - : offset; - } - - this.partitionMapCond.SignalAll(); - } - } - finally - { - this.partitionMapLock.Unlock(); - } - } - - public void RemovePartitions(ISet topicAndPartitions) - { - this.partitionMapLock.LockInterruptibly(); - try - { - foreach (var tp in topicAndPartitions) - { - this.partitionMap.Remove(tp); - } - } - finally - { - this.partitionMapLock.Unlock(); - } - } - - public int PartitionCount() - { - this.partitionMapLock.LockInterruptibly(); - try - { - return this.partitionMap.Count; - } - finally - { - this.partitionMapLock.Unlock(); - } - } - } - - internal class FetcherLagMetrics - { - private readonly AtomicLong lagVal = new AtomicLong(-1); - - public FetcherLagMetrics(ClientIdBrokerTopicPartition metricId) - { - MetersFactory.NewGauge(metricId + "-ConsumerLag", () => this.lagVal.Get()); - } - - internal long Lag - { - get - { - return this.lagVal.Get(); - } - - set - { - this.lagVal.Set(value); - } - } - } - - internal class FetcherLagStats - { - private readonly ClientIdAndBroker metricId; - - private readonly Func valueFactory; - - public Pool Stats { get; private set; } - - public FetcherLagStats(ClientIdAndBroker metricId) - { - this.metricId = metricId; - this.valueFactory = k => new FetcherLagMetrics(k); - this.Stats = new Pool(this.valueFactory); - } - - internal FetcherLagMetrics GetFetcherLagStats(string topic, int partitionId) - { - return this.Stats.GetAndMaybePut( - new ClientIdBrokerTopicPartition(this.metricId.ClientId, this.metricId.BrokerInfo, topic, partitionId)); - } - } - - internal class FetcherStats - { - public FetcherStats(ClientIdAndBroker metricId) - { - this.RequestRate = MetersFactory.NewMeter(metricId + "-RequestsPerSec", "requests", TimeSpan.FromSeconds(1)); - this.ByteRate = MetersFactory.NewMeter(metricId + "-BytesPerSec", "bytes", TimeSpan.FromSeconds(1)); - } - - internal IMeter RequestRate { get; private set; } - - internal IMeter ByteRate { get; private set; } - } - - internal class ClientIdBrokerTopicPartition - { - public string ClientId { get; private set; } - - public string BrokerInfo { get; private set; } - - public string Topic { get; private set; } - - public int PartitonId { get; private set; } - - public ClientIdBrokerTopicPartition(string clientId, string brokerInfo, string topic, int partitonId) - { - this.ClientId = clientId; - this.BrokerInfo = brokerInfo; - this.Topic = topic; - this.PartitonId = partitonId; - } - } +namespace Kafka.Client.Server +{ + using System; + using System.Collections.Generic; + using System.Linq; + + using Kafka.Client.Api; + using Kafka.Client.Clusters; + using Kafka.Client.Common; + using Kafka.Client.Common.Imported; + using Kafka.Client.Consumers; + using Kafka.Client.Extensions; + using Kafka.Client.Messages; + using Kafka.Client.Utils; + + using Spring.Threading.Locks; + + internal abstract class AbstractFetcherThread : ShutdownableThread + { + private string clientId; + + private Broker sourceBroker; + + private int socketTimeout; + + private int socketBufferSize; + + private int fetchSize; + + private int fetcherBrokerId; + + private int maxWait; + + private int minBytes; + + private readonly IDictionary partitionMap = new Dictionary(); + + private readonly ReentrantLock partitionMapLock; + + private readonly ICondition partitionMapCond; + + protected readonly SimpleConsumer simpleConsumer; + + private readonly string brokerInfo; + + private readonly ClientIdAndBroker metricId; + + public FetcherStats FetcherStats { get; private set; } + + public FetcherLagStats FetcherLagStats { get; private set; } + + private readonly FetchRequestBuilder fetchRequestBuilder; + + internal AbstractFetcherThread( + string name, + string clientId, + Broker sourceBroker, + int socketTimeout, + int socketBufferSize, + int fetchSize, + int fetcherBrokerId = -1, + int maxWait = 0, + int minBytes = 1, + bool isInterruptible = true) + : base(name, isInterruptible) + { + this.clientId = clientId; + this.sourceBroker = sourceBroker; + this.socketTimeout = socketTimeout; + this.socketBufferSize = socketBufferSize; + this.fetchSize = fetchSize; + this.fetcherBrokerId = fetcherBrokerId; + this.maxWait = maxWait; + this.minBytes = minBytes; + + this.partitionMapLock = new ReentrantLock(); + this.partitionMapCond = this.partitionMapLock.NewCondition(); + this.simpleConsumer = new SimpleConsumer( + sourceBroker.Host, sourceBroker.Port, socketTimeout, socketBufferSize, clientId); + this.brokerInfo = string.Format("host_{0}-port_{1}", sourceBroker.Host, sourceBroker.Port); + + this.metricId = new ClientIdAndBroker(clientId, this.brokerInfo); + + this.FetcherStats = new FetcherStats(this.metricId); + this.FetcherLagStats = new FetcherLagStats(this.metricId); + this.fetchRequestBuilder = + new FetchRequestBuilder().ClientId(clientId) + .ReplicaId(fetcherBrokerId) + .MaxWait(maxWait) + .MinBytes(minBytes); + } + + /// + /// process fetched Data + /// + /// + /// + /// + public abstract void ProcessPartitionData( + TopicAndPartition topicAndPartition, long fetchOffset, FetchResponsePartitionData partitionData); + + /// + /// handle a partition whose offset is out of range and return a new fetch offset + /// + /// + /// + public abstract long HandleOffsetOutOfRange(TopicAndPartition topicAndPartition); + + /// + /// deal with partitions with errors, potentially due to leadership changes + /// + /// + public abstract void HandlePartitionsWithErrors(IEnumerable partitions); + + public override void Shutdown() + { + base.Shutdown(); + this.simpleConsumer.Close(); + } + + public override void DoWork() + { + this.partitionMapLock.Lock(); + try + { + if (this.partitionMap.Count == 0) + { + this.partitionMapCond.Await(TimeSpan.FromMilliseconds(200)); + } + + foreach (var topicAndOffset in this.partitionMap) + { + var topicAndPartition = topicAndOffset.Key; + var offset = topicAndOffset.Value; + this.fetchRequestBuilder.AddFetch(topicAndPartition.Topic, topicAndPartition.Partiton, offset, this.fetchSize); + } + } + finally + { + this.partitionMapLock.Unlock(); + } + + var fetchRequest = this.fetchRequestBuilder.Build(); + if (fetchRequest.RequestInfo.Count > 0) + { + this.ProcessFetchRequest(fetchRequest); + } + } + + public void ProcessFetchRequest(FetchRequest fetchRequest) + { + var partitionsWithError = new HashSet(); + FetchResponse response = null; + try + { + Logger.DebugFormat("issuing to broker {0} of fetch request {1}", this.sourceBroker.Id, fetchRequest); + response = this.simpleConsumer.Fetch(fetchRequest); + } + catch (Exception e) + { + if (isRunning.Get()) + { + Logger.Error("Error in fetch " + fetchRequest, e); + this.partitionMapLock.Lock(); + try + { + foreach (var key in this.partitionMap.Keys) + { + partitionsWithError.Add(key); + } + } + finally + { + this.partitionMapLock.Unlock(); + } + } + } + + this.FetcherStats.RequestRate.Mark(); + + if (response != null) + { + // process fetched Data + this.partitionMapLock.Lock(); + try + { + foreach (var topicAndData in response.Data) + { + var topicAndPartition = topicAndData.Key; + var partitionData = topicAndData.Value; + var topic = topicAndPartition.Topic; + var partitionId = topicAndPartition.Partiton; + long currentOffset; + if (this.partitionMap.TryGetValue(topicAndPartition, out currentOffset) + && fetchRequest.RequestInfo[topicAndPartition].Offset == currentOffset) + { + // we append to the log if the current offset is defined and it is the same as the offset requested during fetch + switch (partitionData.Error) + { + case ErrorMapping.NoError: + try + { + var messages = (ByteBufferMessageSet)partitionData.Messages; + var validBytes = messages.ValidBytes; + var messageAndOffset = + messages.ShallowIterator().ToEnumerable().LastOrDefault(); + var newOffset = messageAndOffset != null + ? messageAndOffset.NextOffset + : currentOffset; + + this.partitionMap[topicAndPartition] = newOffset; + this.FetcherLagStats.GetFetcherLagStats(topic, partitionId).Lag = partitionData.Hw + - newOffset; + this.FetcherStats.ByteRate.Mark(validBytes); + + // Once we hand off the partition Data to the subclass, we can't mess with it any more in this thread + this.ProcessPartitionData(topicAndPartition, currentOffset, partitionData); + } + catch (InvalidMessageException ime) + { + // we log the error and continue. This ensures two things + // 1. If there is a corrupt message in a topic partition, it does not bring the fetcher thread down and cause other topic partition to also lag + // 2. If the message is corrupt due to a transient state in the log (truncation, partial writes can cause this), we simply continue and + // should get fixed in the subsequent fetches + Logger.ErrorFormat( + "Found invalid messages during fetch for partiton [{0},{1}] offset {2} error {3}", + topic, + partitionId, + currentOffset, + ime.Message); + } + catch (Exception e) + { + throw new KafkaException( + string.Format( + "error processing Data for partition [{0},{1}] offset {2}", + topic, + partitionId, + currentOffset), + e); + } + + break; + case ErrorMapping.OffsetOutOfRangeCode: + try + { + var newOffset = this.HandleOffsetOutOfRange(topicAndPartition); + this.partitionMap[topicAndPartition] = newOffset; + Logger.ErrorFormat( + "Current offset {0} for partiton [{1},{2}] out of range; reste offset to {3}", + currentOffset, + topic, + partitionId, + newOffset); + } + catch (Exception e) + { + Logger.Error( + string.Format( + "Error getting offset for partiton [{0},{1}] to broker {2}", + topic, + partitionId, + sourceBroker.Id), + e); + partitionsWithError.Add(topicAndPartition); + } + + break; + default: + if (isRunning.Get()) + { + Logger.ErrorFormat( + "Error for partition [{0},{1}] to broker {2}:{3}", + topic, + partitionId, + this.sourceBroker.Id, + ErrorMapping.ExceptionFor(partitionData.Error).GetType().Name); + partitionsWithError.Add(topicAndPartition); + } + + break; + } + } + } + } + finally + { + this.partitionMapLock.Unlock(); + } + } + + if (partitionsWithError.Count > 0) + { + Logger.DebugFormat("handling partitions with error for {0}", string.Join(",", partitionsWithError)); + this.HandlePartitionsWithErrors(partitionsWithError); + } + } + + public void AddPartitions(IDictionary partitionAndOffsets) + { + this.partitionMapLock.LockInterruptibly(); + try + { + foreach (var topicAndOffset in partitionAndOffsets) + { + var topicAndPartition = topicAndOffset.Key; + var offset = topicAndOffset.Value; + + // If the partitionMap already has the topic/partition, then do not update the map with the old offset + if (!this.partitionMap.ContainsKey(topicAndPartition)) + { + this.partitionMap[topicAndPartition] = PartitionTopicInfo.IsOffsetInvalid(offset) + ? this.HandleOffsetOutOfRange(topicAndPartition) + : offset; + } + + this.partitionMapCond.SignalAll(); + } + } + finally + { + this.partitionMapLock.Unlock(); + } + } + + public void RemovePartitions(ISet topicAndPartitions) + { + this.partitionMapLock.LockInterruptibly(); + try + { + foreach (var tp in topicAndPartitions) + { + this.partitionMap.Remove(tp); + } + } + finally + { + this.partitionMapLock.Unlock(); + } + } + + public int PartitionCount() + { + this.partitionMapLock.LockInterruptibly(); + try + { + return this.partitionMap.Count; + } + finally + { + this.partitionMapLock.Unlock(); + } + } + } + + internal class FetcherLagMetrics + { + private readonly AtomicLong lagVal = new AtomicLong(-1); + + public FetcherLagMetrics(ClientIdBrokerTopicPartition metricId) + { + MetersFactory.NewGauge(metricId + "-ConsumerLag", () => this.lagVal.Get()); + } + + internal long Lag + { + get + { + return this.lagVal.Get(); + } + + set + { + this.lagVal.Set(value); + } + } + } + + internal class FetcherLagStats + { + private readonly ClientIdAndBroker metricId; + + private readonly Func valueFactory; + + public Pool Stats { get; private set; } + + public FetcherLagStats(ClientIdAndBroker metricId) + { + this.metricId = metricId; + this.valueFactory = k => new FetcherLagMetrics(k); + this.Stats = new Pool(this.valueFactory); + } + + internal FetcherLagMetrics GetFetcherLagStats(string topic, int partitionId) + { + return this.Stats.GetAndMaybePut( + new ClientIdBrokerTopicPartition(this.metricId.ClientId, this.metricId.BrokerInfo, topic, partitionId)); + } + } + + internal class FetcherStats + { + public FetcherStats(ClientIdAndBroker metricId) + { + this.RequestRate = MetersFactory.NewMeter(metricId + "-RequestsPerSec", "requests", TimeSpan.FromSeconds(1)); + this.ByteRate = MetersFactory.NewMeter(metricId + "-BytesPerSec", "bytes", TimeSpan.FromSeconds(1)); + } + + internal IMeter RequestRate { get; private set; } + + internal IMeter ByteRate { get; private set; } + } + + internal class ClientIdBrokerTopicPartition + { + public string ClientId { get; private set; } + + public string BrokerInfo { get; private set; } + + public string Topic { get; private set; } + + public int PartitonId { get; private set; } + + public ClientIdBrokerTopicPartition(string clientId, string brokerInfo, string topic, int partitonId) + { + this.ClientId = clientId; + this.BrokerInfo = brokerInfo; + this.Topic = topic; + this.PartitonId = partitonId; + } + + public override string ToString() + { + return string.Format("{0}-{1}-{2}-{3}", this.ClientId, this.BrokerInfo, this.Topic, this.PartitonId); + } + + protected bool Equals(ClientIdBrokerTopicPartition other) + { + return this.ClientId == other.ClientId && this.BrokerInfo == other.BrokerInfo && this.Topic == other.Topic && this.PartitonId == other.PartitonId; + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) + { + return false; + } + + if (ReferenceEquals(this, obj)) + { + return true; + } + + if (obj.GetType() != this.GetType()) + { + return false; + } + + return this.Equals((ClientIdBrokerTopicPartition)obj); + } + + public override int GetHashCode() + { + unchecked + { + return ((this.ClientId != null ? this.ClientId.GetHashCode() : 0) * 397) ^ + (this.BrokerInfo != null ? this.BrokerInfo.GetHashCode() * 164 : 0) ^ + (this.Topic != null ? this.Topic.GetHashCode() * 62 : 0) ^ + (this.PartitonId.GetHashCode()); + } + } + } } \ No newline at end of file diff --git a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs index ac040d3..b2da5aa 100644 --- a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs +++ b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs @@ -1,665 +1,665 @@ -namespace Kafka.Client.Utils -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using System.Text; - using System.Threading; - - using Kafka.Client.Clusters; - using Kafka.Client.Consumers; - using Kafka.Client.Extensions; - using Kafka.Client.ZKClient; - using Kafka.Client.ZKClient.Exceptions; - using Kafka.Client.ZKClient.Serialize; - - using Spring.Threading.Locks; - - using log4net; - - using Newtonsoft.Json; - using Newtonsoft.Json.Linq; - - using Org.Apache.Zookeeper.Data; - - public static class ZkUtils - { - private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public const string ConsumersPath = "/consumers"; - - public const string BrokerIdsPath = "/brokers/ids"; - - public const string BrokerTopicsPath = "/brokers/topics"; - - public const string TopicConfigPath = "/config/topics"; - - public const string TopicConfigChangesPath = "/config/changes"; - - public const string ControllerPath = "/controller"; - - public const string ControllerEpochPath = "/controller_epoch"; - - public const string ReassignPartitionsPath = "/admin/reassign_partitions"; - - public const string DeleteTopicsPath = "/admin/delete_topics"; - - public const string PreferredReplicaLeaderElectionPath = "/admin/preferred_replica_election"; - - public static string GetTopicPath(string topic) - { - return BrokerTopicsPath + "/" + topic; - } - - public static string GetTopicPartitionsPath(string topic) - { - return GetTopicPath(topic) + "/partitions"; - } - - public static string GetTopicConfigPath(string topic) - { - return TopicConfigPath + "/" + topic; - } - - public static string GetDeleteTopicPath(string topic) - { - return DeleteTopicsPath + "/" + topic; - } - - public static string GetTopicPartitionPath(string topic, int partitionId) - { - return GetTopicPartitionsPath(topic) + "/" + partitionId; - } - - public static string GetTopicPartitionLeaderAndIsrPath(string topic, int partitionId) - { - return GetTopicPartitionPath(topic, partitionId) + "/" + "state"; - } - - public static List GetSortedBrokerList(ZkClient zkClient) - { - return GetChildren(zkClient, BrokerIdsPath).Select(int.Parse).OrderBy(x => x).ToList(); - } - - public static List GetAllBrokersInCluster(ZkClient zkClient) - { - var brokerIds = GetChildrenParentMayNotExist(zkClient, BrokerIdsPath).OrderBy(x => x).ToList(); - return - brokerIds.Select(int.Parse) - .Select(id => GetBrokerInfo(zkClient, id)) - .Where(x => x != null) - .ToList(); - } - - public static int? GetLeaderForPartition(ZkClient zkClient, string topic, int partition) - { - var leaderAndIsrOpt = ReadDataMaybeNull(zkClient, GetTopicPartitionLeaderAndIsrPath(topic, partition)).Item1; - if (leaderAndIsrOpt != null) - { - return JObject.Parse(leaderAndIsrOpt).SelectToken("leader").Value(); - } - - return null; - } - - public static string GetConsumerPartitionOwnerPath(string group, string topic, int partition) - { - var topicDirs = new ZKGroupTopicDirs(group, topic); - return topicDirs.ConsumerOwnerDir + "/" + partition; - } - - /// - /// Get JSON partition to replica map from zookeeper. - /// - /// - /// - public static string ReplicaAssignmentZkData(Dictionary> map) - { - return JObject.FromObject(new { version = 1, partitions = map }).ToString(); - } - - - /// - /// make sure a persistent path exists in ZK. Create the path if not exist. - /// - /// - /// - public static void MakeSurePersistentPathExists(ZkClient client, string path) - { - if (!client.Exists(path)) - { - client.CreatePersistent(path, true); // won't throw NoNodeException or NodeExistsException - } - } - - /// - /// create the parent path - /// - /// - /// - private static void CreateParentPath(ZkClient client, string path) - { - var parentDir = path.Substring(0, path.LastIndexOf('/')); - if (parentDir.Length != 0) - { - client.CreatePersistent(parentDir, true); - } - } - - /// - /// Create an ephemeral node with the given path and data. Create parents if necessary. - /// - /// - /// - /// - private static void CreateEphemeralPath(ZkClient client, string path, string data) - { - try - { - client.CreateEphemeral(path, data); - } - catch (ZkNoNodeException) - { - CreateParentPath(client, path); - client.CreateEphemeral(path, data); - } - } - - /// - /// Create an ephemeral node with the given path and data. - /// Throw NodeExistException if node already exists. - /// - /// - /// - /// - public static void CreateEphemeralPathExpectConflict(ZkClient client, string path, string data) - { - try - { - CreateEphemeralPath(client, path, data); - } - catch (ZkNodeExistsException) - { - // this can happen when there is connection loss; make sure the Data is what we intend to write - string storedData = null; - try - { - storedData = ReadData(client, path).Item1; - } - catch (ZkNoNodeException) - { - // the node disappeared; treat as if node existed and let caller handles this - } - - if (storedData == null || storedData != data) - { - Logger.InfoFormat("Conflict in {0} Data: {1}, stored Data: {2}", path, data, storedData); - throw; - } - else - { - // otherwise, the creation succeeded, return normally - Logger.InfoFormat("{0} exists with value {1} during connection loss", path, data); - } - } - } - - /// - /// Create an ephemeral node with the given path and data. - /// Throw NodeExistsException if node already exists. - /// Handles the following ZK session timeout b_u_g - /// - /// https://issues.apache.org/jira/browse/ZOOKEEPER-1740 - /// - /// Upon receiving a NodeExistsException, read the data from the conflicted path and - /// trigger the checker function comparing the read data and the expected data, - /// If the checker function returns true then the above b_u_g might be encountered, back off and retry; - /// otherwise re-throw the exception - /// - /// - /// - /// - /// - /// - /// - public static void CreateEphemeralPathExpectConflictHandleZKBug( - ZkClient zkClient, - string path, - string data, - object expectedCallerData, - Func checker, - int backoffTime) - { - while (true) - { - try - { - CreateEphemeralPathExpectConflict(zkClient, path, data); - return; - } - catch (ZkNodeExistsException) - { - // An ephemeral node may still exist even after its corresponding session has expired - // due to a Zookeeper ug, in this case we need to retry writing until the previous node is deleted - // and hence the write succeeds without ZkNodeExistsException - var writtenData = ReadDataMaybeNull(zkClient, path).Item1; - if (writtenData != null) - { - if (checker(writtenData, expectedCallerData)) - { - Logger.InfoFormat( - "I wrote this conflicted ephemeral node [{0}] at {1} a while back in a different session, " - + "hence I will backoff for this node to be deleted by Zookeeper and retry", - data, - path); - - Thread.Sleep(backoffTime); - } - else - { - throw; - } - } - else - { - // the node disappeared; retry creating the ephemeral node immediately - } - } - } - } - - /// - /// Create an persistent node with the given path and data. Create parents if necessary. - /// - public static void CreatePersistentPath(ZkClient client, string path, string data) - { - try - { - client.CreatePersistent(path, data); - } - catch (ZkNoNodeException e) - { - CreateParentPath(client, path); - client.CreatePersistent(path, data); - } - } - - /// - /// Update the value of a persistent node with the given path and data. - /// create parrent directory if necessary. Never throw NodeExistException. - /// Return the updated path zkVersion - /// - /// - /// - /// - public static void UpdatePersistentPath(ZkClient client, string path, string data) - { - try - { - client.WriteData(path, data); - } - catch (ZkNoNodeException) - { - CreateParentPath(client, path); - try - { - client.CreatePersistent(path, data); - } - catch (ZkNodeExistsException) - { - client.WriteData(path, data); - } - } - } - - public static bool DeletePath(ZkClient client, string path) - { - try - { - return client.Delete(path); - } - catch (ZkNoNodeException) - { - // this can happen during a connection loss event, return normally - Logger.InfoFormat("{0} deleted during connection loss; This is ok. ", path); - return false; - } - } - - public static void MaybeDeletePath(string zkUrl, string dir) - { - try - { - var zk = new ZkClient(zkUrl, 30 * 1000, 30 * 1000, new ZkStringSerializer()); - zk.DeleteRecursive(dir); - zk.Dispose(); - } - catch - { - // swallow - } - } - - - public static Tuple ReadData(ZkClient client, string path) - { - var stat = new Stat(); - var dataString = client.ReadData(path, stat); - return Tuple.Create(dataString, stat); - } - - public static Tuple ReadDataMaybeNull(ZkClient client, string path) - { - var stat = new Stat(); - try - { - var obj = client.ReadData(path, stat); - return Tuple.Create(obj, stat); - } - catch (ZkNoNodeException) - { - return Tuple.Create((string)null, stat); - } - } - - public static List GetChildren(ZkClient zkClient, string path) - { - return zkClient.GetChildren(path); - } - - public static IList GetChildrenParentMayNotExist(ZkClient client, string path) - { - try - { - return client.GetChildren(path); - } - catch (ZkNoNodeException) - { - return null; - } - } - - public static bool PathExists(ZkClient client, string path) - { - return client.Exists(path); - } - - public static Cluster GetCluster(ZkClient zkClient) - { - var cluster = new Cluster(); - var nodes = GetChildrenParentMayNotExist(zkClient, BrokerIdsPath); - foreach (var node in nodes) - { - var brokerZkString = ReadData(zkClient, BrokerIdsPath + "/" + node).Item1; - cluster.Add(Broker.CreateBroker(int.Parse(node), brokerZkString)); - } - - return cluster; - } - - public static IDictionary>> GetPartitionAssignmentForTopics( - ZkClient zkClient, IList topics) - { - IDictionary>> ret = new Dictionary>>(); - foreach (var topic in topics) - { - var jsonPartitionMap = ReadDataMaybeNull(zkClient, GetTopicPath(topic)).Item1; - IDictionary> partitionMap = new Dictionary>(); - if (jsonPartitionMap != null) - { - var m = JObject.Parse(jsonPartitionMap); - var replicaMap = (IDictionary)m.Get("partitions"); - if (replicaMap != null) - { - partitionMap = replicaMap.ToDictionary( - kvp => int.Parse(kvp.Key), kvp => kvp.Value.Values().ToList()); - } - } - - Logger.DebugFormat("Partition map for /brokers/topics/{0} is {1}", topic, JObject.FromObject(partitionMap).ToString(Formatting.None)); - ret[topic] = partitionMap; - } - - return ret; - } - - public static IDictionary> GetConsumersPerTopic(ZkClient zkClient, string group) - { - var dirs = new ZKGroupDirs(group); - var consumers = GetChildrenParentMayNotExist(zkClient, dirs.ConsumerRegistryDir); - var consumerPerTopicMap = new Dictionary>(); - foreach (var consumer in consumers) - { - var topicCount = TopicCount.ConstructTopicCount(group, consumer, zkClient); - foreach (var topicAndConsumer in topicCount.GetConsumerThreadIdsPerTopic()) - { - var topic = topicAndConsumer.Key; - var consumerThreadIdSet = topicAndConsumer.Value; - foreach (var consumerThreadId in consumerThreadIdSet) - { - var curConsumers = consumerPerTopicMap.Get(topic); - if (curConsumers != null) - { - curConsumers.Add(consumerThreadId); - } - else - { - consumerPerTopicMap[topic] = new List { consumerThreadId }; - } - } - } - } - - consumerPerTopicMap = consumerPerTopicMap.ToDictionary(x => x.Key, x => x.Value.OrderBy(y => y).ToList()); - - return consumerPerTopicMap; - } - - /// - /// This API takes in a broker id, queries zookeeper for the broker metadata and returns the metadata for that broker - /// or throws an exception if the broker dies before the query to zookeeper finishes - /// - /// The zookeeper client connection - /// The broker id - /// An optional Broker object encapsulating the broker metadata - public static Broker GetBrokerInfo(ZkClient zkClient, int brokerId) - { - var brokerInfo = ReadDataMaybeNull(zkClient, BrokerIdsPath + "/" + brokerId); - if (brokerInfo != null) - { - return Broker.CreateBroker(brokerId, brokerInfo.Item1); - } - else - { - return null; - } - } - } - - internal class LeaderExistsOrChangedListener : IZkDataListener - { - private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private string topic; - - private int partition; - - private ReentrantLock leaderLock; - - private ICondition leaderExistsOrChanged; - - private int? oldLeaderOpt; - - private ZkClient zkClient; - - public LeaderExistsOrChangedListener(string topic, int partition, ReentrantLock leaderLock, ICondition leaderExistsOrChanged, int? oldLeaderOpt, ZkClient zkClient) - { - this.topic = topic; - this.partition = partition; - this.leaderLock = leaderLock; - this.leaderExistsOrChanged = leaderExistsOrChanged; - this.oldLeaderOpt = oldLeaderOpt; - this.zkClient = zkClient; - } - - public void HandleDataChange(string dataPath, object data) - { - var dataPathSplited = dataPath.Split('/'); - var t = dataPathSplited[dataPathSplited.Length - 4]; - var p = int.Parse(dataPathSplited[dataPathSplited.Length - 2]); - this.leaderLock.Lock(); - - try - { - if (t == this.topic && p == this.partition) - { - if (this.oldLeaderOpt.HasValue == false) - { - Logger.DebugFormat( - "In leader existence listener on partition [{0}, {1}], leader has been created", - topic, - partition); - this.leaderExistsOrChanged.Signal(); - } - else - { - var newLeaderOpt = ZkUtils.GetLeaderForPartition(this.zkClient, t, p); - if (newLeaderOpt.HasValue && newLeaderOpt.Value != this.oldLeaderOpt.Value) - { - Logger.DebugFormat("In leader change listener on partition [{0}, {1}], leader has been moved from {2} to {3}", topic, partition, oldLeaderOpt.Value, newLeaderOpt.Value); - this.leaderExistsOrChanged.Signal(); - } - } - } - } - finally - { - this.leaderLock.Unlock(); - } - - } - - public void HandleDataDeleted(string dataPath) - { - leaderLock.Lock(); - try - { - leaderExistsOrChanged.Signal(); - } - finally - { - leaderLock.Unlock(); - } - } - } - - public class ZkStringSerializer : IZkSerializer - { - public byte[] Serialize(object data) - { - return Encoding.UTF8.GetBytes(data.ToString()); - } - - public object Deserialize(byte[] bytes) - { - if (bytes == null) - { - return null; - } - - return Encoding.UTF8.GetString(bytes); - } - } - - public class ZKGroupDirs - { - public string Group { get; set; } - - public ZKGroupDirs(string @group) - { - this.Group = @group; - } - - public string ConsumerDir - { - get - { - return ZkUtils.ConsumersPath; - } - } - - public string ConsumerGroupDir - { - get - { - return this.ConsumerDir + "/" + this.Group; - } - } - - public string ConsumerRegistryDir - { - get - { - return this.ConsumerDir + "/ids"; - } - } - } - - public class ZKGroupTopicDirs : ZKGroupDirs - { - public string Topic { get; private set; } - - public ZKGroupTopicDirs(string @group, string topic) - : base(@group) - { - this.Topic = topic; - } - - public string ConsumerOffsetDir - { - get - { - return this.ConsumerGroupDir + "/offsets/" + this.Topic; - } - } - - public string ConsumerOwnerDir - { - get - { - return this.ConsumerGroupDir + "/owners/" + this.Topic; - } - } - } - - public class ZkConfig - { - public const int DefaultSessionTimeout = 6000; - - public const int DefaultConnectionTimeout = 6000; - - public const int DefaultSyncTime = 2000; - - public ZkConfig() - : this(null, DefaultSessionTimeout, DefaultConnectionTimeout, DefaultSyncTime) - { - } - - public ZkConfig(string zkconnect, int zksessionTimeoutMs, int zkconnectionTimeoutMs, int zksyncTimeMs) - { - this.ZkConnect = zkconnect; - this.ZkConnectionTimeoutMs = zkconnectionTimeoutMs; - this.ZkSessionTimeoutMs = zksessionTimeoutMs; - this.ZkSyncTimeMs = zksyncTimeMs; - } - - public string ZkConnect { get; set; } - - public int ZkSessionTimeoutMs { get; set; } - - public int ZkConnectionTimeoutMs { get; set; } - - public int ZkSyncTimeMs { get; set; } - } +namespace Kafka.Client.Utils +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Reflection; + using System.Text; + using System.Threading; + + using Kafka.Client.Clusters; + using Kafka.Client.Consumers; + using Kafka.Client.Extensions; + using Kafka.Client.ZKClient; + using Kafka.Client.ZKClient.Exceptions; + using Kafka.Client.ZKClient.Serialize; + + using Spring.Threading.Locks; + + using log4net; + + using Newtonsoft.Json; + using Newtonsoft.Json.Linq; + + using Org.Apache.Zookeeper.Data; + + public static class ZkUtils + { + private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public const string ConsumersPath = "/consumers"; + + public const string BrokerIdsPath = "/brokers/ids"; + + public const string BrokerTopicsPath = "/brokers/topics"; + + public const string TopicConfigPath = "/config/topics"; + + public const string TopicConfigChangesPath = "/config/changes"; + + public const string ControllerPath = "/controller"; + + public const string ControllerEpochPath = "/controller_epoch"; + + public const string ReassignPartitionsPath = "/admin/reassign_partitions"; + + public const string DeleteTopicsPath = "/admin/delete_topics"; + + public const string PreferredReplicaLeaderElectionPath = "/admin/preferred_replica_election"; + + public static string GetTopicPath(string topic) + { + return BrokerTopicsPath + "/" + topic; + } + + public static string GetTopicPartitionsPath(string topic) + { + return GetTopicPath(topic) + "/partitions"; + } + + public static string GetTopicConfigPath(string topic) + { + return TopicConfigPath + "/" + topic; + } + + public static string GetDeleteTopicPath(string topic) + { + return DeleteTopicsPath + "/" + topic; + } + + public static string GetTopicPartitionPath(string topic, int partitionId) + { + return GetTopicPartitionsPath(topic) + "/" + partitionId; + } + + public static string GetTopicPartitionLeaderAndIsrPath(string topic, int partitionId) + { + return GetTopicPartitionPath(topic, partitionId) + "/" + "state"; + } + + public static List GetSortedBrokerList(ZkClient zkClient) + { + return GetChildren(zkClient, BrokerIdsPath).Select(int.Parse).OrderBy(x => x).ToList(); + } + + public static List GetAllBrokersInCluster(ZkClient zkClient) + { + var brokerIds = GetChildrenParentMayNotExist(zkClient, BrokerIdsPath).OrderBy(x => x).ToList(); + return + brokerIds.Select(int.Parse) + .Select(id => GetBrokerInfo(zkClient, id)) + .Where(x => x != null) + .ToList(); + } + + public static int? GetLeaderForPartition(ZkClient zkClient, string topic, int partition) + { + var leaderAndIsrOpt = ReadDataMaybeNull(zkClient, GetTopicPartitionLeaderAndIsrPath(topic, partition)).Item1; + if (leaderAndIsrOpt != null) + { + return JObject.Parse(leaderAndIsrOpt).SelectToken("leader").Value(); + } + + return null; + } + + public static string GetConsumerPartitionOwnerPath(string group, string topic, int partition) + { + var topicDirs = new ZKGroupTopicDirs(group, topic); + return topicDirs.ConsumerOwnerDir + "/" + partition; + } + + /// + /// Get JSON partition to replica map from zookeeper. + /// + /// + /// + public static string ReplicaAssignmentZkData(Dictionary> map) + { + return JObject.FromObject(new { version = 1, partitions = map }).ToString(); + } + + + /// + /// make sure a persistent path exists in ZK. Create the path if not exist. + /// + /// + /// + public static void MakeSurePersistentPathExists(ZkClient client, string path) + { + if (!client.Exists(path)) + { + client.CreatePersistent(path, true); // won't throw NoNodeException or NodeExistsException + } + } + + /// + /// create the parent path + /// + /// + /// + private static void CreateParentPath(ZkClient client, string path) + { + var parentDir = path.Substring(0, path.LastIndexOf('/')); + if (parentDir.Length != 0) + { + client.CreatePersistent(parentDir, true); + } + } + + /// + /// Create an ephemeral node with the given path and data. Create parents if necessary. + /// + /// + /// + /// + private static void CreateEphemeralPath(ZkClient client, string path, string data) + { + try + { + client.CreateEphemeral(path, data); + } + catch (ZkNoNodeException) + { + CreateParentPath(client, path); + client.CreateEphemeral(path, data); + } + } + + /// + /// Create an ephemeral node with the given path and data. + /// Throw NodeExistException if node already exists. + /// + /// + /// + /// + public static void CreateEphemeralPathExpectConflict(ZkClient client, string path, string data) + { + try + { + CreateEphemeralPath(client, path, data); + } + catch (ZkNodeExistsException) + { + // this can happen when there is connection loss; make sure the Data is what we intend to write + string storedData = null; + try + { + storedData = ReadData(client, path).Item1; + } + catch (ZkNoNodeException) + { + // the node disappeared; treat as if node existed and let caller handles this + } + + if (storedData == null || storedData != data) + { + Logger.InfoFormat("Conflict in {0} Data: {1}, stored Data: {2}", path, data, storedData); + throw; + } + else + { + // otherwise, the creation succeeded, return normally + Logger.InfoFormat("{0} exists with value {1} during connection loss", path, data); + } + } + } + + /// + /// Create an ephemeral node with the given path and data. + /// Throw NodeExistsException if node already exists. + /// Handles the following ZK session timeout b_u_g + /// + /// https://issues.apache.org/jira/browse/ZOOKEEPER-1740 + /// + /// Upon receiving a NodeExistsException, read the data from the conflicted path and + /// trigger the checker function comparing the read data and the expected data, + /// If the checker function returns true then the above b_u_g might be encountered, back off and retry; + /// otherwise re-throw the exception + /// + /// + /// + /// + /// + /// + /// + public static void CreateEphemeralPathExpectConflictHandleZKBug( + ZkClient zkClient, + string path, + string data, + object expectedCallerData, + Func checker, + int backoffTime) + { + while (true) + { + try + { + CreateEphemeralPathExpectConflict(zkClient, path, data); + return; + } + catch (ZkNodeExistsException) + { + // An ephemeral node may still exist even after its corresponding session has expired + // due to a Zookeeper ug, in this case we need to retry writing until the previous node is deleted + // and hence the write succeeds without ZkNodeExistsException + var writtenData = ReadDataMaybeNull(zkClient, path).Item1; + if (writtenData != null) + { + if (checker(writtenData, expectedCallerData)) + { + Logger.InfoFormat( + "I wrote this conflicted ephemeral node [{0}] at {1} a while back in a different session, " + + "hence I will backoff for this node to be deleted by Zookeeper and retry", + data, + path); + + Thread.Sleep(backoffTime); + } + else + { + throw; + } + } + else + { + // the node disappeared; retry creating the ephemeral node immediately + } + } + } + } + + /// + /// Create an persistent node with the given path and data. Create parents if necessary. + /// + public static void CreatePersistentPath(ZkClient client, string path, string data) + { + try + { + client.CreatePersistent(path, data); + } + catch (ZkNoNodeException e) + { + CreateParentPath(client, path); + client.CreatePersistent(path, data); + } + } + + /// + /// Update the value of a persistent node with the given path and data. + /// create parrent directory if necessary. Never throw NodeExistException. + /// Return the updated path zkVersion + /// + /// + /// + /// + public static void UpdatePersistentPath(ZkClient client, string path, string data) + { + try + { + client.WriteData(path, data); + } + catch (ZkNoNodeException) + { + CreateParentPath(client, path); + try + { + client.CreatePersistent(path, data); + } + catch (ZkNodeExistsException) + { + client.WriteData(path, data); + } + } + } + + public static bool DeletePath(ZkClient client, string path) + { + try + { + return client.Delete(path); + } + catch (ZkNoNodeException) + { + // this can happen during a connection loss event, return normally + Logger.InfoFormat("{0} deleted during connection loss; This is ok. ", path); + return false; + } + } + + public static void MaybeDeletePath(string zkUrl, string dir) + { + try + { + var zk = new ZkClient(zkUrl, 30 * 1000, 30 * 1000, new ZkStringSerializer()); + zk.DeleteRecursive(dir); + zk.Dispose(); + } + catch + { + // swallow + } + } + + + public static Tuple ReadData(ZkClient client, string path) + { + var stat = new Stat(); + var dataString = client.ReadData(path, stat); + return Tuple.Create(dataString, stat); + } + + public static Tuple ReadDataMaybeNull(ZkClient client, string path) + { + var stat = new Stat(); + try + { + var obj = client.ReadData(path, stat); + return Tuple.Create(obj, stat); + } + catch (ZkNoNodeException) + { + return Tuple.Create((string)null, stat); + } + } + + public static List GetChildren(ZkClient zkClient, string path) + { + return zkClient.GetChildren(path); + } + + public static IList GetChildrenParentMayNotExist(ZkClient client, string path) + { + try + { + return client.GetChildren(path); + } + catch (ZkNoNodeException) + { + return null; + } + } + + public static bool PathExists(ZkClient client, string path) + { + return client.Exists(path); + } + + public static Cluster GetCluster(ZkClient zkClient) + { + var cluster = new Cluster(); + var nodes = GetChildrenParentMayNotExist(zkClient, BrokerIdsPath); + foreach (var node in nodes) + { + var brokerZkString = ReadData(zkClient, BrokerIdsPath + "/" + node).Item1; + cluster.Add(Broker.CreateBroker(int.Parse(node), brokerZkString)); + } + + return cluster; + } + + public static IDictionary>> GetPartitionAssignmentForTopics( + ZkClient zkClient, IList topics) + { + IDictionary>> ret = new Dictionary>>(); + foreach (var topic in topics) + { + var jsonPartitionMap = ReadDataMaybeNull(zkClient, GetTopicPath(topic)).Item1; + IDictionary> partitionMap = new Dictionary>(); + if (jsonPartitionMap != null) + { + var m = JObject.Parse(jsonPartitionMap); + var replicaMap = (IDictionary)m.Get("partitions"); + if (replicaMap != null) + { + partitionMap = replicaMap.ToDictionary( + kvp => int.Parse(kvp.Key), kvp => kvp.Value.Values().ToList()); + } + } + + Logger.DebugFormat("Partition map for /brokers/topics/{0} is {1}", topic, JObject.FromObject(partitionMap).ToString(Formatting.None)); + ret[topic] = partitionMap; + } + + return ret; + } + + public static IDictionary> GetConsumersPerTopic(ZkClient zkClient, string group) + { + var dirs = new ZKGroupDirs(group); + var consumers = GetChildrenParentMayNotExist(zkClient, dirs.ConsumerRegistryDir); + var consumerPerTopicMap = new Dictionary>(); + foreach (var consumer in consumers) + { + var topicCount = TopicCount.ConstructTopicCount(group, consumer, zkClient); + foreach (var topicAndConsumer in topicCount.GetConsumerThreadIdsPerTopic()) + { + var topic = topicAndConsumer.Key; + var consumerThreadIdSet = topicAndConsumer.Value; + foreach (var consumerThreadId in consumerThreadIdSet) + { + var curConsumers = consumerPerTopicMap.Get(topic); + if (curConsumers != null) + { + curConsumers.Add(consumerThreadId); + } + else + { + consumerPerTopicMap[topic] = new List { consumerThreadId }; + } + } + } + } + + consumerPerTopicMap = consumerPerTopicMap.ToDictionary(x => x.Key, x => x.Value.OrderBy(y => y).ToList()); + + return consumerPerTopicMap; + } + + /// + /// This API takes in a broker id, queries zookeeper for the broker metadata and returns the metadata for that broker + /// or throws an exception if the broker dies before the query to zookeeper finishes + /// + /// The zookeeper client connection + /// The broker id + /// An optional Broker object encapsulating the broker metadata + public static Broker GetBrokerInfo(ZkClient zkClient, int brokerId) + { + var brokerInfo = ReadDataMaybeNull(zkClient, BrokerIdsPath + "/" + brokerId); + if (brokerInfo != null) + { + return Broker.CreateBroker(brokerId, brokerInfo.Item1); + } + else + { + return null; + } + } + } + + internal class LeaderExistsOrChangedListener : IZkDataListener + { + private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private string topic; + + private int partition; + + private ReentrantLock leaderLock; + + private ICondition leaderExistsOrChanged; + + private int? oldLeaderOpt; + + private ZkClient zkClient; + + public LeaderExistsOrChangedListener(string topic, int partition, ReentrantLock leaderLock, ICondition leaderExistsOrChanged, int? oldLeaderOpt, ZkClient zkClient) + { + this.topic = topic; + this.partition = partition; + this.leaderLock = leaderLock; + this.leaderExistsOrChanged = leaderExistsOrChanged; + this.oldLeaderOpt = oldLeaderOpt; + this.zkClient = zkClient; + } + + public void HandleDataChange(string dataPath, object data) + { + var dataPathSplited = dataPath.Split('/'); + var t = dataPathSplited[dataPathSplited.Length - 4]; + var p = int.Parse(dataPathSplited[dataPathSplited.Length - 2]); + this.leaderLock.Lock(); + + try + { + if (t == this.topic && p == this.partition) + { + if (this.oldLeaderOpt.HasValue == false) + { + Logger.DebugFormat( + "In leader existence listener on partition [{0}, {1}], leader has been created", + topic, + partition); + this.leaderExistsOrChanged.Signal(); + } + else + { + var newLeaderOpt = ZkUtils.GetLeaderForPartition(this.zkClient, t, p); + if (newLeaderOpt.HasValue && newLeaderOpt.Value != this.oldLeaderOpt.Value) + { + Logger.DebugFormat("In leader change listener on partition [{0}, {1}], leader has been moved from {2} to {3}", topic, partition, oldLeaderOpt.Value, newLeaderOpt.Value); + this.leaderExistsOrChanged.Signal(); + } + } + } + } + finally + { + this.leaderLock.Unlock(); + } + + } + + public void HandleDataDeleted(string dataPath) + { + leaderLock.Lock(); + try + { + leaderExistsOrChanged.Signal(); + } + finally + { + leaderLock.Unlock(); + } + } + } + + public class ZkStringSerializer : IZkSerializer + { + public byte[] Serialize(object data) + { + return Encoding.UTF8.GetBytes(data.ToString()); + } + + public object Deserialize(byte[] bytes) + { + if (bytes == null) + { + return null; + } + + return Encoding.UTF8.GetString(bytes); + } + } + + public class ZKGroupDirs + { + public string Group { get; set; } + + public ZKGroupDirs(string @group) + { + this.Group = @group; + } + + public string ConsumerDir + { + get + { + return ZkUtils.ConsumersPath; + } + } + + public string ConsumerGroupDir + { + get + { + return this.ConsumerDir + "/" + this.Group; + } + } + + public string ConsumerRegistryDir + { + get + { + return this.ConsumerDir + "/ids"; + } + } + } + + public class ZKGroupTopicDirs : ZKGroupDirs + { + public string Topic { get; private set; } + + public ZKGroupTopicDirs(string @group, string topic) + : base(@group) + { + this.Topic = topic; + } + + public string ConsumerOffsetDir + { + get + { + return this.ConsumerGroupDir + "/offsets/" + this.Topic; + } + } + + public string ConsumerOwnerDir + { + get + { + return this.ConsumerGroupDir + "/owners/" + this.Topic; + } + } + } + + public class ZkConfig + { + public const int DefaultSessionTimeout = 6000; + + public const int DefaultConnectionTimeout = 6000; + + public const int DefaultSyncTime = 2000; + + public ZkConfig() + : this(null, DefaultSessionTimeout, DefaultConnectionTimeout, DefaultSyncTime) + { + } + + public ZkConfig(string zkconnect, int zksessionTimeoutMs, int zkconnectionTimeoutMs, int zksyncTimeMs) + { + this.ZkConnect = zkconnect; + this.ZkConnectionTimeoutMs = zkconnectionTimeoutMs; + this.ZkSessionTimeoutMs = zksessionTimeoutMs; + this.ZkSyncTimeMs = zksyncTimeMs; + } + + public string ZkConnect { get; set; } + + public int ZkSessionTimeoutMs { get; set; } + + public int ZkConnectionTimeoutMs { get; set; } + + public int ZkSyncTimeMs { get; set; } + } } \ No newline at end of file From 2fdff7996a4c928c3cc1b44f85bd30ecb116f916 Mon Sep 17 00:00:00 2001 From: michelh Date: Tue, 29 Dec 2015 08:10:31 +0100 Subject: [PATCH 4/6] Multiple consumer groups bug fix --- src/Kafka/Kafka.Client/Utils/ZkUtils.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs index b2da5aa..0b34b5c 100644 --- a/src/Kafka/Kafka.Client/Utils/ZkUtils.cs +++ b/src/Kafka/Kafka.Client/Utils/ZkUtils.cs @@ -601,7 +601,7 @@ public string ConsumerRegistryDir { get { - return this.ConsumerDir + "/ids"; + return this.ConsumerGroupDir + "/ids"; } } } From 0909d810ba441653f36fd16f5fdf6d308a06ef91 Mon Sep 17 00:00:00 2001 From: michelh Date: Tue, 29 Dec 2015 08:42:44 +0100 Subject: [PATCH 5/6] reference fixed --- src/Kafka/Kafka.Tests/Kafka.Tests.csproj | 245 +++++++++++------------ 1 file changed, 122 insertions(+), 123 deletions(-) diff --git a/src/Kafka/Kafka.Tests/Kafka.Tests.csproj b/src/Kafka/Kafka.Tests/Kafka.Tests.csproj index 92fad35..6d85093 100644 --- a/src/Kafka/Kafka.Tests/Kafka.Tests.csproj +++ b/src/Kafka/Kafka.Tests/Kafka.Tests.csproj @@ -1,124 +1,123 @@ - - - - - Debug - AnyCPU - {1794B07A-8B2A-42E6-A700-6BC0E7B8245A} - Library - Properties - Kafka.Tests - Kafka.Tests - v4.5 - 512 - ..\ - true - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - false - - - kafkaclient.snk - - - - False - ..\..\..\lib\log4Net\log4net.dll - - - False - ..\Kafka.Client\bin\Debug\Spring.Threading.dll - - - - - - - - - - - ..\packages\xunit.1.9.2\lib\net20\xunit.dll - - - False - ..\..\..\lib\zookeeper\ZooKeeperNet.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {a92dd03b-ee4f-4a78-9fb2-279b6348c7d2} - Kafka.Client - - - - - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + + Debug + AnyCPU + {1794B07A-8B2A-42E6-A700-6BC0E7B8245A} + Library + Properties + Kafka.Tests + Kafka.Tests + v4.5 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + false + + + kafkaclient.snk + + + + False + ..\..\..\lib\log4Net\log4net.dll + + + ..\..\..\lib\Spring.Threading\Spring.Threading.dll + + + + + + + + + + + ..\packages\xunit.1.9.2\lib\net20\xunit.dll + + + False + ..\..\..\lib\zookeeper\ZooKeeperNet.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {a92dd03b-ee4f-4a78-9fb2-279b6348c7d2} + Kafka.Client + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file From 02613b8b88247fa05b9ad404ab1eee07695ce505 Mon Sep 17 00:00:00 2001 From: Martijn Veldpaus Date: Tue, 7 Jun 2016 14:52:01 +0200 Subject: [PATCH 6/6] Fixed consumer CPU usage spiking to 100% on broker restarts --- src/Kafka/Kafka.Client/Api/TopicMetadata.cs | 3 +- .../Common/Imported/ByteBuffer.cs | 21 +- .../Kafka.Client/Kafka.Client.0.7.0.3.nupkg | Bin 0 -> 108973 bytes .../Kafka.Client/Kafka.Client.0.7.0.4.nupkg | Bin 0 -> 103541 bytes src/Kafka/Kafka.Client/Kafka.Client.csproj | 12 +- src/Kafka/Kafka.Client/Kafka.Client.nuspec | 18 + .../Kafka.Client/Network/Transmission.cs | 6 + .../Kafka.Client/Properties/AssemblyInfo.cs | 4 +- src/Kafka/Kafka.Client/packages.config | 3 +- .../Snappy.NET.1.1.1.7.nupkg | Bin 0 -> 520315 bytes .../lib/net20/Snappy.NET.dll | Bin 0 -> 519168 bytes .../lib/net20/Snappy.NET.xml | 389 +++++++++++++++ .../lib/net45/Snappy.NET.dll | Bin 0 -> 531456 bytes .../lib/net45/Snappy.NET.xml | 461 ++++++++++++++++++ .../ZooKeeperNet.3.3.4.8.nupkg | Bin 0 -> 55082 bytes .../lib/net40/ZooKeeperNet.dll | Bin 0 -> 147968 bytes 16 files changed, 899 insertions(+), 18 deletions(-) create mode 100644 src/Kafka/Kafka.Client/Kafka.Client.0.7.0.3.nupkg create mode 100644 src/Kafka/Kafka.Client/Kafka.Client.0.7.0.4.nupkg create mode 100644 src/Kafka/Kafka.Client/Kafka.Client.nuspec create mode 100644 src/Kafka/packages/Snappy.NET.1.1.1.7/Snappy.NET.1.1.1.7.nupkg create mode 100644 src/Kafka/packages/Snappy.NET.1.1.1.7/lib/net20/Snappy.NET.dll create mode 100644 src/Kafka/packages/Snappy.NET.1.1.1.7/lib/net20/Snappy.NET.xml create mode 100644 src/Kafka/packages/Snappy.NET.1.1.1.7/lib/net45/Snappy.NET.dll create mode 100644 src/Kafka/packages/Snappy.NET.1.1.1.7/lib/net45/Snappy.NET.xml create mode 100644 src/Kafka/packages/ZooKeeperNet.3.3.4.8/ZooKeeperNet.3.3.4.8.nupkg create mode 100644 src/Kafka/packages/ZooKeeperNet.3.3.4.8/lib/net40/ZooKeeperNet.dll diff --git a/src/Kafka/Kafka.Client/Api/TopicMetadata.cs b/src/Kafka/Kafka.Client/Api/TopicMetadata.cs index 519303a..779c424 100644 --- a/src/Kafka/Kafka.Client/Api/TopicMetadata.cs +++ b/src/Kafka/Kafka.Client/Api/TopicMetadata.cs @@ -156,7 +156,8 @@ public static PartitionMetadata ReadFrom(ByteBuffer buffer, Dictionary(-1, short.MaxValue)); var partitionId = ApiUtils.ReadIntInRange(buffer, "partition id", Tuple.Create(0, int.MaxValue)); // partition id var leaderId = buffer.GetInt(); - var leader = brokers[leaderId]; + Broker leader; + brokers.TryGetValue(leaderId, out leader); // list of all replicas var numReplicas = ApiUtils.ReadIntInRange(buffer, "number of all replicas", Tuple.Create(0, int.MaxValue)); diff --git a/src/Kafka/Kafka.Client/Common/Imported/ByteBuffer.cs b/src/Kafka/Kafka.Client/Common/Imported/ByteBuffer.cs index f20667e..6066095 100644 --- a/src/Kafka/Kafka.Client/Common/Imported/ByteBuffer.cs +++ b/src/Kafka/Kafka.Client/Common/Imported/ByteBuffer.cs @@ -1,16 +1,19 @@ namespace Kafka.Client.Common.Imported { - using System; - using System.IO; - using System.Net; - using System.Text; - - public class ByteBuffer : Stream + using log4net; + using System; + using System.IO; + using System.Net; + using System.Reflection; + using System.Text; + + public class ByteBuffer : Stream { - - #region Buffer + protected static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + #region Buffer - private int mark = -1; + private int mark = -1; private int position; diff --git a/src/Kafka/Kafka.Client/Kafka.Client.0.7.0.3.nupkg b/src/Kafka/Kafka.Client/Kafka.Client.0.7.0.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..fd0fc02708f478a31600c5185783e73064695f46 GIT binary patch literal 108973 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 literal 0 HcmV?d00001 diff --git a/src/Kafka/Kafka.Client/Kafka.Client.0.7.0.4.nupkg b/src/Kafka/Kafka.Client/Kafka.Client.0.7.0.4.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..2ce63a8a7b4874134e99e23181b0ae9acf7f9e31 GIT binary patch literal 103541 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�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�XY-w&)caukG8H^#>5(bF#e?uU_4m83 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