From 746a903a8bfb7c3c8f09b1609c0aa1b5e65e0bfd Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Tue, 7 Oct 2025 17:36:48 +0100 Subject: [PATCH 1/5] fix: Support multiple messages to same task after non-blocking sendMessage Add test for non-blocking multi-message pattern where multiple sendMessage calls to same taskId continue processing. Test uncovered EventConsumer polling loops never terminating, causing resource leaks. Fix: Close EventQueue at appropriate times to stop infinite polling: - EventConsumer.close() explicitly closes queue - InMemoryQueueManager.close() fails fast on missing queue - DefaultRequestHandler cleanup: streaming (always close) vs non-blocking (close only if task final, for multi-message support) - Refactor ResultAggregator to use AsyncUtils.consumer() consistently --- .../java/document_symbols_cache_v23-06-25.pkl | Bin 1473486 -> 0 bytes .../io/a2a/server/events/EventConsumer.java | 11 ++ .../java/io/a2a/server/events/EventQueue.java | 3 + .../server/events/InMemoryQueueManager.java | 16 +- .../DefaultRequestHandler.java | 59 +++++- .../io/a2a/server/tasks/ResultAggregator.java | 130 +++++++++--- .../java/io/a2a/server/tasks/TaskManager.java | 2 +- .../DefaultRequestHandlerTest.java | 59 ++++++ .../apps/common/AbstractA2AServerTest.java | 186 ++++++++++++++++++ .../apps/common/AgentExecutorProducer.java | 23 +++ .../jsonrpc/handler/JSONRPCHandlerTest.java | 1 + 11 files changed, 448 insertions(+), 42 deletions(-) delete mode 100644 .serena/cache/java/document_symbols_cache_v23-06-25.pkl diff --git a/.serena/cache/java/document_symbols_cache_v23-06-25.pkl b/.serena/cache/java/document_symbols_cache_v23-06-25.pkl deleted file mode 100644 index a0c1ae55d5d5ab18d03f277b05ef64b4d5644aef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1473486 zcmeFa378zmbtVXk0Emm=2@t#!O%g1CjcN)MFA#*#02*YoaWuOdVv7<)Wmjc)Rdsb$ zDKiTPL1-jd=1Ou&mewWTk}r)tYp*|j_8dOOV}Blx$M-Sz+T*o7KE~tmr}cVvyz8Cu z=WoB=eJ|ogWJF|SW);v!HdX!MLsdn_@iN{YFJ8QO@#13}zqnz;O&jp2MgqSyvgB49BQ^J;J5p_qxQE;ko@K;c@EW0a*(uv`&?=M`S%=p=Gmvcxu@OIocm1oLbrg8Z)~_r zkpF>dvk2`Jc{@eDoo;92Vzp83PHgOK^4-RQ*Ts^Xg3$Ft_H|>u+VHv)8#-G{71wu5 zq36S|cIRdfNvunukMwQ`YBOUWm}YGL%Xsw`h^8Hm%Y%f*1Mez z-OiSJv*cn~*6Ph|zuN75a=u#k4v&nCoCn&2kwtf|>W>7?wqNo}%|_@q>m#G%*oQ5@ zS%a4G>p|AF%h>H*(J_^+ogMC6(5$yZZ_*7b-OjZ&CTxfA)uGQW5;+sg`PS{umQtl! zFZ*5t@YLDda^YLpJ=;bWZtC2s;j>%0Wnz0}3qB%-Zvsq24BraBZfdtHw;MU`kdVOq z4?&K*E4#FY5y;ToBYa?Zg(>eNZ7&E<0Q+mVRQEzV)*VzXNAR`yngD!Y-0Jvo76<-SU>a{pRmukv8!p?2lr3ths) zP|0nSyn289*`o0We@z?w!L*1!`0KWHz@HcL#2+tr@O?Bd-Lv;>yE0sP-n#(9dt+tD zd%OE~xAXqqrKrz^QN?YP>o`H3^yb}mJtP_RGEe4n_l)1hsrz~Nsps9N4?X+T^M}gb z({s`R!t&!gDmSwNJ(Kl+6Q z#N3VY+A?*2b`_>>qdQW%Kbpg5%sKq+m7K%-q0pGjXI27+-F9c=T(f+o+u7H0ON*ci zI;jYI0rWDP764EX+T|`Q=mj)8cYwZBE!Trqu^zk;UTJwjx3g{f%F*!CYmbvqCVdEM9>A zKZi`1>?A;>GBvTOGL2bC&^!;aND7)WzkCz?M5XZqN|wWrcB_;{_-hDqykS!sCp()@ zpL^-0F~HW;#7?cDBTx?XLXv3s>qAC6nC56XK;~gPm8Hrj^9!!e=L%evO1o0+yx#Jw z7v0cvU`-iTOU`_?;ntng&4mTecQ}Wf7wPvYSYI~%E5!vbyBxx!(YP&>oDzM$vXV?#Cl-ePvnqw1)X)wG(wzlR5oc0ysgy^DqvHYuP!7E zzfp~c`0J>_Lrg159^$VT*8>m#O%8c@Sm)s+Fz0MDtj<@tg;ZgbV=zwR>Nb2h4R%`F zpggWI6o0+PU?`^Tmkh;UPpt=r{<|D9^vQIFavm{W@~;{jchM@6Y@Wy4V3oCT^n}Jy z{55WH6w{uP9K~NRuLq9)Ne($WrgL<<-D=gVo_}OYvriX^Sw|f!4>dO5>bDz>YGZ*Z zOF?`V9n;v0zZMPlV%n%=FaA2a9@zWWIb`pG&R!ULrM8b7AZOgxk?GI}J`Fo3noF%Z z>|o8+y;JS5?R!Vw2U`Y5f!Qi2VR6&&EUw-A?icfW6MCiLIJ_;}s1n?}uNT46IB*+IEQ*{N=0%tlXJP ztjzxH%^Nlx8*iZ7!8Ql}TJ5C>*AQG*vhgp?aZQ`GbCT(FCM-Rv%v9L4O z3q3Ss0yUoesT!JYwCnYvGrd@C!812>=ArFI^U|;rRACF>X+i=2QZ?|LaR=BT3b9}{v)C5keSw{z)vU8~#R-8+I6FUjjCD{&xnN{Bg9u@XG2ahs^ETu;a z5^TfHJUU(N=PbRZ8k`R{8!vg`3^ZN9|6n}&S0<5#&`;CM>+6JDufy0wM-?WpH){g> z1De1NEdu+4kaoKi*!b&S6xhr;1)J>VdNZQ-a6Se1?u{V0&w*2(UoCqKG$gvQOPxff z@-bxNEe>MFV*tP3yc9UEOrJYDHF;tT2aO{B_+Ce`?9H_o3PZ9X=jyegVXD1YEf@9^ z*iiB_l0u|Q5rDWmQeeU&F!RH3XV`UKghdAob5;6ceL4weLAGGs^SI<-V&LkvqBDap zfuaW+2eZ>De9GP>kxZM8sm26f%#z=saoGh()L# z;2AFbMt$GCavB@L1)qF<%y`Z5K)4t*=`|pOwD&It?K!Nipw)zh#Gj=IdwJ)eK$+3s z$x1*jB&rJZnUIT325LuMiyGG9jqMV)*$_jL z6rz0(mh3PgL#kc6pI{zsSPK*IKlo2WCehGY+#)To{O_q{<{`Vp~V?@@yh{ zAsVGqUI0#VqYDeZx8S1U>zfIjWHTR=9rRYie0o!AjU0jb8UWa!t_6yr+hP@n_f#YS zig=bcY1*WRdWFzmQJboGlPwf2vPwuhm~a&LesZ3T$wjLci}e@m(h+M1KYyl`0-pru zkY(uwBHoHJQA$S9830d;SQjM4RN{hAn__P*`bhL&98!!Sz(HB`Tnmp5xb!FW=_7W`E;8pk+ zj$G{_hn502_7t7p9Q20+oSOJAQgx&CI(8DPSt-wyJSg%!_-N{ zOh=C+9YmQrBXJ|v@=WC`3^99_Q?8a_jTi!{Y|?a{i!QkJA>}O~&>JH1v<1>r%?7Df zxNt5g-}{+Jzobp1zh;?8zYJ-+VP0wvfm`!EB!h%U* zY@EqAKC$Xboz@&^v^b;>!xHKRu?o|cQ%hX6FYL$Rk3)k^UP2Alp2AqhMH~|i(FjrA z4J`NVma`NDFk-8XYN$M-bIgy;fuqf z4EtcbtTxKn^C~*!*eAo1?}10&Ie&&GMOIpfU31=z$tQRVT-ccT3ixVBOX3_o*KF23 zw*lP;RxZEYLNm^b+`^)Y)&@A#m%Q>6?4qF{2djLu+%9>(OhA#j0Ba!6ABCkUvx$35 zPK^dv8YMOvjhBZlT|LaZLlLItOB7kx&474?s+lN6IvqTxhOZ5COT?nkzhbQ2SYbd? zAG3m-QLy{bUI@z{rv#QG+*5Lv+Ck{dfrYGGhQ6Bfz*grumzXc5AJVh~YxSaYPFU^q z$r37b8&}AF$Jgi$XYL9!)5W?KPIxgP->R0-ItOT{oMIBvXf=x$fyR@~hKE)!q+L#3 zMUFPcAi+W{qiXTMUZBo~$wku><+Ru+9|!y{o@+?{$hOo$fK}mK$*becGp9z(qmMK& zitvVETnS5vHYJL=4vUJv#Mx8UW|oTVAXtY!AdujqlBBM7F}F_eYc3d+qX9)SK}j+D zB$C~D@)J4ZDzKjHw$i)cNp1L(N_;g^J++02Wg=2Khr2Z(QLr1`EDQ zV#lGdcE(RSOVwb>4NDbxMZQ%K(>bsj{8N;fYuw4WZVpd;6}4k51SM?oIwcfbZKhs9 zkHvBoLD}TOhZ~qF`y@#&DU!J2IxM#e6iLM20=fha*)AT}TmcG7>qd!06H+<_kr3lu zCmL5eQAgPnQ~W^G5WY;zC}fe2Xy)KeY8vA6+H4LprROfiRfyiq>A#`siD$OnWKk4< z6Vf6NMf^3&EG`Zxij%l~7r@R3dUpUB@TPK{9L>4%IG#`C@&DeQpgf+cH!l@aJ6zW) z2^iY!qiA1zHL;?KCZ}LMsGFl5r^Gu2bXV`lANxfdYs#ks%;hAEOH;>Vvra z;@=_!DVpKfQWdN>kD93Q3R{p(HOh-_spPf70*Z@q)GooeMi!x7R5L|li0biEQ7_bFL_NAm;ATJhNf>?% zjiytFoqjO2RY2XveDmN3!1pQV;P~+(I0>M2YN>etcWMr%$k9R;uS2%b^QDFVkR zjFz^~98Kv? zJULCqVI{~b{yM;>Mp@-KRm^J87c`>vcn?`5kT8#fiC?efnr89GIw>na8T>~=kTkHs zqiI2(MM&`DCPE>;px95-LeyN+iZ!;-OC+!MHwyX1C@NKo4KG?I*wLCt< zab-yn=8-Hy`q_dE1ZxQ2Su1QX(o}(o#zq9vg~{2(VC|aQmMWSR@n;{8Ox~(OmUjeD znlxz|G)q@D%pb2vb8jPYiaI7zZKp^$iHS~u2COwxS8LMeHR)xSQ1?q|vT3q+Z_YFK z>0;;!n;5!Z7enmlJ3tJ1`4mG_=%AnE=V^ySvRoyFf`DGDv zkF@vs(S+fSMJ!SYHycouC#htiyk(UhygI%~8i|*}yc>Cv5}%JrLO!jIeV- z$*<0NGfh<5`uB}K^SnOFU$Kqy!&~#B?~L8LkLPo+A52o045NA6nsF4=rZ_CL zv5Y_w{_{7k6Jc$s>nF>skE@5}TRR~I!oM187T>vJl=76V*&=%|=EYwya)q-Qci-Z! z)5574hb{hb(^|C8LHi6!0&mdF$68JF!U6;E3FiL==kA#42jvr3%*#zLXgm(SPH0V* z>|@5jJ~sTs%YyvS>wtIe!!3$;z_M-yi7H9>l`KX)pKmdN^)A_RXA_L?Z#GbJBIE5d zNFn`kKP%1Cy7Y8y((?=^4oe-0{XETdq(?wULRyX_)0%g8hi}fO04*e)E6nO{5TEJj z(3hR*c{!49T*jix(tD`J5wuAIP%WB=N2Zmtj`2lxqF`ru1b+CWXU^R?xP%2UJ(xE;|Me@ zhrJlaEF=2SpwevD%cJEoN;p<&%w5r9{POjI8QKOW%X7C>?AT8h<+ig8q%)nb$ho!a zM{+qfJHISUUE-8V4_qWYOP%{@8ZZDRCSmlHZ)N$zB;-i+7!j3Qpm;3xpbWQ|4Z}JU z)`3Zv>P*38SQYLsVL)GdD5l$_Hsg;Y+rvQ+ztTqE%p@`=PtKvt4$(mGmK z?*uajaP1SWvQMwQ&}{>1bA0PY?Wghy**^t~zR+pRDHSZqDFafc#c+A51?q0 zwm_$A6;T{-R~+i)77g<`PW6)YICuub38H}Axb&BOdQCCQCpwqTgAFG3FgoH0^DR4= ztsG;N^$USlgnNz}REJk6T!g&7pKuNW%iy{batKw{gn_6QKSlHCw#~iluV z4E_>-umi&8aJWaN8Nh*8fHWK&fFsWbVN>@K95KNA+{$?5)I3EQ4;q4XN{XtDi_Jw( zJ=`2vr)Gs(EDMgr>~wShDt;)>ik9ZpY&`IWXi2F0botG&%||!JLGC+j(Q>~THQ309 z_IvQB5k2+{%LDgy@=KHWPmD&)!x8ekGIK4Z|6@L-bW3rvVA^aStYkJ#b*LC|sHIU8 zfFwsKN_As&@@+3V@QxuDECbc94&$(8Zci*wLxN|87qM;Ai5QYLSUr0-ufjs>riSd29 z#Q2|V5`*Q5BnJD*B2Fu}>*iWw{MUR+3|t`zy^cu?I|mu;QGJUT8Q0ImVX)+rceuO_ zm~#~7F@t_csiIF~;Nn2jSbV}XWDjTtN#`RG=h{5|0z18S0w-;D2Ji%4Q2i=~xsh~W z8S$snq>KOYMpF%MZi+ipga6MSn5*Sqw#JL?d4^rbCu!jya zrc-<=SRUbrAdFS!y$12fiIrl9T6QdV@={+Cr43Ra-(=uj6AM+01@zZ}{Uv+@+-U$z z%{Nsia?Fi?#x{gJ>5AkFPc6C21-FC9)+_ z%|`}xtYuPxEC>$pRp$%>^h2yJ=e_*nFyohaVSDii$|g9mT=diu4igE)*17r>13NzM zBmAWZdl@N>!d(~kMhIbeB6b?(Gi#E7$WeyT2w;Aa+d0H7P3gPctR}v-@=N+u!hTkb zoe!3Hms}IFpW^-**jg#@>wmW+M~KAOwN__Xp=b+-{d~dJ&XamOn1|hKRNDqCsQm7% z>_Y1DbmcR@m3IvBN=#9O8NZH%rDPcXU@4|yY9q2afxj>6ygOy%@9}t^^}yeueDZe~ z`FlNV+^I{C1ctt>Gt09v^tE`N^}x`Pd@^)z>Wmr#yrDp&51o+F1;?P2v+Co8 zEKETY42Qr=%X}-nUVrut=o&dZJED#IT;rt5zHx0(P|dS3(}$SEnN5Oz*fOIpTHL3X zw_+?4dMQpJX0RmxYAYnJb?Wn4R9g>%0=_a=a9X+_H0$NN>(TZyJZ3Q*IE=0gV`L02 zl*7xa2N%kLUD1a{a)b`Pnva5a4K9>}9sz5uv(7J+lZlaEn&$@BkuhuA%Wwh&?l}WjsKIq)u*EF= zoaw?Zas69zL_LHa!p-bQsOlYf9a*+);9KN4Dz#JiH!d5Nd!VzOaCU?ZYX&Vex>Qg# z=SP-g%qA4uQ2E}&rUqsgmfkpbtdYtO`FTl~@BGApL2qCOIFOLw%UE0bhCp}XjY zrF4_OC?hQEWY-sbja%^50ugU5+)gh#1K>%p;;Sw6Va=Dt=rXW4q}aku-5VNQW`(B9 zwZF_NMF2CO3Kk+&yTTxTdBKg#VpC63wr1juD5|$6p@2371nc9$y*Og(;-5Ij z4erIMf@A35UYxg2BBwaGu(Qy&aq)2lwI(?!|#+ zlHw)LE#+ydKd!6n4muDO4BSzYpX=&>a=sg12jI+VI0|J))E!)n!tX?f4GhqnX`38- zG46`B@>ipz7_?J>BV7aR0M!BbQW{p5Yekw1B=+g+(DN3koNQUlP`IJR`v_d^7DV8(ft@KD@mDl0wEJ7)wlNh1&|@924Fp--z9L zkk6|UQpBsVa_4q4Sft5)#6b{!>F*Ku@d!aX5?lZLkQ>vpm9wYpqziZ17zELmduw8O zW}xpz>_(!>WeTF7GGy5Fm#miHfWa)uIdsJ&J@0zZOr&Cfugn0yOm3L@RZTK6fRe#J z-(pedpF!C4rmz9g;sf>8bs9E3MOv^xD1!jnBJ#kBFHTypgyotXcLKlR0NR|lLWf@O zF_`tYF{2#93H?Fz#mjK-pm2Q@T7~$u2OGnu>M6IPyG~;7%9(o*eGynFf-J53=!^Ow z9|Z4%b^9QApAcb5K3MqthJyE5P-l8uX+F1u0B{srHE#jnbVe$UTP(28AWRqx6k4(@ zi2!BlDG75GOvi=LGK7y*r%^O2;!0871Q+8JKXr%FL6|T+b;GW$!A^?|Z^R95o^AUq zGAo>A#HB!d??Btl!cLBk3n`wesXTxzGL%*NnIWW_+i?bA!c1w>dzdg?Dy?WZ zlx+|{YN^tIpeRciDXiJKjgE-%0Nj4it$d^sPHg&+QfX6Wh6#L8Oghh|Ghb}p>lO%L%Z^p`l}70Qx;d1qJ_@$*Z)54%HjncoUPf} zNh6S=qhOC;tR%nh3+(ONm5;{N)K~iu zJT&ueXxHW}$ymkaGM;UzcPqO(Tk1`|pUQ~2x$RfGoxI>k^jPfzyhmq;I~O$T?a-Ta z!%BDUq1D;pdl(k|A`!IQIO}YjYnHEcJNsI0X%UY0I;l8&q1)L~!Z^&n*XUm8b~b~S z;5EW-?JV>iUQbYaKX#%iXKEjS)QRo255fm#(tva)2b~F|=Xvr??RKr4QtS=`e^lGU zP^<#Q5PJ&27^ISucu+dJn87xz!I$|PY_`9_U7Xa71}VFEGQ_U5zX287Y80d7JLwHr z{B+cDyS0n(LbXfyUzK`f5k7M>kZMav+Be{T4Ww($#c~a=Tc~{m{%hBKq^ODg2wREd zx1{eG;I;}b~3f=1lRvE$GHB% z%C=c1$QL{a(69Ao?^vica*m2~*%5XxCMp+I=QVAxc^@{hWq!dg1fpV{;yXd_wu~2a3#MSp8eV;xB(KaHYIT6 zg00ngx8%idB0=jdiUE*rtF-|^w&Qo0<(Zqi*Us3;+wVzHQ_MuGW<`p21MDhHo{RxK z(3-kF(-nc#tjnhd^uhmCR@6CV>r}ns#OHjn1UELm56?Uvz?rRf944lAr6K*=HV15z z7@VtWWAI40P0g*m+Z4D&fqz4m@7f1e&|9ioS?KKN@85&(U6*?~u^vRio1IM|%#Y{^ zsC8Xs<-2Z#8t$b7-4*OWLB~R;4;MyGyL1_Yetcvc_TQG^_7VFGz)taHdH)M?RXY#ZeE=Dl zUg)A9F-&*&K*unDrXl#!o1m#Z3Rx#M)gFTngo*~4og7{!WX|wpbpJbOD|R=3eyf2r zN`4ZGy&Hs6=Dru^wi!!hXWu zRy+3g*s*sXPu`RSxqJEZ?FQs1xwyU{_iC;ocg%8~XHSfWJ8ID~6kV@gV-o6daV$#! z*N$0%o6UCIJYdJolNq>qkUt+Xa6`%a2{)a4nYWVdKp4&x`4?gz$}^&7pW6ucA)kZO z9)7j#F^rIn(T)U12MmiDG+rJCcQPA;oOqlyxK>=6k(mj>Uh=4=C}syK*)p19(i4vq zp7T$7^KQEyvZHB8RV-AG5<%78ZjlZII_z#O53fwcO42i1!pSKO;Zf0eKd^XnBG{<| zkq{HI6sy75QY(ZT9@U=1u}lM^u#8cMkJ#VX z#uiZoyDAn|4|!IsQl;tv+DmZ2!?SgasIFLXgR|iL9)EE=Y3L+BUtO?LA?s|g3i-X# z*oXKR#Rp_OxtI0c+)b27ON#vnW6%O{hJN#l@x(s(*!(s+tLFBp>sC69i?=lJv6 z4KPyjeFBVfn|od8D{tl*bhGaR>a4h9CjA)yrGmm?K$8T_m5Le?O#tI%F(a$bQDF1Q z1)o!mk>HL*bt?4ZQWUd8eLZ3wsj#aOydIc++x5C#lfWFwiUc2X>I)6j0aPWTaKW7W z$svN{yj{NeKbhyr9JNC#DOwE&Fv(Ic-xi_6xfV`;wROXWkpl;|IR~8a#=#}FIpS28 zT6J#;4uG-fCQfr64!U^>D+;z}61jI2p(d;h|Jb8|NefNSCecK}QvxXL@P?t_$hKpn ztrmEUu%@R=&6Zc*M(ev$-3Z^Pev8F~bPQr~ENvM{=s#pYi9juB6 ztK$9x=da|f7_Xb@IC)qVr$`T^G10QJ+-sv0ItIG(Kv!le!3l0NyK&Rm*O{)&;*9ZK zYV^*!6|_>^iUX&Z?K5DDrNDt%&M!YGLtk}Jt);ElE34-GqL3<`To@%@$6t9Tmw4+7 zon!qvv&1TCi%4WE>$LLSz%X!H`4WC4IjwvrJVZ|fH7|G|eA$w0cUoCnBzyR5!VwMb6LPw_umGEgoMm9^M`@hKr+aDHezu3e8da$KQhGxz# z#Y=~AaVuzA7}0ASj=V9^lEBFO?Tn;k9EeuYLeEV`Qu1T@WaPig1tW)&7%4dx<0Z0~ zJ2|KF@&P+9DLIjs^xWhnCFhivf08d=av_X5A~&o`j+wmNS#4Cqs#~X%ROy5BK|4b! z8U2>5gOi@$XGmE}F647?{&g-G`j{A;2i}~#npt|n-GfQWjmX9Ldg?im5{~hVLPXb8JwnKCZ{R+p1gC~ z$pxpMjX16FE6!{~P?*DdDfL=9}}LmFdIcvLF72bJkZ)cM!CnzlP(paT2w7bdTK?LDUWF$ zV^a`Xn{@9<^eRcJ(nRT9fqRjK7h(Z1n7t}v5_-Xo*P|JDrD6~{NW&{73l%GhSD&jX z=twT``a=vuafUGsO2&{MJv2JaVhD^~E_p4ygF_KrOnn+J2cwPh`BvEtz47_8UI~|7 z{uKryL=!3^*1OXcrHb$+h+$>vu?ew9MWzU1(_l+&2b=*!O9YihjUSe0A$;@J2!B-T|i%a6>x};fxIhoKh z7|!c>mtF?16WDH`$p9;(6qv+bB)8%B#?MNDMqr+w!k*L0D_x6k6*X2wPaKgwPPUTR$^xqF5(!+Y=L@2$?_ z_yU3uQEkMZsH~kNd{^jUQGq;Jg|*^eAA)dSTo8`>VHM(ig}sZy*X*M3gBhZbikYI2 zl5;K!XLBJ6PlBZbC4kct8`rZiTa3!}x5Nza-Zcv~!AmjEbFb z{T^x{g)ugJq+38fWJmu(2KuQOT=%3YpOh@N<~v(JG%_mkwOX3b1^j<1GW4-Nax}j6 z19zPMnCu4g7)+Oqk_W!?Y-Ay*Owlbyo2p_WK(9GoJ%Ag>k}BhqlOkBj&}eF&igt|E zisslmvNmHCsS`y85n|AoWLVOZ-a8`1R>-#Mq`}9!*lvq*+D!R>tr}KHp(xNNH_T?J z<5l}83^PU{6*Em1l)P71r}AmC2y-zAe>WP0Y``S)5fms`)Gc_NpR_`}D%B@lmn8LU zg%!!`(|U=v-u2GNV4@bK?ofs<${KiMRE4oCh033#*HdK$`rI$O5`_l-6=SNQ5GAJM zqVb6Y*oWtE>M~v5B+D487wtp!6B$F5ikTB8B_C9WD*Bw~YrgzME{5t|5WZ1tZ!^FA z9+=8!QG_E#xga|5>(w&X8mr}@;n)zttT^5%Cy%MhE<2>1-{O4JUvk635Yh64_Iq@`ahtIf)k47@(c zF0)G0ICh_6t>|lDf6_j%zd2)IQ!#U3Q!-v|hfbB7X!P5bFg2%2-Z`swZ>Se zVk&VMUzMY9$9Rt}&%78%vA-V~_kbvv( zNIVKFLrO)&BP~fYVMJr>6=DNLX}GU}@&)@q`HqZ%LdDF1LdiKFC|}OSK&hJpCB{NF zS141Rl%p!blXO+xw?d2!=e;aQU$Hq~&@=2uyQj8KN0^IgfEL{@ip3;HE#eygijwGp z{AQ^E7P@E`7LD;mWnudK@iXHyGh-+BTZ;6la+)J%ryO-SMl-?X_z<5_Ik7Kw1oXRa%R1W%53g5_nb6Eyha=87(=C5A!PV|L7S zB63@aGDosonX{-+l#9lgl7&Abu*#?uYkMT>NAuu3Is0vQN>@4_!~w^x&~%L`3@A>P z<1`B2_Yx3HIPAb=UQ!+j7|vLcE!jm|t1Z>>SIa4B!(P$#B%Y67p`!E|Eh-WxnXhXn zM9z3xV!{~5enV-Xm_rqvOggoh#T3yHFKIx7Hu}CEy>587G2{vfKZe^K%;AQ_Jl)N{ z_Wm2G#Kx@QT=VbEERkvgVJirnZUhu*QDMwL%6!H8GemJP*!73q^}(*cB7#sg7n}C0 zyX&7id@Or7>v;fSFXJB#!e!nm<~>RC1(TP9O-JbLtesCA#*jglbalE%KI)TGQlUt_ zj}`%>EHEKXD!#_P85Gll?JC@pW6ogM+xQpt;QHCFBF2&pbg;R>ISK!Ny>D*lz+gju zU>siwkBY^@=@?P5w&ECPZsA>P>u1sIN)cu*t!hjx&W@UU(S^$nYm5%B(^{Q~SZdn~ouk(i4@;?Hm7-z&Ca?;k zVf_|B z4|WP3c-1#Z)X-#%k30FT3%#*&o1K-E{BRO0>AA^DO1@2HW!}c)rcG-<9`9%4QR5RE zlXw_|UnD4ZSl4oz{nH$v{u0>{s}QKohcj2)d5h^(WHz?SHm>(4jTrtkg$Z1BW;3v% zI^Q8e^kdzOj4T!UA*n*&gV3WX=^w3{3LPU@2A5^@c%92DuSzG;u+TZxuS%Uz)hemh zj{^%qwJzXCl4|`JJVd=r%?tY2eoL}lwax=J9tCPaZFz@aqeqo{7rZo6xgGe@u?+Rv z5IleYw2#0CvRGsFRt^i3)erDwRK1_D72C$2LjYP0A(Z?O6dQqJHr1O^xhVue1h*J7 z%C^`k+rgUvty^n?k|&cWqvu6?v8N_nNBNYCh83lqabH__F$iq7Ltv*J0(bCa46$Yf=WYBs9RAXf zL&+F~3c;x@yz&Nxb2);-Z1P=c#_CMj6K4awD6WbW{(t=VF1b}GPNWPL`dTgx7kAll zu{#47ciVA6$#c=eZK5K!GE4); z9y>7Z&j7}~c3@C4Ml8s^z*x)?FwR?nk-TzIu))QK?Up&yi#HGY=5zV!^w}SS6A-=L z)P`e}uSVs?asfMEB$lX}H!Sy?jb`@i(E#}3H5nH-Hj$*%e#7D@rS2O=G+(eY{oPow z?>4U-o`$Fxo}aa9zg@1{uOTu?wf*F(t=jEW%cVOb%IjQP`K5a*Aq$;}e%J45^{vt( z{XraZP^}UZ1V$--a)p zBxz9l6g-7JwNJwbvRz~UMh+E|{X2OwF6_TxD|QQi4tr`EYAE?}DE37tW-RQnaZYIf zatcBwSLf-zP!Z*kQM%bq=~mt(EcCS|Z{^7t1Kmm~JqL5Xtr+ggA*I?X@4J!oyh+7> zf<)y2>b36xLU8H-d3OCQ`js4TaNY?V*M4Pe=)$qb#sUkO1~->@a1}M`Zw?+9^5EWC zUd6GN>$?zF4WHnxwfKdejj&H{3%3D>4-sKG{T%}^-(@?2ypYnosJse$F@Vx~W zLIh?hQ=ga0)K4p7DTZh zNp<>Vc!<-OniuBIU$-Rds#9l6y~*#!?n3#_&27Kh?W{FQI-7jAvEX%UzXbGmcDQpv zv)&H9NjI!?*A6(H9lnP*TwNqWmJ3CljdRWNm2T&OmRni`r+25?EV_r>A_r-aNw*ie zoh_wGwO)n*+1(4>&SsdE;80w*_LI;!{r8Pv!2a@Qc z=MUM7;q646zS^GwnYBO1|9+R=^Y`F$&Ea4B_ej#;;D3LB^sJevtopuulSesrDi`ya5c zbH?wzg5UB;`57K8PXx`guzH_4S+YeGK|{Trh)Jfc_K|;|9SINeWZXKlB7us*tsa`d zpkxe1vmQqNEt~U)gfEa!P#SYp86X)gkfNTSleYwkkPSS5h7ccoc?HWamX9O{?9kFT zIx`m+GIzpm%n5#n1Sb#1HLhf7DrTTFuJWUkh05k0p%J(EaGn#Mt-A#wI`49~@brktubFBQ!$#hcI)0U#dwssyxGvaU5 zl!}B=3M$?73v`~XJ?8=F=Bo>MCka$F>=X)~?>Bu&Wl*Fj5&NBkN0o7d1E2)i6=iOc z;*7H+%1RUo%qm8R-}aQl%_6p>Wpv!Dyaq#{ASYvFjMzuUOBo}BikZThl9_k)dK1o1 z=5R=0boiKjPU5tLv^oSv!{$=8H08~Eu#zo#TsoncKS~($$_y^#nq_7`Dg-iu@;ZhS z7Q;WY-kFNuyyVW+y`v5rJiRne@9oFKy;_E*9LKzUhYi(OA`cm98LFZbPIqj4s-fY} z2<<#rP`g@`5uak31eGdSh(@t^EIzRbKHP~F%-u!CPDyJ4tI&%E;3)&G8PY^FB|b^I z%)1bG+}Wwg6Jw}gDB8p_N@5abN5#6Y z7fH;e`SE76?zs(+j0A75tQDr`1tw;c@s%|fz+|P>6HQ*)Y_ww2L0oYYQpq|S$f?YM ztH!RzrWjF{i7$8+FgSxVqtYEBgZRuA&XIr;W$@EVT#r+gX#z-_uV`9h?~y*$^ztUw z{>qq5tYz@^<5M-N+st5s;pRj5fdZUj-R@_1qe1i=jG~SiG2JVUo}YR7jj6F$&yP<* z7+h;xqTAnk%c32KnzZ`_oiJ#7j0X7ZmxeT0!3||@JFFb^y^pl3K8(OB?!*TzuLKv? z^G)`{Y)4&aBSEFvu9uxTFY(QwN-qEwKxaTc*e!9wCaVJ3;`zf6#tioGVUr$qQ5qpO z=v{{PFn8EYs})9USZzQ*z@n<$F5zA?)2#vr4i3PcKUN9v()6ou!UhoB6A4xOa2q7- z1(nn4ZMMUM&H00KZlhduW*}@47KC8^*q-mA!$A{%f}6SQrD5k1EY+d8v}*CF0(L99 zET}IDH8*{5wBx(tvLB$4C3lg%9PAzkL0p3ouz?N^c#rZPB$jxWt6?!(fQsDW^F(v0 zRfmh^KxsbJ4&g?@qTgU7HAis-T|`X7n2+%%eGEdMXtmCTQ2 zD4A3Y9Kf_407@PbN+#Z%gpNBo*C|iuP^Y{{iB->hpW>`eR07rc0*W!Kl+An<6MksU ziY4;pZ_Jn_25`n)EwZVf=>j26LC7?+Ysur_!2}}MfXx^IpRkXBPiKq(DrSxVN=6q* zwmY#-M!@U&8v&jFC)yRQmXmC!jKd;esiJ&`a1E{U6VRthTX9n$gSIO6p&7iT&8H0QP+Ta0?&b41n1pq9j0n+PEqa9ZD{y?mN#TrgP|V@{t^lwI>+3*zTWXA?W$>1wIUd_|DvRMUm`@ z@h{prh{v_l7(bR=Y&|gkqd8>!?hGD#`QA{k#t;-#Mt+OIViVgzj1(tY% zmV5GLRjt)Dyvu3^d%>X35B7owd%>Y;M~t>wgweugwBvJxew`2-T;_6349mezAg-V@ zy+Q^%fo;D5HiSesjR>BsKk2{0PT*iCaIh0N*a<{ORWSY!b^`fs;X7w1kQM{leK)kX z9{k=49#zV#nllJ%qVwd%Wg$wm0=tRWt1OF%&F zdx79u14&s6RMcA7@-hIU=3_ssm)E}9_S&%X$jIAb zC+|*92b^`++M(n^5_$9-&OY0U;f^RLkN4e=1F1QK@y{YjYYXGrSAm8$2jZi`p3Y70 zY$9gdaaEnuBX=(%HzWJ-Qd{(1eE`Qo(^euz=X@Uc|MG=~Un7r)WS-)dm&sd2%TtX}>=aU@$)kI}RO|T`8(N`QF0M!L zO?|8#_wA5|@v`bn$+F5xNzYA?iwb~Y!_+tL;rD~%jMWa969=2T1T;6>q4|&cCE4FmRzkhd?B!y8@-*Q%qfTSR&g8F@*?6`j$xb`tI>g~QDC7CRa*s3xw z31f6vs85*f*Q!H-NRU0lLl#J%-VD6$v*Yb>2HvQci8o4KM|dmb3U9L)Fbs&g+hb=l z*TQ0OlT3$Gj7(6e_`~yqa0ISVeG_(!3xQC@)hsya!eNIK6%W)q@GZFHJ&s2w>k!MLsgP|{32zNcd})|ey>|DkNOa!-YtcN)72n6GU@u^k@p@wI_z*; zR`jXfb;1`uM>FK>5xaannjv4Q7~EN=sfd(}ffv__iug>f47MAR2HO z2(~-$gP~)*ER!1Uk_Y0~Z5~P= zYMuR~cGw|njr@{<<70Ll&t%}3ikUd3|3ZO@CbS<59MLUD$&JEK}d4k zRtxSGkbrXP5Rl*^XJD;79oInxw(X23;T;jnvKP=BB z{tEJ&C09(T=tZHhs1e&rJZcA=@g;j^g3;)Gc1b#$AxWv2DM=|=?3=FxqtR5ZBx&av zRg6YFR0NVtOrMeOkojl{o`Hkc?Kt>g1`ep0i33VrM>zO!zHs1LaX_pT>l1Y*v#-pH zC(fOjJUuouc2X{Cl9jm47&IVDUVO-olMiR$go>Fsp=7-Ec%7^u8u`KrTw)CIpGz#- z4Ga1JA(^66iHxD?a^hB&r#BffXXkx6gZEU-7Inc zmY_X{(a$rck$F2rDj5)=VkSf=S!|E419jpv`GUwH6(WLzih!V`bP;hI*{(ItK`Ur>2YgG$6iRbI%{bdhmqgn{0qhHr;Lm;nVUWwF0;wH%GI09c+-x6w=xhw#Y_ZH@;XAmZ|4gEA5vw8&d7cY7NciR zjPqqjUc7Bb%cnBXLd8t9 zQ1UwRLHmb%q2(oYS}_=@i4ArS0kIgR$1o3IlWgzat=HC@EcuKb9i0qxP%#r7l)R46 zu?6m&$z=UZ|Lf7fN17c-fsV zyv!!!h4^W6R@L#sg^O@6q!?`RLmUt5r3jAFDK-N)|Dzo@-3;7NF%vhGypC}5Xufds zjmfw%f19gMa4`^ zQ8Gl)STFY0L;1qgm<>~$j~2y-J?KfV*`;BE;F%$AzS9nk@6Lb*6*Hkh$?FIj$MOY@ z*Ak&&NE>yxUt{}Hk4lXWmfm!lFWbTLy%}JkVkTH9c^!e}Y`(xE0>3lYTMYy~s5FXL z$((E+(kdq;%K0us!hF9SG+)U84HYv%L&@t1G#|_tXuhFW2_yL{l@VofO3-Jts|@>5 zXPyFg<59fbkHBS~fUz8L$bj7s+F|$A4A@bzyNnYrlq{k*bhg1oV?-*&ugYNzrdqC$ zH~S5E!x;BkqprgUYjShtPf4mGNKje{Y8%63g{ZS+eWAr4i{~ zt#TsrrB3H+l&^m(ll*k!H1_7(nOLrW(oQ6K1jgIw&7CZrEsIw9HGP#siM{tBxq z_fE2G@nlt&LbqP`l66xctNI?S$SUcE89A$VgZR{yM1oA}b^A1#l)iV}GO99O%EoQh zWWNkyg?ivevQ@u7!mo!LJsN*CLPUQJ41q>O5sMnqgO-!7Hwm4GoC>z#)hf~53&zzd z_fNKi%GoA_9IC<{^$-RP;+M`>7pB9e?{zC5sa&j-;Vy>CW&H2Wi4E*>mC9TE*CX<( zmAAkIEv{Pm^nA7M9Ud83`O8jHNS9ZyFv`5nC-OkeLT9qyt5`B$ah0xS=>UV_YL?I9 z2W-l9b_QM@eDeV>Q*L9y>*9SKpMi(?spf@?89rx8#ws?KAx=xR-mUD)CvrXwbXVTd z$f;&r+)`P*(5)=h-h_@|cV&DdeCebLjN1PISthpEJ_R2!NNnctF(I*+C*u_^pSKm; z%AZ5g)yBfE+n+ zfG_zEIMZGjI8C3zdIk`B({oxd={XSVQ_gz0odMHc+h=p2GY|P8`Y5c5i=vuiV5@MK zSlW1*Rf3P5@smadwN^ft_R^xPL|g}qL^ea%DX+pEb61G?au(rK%?SInBMM`TD&v7( zXgC3XS|{<>f!O;f7$S*q8^lOgYRni(ciBhM9-jPM(nzA`dySDq$#}sM8%YntNaFDc zt!mBDe2=Gpp2zXj`AcOmO?jbTg_vb4IE>U0kUmTUWt?irPeXvCqm}R<1ND7nP;f#| z!L^9SnSt;7?D&3|C*v(K)>)38Z#D2u$#)5S-vao?&4qm9_!n}C<3Cbxe3Ef@1yRgr z3qGsRe33EfXb5H-NHGXXVNI?DqI!W|FQ00{m+}aQ*`I-+rVJ4WoN-_U^D$d#gAJXrUqR?VZP5%8 z%b>Qzy7-+tnZ;i9ohI+ls3n%BhDGbX<8I)YV{IB@1!vzKJTDDezlS1=)?A-jHG@_% z<7}tLxF;P++i555Ufu>6sE^EvE$@^J5DJ1i6orRa}y_& zd|+MRGdhp5KqQSP_6UZ z!~8j1f~w6ul>FGbz{=x!#L7<|8*gAJG-e|pyTbJ`p7uEyu2ioTcB5$|X6W9MSIUc; zAX0BY5qF>pX8|ap;*^mJYc#P_z@*iw>mz#D(WuA(@1u6`KAr(yDrSP0lGg`#-;+o1 z{`9f|*1&->Eykd%K+y(FbPtY0KEl6<$DzY_cK}ud)mMgH-7Da@*)B`>+u``$3^*R( z&*5COCQB*VAz2zlOwY4oKAJ;V&Q5LIu;JLbi=OXS%bqG&nd#liX=Z*`p_aPO)Pl_` zK8puB1W~_d`$}wo8GpbvgUSVxcxjbZnBQ9Ey!95dK~tS@$ZKq=6<&d&iU&3Vn{S|T z2;=W-+!}~q8Nny`)j{rD-8j%1by0qpH~n+hL_%%LR;Z=N6Kx&Np$Y-v|3(N8u*UI)4i! zHkPRfkI&5)jMswdM}6PD!mfvmmHEJv7gTn{p3CksdJEc*h$(`bL1VPls$VHwRNtOD zHl^pFjx)%DLagD#hilDhL!~YBuNcf1&ZAHZ*gQj^Nq={KJ!%9FWF-P_FVc=BOf+Ez zzD_M(a(%cZb-KA^aiDpYa zfD>Y=;uP49jNfjBURhqy>b&KQUG_?C^g4?YJ(J)YBQ{1WkUn(Sxq5AA*zu5la%C;- zhu_Me6&HT$GsZsA`D~_0a<&b2kU?U?58ca;$WTB#*JS1Wb6oWPjoKZZGTY!s#6rrnWEjTQ> z0A@AI2%0)}4+-pQWoKAf`_eK4$76OJmojin#qKt6Ov&i^gH}@(s)K}Iu0eYthoGIE z2W3d$R?HxY?C&426>!eU1?uzhJo!}``*j)4)YBrXD8KwH6tpf}Fr^Zi=&WxWs`^L<V428t1>2SnXdFv3XKu!;(Sq%AX$o4i9d#LKzaO-2j(au+Y9(#!gH)%MXT(u z@pBRP-r~+HrmB>r6=@xaiwtBcULcKn8>(qIMtjqE@EsBuD|>^Uhj0r$=Q~-1q@z-< zHc9^*?rh~`lT>UV%@%jSIu#cZ>as~@5-K30D zMgI#d?ikG+9i?M5ez_TrJD}@hrP#opbQSrO))%)4-ti$+$n50_S{4@ao=UV3tVrF&8kv(R}@fBi`XrO!7Y za|_$|X}E~a)X)<)}h;ISjfggSsKlZlmQ6;_r57E6<%?pm#U$i7+74fJNYYmFe z1EnC*);TDuoxLr$wCFB)P7)rtZz4=JABQ()UiKaMqKxU<=ioO)hxlgrK$dE(y@kWT zWbHPdj6U_>W-GRpKflvJ1SQ`G#l8!QMKMO!8Vz4TYSs=7weNxU(J%eXu~*w}9pWE& z{x>$&b8(gAdW?dF&dKYN>}Ex)DcgS@ zI0&-+U*kuTZ2viUh=M@P3j*L5EXj7+zV^`gS)dih^E&_<{Ydz)!do*5|I_fLqmJ;} z&p-;CoBCJqfvnY7d^?AO$>RTmC!>u2#gt-jZc0N2)pidQ`xPi=J2%D1+jDa4)ad!s zGjGhCKR))x@$;unjZM8VJ^uPwmlM0wPVAkWDmY1{wMxlHl8B|}588`8Er|so`P)c! zZiL()BQcl~GDa~^k^#0&Ho zJ~!K0ez%?FyLmF6d$8h@ialzuoRTr*2ja7HH+Wh_v{0xa^i|0h4!)Kf9JI-EoL~^^ zJ15Rx#T$}LC$T(97$ScF<;(&D(XLnp0K^O&?XlzNfeai`F%w6Wyxws1-*bbbKkgex zC~M~0^YflRU42vYr65#6Ak+9*w)sI{s)m*0uyAVm;CBPQ*5ITAjz|kv;Am$&vB)Q< zxIajdRU-*1fUrw|>nxmn2--{FkrW#)=wmonuLc#*KQeQ4*g4g1un3MvW`>>PVBTQHA&1A8kX&Li6;f!AK(As8buINhELN`7??WPeX$uxJ+&V?6neB-uj69yUZ0 zB^OOG7|H4#a5n=I*g{JaN$4$hMSO(Q06yQ^ygB#}nX;jp@`7@l$G3q=?-g;B>W0$sf_vU-F8Ml&69T}G5QdH?ih@wWQ<MXHuuC~(l4FM=RUW6q!<3|=HvDAgZdEM7;$8h2If$#J@VlC;h&Nw& z;2`~OV`3DA%yrz(X5*}PIV|w|4>Mr-tR0qzGhq3g9hQ`gQFL++%d@$G<=g$hQemtE z=OLET;CDkHx)V+w;(3UITpVQp>4+Uj@678z6nQA0QdbjWqY3 z5hboqvP&^jDDA-eHqb*q^s;P|qjn^n%s|p{JCZ0F12*LxNwwS{=~_QXir8u_D#ZL0 zo6vef4)f%~9?8wN!GXN+XLbZU+;GXKswS`)I>KlCqp{_k;Dp$1P|H~~Uhc#z3W?8t zFflC_Xod8q(uB=wX-_x)wktO&-#Be6F6VEY#AO#C(sCf6dkvxowo#zuYyW9eZUoBj zZ<1HT(-sui!CClyJY>bK>{_qJOzw0TYgo(02ES^GcYbDfvW4$P2)E2zds_x?xutBP{49 zL(WME#6YGviZFvDW zM#Og_26JPW`p3B$5!bn=xdVbu11SOv(=?8~r^2XaA&kb*1 z64pZ=(&l=nZ*xEWE+$0bW^Py{o*-L8Is{&~Lx7T>NrC`9H-|SRYwqg#8s0yb8weD2 z2ncqet;oVflhgNN+*EK3JqMN=z7r%WNayzl?EI$WlS%xh=Ld`-Psu0pJLG>oH~c=5 z#BUM2?kJ0eYvrlQeK)RS6#9@Ms=F?D^a|uC9&TcPdaK>h>Vh3b9#2kmg{5L}>QZyG zqU1;Oi=zKEFDRNFf!GVMo($ny2Z)+%fq}Nf#ARk5xX@N*x}g|rig02TQE3Hwz__Z4 zV{4-U99|5IrHWTtgjlj?+x7Y+-lbg_QWYGCudM!5R+3l;+xAkQGdpx-4A-~YS#FE$ zg+jJe5&ZML)~AP^klA^!S=vaH-Oy6l^Z*Y9W7-|lcMx7Df6gxywhq{}+Guw;kXH)g=B zVTTzdcMBzAGm7wN(uw8}ZO;p8;*vHt^I>uPW7&DL5RN1)n1>>GF8;sp)HCxK zVq64cD>WeiLZj_PwoWF(>j4F>6;)%%Xq61O5da)ZUgY7U&6y7i#iLq@s;o__a~vK0 z&^l?Dvr3ijans8Qs<#7PAx)y};Z@ExoI~I@Y0)o#c!h^`9w4`}QRL zlwF*DE<>Dt+AdBh`TqQi(|2vp%Q3L8Wy#Vp-8DGbdsM@Y9rB3mWbH6zI3*Sm2u})t zo{ZH#yi`ALN9ng_p!5rNlv46T`A6yPxk2gwl7&)XW{UYkt|=-Tuqrgxd@(@g&sXic zbEE71FdU2)b}8CFCut)RZe@NZZ(t5NfxI@{1f?a&@3Kn zpVt@Zl2!voG=J-4M8zT%G*MnE>g&Kx6IogYb{agbA&>-4HZkjva^GH-ES{Erg6ZSR zRAgf-cUY{b;yW4uI2L2M?d$x=0WOQ|!J?7fmxwM5gGHkh(FisCi{|b4ufd{Go`AOw zLcPa8lE~i88k6ss#YgY2ydE`K#!uD%bT^+$bnoyiH>2<1>m}25^vgUs(RGxH-D_;y zQSvY?v!t7mj9_!#LgV#rQ%cP%V`uU^`Ma3zN?+p1i93^2>^9>SDS1e~BDl0TxMs_Z zyV4W6Swa3C?M2)m)3xoq_?99{I^&Nwh|#GeNRoHaOqB@kzJ$Ohs`(T)6k$<0oKi)k zCXsm#!|CMfG}KUDU@?0ZouvKhMF?L8xBt0ewL}X`3r=ul2^$L#=R2@$ZR1mAWy#$| zEw%I`V%8VhVzaDSK>$7?g)ANUnDVdVB zDLG#}oyrYQ?-zoXo4@eD2?|kUndwpXicONRqfJl(f}P1&iP=Y(2n`9YV_&hO;m3J$ zqJl=nOa+aSMaW0ybDS?Uypb0)%-(^nV|><3V>W|FUmVvaQM-aA*Q2WLrfFT)9EjAz zhXYUu?3!T4#y^@3!n9p>l^SfTSdw8?A|+4Fgx?dlmDP-_HZ&5adK>6A4^duEHMTdB z-QuuGFtg%^QHELaFdcm*;3IlBQegA9MRFuJ!{+Ci$E8JqwGAQ^uRUw9q!p*za3fx& z2=mDJF&N-t6vaLf`CoqnJhoeSU~)9K3SV~r2oQ`6YWS;%v?ZF z^0UjbfcO`7^@5TU7ZCK^TtHB=wt#4$WXg^G=Sp7W>D#&C=`Jzn%z*4X0taZB_Ry^?UQj|I+*RTN#q*<8Li&pEC+!TSSs6eunldK}bKP;pQ(jyXjh(+~+wby<;^CR;MGAzOPO~>A|P)Ukb z77d_?hD1wD=D7NK`?&hI8RLqInd6F*b3CqoG&kew_3Ip0J#jq(UX*>623*vjI^?3% z0nR1Z8NB00+xBmauB882E8 z;u*_`@5-vM=aXr@o=VgDN}g0PIvI)Mv7Pi+(9P`3#Zc``c0|vdKH00I9TE2=FsLW$ zY+l*YqUu-Mi_f01sP6lq*I(GB$zNqilmBFwCX{SF=#?*N^80y_CY^7}5+!5Hc+iU( zv-$p#@On}}Xlg=z9L4&Y9Y=qYfusM;jw4F89>vNRj{Z|_aC9*XM>pcYnz#v)+nvBx zUKlf5*plqZma=vyTgXZunbJ(OaxPykdtYpa5mc9ycNX@Ffmz7&`!WmNSU*Rr;uPbM zO*1p~oMamt3J|-OL2?7nTAB%>KF*S~(y6k~t2bgtr$8T86+&GRjperLi+!9A z8?0Gy1vXf-h-Deru~%fx()&PKMb)==qE<$a5)K#M7r%7_SbO0wKi&erlb6fYXMgx% z>5NF{%!4b9()qAj55TU#`cSAYbZUU_SmG7yC&x~Wo zEr;_{HB7ans)t$?O*ONkbgIdAu!pIX0Vk)#&H?{J|T*IANeJ9AK;M3Em<@R%h8Pm!13NU?x5MYE}#W%;#N zTCR9?wu{XAkfpKn2eP?b-DqO(-gR@$1qBr_w6a08ATwwYpVxXkj;ze9Fs24ko$2;M zunwt*gOr^O6f?|TqCUsfKAgG`?p7A-3Y(Jjdl8_JEj5a=YNgUNH9hVn8!hyXhQ7v)ZML;{KPMNzZewqd4sVNRGB^&( z1Tzn)6O-5YOx4j6&U1sAc5vQX>%8P$Rov6D@5C|%86Sh@i640@A#)kbC)z|IXGafx(&T9ClBlY%Y7 zXC$Iz;LCtcri$}~I-aGl$XZWLze9t@ioFrVcNd^L@V~YU>4E>XAsMf0MbPu6K@Teg zl*&b1B1EEAA#s(KDU67cCGw5X7Qi=jsrFUy9cW{qm`nHtf_zq*on522Yd?0`E49O> z4;pZ}UGn^H|zjQ_nkv7vHxVne&~7XLNGezhwft^EV~c2X>bPt8~B-r-I+vWhc zX=KT*Hb&U9Y7_HOmXS927mT<_^N5x5B9`e^%A7E-^YI)Iv(P!W+%MS11N?X!bZ2A3 zUGln}J=JCrx(QA-U{4mYn~JQPx}A-S)ke8Hv9YrW?!;d3x>#xxcvbiz`?|4SZFt>@ z4V|r}3f#^Iw-WmBtKGR7&PQN|+O{1VHcV`&ZO4zj?RIBp;MIY9)n;Q#)K}XA56!$A z+O-{)WUOLy*$ZLFbm63b9~}OCpY*KVUD0_n>m(pabtkD)Wf)$B?j` zpuDylh-p_4m}Hp|Q_?gDv}(zNm|T2{QsP!HL~gD&s&Eq2o~a7R`M z-oc;WZg82B?-nFjaax9N< zdHL9+@167lP$jR#utJ=*fTb8z+F`kQsgZ<=t)P&i-kXJs`|P-QC<7M{@aGU#K$~MI z8Bb{9WYO6UcghG*qq?43QF1nq*mxgcgE28+$T&9M07bUp)>WK{-bL>x&Tj=R20V44SR9RPB#jP{N!lgZuE zWKzRnOACUJty0I2SSXgJ5=M~Mxw6vTobNA3hChT2S-qG?zv0^Yr-%$-lRs93ktxOngwljIFoyj{gn7oZYzsq1U zC8GrvncUe1>()82xp-~^m#w)Q`d`fxzfbF%{3Hmd`MU*l6!-#5+dspPq^0eDfQLBmsCi+n^XHai z`_gu882-mVAFKk_5yN|1t^NkQ7hA3V0etCfWaF^*hwy!3d+m?l16if9>|LC_Cd)SQ zWL%#9MM|+d3{F#RxWn~VP|UVGWrW%ERz~G!JC!$ca$udR0gI9`B%zf`dJc;dTQR^R zqtet{{|i#SrsC)ykb>1lXYH?{Ra}(bmpHR1>rBQ*Q_oCe;YK?PDf!+c7Si+W1`8>9 zw_u^JXRbX5x7@mx9NcA_$%%PVHC!9P`(M`-+EcX5f+#(nKktG!38{DJB9IJwrX*SW zlPj65zbN}GcaAQ={=f;>FTc;NSIaJVS7vPy{7b1C-G?|LS@h;As77&GrH;f% z@jAgu>PU&rFLXwGSC*1$iD^x@Y8wJK?jU&pxCIK+6Ziq5$+{O%fQL8>t9fDe9kwK6 z74f}*HHN|CKq$;j>ly~t&TgyaUmE@Qz)LbU>Jj+Tv5nx`WAFrQ{`=qq*{QL0Cx?K^ z)}P|Zs8khg#qQwG!RD`_fs)addI*ZylqyE%=F{h1dTDH`%Sqd5C+#lY253@R8-5C<a@CLw{IKWrd@ zl81AOgsFTW;oC+=9B^}K!6C4!7dT-P&UE?>r#V0GT;$3DILbH+_2!&guU{Eh zoy7+DtT`cg?FX%2R+d3zVFQ1$u5` zfs*rzg)8d>3mX5dSn$EcI!i9>rgieLELWnf(#i6dO5kfY~{m0}iPMsG(H6NbkV-RS{!B zYjNC$Behh=U4WySLFmA_%W55C_CzHEXTI5PlpRoRutuiFw%o8%6fJ_v8#tF-zX3bN znAvxhszCrh)H+&GgGMs&XN~anq_c7amYw=P^@2ZT!t_uzC^LkJiyjoDR8iVjD+8M{n8LlXMczQA{OL5%3P(58 zTI2l6sy|L!TK)0dO8p#f&|$EeK2h;Xi%Ank0cR8kx?A>)Q*L@ehl> z9Wh!N68mK%YH!h`6!nCB2Wt-&gAmRkE)}B6kj?m4^6|2G6QY*XyWfVsvEXZwDMVhAz zd?G1=R9JGuf~*yD;@^rSJY-R(u^44?N8JC6lLXUKWNQmp`=!Y-aYYEbrTfKP_v zA<8(>5hDw+ZrI;LA;~a7QdD7I#pC?ec`Igq?A9pIiR>C}9N5(&r@%BPeJ}(quT-5! zOH{jI)7l~;)Ip#$5WTKC5aMrh-2)-suPZkYtnZaP7|71Ty7i0~1R!al6M7#LQRhpr zf>fe?NulA|xN==X1J+~#xO@39$t*Q5GR3;$1rYWjY7r)Pw_K)2knbbyDohN~AalxI z3qpZ-jS?WH*vpu*_Gn)NBhLQ_lQIdrfT44+dVFPoRd zyT4QoUvAHV1{AbC2*?k1`T$Qb;!>dveFm!@8ceXJ9NaPZqvv9HjDs zTb~Z$kl5JelGnoOlIT;WeV`1Ev%>@zR@{(jM4*Z-xo~0c`Ki+mNL_f!7isvLsb{df zYWdzg5UBD_(uE=)kjgiti^y*z#jUebvbZA-%M2$WoM~3MCmSjCFS#R00Y#+(5lHID7jq{Ri#j@10J5sAZQ0TNOq`I1g}g-3t@nLr@(;D#Y^hsWHR5V&N3%fP_gnfvAP7%mrP zfDncY;&XYaGlS^r*Z?X}lh8$bwWEgKZ8cT=JV)Rc`0 zd>H9c3V(|Ao(WL zoKUfnzWJ$I*$aPawfjIDVe-U%ZL)eu|CXD83)n<}l{9WX09X(>fM5Joy@{Ul(AhWB z&F5)U&>JPSrg^h^gkqoloyEsWd}tiP)PZtHtqZY5o_;~U(-=m+1g(_!q*%#B1cqqj zEQ+iCMe#T1EQ*`ry6eW|X62*Wh{5uDfsPUL0lBJvIE=ONs+HE-c<3b%7v)Zy40$Cv z^y)B@Y8Do>!uh0lEtjv+uviPUAp)pVO`8cI^(&+wg}l^?Q%{z*8c_iFLAAV<0+$9a z;a|%4R082U`?83`2G`q@Tz#M|R_lGeksgqr%ML8Nw6TG#w8f(OG1DgR-KJdkQfeeaxuWtGzH)W9qZmOt5T{X2rD$%GTlm@WpCU?)Yiigu zT`&4VNm;o-O?*=Ca0bie2>P>Pi~dXhroJCzA93_dsa-|H9@6Vwrhp&eiuOAbD>?)4 zIb!`={9?VABi7$5uJ3Yuo!tDO^mW>?sR2p!p9w>vpR+d~j*&Y71iJKCDhL`<9cRlF z1kixRo+flvH+L69c@EJ85~vXf)Y4b9;>JRolGk801ab&1MJi>&xBJDc=paToBWF*$ zV4zV?sbbA^W!3jT4y$MCK8k2>+0}=lBcKqMjz0zuOr^~%*u04a!oLTdJ z|E&4$oLMs`uDiw%H@{xany`(bUkqdFeBPNl3AbRmw;#jp_| zckyt2*o?@1%^OIt5|pz^%?Po3W{n1G;&kf-=M<5lMqpe^Um112SOZH79}RwGlT`9f zK$Rd;9_-VXyASN!HvpRIpEmE&q+jV|6O?O3M84Wu`;7d;>>t-Rcow9-8EboH-5I*e z^8}#+bLQpu`sd{*bLQm_iR*Vb+Kij`%X#S}c?YDz|Z$8qBLP1<q2eIOQOiBcoLH0_K4Zb%%am1BQx244> zWJeWz$}gKfn08dQ+owx2uo9p`#{3OI&|Scd znS%#`IL}yYd?X%z@F3I(ksR~%!zXz%PXe6u5V6Z{RMoZ8^@9KC%oM3pmd6 zS~F}p5|A^fAR0mkGV2I+?O$Jx1f0_G{J6Ix%#h_sK(PotB*W8{Ev3KFawMP-ujIlL z|I;A}Iuao-0CPDKP$YY{ZR=e6^YO!acF@2kBZm_$yNvKFy`*a|M*`-C#2Oz?Pw?eP zK)rlfjs#qe1f-HSDRBtt9uSmU%aMR~OyhDSAeA*BKZ%Yip|6rKB@jQR4#dClpVo!+ zSHi0;uG4VF=FD>R7(_Fxa5Q^ayc|8Y96k2hjUFScyW-&3a_A8+I?@%mFOVT8^vM6M zmt$2hcl}xihAmL6O2RX_9Oht@Dlh{S`iw1D4s*cSAa^8-ix%dP0QU0!I0mijNSEdP zaadsZl%TUeE-J%PAxWno>}CuAh+9V>^&IvgI`K=Lyn3*2QuSc}9QV1oxZ*6x`uO1B z;PouXnjlq`gC$DhUTZO)KG}P+-FNBylvlX!#bEydSOvvk{}F$r6@&eIxQNw5&3mD0 z=s$Uy{l#Dx7X$wj=!E*3OBe&Wm0l4uEX358&Qa(-W#&U&1_%-E%+AE3#ElH+5y31YrJ2V^&()#U$3P^0!k(mN zJ7?no2FhK?_-%ABp9=e6R-QgBj^MHiqh#W2pxojI3O8fbS1*wHx(gI;eke?!+#3W? zASJza0r&zt?~oxHA@9WAv*tJP&E@7ws8G<#X66PzGr4(p8Z-GiRNAv9_}SL49V&=ulwfkt$q%3b1H}Vy31j14wS>kL+7xEdoG9Hlvr>SaJ~=t zM7R}Z25DVnORn|XYMcEy*ddy+KB`v*b2m6Z$CBFIjKV%ZsXZP74#v;uqXPXr#cDu) z#zNjO=x&R>R8h&1?WSV|6RwIlAlPoC8^m@TcpK;n4G5Qn(zma9?p=+aRbpzbEZ25Z(WJ-|E=iUY*d<=nW~jVkb4=d zQzF|)B_jKC9pog8;pf7mN@)hH_RoOZ{4-!z&J5sgkUV6~0B(MOXFzWU)K~CWSy+W7 zoJC9=!o=tu;h1U9=fct=%*>?I(7>(>g0;{O#bh1^cKb1KR}Kca83vMNu+=c6+sEW&D%o#kLG;s4+9{E|mH;3ii&0Vf=Gv+g+ z;_G?p41_b?zc~obPcY|AQ#Xy3Nj%uqT+-E$4=sn2#&RB7?)9VP{v5P$Hy173yfo1A zfsoPSWn~^(JQfKXEiPJam$#~gGnc2$u_+3ExICBx7w+cj6K>ukg$wEvtVJD`KKcG2 za8hHbLbbZnxEI0hnDB!<*Q%M;vg}|iqp8}Lb-!N?-BF2U?|Fh{zz>#U4p_LG3l?s^ zCv32MDhRMNOt7T$Z(eW_wPp%^AZ9mI#FjWbELBo}^5uXZGLPgyhP!Qb>{V`7YZj*% zOE`wh&jo>+ON<&_p(K@!smS4Y2PrX3c~h1p+2;u%WdrvIp-24?dVLOrxSIEK|UQOE<&9#^ZSikBQJX{1!$hvyYJJgqP5!vL(N z`*NCD0}(#@bHrHvOz2#PWqj7Nl<}nWus68Sb{TlEDi?v)v#$R_BKf%MZ;D#aTns}d zkAUm021O(#1!6golp85`DSjy~cd;rrgi+Rqpt_ZeH+pda0wi4uDi8x!eF^{f^6?cE zwpo3}{HqHgNcHO(GwBjE*?S{6WFg*kf4Mn5-E0iDTjjxNs5dlNhmu-@wdP>ykB?wdE=tqgaN0J@~8Jy9o-z;SKe_2JS+X>)+sy`?}rU#&(PcP{C|GEyt_>54h;w z3n7tT_B7)Vt1D0vt~NDS-5wrn{yWeNGx#+Kn_BNaKJG8dLX3!ZfIZRw3%&#e#{N0{ zl8_GdzkpVViv3IYfvmS6uvx&xg}`r!W{iscN=7$`inWl#qhb8n{|DWCQL#kgYN})m z;Z#K08b4`U1q~1oYdwRT0iAx*_&NmJ_`2PzNQ3Wo zg%5BV1Br7APjba$De;F9cO&@QDYefJSF-uL&Cg$M-j&8*z7D<=i@)4_d-(jlBRKx< zko*-3)n(@`t(bzp@P-^EyVK8B zZbohC)&G1Qw&*P(%+0us7Wia+Dmb=6y?BviKqodK>kdJfqUNK^DAkuik z7+5FW6+$w|24Cy9!FTzg^E%PIDh)c^4Fa7l@xaYXz()Iq(4aH^Iyh^O_X8XtsQ6>7 zwv<2xTj=&tkd~e2y`)S9`>IkocC&_?B64--t_f*>TK8UP_6I$DF03e;sA(j_I ztrnccp%dOIG+HbN}*p=s% z#FYWOaW*nlHsfAuV=oUYR!7VBXS*d#qY?EiLU%L4I0wkRJ^khoJULZ^}wN1v}niZ zO_Keq{j&cJe%b$~9NEv^?sQ~7H{Z`@LvI^~_zT!*cLK)dh3S;3g{Ba6;J^D3F(6!W z*pQtZJR@eTz>E(Ya{gpv<1s%rp2)!lciZA%gPWz>uxFpr7$zVt1_y{Y%5VX3>Y*Wt zlPEwTJ6!RjU?cQ2#7j01-s}g$;T#}vHx~%pj8zqI{kSB6@U6iC;ZOny20N2jU}cmB z2h0XSp^&F8j`)!8;FpA(c4HxxEkWa!Qnt=3E_7`r69PN1V9I_ z`$fTK=ylrgLF8fJX+H*rb1=Z&b~qT|X58r^3~T@l=#@seNcebgNRU}W`s*PcY|bWe zaYP(!i-ix0-3C-NsZG>M=cZyDrC_dTWC)NhWNVur^>EKZF4Xj7_(;;LOJCkS;hNV2i9M-|2L9Y#g3AjS`OPVb(IA|&3 zB$%Al$*3PO&*mV8ySYwHZhllE<_?V*T%A~yg$toy2o6HCHiQ!25;0|cTwi^|G-QF{ zV&WweUz_kj+P9J?kH-AydM*cD+|6D4ax>OgB6);s--I_TTv&Y}I9QEH3)gjL6P`>q zC*_poVI$v=qqepIR4|@*7!sX2IxQs2Rr0(aE-&Q3g}b?{AZ}h#tDxTx4kLdjF`|~k zE>k0@%vYPPK^&c#&1iT=pAbG>^C|*{Jt=$l3ROlJQf^7?uEvd0Mlf!O_I^XdI}kqw zz{pDX48&fr&sHnd0plh7nssNX(^2D2@fH|t6S=m(xi2K|Gl7aSG|{K6 z_L81^Zun>sf}$(UY5W!TnV`Zm$#vL*Nuw$;9*9zue8UwmGE+9a>@CEs5!|P`zVuzr zX9p`+1kdG}o-g`m)TNvm#ogQ)#m)Pcj^w>*Q()n*;iZMOA(K`Ji}Qt>l5nikuhlF^14Y|KIOcZzWiML3&IQO@WSxJ*QIn*J>C zP^hCsgQ-*43>SkG@pK(+-b18?97GvaAKA46#0C7ToxH;GG^CE-W9S9*8`|iyc#Yz&(>5(1y)EBq zXPorJX9;2VX#XJ^2Jw0vGRDA~0kMy0D&n8TGehHN?1O62x++eWW^naL-3t=@`)H(; zyX8#>4>EW?_m#ySL4o%QnyogNX86j=Fmnx~o1f~|rYbSi#U_tRN?y`;_)-6b9Mp5S z+Z@z$^WAI(RkzpIf!%&~u7LSa{bwY-Pdt5%Gdee;jpYrN=IeX?-3p2*2!448K^|O! z=IcY7den~-d3!22zFy0Wr1$%|%FU_ygM59vBaOM)icJqw8lMf0tJgFm=>vYYax-d6?_}lc zcQ|b2W-PIVp67sta6LG-&Nm}zGi;hUhpA=eC4JD(X>P{7crT~5IW} zTID4rcBP{PPu;wv-QY`t#Rp`8CsUGgmbM@A1K=Z~d2Jd1xSOk&xmoJv9!CAhwMMX} z*Smwmf(+T3eg~ z#NAvpar4qb(}#jXlPnf%po#Zj*u5wAj=T_(+e(R4uD&6(&GK{ig`$u7QS^g3DB^A| zinv)OL@y1Q^h3d+=w;sfHc+JZ8W>1wQ^AWRb=9Bv*Egazuu$qJhT`LXDE(*-l(?G< zC2m$xK}$lteL6TORgzFbfkgaF#7`hB)Ru4}C$w+S+yS65;&0jo@(JT(^PK-b=7-QH zb0EasTnKTq3a?la5c*tj5c-ZJgi^R`<^6i)k{O}nq!eq*sBfS>06Jf{vS2@avKQ-LC})x=$oQm*8uX)5+zV7lnyM9zZeCb_ICsKiT+a{FwXa zIhf;admOJ1H$TX}fb?YJFg<*~7aaPIGx|8ZLT7B_UMH{qU1aHuHKOhOJ54>xWOEO@eaknw;bo&sawrT zaI*@eO(r9UiHJ?XAwniH=tVH%!dgM42nuttl#Y`fFj~?y&ao|i)en~cEe9;z&9y(d z`E^p2q$d1@iJ7~C!%RtP6?cabq2pn;-}uN_(zsUX&F3&mEzctT_kPs;S`KQsn_Hrq zo0YS8Gi+elwcao~Gfc<~1P7T9F=Xs77%^Y{0Kvmf?E5+44kCTYa2?Q9*F@8R<>DDg zuA0sC6tTgD2WNzt%(Oo=YjXSxt5wxQJe#Rjj>J(@awFi9T2{)a@#G2>f?ll!sJzqK zfYR#3x$H4c`EfYr~}B5mTwQ91c@u+I;APID zDFNWccS0t}P09qY8s_P>N(_3%9*>NXG^AZNvNO#ijV>p~Be?``NZ?EvsAGw(r7-`|Hl_82x_20P zNpM=~(B$+sRldB-(oX`Q&LwAZ$*VM-^n8)c#tcb9U*6PDoo{}b?zt&2Z|pZMDDwtY zWZHW=WtK&~3nX~B;=QEa)4rjD|B7w>!TvCEahHlaoL0(#K z<2{V!w%?Mm#~@MUvtW#;`<`vcsw}I8N11nhL*M5{>xI9(<<{nB2u&o*P2^U^^F3h! zi>6tRPs((7RjY=YhpW2wmXAN$X8szf#bkZZYgW03M_n%RBF`|;^{}i$GuOVzOa7Pl z3%#qYu%k@25TBwVBWCo42CmoLC*5bale;k#A}AJ-a)?gvt%;) zYb=|vIcp@pC1DJvjDjr6QkPQ3KsFqcG#TiEZ)E{5<%^jZ%c9P^#z-_;3oC=}wi^wQ z^(fo37JxH&-8u+5;KRFdPxwFLY0FTMrrPXnI6N6QIzunTl-t*5`b)pypP!d-YSAM0GTf*lu=Pu^jw{<^aA>)rsKKZ?yRHQ=Xxv8Lv5zH<12fs zppNBaJcm73ff>{4(61|}YK?gAI2?IXuEKtG8Hy6aU)|nKP<(9nuDSUp>+2`s2eRE_|0)3$m;Gx+^9>N0_STGU zP)5{34UdM&hi`*!)$P4CydhY&Y)45Qs-~ zulCcuS`fI>A%L6Dq|wdS*ZR9{V!C@~LE#dEn}l6PoFwMr+FIXBM32j%cVv+p1N|ttnmYeo5#`s!`EHFaPzH8 z1~8XG1I(x>I_=}?Rp3SKn+IdoltcUQzs_rs8q^JLO_a)UWZ7fvtiRUNSvUi(G0%l% zOv=x(jPDq$P0vilwtC@sxI8=gUS%hLC-RO(|A!XdPR@7-Wi=CtaqoQ#Xf@}PHQD?6 zE4HC?M_*`*`uhO{U{U`7{z$W^zYi{=X=UCECe;smn*A1apy>KucmXgozNXMMU)%eA z@Quj!{wVy?%M?8I?}l5Bud06!{6M%^uvsG@=E7#LXhuu?;~CvHIB4V1unyiQpqtMU zCwkYSQ)djk2l1SsZjGP1wSo+=w=Ga}GnR_*QpeYK`@6whVCrBE^OHzs*uwU+NMdl) zq5erA3vKYdb~qWj^oX$wW=w<;Sn1T=bFu_xYUR;c<$n3Fhd(tJUgLkAmX86 z%}x?-tzU-R;>XObqIp#sX1LpW2Q%D^qGu^#=C{Je%opWOMY{d08LtJ4f>#lU;W-K9r zNbUI(_LhMD`!7LbcYNl?6)T<`h0?OES|uhFF_`UTpl46V*ts&dqyS+0C|cZ5!uT9z zFsW!gIB+Kehj<>3xpm0VMhfLPF8;G`vqP0gF~{HlL(M!~X~RxeO3;!^K4dB$Zna9Y z^oEBDMw%f$bE4Ub?2IhPB{hi6qr#lgI3E5(5=k)d1~yG}oqH5Jj2ncu7orj`b3W6$nY8XVl~s?3=%VWQ7-Hkh!#!qtxKtL(GnqX@5SrsqD^`DWbe)WJ7WD~B;2hVtR3mAk65^23;9=X#2-6SA{M?1 zyhMkYc`rE1Zh}5;GY*lASXfj5{FBhWOBMjN-VSdxf(k$QOL#$Yf&M-G(o4?S`aeKB z_&xs-ejvXrcCM@w>s@wk6wT=OT*YkmbpyYrg#sQ8Pg7b8-F$veB61b15+GzsP`1WT z*(yN-_&lvga5FkDy_E6wyZznnRg{6G+k_;BAft98A&VrV>KowU=)c@!n`2TQA)_K< zm*JiwCf+4)k=mgk8?X;}qX>6v{oK9T&)v168NE?n?s7NqMp>ZXW~>1xa2FDH_l3aS zQC^Ho7I}Fl_-rmK$q7W<2a`;ofGm8&u|rr`2P@1WWIGmPBEGNo^L@Ra?;CRX&fVb1 zK#T9(jORZf-+OparhG$^Fd^aK^&#NkaR&!9y*2Za$%09ytL65hs`V`)e9gb)uPF*3 zNaV@6r54LWvc{>`VSM_`M1>@FzUiR-x-Fo~J$J=*^Y!01S3KiFy%W&X(FA#}RP zubUZVKByL8r*VF;ar5ee@?h|=NwHdp5kYZpc45A~mx#&U(^tX{-&l!-*=^RstY|Rv zs-w!!0V^Q}ri?$}987Oi`8(hu8u#YCVANMU%{WAIjTQt(UI21oe!gZff>yORl3c?> zE#pqXyVEl6?eGgkk(-lfu6`C8VGZ|<@B`Uwv3s3>hRg2#q8Zn46B*rL4QHW*N5i8z z>(I@&h9e5^1*?I#cH)YbP~zAW&W;6RkO*JxC;S#cAuRDM3L?>rivTa-+zl#oTHUxA zk0eCGdmF(R9E&@TGcB0L^CG@bNJ8;4612#GuQz}QSOJdz5U6c7XgGD(_45=PIPV-BBiINOHrv&iJ%zEbab&=>%?uC@M8NDhm`*W2H$>G z&koar+5TWG96do5qNhI33K-yWiNc+ zJ$M7$U#zu8*xDj zqW6U)h`#FvR}k4>Fv{XORPfTQkGidz321~oUN4qQGmvWuv#%E8e*P08)*yQ273%I> zHmo^)uQ@CNoDpk>ENEoYbaq}tO((#Jhbrr_?&I)HRR1EpW?^43ez9AcY8UXG-P;Wc zRWB_z@v0_O|CV?so`1>(5QNp(4hg%Zl?uDUD_|LNAY09~{j!?H>EgrcvYMs!{$iIgXu?$V2yp8*<%5U`jC`@^Y zba4UvMh>CMT|{)my_xIjF7iKnvUjL|FOheMgmdUx@7n(qFbOE9j=HOe`k%e-SBJ9PZbD4xWwM;f*Js1!KB4 zQHxvao;)4H+6@Ds3a6htd1iQIXy3Xg&y-r=5-D6dHav9V=srV|0L?c6Io*9L| zP8~jd7=9l*eR*b*_$gVO&n|#C zPmrnvI#Ck$TGvycr#*eL_hkPfJ!O#VF4X@3SOr4;5AjEuQ2%|nh!VlP7bL-d_B8v2 z`r=~X_kd2A*h?4#xuX5^@QNhbe+Pc)d8Tgtci{pE_x}h#kd+ooHwgB-EZr=cQMmsX zU$;%-ItX_Q3EYflRecG%Y2m)ODEM=vWwB6D{}XsR3iz4pDBu$!#1!#_5J$wXrh+Vq z&2vyc*S$QLd~!b<=jX1c@Ro#3_73zfthtjC&ah*?X{b@f!X}l|-A1EyZYs`O{OnPS zpPRO7ZTU?L_U#845e5kYq4!}cFeIPQTys6nzsTE zL5*(19}tM@-7Vh?7g6?__kzsb?rFv$lDp+0fMXL-3u5#&0*+em&Xlck!iC%>2d-V+ z6u%e08XLqRaFOVF&2aI2eI0(^X~Cvtt=1a6daYL9E5s7v9w)<4<3+5|_e`^SK2NpX z45|&RMyNXahDE}?L$Fe9M9%`@-cQ37sW$IW3#Hng1|EWHdj@}`skR{jmb!T_sJ3BG z^Wv*E@7IKCv`2y3g;H&P8m=Wc`c!T8*TGxU((y_7161@mo-eH-NcIS|u#g%sTF`xk#zPqUopu;&)5p*Bt z_>@BWcH;qkyJPIk)xKPJmU8q|);AXWcQo744e${1MHo!CQ1RW7Qlm5prKNK!ir=o5 ztsVSAjP^?lw`?_uRY)gV;$CL~maLxVPxhXg_i{Bk%tGn&cLU!*pMNXSQ^em+L`}r_(oJFN*BUa8k3Nc5;r2aFQS7$ zgj#6Br~s#8bOz2bgA*4!)n+Av-x|$mstKpww4nA%}-Q)W&zr>5f87@n^r{6_@(9MfcrpYz;&I*s#u-4$@$ zjB=4UuLN9RLhVli;rU5neCDvwcfQOpo_Nvf&Vc+=^$=VGbvM{K8dO|Vus^-G%@2zm zq8W2Zy?T$k?Q<+vZhk_-Vw+{Ls-rBzQhZ+y1S8!_JW=XSbqpK7nBXd!w24N?#${ic zk-MaO6sZzu3QF(_z`yqEh6BXioSRCy9GJ zMy|ML*+LTLm;?RC5??Sw!-{*atz;HsF3L<6{&Di8IsWn6u$C-=cj%>ByVF*RB+pmA zQ~Ano-ljcD-@b6Z@-)Jg-<;@*d#^5l-#mww$==C%`_Qw8Tqu9~PT(#0({IBcY5w%> za1os*=Dpx_z1`F7_os&hnr%QexFlbrpy}7=z6!nq`P?_bFTHdbQQrdBp@_;>_<<0x zpm3vrjSGeCq8a_~cVu*fA}SVwcr>h1c{g*x`=YyITjBL*&=xETY*1-Y>LxgY6f*Lz5qe+20Y1M~HJfEIMg@8fOZbZ)YhWz?@A z{!_hvpF-1%o-7os_M>1;4hp!Nivn(55-50cfGChPHd9f+C0eHAb{jVM&9rwq+@K&Y zSSuQoRD_j>a>j)mG(5=_Bi?g_$2vc3ZpncScXMIG%}W9{Cjx}cWS;P_VPmiviiULC z={OqT>wY-hlM1JPVYJZ?qfI$5;%+XCxOqvy=<5T7(aAg*DYmA;Mxe=$mM2otBG74| zQk_Pne#sF>Tl_fMmV+bi=HiH(mjsR`0>sh3&BIZSI8t1XV#>Z6>(0QwR~yTj=t~z{ zwGJvO@coz1pJ_qKv{Y@#Qf$CCoM#vdzN$`9NCs>nJf@F7tG$GxYEjyBS2c|xxvo>2 zj+F<74ct8NNH+6fPS4q5p zo@R?V1BDll*5-~EZ=LoX=lJbL_T8WycNcNm@OpG1@|R-)rJ~#B-&OZx7{1qL_?YBVq&VhI+|?93T*;ofxA_^# z%{T?UjO6QgIy0A>(W4h2Bfk^`BMXv|7n*R4E>w+*&NZ7DJT9V(@H~JCs0|*w?7W3$ zHBE5bawb!LtzV(;@-ua}XvQsPFH^bOMu(}~d|Q}I{qI3A^~sr5vlEvwW58sS5f+K( z^A(b&lN}R@i!w5uZZ$>$?VQ8!yZrpVFNfdU&E+>Y2g>h%41wR{qj>ItkL8vrWqLvJ z6accM&>oH+e5n;K?({IGoUF*nE^YD8K8g7nFtT~C&Gg{6M?(A z6M>rpoe1l;hu|mppm!E%hT+*Z0AUmB*^)35Q3E`jg(QB0wVk8{=~@+h&MI@YUu6#X zkyFe;4tI0yAa2GpjL{D2r6whW<96B^1e{K@w?PAlGdLo}M?K9j={AYPu#pu*;4f%0DPRCqdfn4IZYlG1gvo$z|DB5k=MrK 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 diff --git a/server-common/src/main/java/io/a2a/server/events/EventConsumer.java b/server-common/src/main/java/io/a2a/server/events/EventConsumer.java index f43aec9cc..0be198cbf 100644 --- a/server-common/src/main/java/io/a2a/server/events/EventConsumer.java +++ b/server-common/src/main/java/io/a2a/server/events/EventConsumer.java @@ -10,8 +10,11 @@ import mutiny.zero.BackpressureStrategy; import mutiny.zero.TubeConfiguration; import mutiny.zero.ZeroPublisher; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class EventConsumer { + private static final Logger LOGGER = LoggerFactory.getLogger(EventConsumer.class); private final EventQueue queue; private Throwable error; @@ -21,6 +24,7 @@ public class EventConsumer { public EventConsumer(EventQueue queue) { this.queue = queue; + LOGGER.debug("EventConsumer created with queue {}", System.identityHashCode(queue)); } public Event consumeOne() throws A2AServerException, EventQueueClosedException { @@ -107,4 +111,11 @@ public EnhancedRunnable.DoneCallback createAgentRunnableDoneCallback() { } }; } + + public void close() { + // Close the queue to stop the polling loop in consumeAll() + // This will cause EventQueueClosedException and exit the while(true) loop + LOGGER.debug("EventConsumer closing queue {}", System.identityHashCode(queue)); + queue.close(); + } } diff --git a/server-common/src/main/java/io/a2a/server/events/EventQueue.java b/server-common/src/main/java/io/a2a/server/events/EventQueue.java index 3e7ede598..91ade646e 100644 --- a/server-common/src/main/java/io/a2a/server/events/EventQueue.java +++ b/server-common/src/main/java/io/a2a/server/events/EventQueue.java @@ -111,11 +111,14 @@ public Event dequeueEvent(int waitMilliSeconds) throws EventQueueClosedException return event; } try { + LOGGER.trace("Polling queue {} (wait={}ms)", System.identityHashCode(this), waitMilliSeconds); Event event = queue.poll(waitMilliSeconds, TimeUnit.MILLISECONDS); if (event != null) { // Call toString() since for errors we don't really want the full stacktrace LOGGER.debug("Dequeued event (waiting) {} {}", this, event instanceof Throwable ? event.toString() : event); semaphore.release(); + } else { + LOGGER.trace("Dequeue timeout (null) from queue {}", System.identityHashCode(this)); } return event; } catch (InterruptedException e) { diff --git a/server-common/src/main/java/io/a2a/server/events/InMemoryQueueManager.java b/server-common/src/main/java/io/a2a/server/events/InMemoryQueueManager.java index 41dfac222..d696a937f 100644 --- a/server-common/src/main/java/io/a2a/server/events/InMemoryQueueManager.java +++ b/server-common/src/main/java/io/a2a/server/events/InMemoryQueueManager.java @@ -4,9 +4,13 @@ import java.util.concurrent.ConcurrentMap; import jakarta.enterprise.context.ApplicationScoped; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @ApplicationScoped public class InMemoryQueueManager implements QueueManager { + private static final Logger LOGGER = LoggerFactory.getLogger(InMemoryQueueManager.class); + private final ConcurrentMap queues = new ConcurrentHashMap<>(); private final EventQueueFactory factory; @@ -43,6 +47,9 @@ public void close(String taskId) { if (existing == null) { throw new NoTaskQueueException(); } + // Close the queue to stop EventConsumer polling loop + LOGGER.debug("Closing queue {} for task {}", System.identityHashCode(existing), taskId); + existing.close(); } @Override @@ -57,7 +64,14 @@ public EventQueue createOrTap(String taskId) { // Make sure an existing queue has not been added in the meantime existing = queues.putIfAbsent(taskId, newQueue); } - return existing == null ? newQueue : existing.tap(); + EventQueue result = existing == null ? newQueue : existing.tap(); + if (existing == null) { + LOGGER.debug("Created new queue {} for task {}", System.identityHashCode(result), taskId); + } else { + LOGGER.debug("Tapped existing queue {} -> child {} for task {}", + System.identityHashCode(existing), System.identityHashCode(result), taskId); + } + return result; } @Override diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java index 7bf2b8af8..6986cc8d3 100644 --- a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java +++ b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java @@ -201,7 +201,7 @@ public EventKind onMessageSend(MessageSendParams params, ServerCallContext conte // any errors thrown by the producerRunnable are not picked up by the consumer producerRunnable.addDoneCallback(consumer.createAgentRunnableDoneCallback()); etai = resultAggregator.consumeAndBreakOnInterrupt(consumer, blocking, pushNotificationCallback); - + if (etai == null) { LOGGER.debug("No result, throwing InternalError"); throw new InternalError("No result"); @@ -218,10 +218,10 @@ public EventKind onMessageSend(MessageSendParams params, ServerCallContext conte pushNotificationCallback.run(); } finally { if (interruptedOrNonBlocking) { - CompletableFuture cleanupTask = CompletableFuture.runAsync(() -> cleanupProducer(taskId), executor); + CompletableFuture cleanupTask = CompletableFuture.runAsync(() -> cleanupProducer(taskId, false), executor); trackBackgroundTask(cleanupTask); } else { - cleanupProducer(taskId); + cleanupProducer(taskId, false); } } @@ -342,7 +342,7 @@ private void startBackgroundConsumption() { } }); } finally { - CompletableFuture cleanupTask = CompletableFuture.runAsync(() -> cleanupProducer(taskId.get()), executor); + CompletableFuture cleanupTask = CompletableFuture.runAsync(() -> cleanupProducer(taskId.get(), true), executor); trackBackgroundTask(cleanupTask); } } @@ -473,8 +473,17 @@ public void run() { .whenComplete((v, err) -> { if (err != null) { runnable.setError(err); + // Close queue on error + queue.close(); + } else { + // Only close queue if task is in a final state + Task task = taskStore.get(taskId); + if (task != null && task.getStatus() != null && task.getStatus().state().isFinal()) { + queue.close(); + } else { + LOGGER.debug("Task {} not in final state or not yet created, keeping queue open", taskId); + } } - queue.close(); runnable.invokeDoneCallbacks(); }); runningAgents.put(taskId, cf); @@ -499,11 +508,43 @@ private void trackBackgroundTask(CompletableFuture task) { }); } - private void cleanupProducer(String taskId) { + private void cleanupProducer(String taskId, boolean isStreaming) { + LOGGER.debug("Starting cleanup for task {} (streaming={})", taskId, isStreaming); // TODO the Python implementation waits for the producerRunnable - runningAgents.get(taskId) - .whenComplete((v, t) -> { - queueManager.close(taskId); + CompletableFuture agentFuture = runningAgents.get(taskId); + if (agentFuture == null) { + LOGGER.debug("No running agent found for task {}", taskId); + return; + } + agentFuture.whenComplete((v, t) -> { + LOGGER.debug("Agent completed for task {}", taskId); + + // For streaming calls, always close queue when agent completes + // Each streaming call is independent and doesn't support multi-message reuse + if (isStreaming) { + LOGGER.debug("Streaming call, closing queue for task {}", taskId); + try { + queueManager.close(taskId); + } catch (Exception e) { + LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); + } + } else { + // For non-blocking calls, only close queue if task is in final state + // For non-final states, queue must stay open for potential future messages to same taskId + // so we can handle the "fire and forget' case used e.g. in the TCK + Task task = taskStore.get(taskId); + if (task != null && task.getStatus() != null && task.getStatus().state().isFinal()) { + LOGGER.debug("Task in final state, closing queue for task {}", taskId); + try { + queueManager.close(taskId); + } catch (Exception e) { + LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); + } + } else { + LOGGER.debug("Task not in final state, keeping queue open for task {}", taskId); + } + } + // Always remove from running agents runningAgents.remove(taskId); }); } diff --git a/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java b/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java index a30d60b01..c296d1dd3 100644 --- a/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java +++ b/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java @@ -5,6 +5,7 @@ import static io.a2a.server.util.async.AsyncUtils.processor; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; import java.util.concurrent.Flow; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; @@ -40,7 +41,12 @@ public Flow.Publisher consumeAndEmit(EventConsumer consumer) { Flow.Publisher all = consumer.consumeAll(); return processor(createTubeConfig(), all, ((errorConsumer, event) -> { - callTaskManagerProcess(event); + try { + callTaskManagerProcess(event); + } catch (A2AServerException e) { + errorConsumer.accept(e); + return false; + } return true; })); } @@ -60,7 +66,12 @@ public EventKind consumeAll(EventConsumer consumer) throws JSONRPCError { return false; } } - callTaskManagerProcess(event); + try { + callTaskManagerProcess(event); + } catch (A2AServerException e) { + error.set(e); + return false; + } return true; }, error::set); @@ -84,24 +95,45 @@ public EventTypeAndInterrupt consumeAndBreakOnInterrupt(EventConsumer consumer, Flow.Publisher all = consumer.consumeAll(); AtomicReference message = new AtomicReference<>(); AtomicBoolean interrupted = new AtomicBoolean(false); + AtomicBoolean shouldCloseConsumer = new AtomicBoolean(false); AtomicReference errorRef = new AtomicReference<>(); - consumer( + CompletableFuture completionFuture = new CompletableFuture<>(); + + // CRITICAL: The subscription itself must run on a background thread to avoid blocking + // the Vert.x worker thread. EventConsumer.consumeAll() starts a polling loop that + // blocks in dequeueEvent(), so we must subscribe from a background thread. + CompletableFuture.runAsync(() -> { + consumer( createTubeConfig(), all, - (event -> { + (event) -> { + // Handle Throwable events if (event instanceof Throwable t) { errorRef.set(t); + completionFuture.completeExceptionally(t); return false; } + + // Handle Message events if (event instanceof Message msg) { - this.message = msg; + ResultAggregator.this.message = msg; message.set(msg); + completionFuture.complete(null); return false; } - callTaskManagerProcess(event); + // Process event through TaskManager + try { + callTaskManagerProcess(event); + } catch (A2AServerException e) { + errorRef.set(e); + completionFuture.completeExceptionally(e); + return false; + } + // Determine interrupt behavior boolean shouldInterrupt = false; + boolean continueInBackground = false; boolean isAuthRequired = (event instanceof Task task && task.getStatus().state() == TaskState.AUTH_REQUIRED) || (event instanceof TaskStatusUpdateEvent tsue && tsue.getStatus().state() == TaskState.AUTH_REQUIRED); @@ -114,21 +146,75 @@ public EventTypeAndInterrupt consumeAndBreakOnInterrupt(EventConsumer consumer, // new request is expected in order for the agent to make progress, // so the agent should exit. shouldInterrupt = true; + continueInBackground = true; } // For non-blocking calls, interrupt as soon as a task is available. else if (!blocking) { shouldInterrupt = true; + continueInBackground = true; + } + // For blocking calls, interrupt when we get any task-related event (EventKind except Message) + // Cancel subscription to free resources (client can resubscribe if needed) + else if (blocking && (event instanceof EventKind && !(event instanceof Message))) { + shouldInterrupt = true; + continueInBackground = false; } if (shouldInterrupt) { - // Continue consuming the rest of the events in the background. - CompletableFuture.runAsync(() -> continueConsuming(all, eventCallback)); + // Complete the future to unblock the main thread interrupted.set(true); - return false; + completionFuture.complete(null); + + if (continueInBackground) { + // Continue consuming in background - keep requesting events + return true; + } else { + // Blocking call - cancel subscription AND close consumer to stop polling loop + // We need to close the consumer after the consumer() call completes + shouldCloseConsumer.set(true); + return false; + } } + + // Continue processing return true; - }), - errorRef::set); + }, + throwable -> { + // Handle onError and onComplete + if (throwable != null) { + errorRef.set(throwable); + completionFuture.completeExceptionally(throwable); + } else { + // onComplete + completionFuture.complete(null); + } + } + ); + }); + + // Wait for completion or interruption + try { + completionFuture.join(); + } catch (CompletionException e) { + // CompletionException wraps the actual exception + Throwable cause = e.getCause(); + if (cause != null) { + Utils.rethrow(cause); + } else { + throw e; + } + } + + // Close consumer if blocking interrupt occurred + if (shouldCloseConsumer.get()) { + // Close the EventConsumer's queue to stop the infinite polling loop + // This will cause EventQueueClosedException and exit the while(true) loop + consumer.close(); + } + + // Background consumption continues automatically via the subscription + // No need to create a new publisher - returning true in nextFunction + // keeps the subscription alive Throwable error = errorRef.get(); if (error != null) { @@ -139,26 +225,8 @@ else if (!blocking) { message.get() != null ? message.get() : taskManager.getTask(), interrupted.get()); } - private void continueConsuming(Flow.Publisher all, Runnable eventCallback) { - consumer(createTubeConfig(), - all, - event -> { - callTaskManagerProcess(event); - if (eventCallback != null) { - eventCallback.run(); - } - return true; - }, - t -> {}); - } - - private void callTaskManagerProcess(Event event) { - try { - taskManager.process(event); - } catch (A2AServerException e) { - // TODO Decide what to do in case of failure - e.printStackTrace(); - } + private void callTaskManagerProcess(Event event) throws A2AServerException { + taskManager.process(event); } public record EventTypeAndInterrupt(EventKind eventType, boolean interrupted) { diff --git a/server-common/src/main/java/io/a2a/server/tasks/TaskManager.java b/server-common/src/main/java/io/a2a/server/tasks/TaskManager.java index 067aa2832..523b9346f 100644 --- a/server-common/src/main/java/io/a2a/server/tasks/TaskManager.java +++ b/server-common/src/main/java/io/a2a/server/tasks/TaskManager.java @@ -94,7 +94,7 @@ Task saveTaskEvent(TaskArtifactUpdateEvent event) throws A2AServerException { public Event process(Event event) throws A2AServerException { if (event instanceof Task task) { - saveTask(task); + saveTaskEvent(task); } else if (event instanceof TaskStatusUpdateEvent taskStatusUpdateEvent) { saveTaskEvent(taskStatusUpdateEvent); } else if (event instanceof TaskArtifactUpdateEvent taskArtifactUpdateEvent) { diff --git a/server-common/src/test/java/io/a2a/server/requesthandlers/DefaultRequestHandlerTest.java b/server-common/src/test/java/io/a2a/server/requesthandlers/DefaultRequestHandlerTest.java index 9951b7ba7..2fc55ea26 100644 --- a/server-common/src/test/java/io/a2a/server/requesthandlers/DefaultRequestHandlerTest.java +++ b/server-common/src/test/java/io/a2a/server/requesthandlers/DefaultRequestHandlerTest.java @@ -60,6 +60,65 @@ void setUp() { serverCallContext = new ServerCallContext(UnauthenticatedUser.INSTANCE, Map.of(), Set.of()); } + /** + * Test that multiple blocking messages to the same task work correctly + * when agent doesn't emit final events (fire-and-forget pattern). + * This replicates TCK test: test_message_send_continue_task + */ + @Test + @Timeout(10) + void testBlockingMessageContinueTask() throws Exception { + String taskId = "continue-task-1"; + String contextId = "continue-ctx-1"; + + // Configure agent to NOT complete tasks (like TCK fire-and-forget agent) + agentExecutor.setExecuteCallback((context, queue) -> { + Task task = context.getTask(); + if (task == null) { + // First message: create SUBMITTED task + task = new Task.Builder() + .id(context.getTaskId()) + .contextId(context.getContextId()) + .status(new TaskStatus(TaskState.SUBMITTED)) + .build(); + queue.enqueueEvent(task); + } + // Don't complete - just return (fire-and-forget) + }); + + // First blocking message - should return SUBMITTED task + Message message1 = new Message.Builder() + .messageId("msg-1") + .role(Message.Role.USER) + .parts(new TextPart("first message")) + .taskId(taskId) + .contextId(contextId) + .build(); + + MessageSendParams params1 = new MessageSendParams(message1, null, null); + Object result1 = requestHandler.onMessageSend(params1, serverCallContext); + + assertTrue(result1 instanceof Task); + Task task1 = (Task) result1; + assertTrue(task1.getId().equals(taskId)); + assertTrue(task1.getStatus().state() == TaskState.SUBMITTED); + + // Second blocking message to SAME taskId - should not hang + Message message2 = new Message.Builder() + .messageId("msg-2") + .role(Message.Role.USER) + .parts(new TextPart("second message")) + .taskId(taskId) + .contextId(contextId) + .build(); + + MessageSendParams params2 = new MessageSendParams(message2, null, null); + Object result2 = requestHandler.onMessageSend(params2, serverCallContext); + + // Should complete successfully (not timeout) + assertTrue(result2 instanceof Task); + } + /** * Test that background cleanup tasks are properly tracked and cleared. * Backported from Python test: test_background_cleanup_task_is_tracked_and_cleared diff --git a/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java b/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java index 0abba1f77..4e12f13ba 100644 --- a/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java +++ b/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.fail; import static org.junit.jupiter.api.Assumptions.assumeTrue; @@ -15,6 +16,7 @@ import io.a2a.client.config.ClientConfig; import io.a2a.client.ClientEvent; import io.a2a.client.MessageEvent; +import io.a2a.client.TaskEvent; import io.a2a.client.TaskUpdateEvent; import jakarta.ws.rs.core.MediaType; @@ -27,6 +29,7 @@ import java.nio.charset.StandardCharsets; import java.util.List; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -45,6 +48,7 @@ import io.a2a.spec.Artifact; import io.a2a.spec.DeleteTaskPushNotificationConfigParams; import io.a2a.spec.Event; +import io.a2a.spec.EventKind; import io.a2a.spec.GetTaskPushNotificationConfigParams; import io.a2a.spec.InvalidParamsError; import io.a2a.spec.InvalidRequestError; @@ -52,6 +56,7 @@ import io.a2a.spec.JSONRPCErrorResponse; import io.a2a.spec.ListTaskPushNotificationConfigParams; import io.a2a.spec.Message; +import io.a2a.spec.MessageSendConfiguration; import io.a2a.spec.MessageSendParams; import io.a2a.spec.MethodNotFoundError; import io.a2a.spec.Part; @@ -117,6 +122,7 @@ public abstract class AbstractA2AServerTest { protected final int serverPort; private Client client; private Client nonStreamingClient; + private Client pollingClient; protected AbstractA2AServerTest(int serverPort) { this.serverPort = serverPort; @@ -754,6 +760,157 @@ public void testDeletePushNotificationConfigSetWithoutConfigId() throws Exceptio } } + @Test + @Timeout(value = 1, unit = TimeUnit.MINUTES) + public void testNonBlockingWithMultipleMessages() throws Exception { + // 1. Send first non-blocking message to create task in WORKING state + Message message1 = new Message.Builder(MESSAGE) + .taskId("multi-event-test") + .contextId("test-context") + .parts(new TextPart("First request")) + .build(); + + AtomicReference taskIdRef = new AtomicReference<>(); + CountDownLatch firstTaskLatch = new CountDownLatch(1); + + BiConsumer firstMessageConsumer = (event, agentCard) -> { + System.out.println("First message consumer received: " + event.getClass().getSimpleName()); + if (event instanceof TaskEvent te) { + System.out.println(" Task state: " + te.getTask().getStatus().state()); + taskIdRef.set(te.getTask().getId()); + firstTaskLatch.countDown(); + } else if (event instanceof TaskUpdateEvent tue && tue.getUpdateEvent() instanceof TaskStatusUpdateEvent status) { + System.out.println(" Task status: " + status.getStatus().state()); + taskIdRef.set(status.getTaskId()); + firstTaskLatch.countDown(); + } + }; + + // Non-blocking message creates task in WORKING state and returns immediately + // Queue stays open because task is not in final state + getPollingClient().sendMessage(message1, List.of(firstMessageConsumer), null); + + assertTrue(firstTaskLatch.await(10, TimeUnit.SECONDS)); + String taskId = taskIdRef.get(); + assertNotNull(taskId); + assertEquals("multi-event-test", taskId); + + // 2. Resubscribe to task (queue should still be open) + CountDownLatch resubEventLatch = new CountDownLatch(2); // artifact-2 + completion + List resubReceivedEvents = new CopyOnWriteArrayList<>(); + AtomicBoolean resubUnexpectedEvent = new AtomicBoolean(false); + AtomicReference resubErrorRef = new AtomicReference<>(); + + BiConsumer resubConsumer = (event, agentCard) -> { + System.out.println("Resubscription received event: " + event.getClass().getSimpleName() + + (event instanceof TaskUpdateEvent tue ? " - " + tue.getUpdateEvent().getClass().getSimpleName() : "")); + if (event instanceof TaskUpdateEvent tue) { + resubReceivedEvents.add(tue.getUpdateEvent()); + resubEventLatch.countDown(); + System.out.println("Resub event latch count: " + resubEventLatch.getCount()); + } else { + resubUnexpectedEvent.set(true); + } + }; + + Consumer resubErrorHandler = error -> { + if (!isStreamClosedError(error)) { + resubErrorRef.set(error); + } + }; + + // Wait for subscription to be active + CountDownLatch subscriptionLatch = new CountDownLatch(1); + awaitStreamingSubscription() + .whenComplete((unused, throwable) -> subscriptionLatch.countDown()); + + getClient().resubscribe(new TaskIdParams(taskId), + List.of(resubConsumer), + resubErrorHandler); + + assertTrue(subscriptionLatch.await(15, TimeUnit.SECONDS)); + + // 3. Send second streaming message to same taskId + Message message2 = new Message.Builder(MESSAGE) + .taskId("multi-event-test") // Same taskId + .contextId("test-context") + .parts(new TextPart("Second request")) + .build(); + + CountDownLatch streamEventLatch = new CountDownLatch(2); // artifact-2 + completion + List streamReceivedEvents = new CopyOnWriteArrayList<>(); + AtomicBoolean streamUnexpectedEvent = new AtomicBoolean(false); + + BiConsumer streamConsumer = (event, agentCard) -> { + System.out.println("Streaming consumer received event: " + event.getClass().getSimpleName() + + (event instanceof TaskUpdateEvent tue ? " - " + tue.getUpdateEvent().getClass().getSimpleName() : "")); + if (event instanceof TaskUpdateEvent tue) { + streamReceivedEvents.add(tue.getUpdateEvent()); + streamEventLatch.countDown(); + System.out.println("Stream event latch count: " + streamEventLatch.getCount()); + } else { + streamUnexpectedEvent.set(true); + } + }; + + // Streaming message adds artifact-2 and completes task + getClient().sendMessage(message2, List.of(streamConsumer), null); + + // 4. Verify both consumers received artifact-2 and completion + assertTrue(resubEventLatch.await(10, TimeUnit.SECONDS)); + assertTrue(streamEventLatch.await(10, TimeUnit.SECONDS)); + + assertFalse(resubUnexpectedEvent.get()); + assertFalse(streamUnexpectedEvent.get()); + assertNull(resubErrorRef.get()); + + // Both should have received 2 events: artifact-2 and completion + assertEquals(2, resubReceivedEvents.size()); + assertEquals(2, streamReceivedEvents.size()); + + // Verify resubscription events + long resubArtifactCount = resubReceivedEvents.stream() + .filter(e -> e instanceof TaskArtifactUpdateEvent) + .count(); + assertEquals(1, resubArtifactCount); + + long resubCompletionCount = resubReceivedEvents.stream() + .filter(e -> e instanceof TaskStatusUpdateEvent) + .filter(e -> ((TaskStatusUpdateEvent) e).isFinal()) + .count(); + assertEquals(1, resubCompletionCount); + + // Verify streaming events + long streamArtifactCount = streamReceivedEvents.stream() + .filter(e -> e instanceof TaskArtifactUpdateEvent) + .count(); + assertEquals(1, streamArtifactCount); + + long streamCompletionCount = streamReceivedEvents.stream() + .filter(e -> e instanceof TaskStatusUpdateEvent) + .filter(e -> ((TaskStatusUpdateEvent) e).isFinal()) + .count(); + assertEquals(1, streamCompletionCount); + + // Verify artifact-2 details from resubscription + TaskArtifactUpdateEvent resubArtifact = (TaskArtifactUpdateEvent) resubReceivedEvents.stream() + .filter(e -> e instanceof TaskArtifactUpdateEvent) + .findFirst() + .orElseThrow(); + assertEquals("artifact-2", resubArtifact.getArtifact().artifactId()); + assertEquals("Second message artifact", + ((TextPart) resubArtifact.getArtifact().parts().get(0)).getText()); + + // Verify artifact-2 details from streaming + TaskArtifactUpdateEvent streamArtifact = (TaskArtifactUpdateEvent) streamReceivedEvents.stream() + .filter(e -> e instanceof TaskArtifactUpdateEvent) + .findFirst() + .orElseThrow(); + assertEquals("artifact-2", streamArtifact.getArtifact().artifactId()); + assertEquals("Second message artifact", + ((TextPart) streamArtifact.getArtifact().parts().get(0)).getText()); + } + @Test public void testMalformedJSONRPCRequest() { // skip this test for non-JSONRPC transports @@ -1268,6 +1425,16 @@ protected Client getNonStreamingClient() throws A2AClientException { return nonStreamingClient; } + /** + * Get a client configured for polling (non-blocking) operations. + */ + protected Client getPollingClient() throws A2AClientException { + if (pollingClient == null) { + pollingClient = createPollingClient(); + } + return pollingClient; + } + /** * Create a client with the specified streaming configuration. */ @@ -1317,4 +1484,23 @@ private ClientConfig createClientConfig(boolean streaming) { .build(); } + /** + * Create a client configured for polling (non-blocking) operations. + */ + private Client createPollingClient() throws A2AClientException { + AgentCard agentCard = createTestAgentCard(); + ClientConfig clientConfig = new ClientConfig.Builder() + .setStreaming(false) // Non-streaming + .setPolling(true) // Polling mode (translates to blocking=false on server) + .build(); + + ClientBuilder clientBuilder = Client + .builder(agentCard) + .clientConfig(clientConfig); + + configureTransport(clientBuilder); + + return clientBuilder.build(); + } + } \ No newline at end of file diff --git a/tests/server-common/src/test/java/io/a2a/server/apps/common/AgentExecutorProducer.java b/tests/server-common/src/test/java/io/a2a/server/apps/common/AgentExecutorProducer.java index 9576da4a2..f472a37ab 100644 --- a/tests/server-common/src/test/java/io/a2a/server/apps/common/AgentExecutorProducer.java +++ b/tests/server-common/src/test/java/io/a2a/server/apps/common/AgentExecutorProducer.java @@ -3,11 +3,14 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.inject.Produces; +import java.util.List; + import io.a2a.server.agentexecution.AgentExecutor; import io.a2a.server.agentexecution.RequestContext; import io.a2a.server.events.EventQueue; import io.a2a.server.tasks.TaskUpdater; import io.a2a.spec.JSONRPCError; +import io.a2a.spec.TextPart; import io.a2a.spec.UnsupportedOperationError; import io.quarkus.arc.profile.IfBuildProfile; @@ -20,6 +23,26 @@ public AgentExecutor agentExecutor() { return new AgentExecutor() { @Override public void execute(RequestContext context, EventQueue eventQueue) throws JSONRPCError { + TaskUpdater updater = new TaskUpdater(context, eventQueue); + String taskId = context.getTaskId(); + + // Special handling for multi-event test + if ("multi-event-test".equals(taskId)) { + // First call: context.getTask() == null (new task) + if (context.getTask() == null) { + updater.startWork(); + // Return immediately - queue stays open because task is in WORKING state + return; + } else { + // Second call: context.getTask() != null (existing task) + updater.addArtifact( + List.of(new TextPart("Second message artifact", null)), + "artifact-2", "Second Artifact", null); + updater.complete(); + return; + } + } + if (context.getTaskId().equals("task-not-supported-123")) { eventQueue.enqueueEvent(new UnsupportedOperationError()); } diff --git a/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java b/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java index 7da45eb14..0ad43501f 100644 --- a/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java +++ b/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java @@ -72,6 +72,7 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; import org.mockito.MockedConstruction; import org.mockito.Mockito; From f860fbf60afb5807e5e51e9a10afe5a65d4b5c93 Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Thu, 9 Oct 2025 14:33:04 +0100 Subject: [PATCH 2/5] Gemini review --- .../DefaultRequestHandler.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java index 6986cc8d3..46ee786a0 100644 --- a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java +++ b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java @@ -519,31 +519,33 @@ private void cleanupProducer(String taskId, boolean isStreaming) { agentFuture.whenComplete((v, t) -> { LOGGER.debug("Agent completed for task {}", taskId); - // For streaming calls, always close queue when agent completes - // Each streaming call is independent and doesn't support multi-message reuse + boolean closeQueue = false; if (isStreaming) { + // For streaming calls, always close queue when agent completes + // Each streaming call is independent and doesn't support multi-message reuse LOGGER.debug("Streaming call, closing queue for task {}", taskId); - try { - queueManager.close(taskId); - } catch (Exception e) { - LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); - } + closeQueue = true; } else { - // For non-blocking calls, only close queue if task is in final state + // For non-streaming calls, only close queue if task is in final state // For non-final states, queue must stay open for potential future messages to same taskId // so we can handle the "fire and forget' case used e.g. in the TCK Task task = taskStore.get(taskId); if (task != null && task.getStatus() != null && task.getStatus().state().isFinal()) { LOGGER.debug("Task in final state, closing queue for task {}", taskId); - try { - queueManager.close(taskId); - } catch (Exception e) { - LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); - } + closeQueue = true; } else { LOGGER.debug("Task not in final state, keeping queue open for task {}", taskId); } } + + if (closeQueue) { + try { + queueManager.close(taskId); + } catch (Exception e) { + LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); + } + } + // Always remove from running agents runningAgents.remove(taskId); }); From 9d02beadc753a1d3543638c113bc9e2d55cfd9aa Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Thu, 9 Oct 2025 14:42:10 +0100 Subject: [PATCH 3/5] Another review suggestion --- .../io/a2a/server/requesthandlers/DefaultRequestHandler.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java index 46ee786a0..ac0466386 100644 --- a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java +++ b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java @@ -28,6 +28,7 @@ import io.a2a.server.events.EnhancedRunnable; import io.a2a.server.events.EventConsumer; import io.a2a.server.events.EventQueue; +import io.a2a.server.events.NoTaskQueueException; import io.a2a.server.events.QueueManager; import io.a2a.server.events.TaskQueueExistsException; import io.a2a.server.tasks.PushNotificationConfigStore; @@ -541,6 +542,9 @@ private void cleanupProducer(String taskId, boolean isStreaming) { if (closeQueue) { try { queueManager.close(taskId); + } catch (NoTaskQueueException e) { + // This can happen if the queue was already closed and removed, which is not an error in this cleanup context. + LOGGER.debug("Queue for task {} was already closed or does not exist.", taskId); } catch (Exception e) { LOGGER.debug("Error closing queue for task {}: {}", taskId, e.getMessage()); } From d30ff35bacae8b6debfbd9443bf9551e7baa5ac7 Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Thu, 9 Oct 2025 14:53:34 +0100 Subject: [PATCH 4/5] Gemini review --- .../main/java/io/a2a/server/tasks/ResultAggregator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java b/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java index c296d1dd3..41bb8a1c4 100644 --- a/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java +++ b/server-common/src/main/java/io/a2a/server/tasks/ResultAggregator.java @@ -155,7 +155,12 @@ else if (!blocking) { } // For blocking calls, interrupt when we get any task-related event (EventKind except Message) // Cancel subscription to free resources (client can resubscribe if needed) - else if (blocking && (event instanceof EventKind && !(event instanceof Message))) { + else { + // Note: The initial version of this change only triggered this block with + // else if (blocking && (event instanceof EventKind && !(event instanceof Message))) + // However, a review comment indicated this might not be necessary, and everything passes + // with this simpler catch-all else block. Keeping this comment here for a while (added + // 9 Oct 2025) just in case. shouldInterrupt = true; continueInBackground = false; } From 664c99ac5d481aff7e36ac03aca9f127d3b6b240 Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Thu, 9 Oct 2025 15:01:44 +0100 Subject: [PATCH 5/5] Gemini review --- .../server/requesthandlers/DefaultRequestHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java index ac0466386..8fa55030c 100644 --- a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java +++ b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java @@ -479,7 +479,7 @@ public void run() { } else { // Only close queue if task is in a final state Task task = taskStore.get(taskId); - if (task != null && task.getStatus() != null && task.getStatus().state().isFinal()) { + if (task != null && task.getStatus().state().isFinal()) { queue.close(); } else { LOGGER.debug("Task {} not in final state or not yet created, keeping queue open", taskId); @@ -531,7 +531,7 @@ private void cleanupProducer(String taskId, boolean isStreaming) { // For non-final states, queue must stay open for potential future messages to same taskId // so we can handle the "fire and forget' case used e.g. in the TCK Task task = taskStore.get(taskId); - if (task != null && task.getStatus() != null && task.getStatus().state().isFinal()) { + if (task != null && task.getStatus().state().isFinal()) { LOGGER.debug("Task in final state, closing queue for task {}", taskId); closeQueue = true; } else { @@ -592,5 +592,10 @@ private void sendPushNotification(String taskId, ResultAggregator resultAggregat } } + private boolean isTaskFinalInTaskStore(String taskId) { + Task task = taskStore.get(taskId); + return task != null && task.getStatus().state().isFinal(); + } + private record MessageSendSetup(TaskManager taskManager, Task task, RequestContext requestContext) {} }