From 8807d0f537382c02d348991009082bfcf4a83d44 Mon Sep 17 00:00:00 2001 From: KaizenCode Date: Sun, 13 Sep 2026 08:03:58 +0200 Subject: [PATCH 1/4] Fix/fr localization assets (#3603) * docs: fr: add missing pattern images and fix acyclic-visitor folder name * docs: fr: rename localization folders to match upstream pattern directories --- localization/fr/abstract-document/README.md | 2 +- .../abstract-document/etc/abstract-document.png | Bin 0 -> 96228 bytes localization/fr/abstract-factory/README.md | 2 +- .../etc/abstract-factory.urm.png | Bin 0 -> 82368 bytes localization/fr/active-object/README.md | 2 +- .../fr/active-object/etc/active-object.urm.png | Bin 0 -> 19466 bytes .../README.md | 2 +- .../fr/acyclic-visitor/etc/acyclic-visitor.png | Bin 0 -> 49064 bytes localization/fr/adapter/README.md | 2 +- localization/fr/adapter/etc/adapter.urm.png | Bin 0 -> 25425 bytes localization/fr/ambassador/README.md | 2 +- .../fr/ambassador/etc/ambassador.urm.png | Bin 0 -> 49248 bytes .../fr/async-method-invocation/README.md | 2 +- .../etc/async-method-invocation.png | Bin 0 -> 36923 bytes localization/fr/balking/README.md | 2 +- localization/fr/balking/etc/balking.png | Bin 0 -> 21427 bytes localization/fr/bridge/README.md | 2 +- localization/fr/bridge/etc/bridge.urm.png | Bin 0 -> 43639 bytes localization/fr/builder/etc/builder.urm.png | Bin 0 -> 94868 bytes .../etc/business-delegate.urm.png | Bin 0 -> 50060 bytes .../README.md | 2 +- .../etc/aggregator-service.png | Bin 0 -> 41498 bytes .../README.md | 2 +- .../etc/api-gateway.png | Bin 0 -> 18323 bytes 24 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 localization/fr/abstract-document/etc/abstract-document.png create mode 100644 localization/fr/abstract-factory/etc/abstract-factory.urm.png create mode 100644 localization/fr/active-object/etc/active-object.urm.png rename localization/fr/{acyclic-visitore => acyclic-visitor}/README.md (98%) create mode 100644 localization/fr/acyclic-visitor/etc/acyclic-visitor.png create mode 100644 localization/fr/adapter/etc/adapter.urm.png create mode 100644 localization/fr/ambassador/etc/ambassador.urm.png create mode 100644 localization/fr/async-method-invocation/etc/async-method-invocation.png create mode 100644 localization/fr/balking/etc/balking.png create mode 100644 localization/fr/bridge/etc/bridge.urm.png create mode 100644 localization/fr/builder/etc/builder.urm.png create mode 100644 localization/fr/business-delegate/etc/business-delegate.urm.png rename localization/fr/{aggregator-microservices => microservices-aggregrator}/README.md (96%) create mode 100644 localization/fr/microservices-aggregrator/aggregator-service/etc/aggregator-service.png rename localization/fr/{api-gateway => microservices-api-gateway}/README.md (99%) create mode 100644 localization/fr/microservices-api-gateway/etc/api-gateway.png diff --git a/localization/fr/abstract-document/README.md b/localization/fr/abstract-document/README.md index d55c51ea8da6..7bb628cdcd3f 100644 --- a/localization/fr/abstract-document/README.md +++ b/localization/fr/abstract-document/README.md @@ -168,7 +168,7 @@ Enfin, voici comment nous construisons et utilisons la "voiture" dans un exemple ## Diagramme de classes -![alt text](../../../abstract-document/etc/abstract-document.png "Abstract Document Traits and Domain") +![alt text](./etc/abstract-document.png "Abstract Document Traits and Domain") ## Application diff --git a/localization/fr/abstract-document/etc/abstract-document.png b/localization/fr/abstract-document/etc/abstract-document.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc0b29a4e77680d8eda277c93b97277bbe7193b GIT binary patch literal 96228 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∈MtPMEwTr6eK$ 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 MUHx3vIVCg!0PQSJ00000 literal 0 HcmV?d00001 diff --git a/localization/fr/active-object/README.md b/localization/fr/active-object/README.md index 0eae4af29c8b..539429f72a28 100644 --- a/localization/fr/active-object/README.md +++ b/localization/fr/active-object/README.md @@ -121,7 +121,7 @@ Désormais, nous pouvons créer plusieurs créatures telles que des orques, leur ## Diagramme de classe -![alt text](../../../active-object/etc/active-object.urm.png "Active Object class diagram") +![alt text](./etc/active-object.urm.png "Active Object class diagram") ## Tutoriels diff --git a/localization/fr/active-object/etc/active-object.urm.png b/localization/fr/active-object/etc/active-object.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..c14f66144ee297261111c1c05529c5d00ebe393e GIT binary patch literal 19466 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
D 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 E9~Pz?ng9R* literal 0 HcmV?d00001 diff --git a/localization/fr/business-delegate/etc/business-delegate.urm.png b/localization/fr/business-delegate/etc/business-delegate.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..4dca6c263b99ddc3898218250c4da67fc6d71314 GIT binary patch literal 50060 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

X|h62V?2|OLQYYg$LNG z^H?Q~mK)+IyHL@8h>I$x$W(^puW{wZ)vVg;fA#wt1r;=WPPf(Ka2wPD%*Wz+V6>QI zr^T+JYYg=MJ}Btk7>6xnXkrK60id%bUE)Wuqu!TjC-0}aWYOj+1&c1fW1DeE>M_os z#e7WJ9wXRZ)?zg)4(x~WQ-EtOu-v_@+0lL=dbnCqQNJAjQ#;LU>Ahfz8KxtgjU{Cw z`JXVd3d;h;hUVK;2&H@^An&fU9KvMM+qrNG& z@n@H+1L$veg#esXXo)`6{IU?Ev<(G7*eZ3l`W5}`l;lR0+W9Iv5Z)a;rkssCv}-B6 ztv;|^5!5$}HH2u_?HUbK2jFPV#B>BQqJ@BvKd7RbhCT=W#UqrbKz_yMb)z4HR{ro? z#)c|dR)yCTuoYJsVz%%PPlDHS^OB)Y{C&}UR4=PlDB25rT-dmDOajj{QRL6nU`xRH zf1BiU(H}E@CgdXBHz@r(TSSyn1VUFv2czlsiry@}N>duc57JnE#Fdqoza^fTen||L z=SJ>uK_?a3lDF1siMh{U4>7jv+smurz2$u6t!Vp*@k+NI-aJe79og4dZH#DB>v&1r z62xB*H!@IG*HFw#PUm9ehUbJHeB+I|-K0+bg8VdTP`a3xv0;OfUR|?7 zp!Gt(<{f*5<@2x$@Z`R|C+^`{(raXOQCV9m_I~--z;Ae%x%5!<;zx)7_S3Kh`*xpb z{rEg1OITFU4&8@Eh22UmIw?mZiLjCItL_xuB4&DV5>}Ln4WeKhS0hB+0x1;ZZrUse zc^HTjXK`3p7>KQ9xh=ZnhNUoaExzpy7}p|GH%{byQ2GIlGSVG3#N~=%Vm$g1hB@P_=ERAhAXT3r!ToJENd`UK`EqHajjIuHNpUqnlk>YA1I`&5vijBOnr>eD&<6lBt(~XD-3t-zN5V(c>EQl#Aq(Ys*_Gzmv zYYD}^#m7H-Dp!h19G;sy4NBW`@M&>NSQsug-a;>w$9laU;F3!LGaSp~rJ2D1m4*P#ZyVIHxvE$gou(v?d5anSifA^nm zc>Ck_`uF<UQP8G010;P*~5LHOV3*&MfwE5|FKV`Qy z2VuZ{m@KpJx!8ldZNqM18`mLVg2}!GD+hb_K5a@Ito#BC! znD_6c!2Z%%3BN~pR&7c+pg^k)Qp@mF3$I#L_%{Ff4nytxx;x=bZ;B8Lf*(YD$lN%N zf%3!bohS<y`mi}GrQ2k=yRg>2RRh@1$QpelDBqYTyOACf8D*=m8 z)XY67l_W@o8yV%aw%)1-=(jCaT%V9@jH(C3!0q5dpHxj(RdF`ZQa{9!9|1`ewR~Nm zGc)&T7842K_Sd|Z>8-3LRv2QHvRU2`H1j)PVPdWOkR<|Qst_!kfqq>+)sc%ICQ`tc zi|hM&EP#0Gf`>9xy)Y{tGTEDNl&LiepcI#b!jnGEe|+Sqw{-QO{cTz0=wxFabMAj% zn=a@k{?D~Mv`2PJy9yA9KqNaw=li5|_Hlq;;i8#k4k>0|H7M(!3sjAHAiVz zwlmp0Y5jC93B!Br0pP^os&&D&JQWfMLmU_$SK-_*Gf`AU&E5D^_Aft)`k7{DWV{k54U z@3RjuR4DKs$i5Ry8Sfo$w>!ab4qSMUE!Uy=^yBw~9z_^8_4hXq1iU>gZSFWVRPbzZ zHe1IpDNh8lV7!|$GGMLTeLw7f8@$E6YmzvO*+RP#av24z*MD8&U?lk1in ze{N*d-?bV6WZs*<6wk{%a!v!ohaB+dE^{ImE=8Bf|GwPP=DB5K;b|7EV<=%z7oyIh z&tsE`h<|Up#KGYg#?_YVhlLyn4_e5E{A3Y79#xtG7Zo(GMbG6}XOMMSwGBCd3Pu7D zbT&kO`S)Vpu{8lLCPH6j2GFhxKR^Q77U&^}XTqL^rrN3*2tlOAL`4L>p!+-W6#u_2 zeYYiH_wS`8h&w(1-W3pdDF1b-Ou^58?%HPqWWvl2*OfdwwtxNlwY3G&JVtWkGJP2tF%iN5Xe9Z-zeZSL4NrIgG&3tf_EqKPB_v(XjzhBlgADA--gCqN&8x&^w_=p ztVYEBW(o-8>9lyF4Eq2m$&t<+kOV>8<`|T@&?Q(uVEaO27BMa4+}+)8Z?0LGnVDHw zfQHq@Qrmqufl^uk(3~C}ZO_#og47tA2oO3nFf^1)14SJjC@_|+PsDsAhudm~(`+aM zNWK6iFr*cLUQu)a0ZzFCw0)qkg@QvjH9h?i5J-@CR*e!ZO6T9t0HTD?0_ElBZ>Q+~ z{{8*p8X%~E4v8WJ@~z+9OeswePUGVf4eqB;?VOzz<>kMAI2oiKY1k_C*t3iPWC!9{ z%vBKklDOmUaQ1^vn1qYU*n(o!Dkv_ccnI_<#~WStLbRnJddM)1MA@FsPT=VQ z9u1?L7IQ9{+lrWw(Dg?r%@JCnTfr>t2g0CIwhBmdN!_caX>EI; zgeBb&c#yi}c=GhoE$!cTk*s~IA22KvbvE!|?(FO=OX}SLpDvgXZa~_R z&UkRF(-92~jqs(Q$4U5L6k{PRP@sI0UJRtjC@8N672Z4aD%aWm0P3=j{|7tPs{01( z>dj(H>Z0Y|LNgH1W3QQN^$`ho(rI!P+rG*q6?83=ji$=rykflvx+mf&(a!LvSSBK{ za`5@I=jaw%@R{jTFfNk1tuCP2)WYDxruBNFR9D2sSbZi=T z<8vhX?cC!d1EM3;kywNp~9CInD8w~Ob~OLl>xEMWt=gfcFXv(P#s7< zmRDAia2O%GH4j>#%+V@`RaRCGF$i)h7nHW%%yf4nX^C}(tjeDMv~ymIX#G@z2mSq0 z5Iz%-P=p+>(1#>!_ijW!J^`S#A@z;O>m?ximXCG|M2t6Blpzm^!iHiX$u7d@KRM(U z!{udvr(98zx-r1$XP4VsDDr<@7GJv;oK(|NWlo>7N1ryc_mmjh#UK_~Z$4r7r>P|1 zN?Krr5hHO7;}8hB6s`;=R$2%4oHrbJgb@R1GL*CFZ=YwwK(b~8*pdi1FABrRCG79c zFE_C)MmTcR4&S!#+FA9Co?{{hw7?bv0$HL~!Ok2h+t5$G(&+k<*s2X{sZ+Ou+|m@7 z?vG&0-@PEZwp=K}+bAV+3Feh?OZR8+zC(tv#TL0>u^5$k+1qjHF_2vL9kRhqh--2?;uK;<48=Wg zH`9_WSf7+QsZ5UQeRIBU7k6BVbsh>oie2~n>YX|bc4)uAUU#0d9a6LngWkXLd6Mga zre5k9ak$Jton?t`38s}t!@<_%Kyj}+NAHdt!&CZiax85A4>_hbCAI-bbl{-v|09z} zBU!%E6DdKlB68*5`v8!CF+_|Srst(Qd)_>vgdTZ(THCJ zyI_$9x-4K=-rDK|JTC+e!qhKA0jL7V^MF-$YHFC|X;P0Al^M*idm-Umgb})rCPakd zLx~NrjkQlq3>1r%MQa0pXr=;%J>=BnsF$P@st5dt)RB0Plv zEoN9Y$T5V$*gkP@_R%mkU5l6hecT)lK)%`Tq7KER^l${=1KtVWFRIh|G1-`-sF?wK zAvq_GKjqJX3ID}rIel%)=nLtw82ASkq0of?lSUp$yQ?k%HUtrd6qIifx(AR&pCOc5 zjVyFjHJJl>CH#rF`QVfOm>;sXfGs;znSB)u%}dqJUFo@g<>C8}R9?i`lPr+`0lD@s z;UDHpbhZUz+>)E$;qh=|-@^_3dg#seb9c%2B=IARAd~nHK~~}qlDcRkqqllHZuDbT zm(Dg5X%bm+41W2vh+s~3n7VuFxqjdMAo~{Ul zoF1sXkPFmAf}I9#B{7g)L6>AO zg+p2g5Sal>s&l^hLJiKsOC|+6 zZSLn{!gTGnRR8GOy}ri8KAC?#`|b{F0yV~h`r@~M+`(=%>lXrQY#VTHSx%d(W7U=( z^+nL-wQ-<@yz(Uo-SYgL1>R6vS{^8m&?}K$Ela6FXRL=p^Ygj>5Hf?cHnFKGpMj_= zvB7nl|LxPKjEOPJY!)=fa4gfUKG`2Xx{0?3`!r$+vBuQDpvM>zfvI#6FrPtRv8uZK z)7KqOs?n$Slo$hG@^;#iShB_tfT zTQ@30mY2D4RzQiZm`E=xFx!5%O52wIg@f5|C)fab{|svoB(yScRjBg{B7s~AC?TU_ z3CQY^;@Dfb#*qWz%p+;~D^}T5?7v-jMeZ>Pr`|Ozg%eKv1PNCeOHBedL7ukEzd?xpQ{dUniD zCr;Nlp7w9=CLc3SkBCr4;gyxGQqYTvl0$;6}(@M3N}YULD{q47YMoZg?p{#bEXvd>Q@U3vnj$RjO?kPnyc3LCYNbSwp=H9{qMb6BO|t#6%qI7THJ0nt`Zm2_BR$WyY}k ze4$i6NH2GpIoY1(Tl9iDetlgL+I8A~S1Y5Oz0LZ^*qEa)R3Blk{Qfb&kpMYc?HdMS z2TDnt0T*#`UsCREPs5kSKK=FsS_f?xK>Wd_TED~R=~@^l^*$FuKLqM|2#k;zY0Z6n zcv9j+r2jrodItUBOzX#7%vHD0h=_rOS8OHTtHUwPn&MXW@D1=I03z}7u(-X!V}BE@ z!Z!ufQL2o;Y01vjVZq1ZVLPyC9|*bG(;MBK?LQ2^mg`k7qJ8}u<$KcW=jp=B-;-k# z6H(&XF1xyR*5f*=qiU`%_u4VYmyw@wEN2FQ$_KVr?D!)9e`L@od8k0=`rgq)^#!%% zB=_s)3#AeEg%zsA%v5%A_X|$qPcmo(5!B8(pF^Qke9Dm3!5qfQ>`&kI84<3@CPNCc z&9a9)wDx07?cW*4cN$(dLgM_>j`*~p^cGaDWSp*-xu;BO6zCeyP03fM-Mw}U3 zB@Q+5apX)>5G^)ZEeoSg7OzA9z-8mV>HA)GI9=&Xib5;M1+MU6PyT`Z`fYCM0g zW1&L6->)eCy@7nThINTbMx=$~O|zx)ck3veK!gIuzc1JWUXY6T5wF=i+j?oe%zfv_ zAt&(KD8j$odR;ums-`p5y*fxvdQ53#zf;}y+pxR|{iiNh`sazH)2_-Pxlj(@ki*9GdH)_ASf97XZGPqc4_tf^0-&Ir z^K?(C(&DGOWYX&LvY?)59^kuJp`167B0<=fqj|&b?tpqoGf*eSIaI1NQAZ~ptEnl$ zA#K*qSD?!bh$J7h-N^ugobSLVPpOhTfo<(;{|lWa2KMDBzhF846!;bWrKGs^JSvC) z{5mU5ht<`q$%MoGj^-PKza*rk;p8Py+aag^9N3{Z-_=glZj9r!f{F-w8m97p0;h>& z*vl*esoLNTK_gj>kkG;O9)^76q$-y^Rn@apfd`b^G47Ma$xrQ#*i3TG&1INgUThw1 z&gXywK_XB-_8Fb-7EhMmzBA6TuSPI=_~;P}k4>6{*En`2yzwZBEDfM#`ZA}X;us^4 z_?xHH)WQsA=m9i@b~x?4K-ON5Nn{v@*FX}GQ1WR)$v^Lt_4WDA)_mWZsYZM_PWcw~ zCBk!%kBM6-lnCyQ!og;*6L#L#HOYm8vj$t&hU%1Rbg=}iXF!;4fJ0Rmr~~z(B|V5m z%AyrV{Q8L}N)}WX#7I~XVxWlE5QMtgrQ%F9DbmWA3KrEr?}PL*E+vtO+K{r5t%gxW58RenCp>N)$v_fAgV z=xAI~Uv`G2u``vvDu;i#1L~AgxnmkK5boa>ve$S(B@n(F_|@nDD2DP_2iWdZ#Q}9y zRB_c7Pokm!?pDetEWVuuFUVLlXI{M;%h#SY0;r4869hIwF-^@$x7(X4zYP?_A4upH zINwfo4mGPQeCv>g>n$ho>FA`{lWMApuPsxy3j(;^}s$zcH0IXO1!QW%tid(L-&F{rEKjdgT( zHkhrc(X1UZ{F;UC?zyj@ z)q@|s@B2)`rt^4oa*~#h5~;23BWnO2exSYhB>^+x?B|yQHl*}4~8n# zoXA0@jr2l|`=V+aYp=>iqmmS1v%LU%aOL(;vWmw>Q9S9<6AW_cmqo8A`S>tLG;8{; zK+n=X-p;=Yka9USkE*kyMvz34K5cq}@p-%0iJ#&kvTS^Y4^aI3Vm9m43 zq$1cm()`|@_9_#&W&@pv1RFErB3c5ri!ZXHlP*s2th(Zv>FG~8sbfBMQ1xpc9kn0` zgh-;cXDKVHzk2vcr?CI4zeVFNnm(X@&B2@7vQR<^QL$PO z%rhTNndK4%w(bE26~&LWYE`jUxL;9rTpW_+y_&USj5XF&|{gyb#%Qk1rh1>62W}+EixuoopvFMZO)ueur&ynat0-2TA2Ri4A7fbhs{T` z&vAmTm@0V@=E>ae6EF&^{+4ty`sLGSHX0H3NibOy^BiAJ^L?>E_Y zyHmZunKd_}^Sp*XQ2TJzB!f_egr=>#+jEeNz?uv({N3zx;bfJn5AqNyDsFV}?d8;3 zCG!}6wY4Vudz)YRw3lqV`E^;PFTNa|tGuHN{LbY>-v5N&aSUt*OE$Zk=<9DW`YLt% zO+6$Ys~7X10iNN`d?V?!{2(O5?OVJOG5=WGzyJsPQ0g1t{hES)C+7M*3w+Fu;MxQH z_G)%bDI8)XRa4`az_{P~kOoZ3Rv{#zk1|u7d*V!YUR>=oxfupw>`heUqF@_5YBQnh1Ip2*{GW7t%bwbp@234~(H)0Ji+2jBx0yV#wV&{I%~Tmdhp{FsGO zmxU%hd$GdUI+l)4mt_@%2_Vz8p5rg^?flRu8zCalXtvRXktR*}JvTSE=hYc|4*J8R z-FX4YNwl5F$VJHQyMJHrC}#IC3x628jNM$-Ua>Iu26W-=jbp8KaW8?s+lr0+S2!@( zD?J!svY(&qFjjmlpgpRL8_D(Q?+w8~h2CGesIjs_0n5K{!TnmylE7&uaS)$)T(YHS z=e2$su%uxrudbe|GUuM|^kAkTk$oh0`fD5?ie`mGeU-Zf^!JH`jK!#oVLo7H1XR`G zJ+*@l$MF(;rW*=rHIH@5crHZIF^Hlt@09kY#e)FSqgy7?@8nEo1lB;|^sX`NhJKj* zI#!nL)&zQ@6AE5?by-#C;2_w*#;1Ay4XHHxt5si>dF#=}F!3j`9NPs$-#5UGh~iW* z&~yKgn)<5g3?m0q+)U)!%7I4p1U5^-^tz?99@ZTW7GxvB;muB(r2vbJp5Q{Q&1EPK zY3O{f>}{JrvaG9HG0pzz&9yB@R4^gBX5Y^?JTnwGWwD;+sVVKIKwB1E8A$I=5wO7& z&2EP&pPt|PL;_!=r3MtsKTYN5qW#(_gdbxy{#k^=ZU>6_K|*J`qWr1p!WfvB)TbL! zvQ{vo239UOcbz%?dVSZ|@o6=h(g&z0A4ve~Szu%Vt%q`Ti23u6N;uiJ&_?k(ea$w8kN^W#ZJ8Vu{B%yd4u6D6LgM=K zOLS!2W_~Q+9p2B(DJrs$0>S zn1h2Ys99A;XHKI^a<}-YL84H5aYd5Y1>o$cA{C?~cOk7&L6R1rDuo8@hOI|yK;BYP zZduPE_w_4GmFd&DJi%r({1b)%4tXEe{de1iD}SOyz=hno?q-2;%v!vxPqx1KQC(Qn zQ>`vEL$=1B`Ku=;5TcVWyicaoWfrCGYlzbF(0}#Tq^x(AMZu;bVUhT-@zJMduS2j~ zJ#=egN)Jw`qorFXm(TbG-1E9X1`}_LdgMM2NHVXOGS&9IgVsw@YrQtQ--+^F)VUSX zJMsDUBf94XjH2()p$|sCS<+q`QY?XECV+6i^hndopBfNU+g>Tz1qo%*%n7DXekMO_ z;S^w<;4~IP8mhUu$aF(@r72Zc2C_cZV1?Nge&1qNZ^;3YG}y%Vy1@sx*edeeGW4Pd znTVwETdyqnj5KOyAItl(t>xv1nLZssiC}9b@G*9TdvCzhyyS2Gz7Me*{u-s()H?~Pw)0Qxvp-kga1A7PP=*N2t z-(PejVA@1KsdR=-lozka+T`ek+8{OuMK`d%_Rro?xChH*O zTm|R71^4TV)>qOC)|m(HprIec_kO3b2Q+Qz9dM)Y>bEa#j>;(48%Bde-+(u-xSeA$ zBEn-6qMq?d5d1$aLgiwlY>Vv_GXo_wkQv3#K~VRTHxkU4aCj+k z;zDw3Kcn0rNSB|US8CQ;BRfzNPWm&92r&I-emS%d`>V;=Btsc8b`My{>WTHl`2Mif z*A5H7SzBz`j@2}KF0I3oIc6>;OQ%185MQEf-tX?)=*+S?S$h957OoUYV2RuU$LlTe zk+lwmT;O2GM7*DuO2a`emM^Fynv+Kp9bv(xFXK35`2A=PMIvF*iJek3IH1UKxP7L_ z6wfNBI>+ZWq7z;yd#MWdmmFQI8|e0q$AyZdFQ~+AlVHM-)zqb?1%4-F&!Y!5@nL>7 zzeOnhismaEiSyP##8_((#BgjnJEe*%S}$-B`DWl86{SyLAHT*rm?$2CML`AB59=JA zzO^sK*K(>itCbu8_gKF(B<;vgZ){Rp9A!vqRR>Oz3Yk^hm}4?f?Xg{edal~s!v*=o zfZ_f3B$Uk5Hnqxb%>_+y|CvFdwqS#)rUu`(ss8~}js*iq2_t{1*PE{Fk!myVn~gme z0^dnT2T%J_>Z_oKn@}2P`>aP(@tPHOp~5ds`tX>aEU|x_2?Rpd<8M6fBxpX_lcNrN z;jMbEb>RDTS8vmf#X|o12cvSS0$H!`>Xev!U9L)mbmw`<=-Xpa*S_~Y;qM2gi|no;eX-*sv7c3 z0a(xnv9)pmO6k%aoCXK0Y)X+Ro1gWO7e9ae&enSLs!Wf$_*Ik8mz_TN#~igr32Scy zMEQQZ{2EJtCkbI_S-`Pisg*0@K*394mrtv`vvgeJ*v7IVZ+`!NrLc%AjsF(dPGf}y z9HhxMwV0;nJmJ65fWta3Ajzku5;}U{HSzf~v%^e$V@j`(K8GEtLT=xVP&I6`2{`^B zx|0?E9~(&$H_&!ycp=!NIpRkT3c5hW&otPrGmV4*{}3#dY`SE5>6l=DN4`Z(1ukxC zV1>q{*s%}?iK)qq1I`>g>$kEGUy>p7bcqXPP zY)xXX-ml6Yif=uOpV8e#L|o%B#il$HuX%F9AsAcFsa+RQZoa%84_nr(3T`Bf4+g3f z)z5pSAi>yO0{j9PtROj2TpSqtf;$0lrE0RtF5iKX zD3_@lY&M7@ic<89PUG*&M7-;tXqm6@DEXVVL}26Rk3(5PS}bz%2Y$XZ;Y4x_Dkd^r znF#;cFKLXNmMw^5T4pWJ?H|$qKu6B;>^^N1INmkoo)OL-zo9*-iT%eSa=H__SjmJ{ z{=KJf=TPP&5DU{~N+y!x1!ISdf#CvN2F;Tx2gUC+A@M?~4@cxvEqXcx%-7 zN7JTJ`8bue_+vjJ6b;#^#hf_i@<80In&M|ce|(at zz&vj7r`25ilDj|szi(_(`mkhbYye=!|J}EEjpT|-oY|UcP@KfdBf>U1y7F0_>mD)T z#^%OGRFxlMX`RhFvPwJNJruMu1e$joyN|m%pM^=GOn!iUhX<3`7X+q}t>$p7- zvaRcvU-!OAjdEH;TMLl?yW6383#U6-zQnC`fOl_`mO`T_VS8IJgpgb)%&(2(^|(Z` zK(Jh97u9~aYAhG+pLL)wY^5;KQb1it=C1W!&+mbl7A;K>X`BR_rA>v_G#S9iGLgLIg`kU5stse%L7z+-fOw?Pk-0=f?eT|`k*j}-Z#6%Oo*DZSgt4A!oAYBTYG!bi%D zutgaT|3*D(wy?2~aK76>p^gR{D79`erT2QZ;IXGlQc1&&`j$S7Tny-|nw9_AP>CsG z{A;JgV@_Y{%-^0yz5ZqpSD$8ESpKPZ!a3)Rb$)2bsSNMLV)5o%tZGK>sl0#yL`KGg zfWWj%L)b=C)SeHX)_;%nL=;`ej#Asz_@4Q+|3Ti&9G}9UjTWn2&Vq@% zX$zbbwO!z85e#cjkW4zOF}{X~iZi^fx98v?!7iZ5g}%7+KMUe0q^MuRAGG<0@H;7h z?etDh!grGE?-ECf?_T=<<1;IdqiJkxmwPJ-5)PD-*kjn>C>_|gjgbo2+7XxiM4PVD z?1ddGOSs!IZ<;xq_WGOipcbm>ebr`OyUbc^fxYP`)6QH!Q(i6@Lp=teZ8g-!{i%&A zkQ_fFXgk6fs*?oTlHhOYe7vTnre7z=7sqTh+Bi$&wq>X3kSXOEqYxTQC5q2EIXPv9=;Fr8Xuy2S z`-K5vsvk5{fyyM?I@R7j^)-#!JY_s)$j+sUO|1%B+5*lMJQS;FA(WVM6ltPra?hU| z_Yens&A^AkzwGYmk(g&s`Yo1^0uDIszjTjG>Z-BCZL&B$Nvut>lIkVEl%R+a74*$N zINE&STqKtN&?1wT-SaI}|1sR?2sQGt=u}xVD$Cwr=76+C9lXO&Sq;3w7d!Wz#zYaX&uy^&?g7W|n4g){PJl#YVK5_1HOruC{)Z`qvsbQX;kG=af zP+{yOXlk(+D2utiY>b>D;UvevNZ}uGemo2K*f2oPggjP$Jsthtr@5LXs#y%b_a@eS`R2IEt zZf7NyU>m)nyNfTGt$(H$))Mji)siI9$3IrUpq*YvR`B$a4z83wu6o@6?|+YeCXGt` zEH9q97lv9gvIB(t-w1%t2cni$kCY-((Mo27R_f!tTaLD;*7{03rU7iM!V9vr1RRTA z$j`RoiJfDb#VmjSUMirr>b`3XkjxxrrMYVP)!*CorjXmW=rCb_8}DvN5x`xMBeMqr z5{@p8ezAD?$Nd0JQWb2Ug54HSYi4M|&E5nSGg~UFL?=i)5?^=y=`YPEF)T5WUxLPH zV(zWlJI|rkynGV9zx{H6KXQ|38y$2*26!f_pr9?2-1gg;d-p`Y%Sno<6`3sd*OE_> zRN=|YM2xNzV1ls)+bLJk`^(Qm>>}x(hHj%n!;M@9D_dFaCbSrgL`WfPS(-EAsd?GB zf3kkP^mX1gRR$p||1FftK@d5dPuWy-;?nU1skkT8Jz{W~wGuW8q9EV>Ojy_pC40}b zoB&L)bP?T@W|X@@fCsGA056yA#5obkl)5CVo~nKR4d&fcLe8hH=+Z9j^^fzf6j@F# zh0kC}sA_Hw-4dk2lmZ8;x=~#ZS5i<1|1>QH#)Odfa<;%S1yBByqT*s8!q`#sne6o@5tzywYo}7S=&GXKiaOwk03X0Pm%J)pjug2uGcn-?WTtZjyjbFAG=B_?Gz6llR>50z zw$I3b5Ln#L1PQn8qKB&*kgy>x`pfH&6_*rpg)>~p0pXOUEQx|{2UF#@x2jSt(y6#o z3{-_*)i1rTj zh_+Pam}$o@V>w%VQTPM^R@{3Q#k80PCf}3B3tr@bWADdHb#Kr1S2}M%hX6Uv#H6HO zo10Dm!x=~wNO$;{ZPXWogoMPdOvvtiseG&cI+*Y$i%N?srgOEtO_`k`dS>!PAs?Ky&8`X#U&(Z-2V(aT5ilKuraQka{JgSNv91kmKO z^6{MmWE=JCE#1PR7w)URo8ynO+vs26vP=OAyS%c}*P5{m>Vj#|RqDXm!8%2mJa7k+X+r%vkyy&JT>w;yaBgttfiq;{dQ0JbHw zBfF``gu**S1Bu!y^UsAU@}ZM6-YiHwXQM*SePOf4c13K24+&T!O@%}j9yQDK3gVIF_m9Tg&m>A zd50K9M|=&s5JRt<+jdEGBlzcFy1=U6R4_Wp$*fJQ z7(5ht)5aoH*?WT@(_T5gsHliVv*s;dU(I<&^IPHy4c?+Ww+u=$xt$iV$$x zeK9a~#^2(&xVWy@;&po?Wx){~uWJEIg2yC^dsdVZ_gKgsmuhnDo9+Y|II$Sz!@Y)s zlO4?|g6`p5`HxJxErR{7Cp(weMS&JSk(f8+&A=fziP9#|C~$9XF84rLihtIx$x@}| zB;|8X9qoPx^4kmdy$+Th<>~Xf#@u_#0%Nl!+5(^UhqGlOA|ik(1tS8hj&NhY;d9A< z#Fx3YGh3?*RutF>wQ{Wpv67IGTm%X&lqd&UruFFZ=?O<|CJ~q`d0#rIdBd8&mA;^Ri4<@$xa30QMS#|eC8HQVvs(pyL-x`vi>Q|sy3EfJu|#ep|L zSTXYKO1}2I;(|?z)cn~AaJjY>0`G+{f)6t$n(}ZwP(;x6VD&71(hmjOTi3~{i#5jE z+?}_rlnCdZIzlew;mRJ4AK-dJZ3-rC)@J7Ch;7|Bnn*~zB%ZtbL3w2LpsX@ZA3J{He>? zmDgwoi}WZtf+Q|Vnk0QxvNmuQGLB3S4xr;T0)EL@8E9aD%1X0r6y&8C#B-g0l-A zOH0PP+}wn_AC=JBcE1?o%Q5rx9D`Jy`LV{u8C(!kdVqlCFsd`&_H?Jbyj)IB&Xzmp z)29~i;uwPNp{@~C1zl<*AaiR(7IU^-ImALkgD?;TB&2yMH!$LGS^jeck-41n^84S- zDu#I%uaA$PZhvryCUicq89MzvRZvTH(x&e0O+zl{IsMEsF)zKG|(T@ZN##U?mPBbFW zxOKeGF6UmS?+D{J2YUW`QL9n*auJm3&Ur=4|7qy^$(Zf_PHMwXuE|rE4W)jss3oUR z-3+=F1Fz=9qd4U}_jQ&~_odDqvh*f@617SdC>AdZl*RM(USB^aNN9J%0 zpI`%MVu{lK%-&B?m0h3{`6(meLHc8n_nNpd%Kc~UPIe|IdDPdtwFcQRh38LtdVZ>j(Rb?qD8zZzVyo>rVcMwS>q)HK@gq8CQ1K!9F`LfO zkC`t0wky`V*X*{Cb2f;2Nj`CX6gaCL7SFs-dLPqk%8ve2*u&PpWv=$^ukmNVk?RLs z;i|6E;2KDZY`YT`LC4>^!GV&jGR7A{v7BC39$-4W{)it9Hh|)PDdNuLPGOnW3s#Z z2L}M;GxfJIWJrz0?eWT*;X*9Y^QM6d4bIQVPIyn$izeB; zJ{2V``1EI>Uf|W)J=oB!)qsZc6e#mMAnI~VVfw3*q@_gzT??UNGtlEmPGkSU2;d4=NwZFo5 zeSULo{_NQbI5pfJLmjS7AYdu`{sZnPM|E|09{S7!XqK=y!RRFNw8V>Q8s}x*mVwd4 zOrwTNW)9cK{QA6BbNKcCB#v*(Y_3*c7jcL|K(3$k6CI#NRNSgphqLp+$>SQIk8nZ) zl4sS*!pTL-UOi0(5sx3DbYSb%NH$nJFsYXoS64+Rgi1(w#3`z1X9u67?D& z7c#0bU%&dkR2=d3y*l7#fEEgHT*oP~eI19->7NsG*kw^`lNK0*Gr*9L+%qCT4pvo} z`JF*GLEJlxh?`1wVf1u<0rRhKE<|t6O~nAzIn?|j?`E#r63w8=Td3|u-Y0gFx57sU zP`U6WnPt1B)jo-z{dNY<$h=QD?4MniDx3TUaz3LLapk&gL^LK3fg1-#_UTNuz@^Ze`G|KU|-_rvF*kilLTR2g-Q{_H* zxZko8_5;@pS}(j%S4RC8ZY5{XjmXd(xp)yjtPG_3=VUW8Tl6RMAi)bA$pKmy2ghMd zTb2wNB;7U^=#?Uby@=;?+OleI*blmJd70Yi+6%HRdi0ZBX-4;dS0flP`ssQn$?W^{hs z?mRJ>Cci>Q6EZYe*--2*{RYt+AqNwT{zsbvQi_URA^B*1_rV;-#$1vf5fifnsYum! zuM)cd%;?TWNwnJlQ4@x8^I>GB&n71A?>Ph&Ky~mdV{E{W+O!^%2sN;QsFzqij#=MY zC$&ua{bvw`<{gyMwzXMi2C|Fkk3)dG`&%(iWicnr7pz)mx1{H-w`p?L^H&#^rS%Rn zIMfA?rq!%?6kLGd>${t=c0`xJ&&xmaqW$0ti%%2Ziqts!OZn+w*!^ zXp-Lqs_q=HrK8#LOH^}5Dou5D@C-+0J#wR?g=w`&w>GVzGtuNe%yxSVl!ReA^~*}( z{rikw-_n%xU*UI!voRA~5;`)6D|JL(maWsO>Cj?=OkNo&9cm}9rz=kvlp{p!C1ev45)s+igp6z{ zqau6ny&`1qJ+epk=Di-O-}n8!@B91X{mwFSP&S-iGZV2mVS?rAvw*rFRQsJc8z&@FtA6>qctcmP7g569@S~tz>fTJ<;j!d&#W)Q}ayA~C05$~zmYQk5vn`$yrWU!0(%bEEIV`V@dJ*&LxW{FIR^?QMbC;o@=lrVTYyPI=C zwXtn#!|jQ?r_LpSc`Gg7KlOaI!>DcYgL?7SnXQRS9tZ+F%&eIL_&ThUo%A!V zV$yAiSP7@Yn8v7NHtWLq%)G^HoU+&a31Lf8iwSUQ#1sew-d;0wIRBD!hgr9y`3=Q6 z7ZVjrO&PM6{MVO93FGpL6Yk;5ojxDLziA|weT{BiNfoQ0@0^j?c~0azLNq=tx^cvO z>>U5JnZGTT#7F@Gfn@hF=%qMzEB0SD~FUN6?&sD+e$;{>B3728rk6Lr?DTSW?{EnLI zbv&48|J-Sm!~H*fe$^XnVxlqbC-t^o-$tc<0>4;Q?bH)oR&xz;pQt6Z$`Vk#jPl)2 zeyWlvX-_LTnRhcq(wAda@7c8zFAh!%6eDt^;Q^ARUhn?%JOJJO-_8gB)8_^a*^SLt zk4O3B?*&8)Y=U?{0kBUfd6MLvLr5WJ8ELy---!Cot)D3-zOxL0U}l^ApXkXTxUP{R~!_5M3_6N@ah&|t)tE*R|fHMuGAJ&#N zujgnXIVWYuHT{lSGMpn%mrMythvP=iFag%KsB+rg698_#<+Di9A>UrKxCRWxqVpLH zkFk)Lb3oyd>CCD>MXqI5n-Jibn+zAzrr@#g^_csI6s~^x&3@;2y7%uy&{R8fu-U5x zMF@0-qrZI0K6kmVzbXzy!x?sMdQ$IOiQY$bunA{h0mz)8=&vVg&#gTObanieu`LQv z_}G{9PddM9FS}I6Mhq>R1O99jW1QmCZGJo~YJuFKkV}*$z6|bq{t>9>PFoA_g)_Jx zG<`lXYk zOunnL^O24_Q=aKFjFR5;=Vx33$UOcwXp3YooXq2IgJ8P?VohT-@WSYDi2~|~^DmOE zOTwN~tcq@{*=Tb8#_2X9%_epReEICWyv!_4U~)FLM91Oz?Se~;rJ4GsG=1vkrHGR) zt3g?|T%4KEu)+sr?BZPp?L!Jt(TVJCgnkvXp@SHytnA4ggH*ije}0CD|L-SbbPtE~$r#wX)wyFRZUpdYS^nd0osU+<4c#D|e_VMSZx4 zzy|;Se)eiUVMw4zf&D&H+T!Al*@b)@P}Dp;G*q<1eygx6<*DJ*r%>2w71TK#c8Ia> z2vjwd*@suN8yeOF?WxAgX40^Ml%%(=>1RxIRl9*96F~H|XMJ-j>o(8V6DSKrGAsx}HW(w6Sm|?Wz58Mi{Hl7X6m<2xZ4YPfKitLIlT0 z!2+6}c-fXgxbC)T3ESVrm*19`8y56vK0SiHVC+0G z$sRr(Sone;u|9%`;j3Q{PRehXPM?X_lwldh)ZI7g+=qV#+4g40&|ksh+4RLH+>$MlX7x? z9i5i!D$}Ky?wIieGL|bAki+|YN_$@D;`Cq*`$6TtHP=b~gNExftGnk+>yt`mrSnz| zfSZ>Y2QHoatoXb~)n-FbSw!g9FH|n(=6f4v53nQz;P!gPyNHa!iu-gms)rR6_dbXXD|CK*jWeABNf%2=xF~Rhr}FK zIENV(6_k!SzDEwlrwv~l)@Ipu^BKd^k_se9f^35vwyY``|odc8_>#i-*_gSa!sZS9kJWFPff*L)Qo0N)Xc` z_-o!2u<*0`aFi6in37U4Mx6Blv@dnwg@~{}=+sfh5OK1*fe}DdUv$KnmW^bm#Pli~Fv_!$# zmS&*tkq3=WR_&XiNxFM=ye~d>=05u=#2y#fm-G>o0e70=TZZt($U{c^`nT&xVGD-E5pBk9(^shIxvG zhIF@Eu1EUD&MK9BRF@YbHPtxCE4|bJD9}!g!5kb7$OGf{>ZnH^!KfEwy*j<)pVv!> zPRiGJ3n?wlEX;{RsEMuMe)J4rYdJP3*jmJ0;7FDf-eT=RjC>f&{)1ZkK)azypH9!S z@aJ7U%)@M?^9!MU6Kwx0L28?jz-ngtz9)>Il|>M@_8+4FzzALN@gOY6#eIR-G@@}h znc-xAdZf79Df%x4|34iG{`--EtpmkNFT4}Aw^!VqOdb_U-V5$1V9EL1a6W4fG?IpD zH{BzLJHG9yn;kv)=Wu44pqNKt>I3*kEU$G#8eh~$!8A@9GI%!@mFR4QOw!pbqtkaH zT}xOi3j1_oEv+qnJKLx6`J<8Y_0NCy^KGyAdoKLONc@;3gIe@Bkgx-pRo~i5QXdB} z+3RXNAK%>^$~$JhlZt+{@o<;>>6W6c%IJlG`;n5{Iy?ekmm50aU_VkexT?lnUq~{q zS?a>mT++?$b7Y zkJw+^Ox072NNy($Nn+3v@Cy=gadR`R`kLt0Q`mh+@$K4AU1!zz|Me)7bPN6B*Yj0a zL$$dJY29z}PB#ZQ=LhaGHIc8pmd-;srd3DpbR21(HYw}t zM?{C}WTywkZ)))#pI?+f=3;rI?551$pNo-lUwilGZ~~yOC%2xydk;{5e}7vLzHexf zb^noZI!|ZynCezJ-k;15RPOD6I$Qtu@4=ZxK~Tv9F8a5P$JfCjKlgO(hx0J6;nw+p zL;EWB)}I{V{}qjzSl-i-(nPjGAyi75I&H?Hw>-p#bO@@iBRp$YK;Fn}%q@B1No%v| z(gCHEfuXjuvs1h&%QEq4%SZb=KXnElVa%G(TF)MYgj~#*eM>P>_-QRV+uR4b$>By|=e?1x4AppXxRFq}O6o;%eds z;R>#D`hP8up&=&Cn(gv;*X6 zex5YCCLz_i;d3#^05wJRJ=uCS^x^7vrt44D&leH*_u@Q8a_3@#rW^4*NVj300U*~U z5O;$=n6Cq_6#lrc8XMMtu4H&=5ES`{>CWUyOs=j~`{N91p8(sgFwakip|P+=KbHcq zDPb3ae@wMNB>nnuW4^J_18bVwLwYsdiXsogMFBQE3@_WyM=3x?`X<4s+c0ExQ zxV<4+&p$ccQ<*fapp<_=`osU#2TR*k5meuZ0kn{P7Jw6i%X@Y&@-?+yTkk!P&inXy zr4xmrb%!G0LHr{cC6oZofdK^6YW4V~gooBtIw)OOZ}kOJ%Z4x`AKxW@n-5ExqLcS!p9#Jc|K*4fP(6ae_E z2Ca`N*V<sQUNOU{M9|Vid-Ga!6;w9rx|@rK7ogvHQEI=za)?KzdXIMRB(hV z++ldV6J7y|lFK_GZoG`B4macSS5n?`PTAg5nN4ECS1*&^;Yd}k=&Q0srfiqb*t?T) zk2>L`4^Z*`YVn0j&l>xLP4sNVHZal8VH0s6-qTYYUhXu|d+in%K=gg4g_Tg}=scg^ zc?N)!c&ZZ#4mjQR9{pmgZcs`MIN&1ajGED&NGvNqkjBfO{nCjO$Ep$ zEt*!mToNv`Ya02zyPhJ;7m!awVw4L~v7)Ku6*vEQ&c&RIb9b}&l59l}}%a&NX#)BFG82kS4 zSWkVOj#X&#^|lBGYk#7M)6Wr4(JQqu_b<^NwsU)zez#Y6bdV`VMIEWJv#`R-F4)&o ziUPA0-Yu9}RXJI}v(Rz&(%a5LxpphQmb|R0o)Yl$+P-^t2?ZPTJ7Sa8xp^6+%^kiK5#wNY_zoJx;H;0(*WuU*N?8mb&vKi&{OnL2px=wn;Q~6i zfIg`?6~-Q$?QB_*Q$QITX@@Wutw_^TbxZU;be1z}XWmw$8vYr>*k=nSz!jYSfa-fW zeA0&v3^y0`{SF!OZ*JGQxV^%T`II%zEtypS!!HBF-~HNd%>m#|$7usK*|Pf$Q*WEz z0m#0EOE{nc0n^=I-sw8vwG}}U(nxS*^qy}nrG;JJK`IeVq%|&0hCf%F+;HZ+h8`M2h(5gUH9aB1glu-}Gd_%^nuAp2T|P?yvw zI@i9k6;3YM%b{mZ^SU%FfrO#blT+ClpEn3VHCQ5!jQ%R|XIKI}>^Scl{@Dzb=zeS3KJAz!QCXQ^=Q zipf~dZ;UbMYuHg64i}38D3f15&Px`1fY`4esP>rr5QA;Oog!jOB!##X%Lp%J3H4Gc zJ5ZxqeiJB#(&gV6`CoDkbCiyw?X{#gH@l;<#H;Z{+@|~j1ILikPEBPh{eU<2rg z+ru`)l9@ZTb|gyEDR!L}-OSqmF^}bn(#)oWI2AK&`18fei4+m5?=*8>$_~ z^P^ab;xXW*`V1N?yv|22HY%0|`q@Bh5P=E+fs#w8;5)5iD_6)$K)UD#lH;U+*j4H2 zH1!!Z)h=eJHQbxdMlB*t5C)i!UrkrV3?ZNab%vdG*KUyk;r1~IW@%!L!}%?gXU;gKNKSYa31iRjC+oH4987H$|Q zM%73G2@Fk*57B%t6pLO;LZ0~nmE)~w-j?N_v~G7?HxOVGWdI$UAOiCU$Yyi%^19c6 z?BKK236a~*)bw4ik!I@=UYWq+{(WYavC&~Sn}&yyLaqQ4>eX>Ytcv2cEhb16;F8G3 z!IZ;AO*vWF0}~=#Ekq3oE@K`;$CC8tVNroA$cBZ{3VIoA>ADS9m@+@b&8*ryb(n6qP~1 zVYy|=hELy!hH#uXQlur%B$0@`BlL*W7!&KQ|L~XC1Cw6YYM`tuP50-_8n&b=r#Jho zWzsj?L2)Q!KI}pDPFhH_|0v_@&eYW`Hh*~wBxHC%C+}q)O$SuyoA1lQZG_T)WNr6v z$rqIi!bDbmIukdmhQ&f(hJ$rm1gh+p}8tc)qcJs>FI)9Upp%o6L7&Rc_1lm=7x94gvWCPWD8;*qIRfS) z+d#JFvMU*FM-b;tzi`=578yFO-(A;;C@I$=Rj9)wKT0#0XM%eX$#pMgkDH)OH&X;e z@e=PP$ei^Kz2Ot5ekO8`9PP!fl>*ZHD96yBPSBNwm|pcP;oeKDSOLiM%~m&F#+ov( z@#Nshv9)8rs)jtbUhhw==cT$b2In7JN{+7E)3j*1dSV~hKoHQgh@vQ3%I3OUn(DnV zkGC!T?qGqy(N4m<&bG=j!e!d3nJ&%zjd6T`WhdkS!3=$p7dcS8PEYUD6jpSD?&r~- zYB|#5C9yi~z(D`wj!0cOA)93*mhEY|KZ>Rh;}QS8x%wC@DC+0pH1Dh5W9%Chm9pUu zKz`tQKEN@ht*-71v5v0=NPm4ZS|#B=(C`KQffV#l%#rlpE7v(em}-!l=q zNPvLZ@gZO0HwL0y%)3S>AvMLUi(rbPPfXDaqn$@o_~m{_7k&=()i<>K1RqcmcvNLE zWGKnP^SoeDR6vx-`~1e)vrwOpm6lN4p6oOC)&i)9&$fRk-Nq^bd^R#FkKPCf3-;1>Qw>@-g7hw(tH#BXc8HfCkT2BjR^X&)9lWh9`{qXDLf5xv`csAxyFpT`R@BTc{VMLIb%=l4 z0OUUB1ujk7Ha4c6Z=PYSgrvnyQ`G`UV&*b}rXcxEDGAdK5RF+koCTF+seontI;}Da z(O)A@?VX+S(hZNNL3sEA2nQ0=Oipe??8}zSN_-lXBTrL594_etDS$hY&uw?tc2IeM zY*6Sm(Sh`vYX_)0)g}i87C1!ATCI#k{UF>1be#rB8qtV+bfE&HB)a9Q_Lig*6byKF zNvDM%rWD};(vh8!--h^tTR*n!<`L!+tDU=x!DeGkjY%lzEIjjwFRp%_H{cbHDD&my zH_ILbwa6KMkce##3=S^Uk&3t)w69iL7ff~kzijyTm}$6qdfzqHh!qRaDYWr!+K8bU zil(V{iFj}r=pNefkgE1xwm=w=`{nZ0JamW zl%`-}SG=~%h7;oz8M%3fi^ucwG-M<|+VQ;7+XsEG&DIOO(2~C zUp8(F*xg4k_=5W1QakSGA$OQxY8SS=QEWmFN>Gt1qTw(6g)CfgtD%-j%$NMIXSqweaCDv!dyE?) zfAz12!Q2yk`M+tv>U#n#TlVKd#ZFJy^uI2Zr!h(w{rd!I-oL{G?&`mRjc4rbDMX5j z8DD)rtO=73h0X`x7wU_H$vlfPncCBgCMTely!R(!uwq8Is5j!ElP?Y{T&Q&eE+RxV_d}FvHrcyD1G4g$6*>j?KA)CBr}-0MHOrI@R>2Et6` z`sL48P#|fNWD#CdqY>U_01SuRx)3f0A?G2{Z-0 zW>6B#&&hFjJUq~_WmAkvS-2=I7s=(Y^VXomRj~=AIsq{#}8+|wg#wSIZzTBLdp8i`pyT!3h zLwo!E*DC#8Vr`5P)U${*oH2wxgIBtfHn%E$e3#u~jci@ANAZgVw8f$wlZWf1*@Q{V ztP2?D`=FRDm-P*@34DATwd9pcs;uVLfI^{BbGyB$B!{B|-gmCHxU{->n(-v)8f*29_nZrN6DET9)Du;Dm+vn< zR8i4V-tu6c?4f>m8*g)SG%Vbik!5DulaurbUVi_8BaK}RT~^jYsC)%sdtH0NC;I}V zyumNpZYf%=QZg^YbJWd)rMsFHH)q+|m!B8RWMPLeZHY}FNH)Lj^mTNoP>E5;<02Bg zy?aC1?d+quxJFcXH_uz)24NRVu%0PoSUu<+v2BbD$|<*%F)<0sxq zmY|>suup4WD6{uA0Kn>gL{zb-XZ)MnH7^K@2Mai)x;fT94wr}^=;}Ed_DV;gdHJt;oN=V2E1OR9SI(?NwHW;PI_fDa zdqGliSDHRJc)}emQ(Zxti<@Trf(H72X#uJ(51zt=TXs=3i6IG45w{IJ;$m4zJU^nWFw;;VCGUs zVk53+rOIL+SRC#ZRaME_EL-j6cl@2?v9e@;E}2D~JsljpVt27{V%u2RTx8*t82#~z z=E&G_*@e@8xL3u>dK0uUs%7z1{N8TUrZeNoS4(cSR_?J@ir~z-G4)nkU=|T?KO3z0 zrt|H4--mwuzxe2AtZ>_ftYnxo`%RTo@={V3ROna>_sB5FaIH%;g@kc%o#FR4`1yUf z2Rl36aKFSfV5bYF3)iFFajh9w3?M>Q(-bpY9Q*JtAYgK8;%66f3Zs`wh2{wwy{@&j z^4}Z0QNRB|dFcIsX+Am~P2uwC1K7i5|9wA)VUrLcwP?Lh5JaS5qv7a>?&n@tC%L(E zh2a1$L8(;jv*A9HWdHq_Q})0!&H2R*unn Y%N4F4Gn;|10UDZ&q=G~`Qpfdw0UUnbEC2ui literal 0 HcmV?d00001 diff --git a/localization/fr/aggregator-microservices/README.md b/localization/fr/microservices-aggregrator/README.md similarity index 96% rename from localization/fr/aggregator-microservices/README.md rename to localization/fr/microservices-aggregrator/README.md index ed27ca451659..c1974503199d 100644 --- a/localization/fr/aggregator-microservices/README.md +++ b/localization/fr/microservices-aggregrator/README.md @@ -93,7 +93,7 @@ curl http://localhost:50004/product ## Class diagram -![alt text](../../../aggregator-microservices/aggregator-service/etc/aggregator-service.png "Aggregator Microservice") +![alt text](./aggregator-service/etc/aggregator-service.png "Aggregator Microservice") ## Application diff --git a/localization/fr/microservices-aggregrator/aggregator-service/etc/aggregator-service.png b/localization/fr/microservices-aggregrator/aggregator-service/etc/aggregator-service.png new file mode 100644 index 0000000000000000000000000000000000000000..75ee82328bbe925e11e7175224294b925f22683e GIT binary patch literal 41498 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

The key ingredients demonstrated here are: + * + *

+ * + *

The demo runs an order service with capacity for five concurrent requests. Phase one shows + * normal operation. In phase two the payment provider becomes slow, four orders get stuck inside + * the service and probes of every priority show which of them are shed. In phase three the provider + * recovers, the stuck orders complete and new requests are admitted again. + */ +@Slf4j +public class App { + + private static final int CAPACITY = 5; + private static final int LOW_PRIORITY_LIMIT = 3; + private static final int CRITICAL_RESERVE = 1; + private static final int STUCK_ORDERS = 4; + private static final Duration WAIT = Duration.ofSeconds(5); + + /** + * Program entry point. + * + * @param args command line arguments, not used + * @throws InterruptedException if the demo is interrupted while waiting for the workers + */ + public static void main(String[] args) throws InterruptedException { + var shedder = new LoadShedder(CAPACITY, LOW_PRIORITY_LIMIT, CRITICAL_RESERVE); + var paymentSlow = new AtomicBoolean(false); + var paymentRecovered = new CountDownLatch(1); + var entered = new Semaphore(0); + var orderService = + new ShedGuardedService( + "order-service", + shedder, + simulatedPaymentProvider(paymentSlow, paymentRecovered, entered, WAIT)); + var executor = Executors.newCachedThreadPool(); + try { + LOGGER.info( + "Order service capacity: {} in flight, low priority shed at {}, {} slot reserved for" + + " critical requests", + CAPACITY, + LOW_PRIORITY_LIMIT, + CRITICAL_RESERVE); + + LOGGER.info("--- Phase 1: light load, every request is admitted ---"); + report(orderService.handle(new Request("r1", Priority.LOW, "prefetch recommendations"))); + report(orderService.handle(new Request("r2", Priority.NORMAL, "view cart"))); + + LOGGER.info("--- Phase 2: payment provider slows down, orders pile up ---"); + paymentSlow.set(true); + List> stuckOrders = new ArrayList<>(); + for (var i = 1; i <= STUCK_ORDERS; i++) { + var order = new Request("order-" + i, Priority.NORMAL, "place order"); + stuckOrders.add(executor.submit(() -> orderService.handle(order))); + } + awaitEntered(entered, STUCK_ORDERS, WAIT); + LOGGER.info( + "{} of {} slots busy, probing with every priority", shedder.getInFlight(), CAPACITY); + report(orderService.handle(new Request("p1", Priority.LOW, "prefetch recommendations"))); + report(orderService.handle(new Request("p2", Priority.NORMAL, "view cart"))); + var checkout = + executor.submit( + () -> orderService.handle(new Request("p3", Priority.CRITICAL, "checkout payment"))); + awaitEntered(entered, 1, WAIT); + + LOGGER.info("--- Phase 3: payment provider recovers, load drops ---"); + paymentSlow.set(false); + paymentRecovered.countDown(); + for (var order : stuckOrders) { + report(result(order, WAIT)); + } + report(result(checkout, WAIT)); + report(orderService.handle(new Request("r3", Priority.LOW, "prefetch recommendations"))); + + LOGGER.info( + "Summary: accepted={}, shed {} requests in total: low={}, normal={}, critical={}", + shedder.getAccepted(), + shedder.getTotalShed(), + shedder.getShed(Priority.LOW), + shedder.getShed(Priority.NORMAL), + shedder.getShed(Priority.CRITICAL)); + } finally { + shutdown(executor, WAIT); + } + } + + /** + * Business logic of the order service. While the payment provider is slow every admitted request + * blocks until the provider recovers, which is exactly the situation in which requests pile up + * and load shedding becomes necessary. The semaphore tells the demo how many requests are stuck. + */ + static RequestHandler simulatedPaymentProvider( + AtomicBoolean paymentSlow, + CountDownLatch paymentRecovered, + Semaphore entered, + Duration recoveryTimeout) { + return request -> { + if (paymentSlow.get()) { + // Signal the demo that one more request is now stuck behind the slow provider. + entered.release(); + try { + if (!paymentRecovered.await(recoveryTimeout.toMillis(), TimeUnit.MILLISECONDS)) { + throw new IllegalStateException("payment provider never recovered"); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IllegalStateException("interrupted while processing " + request.id(), e); + } + } + return "processed " + request.description(); + }; + } + + /** Waits until the given number of requests are stuck inside the service. */ + static void awaitEntered(Semaphore entered, int count, Duration timeout) + throws InterruptedException { + if (!entered.tryAcquire(count, timeout.toMillis(), TimeUnit.MILLISECONDS)) { + throw new IllegalStateException("requests did not enter the service in time"); + } + } + + /** Collects the response of a request that was handled on a worker thread. */ + static Response result(Future future, Duration timeout) throws InterruptedException { + try { + return future.get(timeout.toMillis(), TimeUnit.MILLISECONDS); + } catch (ExecutionException | TimeoutException e) { + throw new IllegalStateException("worker failed", e); + } + } + + /** Stops the worker pool, forcing the shutdown if workers do not finish within the timeout. */ + static void shutdown(ExecutorService executor, Duration timeout) throws InterruptedException { + executor.shutdown(); + if (!executor.awaitTermination(timeout.toMillis(), TimeUnit.MILLISECONDS)) { + executor.shutdownNow(); + } + } + + static void report(Response response) { + LOGGER.info("{} -> {}: {}", response.requestId(), response.status(), response.message()); + } +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedException.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedException.java new file mode 100644 index 000000000000..4015a509c37c --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedException.java @@ -0,0 +1,57 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import lombok.Getter; + +/** + * Thrown by {@link LoadShedder#acquire(Request)} when a request must be shed. It is the in-process + * equivalent of an HTTP 503 "Service Unavailable" response: the service is healthy but has no spare + * capacity for this request right now, and the caller should back off and retry later. + */ +@Getter +public class LoadShedException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + private final String requestId; + private final Priority priority; + + /** + * Creates the exception for a shed request. + * + * @param request the request that was shed + * @param inFlight number of requests being processed at the moment of the decision + * @param limit admission limit that applies to the request's priority + */ + public LoadShedException(Request request, int inFlight, int limit) { + super( + String.format( + "Request %s shed: %d requests in flight, limit for %s priority is %d", + request.id(), inFlight, request.priority(), limit)); + this.requestId = request.id(); + this.priority = request.priority(); + } +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedder.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedder.java new file mode 100644 index 000000000000..4cf4aad0e5f3 --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedder.java @@ -0,0 +1,146 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import java.util.EnumMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.LongAdder; + +/** + * Admission controller that decides whether a request may enter the service. The decision is based + * on how many requests are already in flight and on the priority of the new request: + * + *

    + *
  • {@link Priority#LOW} requests are admitted only while the in-flight count is below the low + * priority limit, so they are the first to be shed when load builds up. + *
  • {@link Priority#NORMAL} requests are admitted while the in-flight count is below the hard + * capacity minus the reserve kept for critical work. + *
  • {@link Priority#CRITICAL} requests may use the full capacity, including the reserve. + *
+ * + *

Requests that cannot be admitted are rejected immediately with a {@link LoadShedException} + * rather than queued. Rejecting quickly costs almost nothing, whereas letting an unbounded queue + * grow would increase latency for every request and eventually exhaust memory or threads. + * + *

The class is thread-safe. Admission is lock-free: the in-flight count is updated with an + * atomic accumulator whose function refuses to increment past the limit, so concurrent callers can + * never push the in-flight count above the configured capacity. + */ +public class LoadShedder { + + private final int maxInFlight; + private final Map limits = new EnumMap<>(Priority.class); + private final AtomicInteger inFlight = new AtomicInteger(); + private final LongAdder accepted = new LongAdder(); + private final Map shed = new EnumMap<>(Priority.class); + + /** + * Creates a load shedder. + * + * @param maxInFlight hard capacity: the maximum number of requests processed concurrently + * @param lowPriorityLimit in-flight count at which low priority requests start being shed + * @param criticalReserve part of the capacity that only critical requests may use + */ + public LoadShedder(int maxInFlight, int lowPriorityLimit, int criticalReserve) { + if (maxInFlight <= 0) { + throw new IllegalArgumentException("maxInFlight must be positive"); + } + if (criticalReserve < 0 || criticalReserve >= maxInFlight) { + throw new IllegalArgumentException("criticalReserve must be between 0 and maxInFlight - 1"); + } + var normalLimit = maxInFlight - criticalReserve; + if (lowPriorityLimit <= 0 || lowPriorityLimit > normalLimit) { + throw new IllegalArgumentException( + "lowPriorityLimit must be between 1 and maxInFlight - criticalReserve"); + } + this.maxInFlight = maxInFlight; + limits.put(Priority.CRITICAL, maxInFlight); + limits.put(Priority.NORMAL, normalLimit); + limits.put(Priority.LOW, lowPriorityLimit); + for (var priority : Priority.values()) { + shed.put(priority, new LongAdder()); + } + } + + /** + * Tries to admit the request. On success the in-flight count is incremented and the caller must + * invoke {@link #release()} once the work is done. + * + * @param request the request asking for admission + * @return the in-flight count including this request, as observed at the moment of admission + * @throws LoadShedException if the service has no spare capacity for this priority + */ + public int acquire(Request request) { + var priority = request.priority(); + var limit = limits.get(priority); + // The accumulator is a pure function, so it is safe for the atomic to re-apply it under + // contention: the count is only incremented while it is below the limit for this priority. + var previous = + inFlight.getAndAccumulate( + 1, (current, increment) -> current >= limit ? current : current + increment); + if (previous >= limit) { + // Fail fast: the caller gets an immediate rejection instead of waiting in a queue. + shed.get(priority).increment(); + throw new LoadShedException(request, previous, limit); + } + accepted.increment(); + return previous + 1; + } + + /** + * Signals that a previously admitted request has finished, freeing one slot of capacity. The + * count is clamped at zero so that an unmatched release cannot make it negative and hand out more + * capacity than the service has. + */ + public void release() { + inFlight.updateAndGet(current -> Math.max(0, current - 1)); + } + + /** Hard capacity of the service. */ + public int getMaxInFlight() { + return maxInFlight; + } + + /** Number of requests currently being processed. */ + public int getInFlight() { + return inFlight.get(); + } + + /** Total number of requests admitted since creation. */ + public long getAccepted() { + return accepted.sum(); + } + + /** Number of requests of the given priority that were shed since creation. */ + public long getShed(Priority priority) { + return shed.get(priority).sum(); + } + + /** Total number of requests shed since creation, across all priorities. */ + public long getTotalShed() { + return shed.values().stream().mapToLong(LongAdder::sum).sum(); + } +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Priority.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Priority.java new file mode 100644 index 000000000000..a2baca4d5a53 --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Priority.java @@ -0,0 +1,39 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +/** + * Importance of a request from the point of view of the service that receives it. When the service + * approaches its capacity the {@link LoadShedder} sheds the least important requests first, so that + * the work that matters most keeps flowing while excess load is rejected. + */ +public enum Priority { + /** Must be served whenever physically possible, for example checkout or health probes. */ + CRITICAL, + /** Regular user traffic. */ + NORMAL, + /** Best-effort work such as prefetching, analytics or background refreshes. */ + LOW +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Request.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Request.java new file mode 100644 index 000000000000..7ff2681ce21f --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Request.java @@ -0,0 +1,36 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +/** + * An incoming unit of work. Besides its identity it carries the {@link Priority} the caller + * assigned to it, which is the only thing the {@link LoadShedder} needs to decide whether the + * request may enter the service. + * + * @param id unique identifier used in logs and responses + * @param priority importance of the request + * @param description human readable summary of the work + */ +public record Request(String id, Priority priority, String description) {} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/RequestHandler.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/RequestHandler.java new file mode 100644 index 000000000000..588475ae09b3 --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/RequestHandler.java @@ -0,0 +1,41 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +/** + * The actual work a service performs for an admitted request. Kept as a functional interface so + * that the admission control in {@link ShedGuardedService} stays independent of the business logic. + */ +@FunctionalInterface +public interface RequestHandler { + + /** + * Processes the request. + * + * @param request an admitted request + * @return result to return to the caller + */ + String handle(Request request); +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Response.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Response.java new file mode 100644 index 000000000000..494defd14a30 --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Response.java @@ -0,0 +1,55 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +/** + * Outcome returned to the caller. A shed request gets a {@link Status#REJECTED} response + * immediately instead of waiting in a queue, which is the fail-fast behaviour that keeps the + * service responsive under overload. + * + * @param requestId identifier of the request this response belongs to + * @param status whether the request was processed or shed + * @param message result of the work, or the reason the request was shed + */ +public record Response(String requestId, Status status, String message) { + + /** Result of admission control. */ + public enum Status { + /** The request was admitted and processed. */ + ACCEPTED, + /** The request was shed because the service is at capacity. Callers may retry later. */ + REJECTED + } + + /** Creates the response for a request that was processed. */ + public static Response accepted(Request request, String result) { + return new Response(request.id(), Status.ACCEPTED, result); + } + + /** Creates the fast-failure response for a request that was shed. */ + public static Response rejected(Request request, String reason) { + return new Response(request.id(), Status.REJECTED, reason); + } +} diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/ShedGuardedService.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/ShedGuardedService.java new file mode 100644 index 000000000000..d43315d498db --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/ShedGuardedService.java @@ -0,0 +1,84 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import lombok.extern.slf4j.Slf4j; + +/** + * A service whose entry point is protected by a {@link LoadShedder}. Every request first asks the + * shedder for admission; requests that are shed receive a {@link Response.Status#REJECTED} response + * right away, admitted requests are handed to the {@link RequestHandler} and always release their + * capacity slot afterwards, even when the handler fails. + */ +@Slf4j +public class ShedGuardedService { + + private final String name; + private final LoadShedder shedder; + private final RequestHandler handler; + + /** + * Creates a guarded service. + * + * @param name service name used in log output + * @param shedder admission controller protecting the service + * @param handler business logic executed for admitted requests + */ + public ShedGuardedService(String name, LoadShedder shedder, RequestHandler handler) { + this.name = name; + this.shedder = shedder; + this.handler = handler; + } + + /** + * Handles the request if capacity allows, otherwise fails fast. + * + * @param request incoming request + * @return the handler result, or a rejection when the request was shed + */ + public Response handle(Request request) { + int inFlight; + try { + // The count is taken from the admission itself: reading it back afterwards could report a + // value that belongs to a concurrent request. + inFlight = shedder.acquire(request); + } catch (LoadShedException e) { + LOGGER.warn("[{}] shed {} ({}): {}", name, request.id(), request.priority(), e.getMessage()); + return Response.rejected(request, e.getMessage()); + } + LOGGER.info( + "[{}] admitted {} ({}), {}/{} in flight", + name, + request.id(), + request.priority(), + inFlight, + shedder.getMaxInFlight()); + try { + return Response.accepted(request, handler.handle(request)); + } finally { + shedder.release(); + } + } +} diff --git a/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/AppTest.java b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/AppTest.java new file mode 100644 index 000000000000..3a3b6a8f9da6 --- /dev/null +++ b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/AppTest.java @@ -0,0 +1,177 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Executors; +import java.util.concurrent.Semaphore; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicBoolean; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +class AppTest { + + private static final Duration SHORT = Duration.ofMillis(10); + private static final Duration GENEROUS = Duration.ofSeconds(1); + private static final Request REQUEST = new Request("r", Priority.NORMAL, "place order"); + + @AfterEach + void clearInterruptFlag() { + Thread.interrupted(); + } + + @Test + void shouldLaunchApp() { + assertDoesNotThrow(() -> App.main(new String[] {})); + } + + @Test + void shouldBeInstantiable() { + assertNotNull(new App(), "App should be instantiable"); + } + + @Test + void paymentProviderProcessesImmediatelyWhenHealthy() { + var entered = new Semaphore(0); + var handler = + App.simulatedPaymentProvider( + new AtomicBoolean(false), new CountDownLatch(1), entered, GENEROUS); + assertEquals("processed place order", handler.handle(REQUEST)); + assertEquals(0, entered.availablePermits()); + } + + @Test + void paymentProviderResumesOnceRecovered() { + var entered = new Semaphore(0); + var recovered = new CountDownLatch(0); + var handler = + App.simulatedPaymentProvider(new AtomicBoolean(true), recovered, entered, GENEROUS); + assertEquals("processed place order", handler.handle(REQUEST)); + assertEquals(1, entered.availablePermits()); + } + + @Test + void paymentProviderFailsWhenRecoveryTimesOut() { + var handler = + App.simulatedPaymentProvider( + new AtomicBoolean(true), new CountDownLatch(1), new Semaphore(0), SHORT); + var exception = assertThrows(IllegalStateException.class, () -> handler.handle(REQUEST)); + assertEquals("payment provider never recovered", exception.getMessage()); + } + + @Test + void paymentProviderRestoresInterruptFlagWhenInterruptedWhileSlow() { + var entered = new Semaphore(0); + var handler = + App.simulatedPaymentProvider( + new AtomicBoolean(true), new CountDownLatch(1), entered, GENEROUS); + Thread.currentThread().interrupt(); + var exception = assertThrows(IllegalStateException.class, () -> handler.handle(REQUEST)); + assertInstanceOf(InterruptedException.class, exception.getCause()); + assertTrue(Thread.interrupted()); + assertEquals(1, entered.availablePermits()); + } + + @Test + void awaitEnteredReturnsOncePermitsAreAvailable() { + var entered = new Semaphore(2); + assertDoesNotThrow(() -> App.awaitEntered(entered, 2, GENEROUS)); + assertEquals(0, entered.availablePermits()); + } + + @Test + void awaitEnteredFailsWhenNobodyEnters() { + var entered = new Semaphore(0); + var exception = + assertThrows(IllegalStateException.class, () -> App.awaitEntered(entered, 1, SHORT)); + assertEquals("requests did not enter the service in time", exception.getMessage()); + } + + @Test + void resultReturnsCompletedResponse() throws InterruptedException { + var response = Response.accepted(REQUEST, "done"); + assertEquals(response, App.result(CompletableFuture.completedFuture(response), GENEROUS)); + } + + @Test + void resultWrapsFailedWorker() { + var failed = CompletableFuture.failedFuture(new RuntimeException("boom")); + var exception = assertThrows(IllegalStateException.class, () -> App.result(failed, GENEROUS)); + assertEquals("worker failed", exception.getMessage()); + assertInstanceOf(RuntimeException.class, exception.getCause().getCause()); + } + + @Test + void resultWrapsWorkerThatNeverFinishes() { + var pending = new CompletableFuture(); + var exception = assertThrows(IllegalStateException.class, () -> App.result(pending, SHORT)); + assertEquals("worker failed", exception.getMessage()); + assertInstanceOf(TimeoutException.class, exception.getCause()); + } + + @Test + void shutdownWaitsForIdleExecutor() throws InterruptedException { + var executor = Executors.newSingleThreadExecutor(); + App.shutdown(executor, GENEROUS); + assertTrue(executor.isTerminated()); + } + + @Test + void shutdownForcesStopWhenWorkersIgnoreTheTimeout() throws InterruptedException { + var executor = Executors.newSingleThreadExecutor(); + var started = new CountDownLatch(1); + var interrupted = new CountDownLatch(1); + var release = new CountDownLatch(1); + executor.execute( + () -> { + started.countDown(); + while (release.getCount() > 0) { + try { + release.await(); + } catch (InterruptedException e) { + // A stubborn worker that keeps going despite the interrupt. + interrupted.countDown(); + } + } + }); + assertTrue(started.await(1, TimeUnit.SECONDS)); + App.shutdown(executor, SHORT); + assertTrue(executor.isShutdown()); + assertTrue(interrupted.await(1, TimeUnit.SECONDS)); + release.countDown(); + assertTrue(executor.awaitTermination(1, TimeUnit.SECONDS)); + } +} diff --git a/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/LoadShedderTest.java b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/LoadShedderTest.java new file mode 100644 index 000000000000..ffd9f4493091 --- /dev/null +++ b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/LoadShedderTest.java @@ -0,0 +1,201 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import org.junit.jupiter.api.Test; + +class LoadShedderTest { + + private static final int CAPACITY = 5; + private static final int LOW_LIMIT = 3; + private static final int RESERVE = 1; + + private final LoadShedder shedder = new LoadShedder(CAPACITY, LOW_LIMIT, RESERVE); + + private static Request request(Priority priority) { + return new Request("req-" + priority, priority, "test"); + } + + private void fill(int count) { + for (var i = 0; i < count; i++) { + shedder.acquire(request(Priority.CRITICAL)); + } + } + + @Test + void admitsEveryPriorityBelowLowPriorityLimit() { + fill(LOW_LIMIT - 1); + assertDoesNotThrow(() -> shedder.acquire(request(Priority.LOW))); + assertEquals(LOW_LIMIT, shedder.getInFlight()); + assertEquals(LOW_LIMIT, shedder.getAccepted()); + assertEquals(0, shedder.getTotalShed()); + } + + @Test + void shedsLowPriorityFirst() { + fill(LOW_LIMIT); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.LOW))); + assertDoesNotThrow(() -> shedder.acquire(request(Priority.NORMAL))); + assertEquals(LOW_LIMIT + 1, shedder.getInFlight()); + assertEquals(1, shedder.getShed(Priority.LOW)); + assertEquals(0, shedder.getShed(Priority.NORMAL)); + } + + @Test + void keepsReserveForCriticalRequests() { + fill(CAPACITY - RESERVE); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.NORMAL))); + assertDoesNotThrow(() -> shedder.acquire(request(Priority.CRITICAL))); + assertEquals(CAPACITY, shedder.getInFlight()); + assertEquals(1, shedder.getShed(Priority.NORMAL)); + assertEquals(0, shedder.getShed(Priority.CRITICAL)); + } + + @Test + void shedsCriticalRequestsAtHardCapacity() { + fill(CAPACITY); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.CRITICAL))); + assertEquals(CAPACITY, shedder.getInFlight()); + assertEquals(1, shedder.getShed(Priority.CRITICAL)); + } + + @Test + void releaseFreesCapacity() { + fill(LOW_LIMIT); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.LOW))); + shedder.release(); + assertDoesNotThrow(() -> shedder.acquire(request(Priority.LOW))); + assertEquals(LOW_LIMIT, shedder.getInFlight()); + } + + @Test + void unmatchedReleaseDoesNotDriveInFlightNegative() { + shedder.release(); + assertEquals(0, shedder.getInFlight()); + fill(CAPACITY); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.CRITICAL))); + } + + @Test + void acquireReturnsInFlightCountIncludingTheAdmittedRequest() { + assertEquals(1, shedder.acquire(request(Priority.NORMAL))); + assertEquals(2, shedder.acquire(request(Priority.NORMAL))); + } + + @Test + void countsShedRequestsPerPriority() { + fill(CAPACITY); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.LOW))); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.LOW))); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.NORMAL))); + assertThrows(LoadShedException.class, () -> shedder.acquire(request(Priority.CRITICAL))); + assertEquals(CAPACITY, shedder.getAccepted()); + assertEquals(2, shedder.getShed(Priority.LOW)); + assertEquals(1, shedder.getShed(Priority.NORMAL)); + assertEquals(1, shedder.getShed(Priority.CRITICAL)); + assertEquals(4, shedder.getTotalShed()); + } + + @Test + void exceptionDescribesTheDecision() { + fill(LOW_LIMIT); + var request = new Request("low-42", Priority.LOW, "test"); + var exception = assertThrows(LoadShedException.class, () -> shedder.acquire(request)); + assertEquals("low-42", exception.getRequestId()); + assertEquals(Priority.LOW, exception.getPriority()); + assertTrue(exception.getMessage().contains("low-42")); + assertTrue(exception.getMessage().contains("LOW")); + } + + @Test + void neverExceedsCapacityUnderConcurrentAdmission() throws InterruptedException { + var callers = 50; + var start = new CountDownLatch(1); + var done = new CountDownLatch(callers); + var admitted = new AtomicInteger(); + var executor = Executors.newFixedThreadPool(callers); + try { + for (var i = 0; i < callers; i++) { + executor.execute( + () -> { + try { + start.await(); + shedder.acquire(request(Priority.CRITICAL)); + admitted.incrementAndGet(); + } catch (LoadShedException expected) { + // shed + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } finally { + done.countDown(); + } + }); + } + start.countDown(); + assertTrue(done.await(10, TimeUnit.SECONDS)); + } finally { + executor.shutdownNow(); + } + assertEquals(CAPACITY, admitted.get()); + assertEquals(CAPACITY, shedder.getInFlight()); + assertEquals(callers - CAPACITY, shedder.getShed(Priority.CRITICAL)); + } + + @Test + void rejectsInvalidConfiguration() { + // maxInFlight must be positive + assertThrows(IllegalArgumentException.class, () -> new LoadShedder(0, 1, 0)); + // criticalReserve must be between 0 and maxInFlight - 1 + assertThrows(IllegalArgumentException.class, () -> new LoadShedder(5, 3, -1)); + assertThrows(IllegalArgumentException.class, () -> new LoadShedder(5, 3, 5)); + // lowPriorityLimit must be between 1 and maxInFlight - criticalReserve + assertThrows(IllegalArgumentException.class, () -> new LoadShedder(5, 0, 1)); + assertThrows(IllegalArgumentException.class, () -> new LoadShedder(5, 5, 1)); + } + + @Test + void acceptsBoundaryConfiguration() { + assertDoesNotThrow(() -> new LoadShedder(5, 4, 1)); + var noReserve = new LoadShedder(5, 5, 0); + fillWith(noReserve, Priority.LOW, 5); + assertEquals(5, noReserve.getInFlight()); + assertThrows(LoadShedException.class, () -> noReserve.acquire(request(Priority.CRITICAL))); + } + + private static void fillWith(LoadShedder target, Priority priority, int count) { + for (var i = 0; i < count; i++) { + target.acquire(request(priority)); + } + } +} diff --git a/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/ShedGuardedServiceTest.java b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/ShedGuardedServiceTest.java new file mode 100644 index 000000000000..87c847196517 --- /dev/null +++ b/microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/ShedGuardedServiceTest.java @@ -0,0 +1,80 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import java.util.concurrent.atomic.AtomicBoolean; +import org.junit.jupiter.api.Test; + +class ShedGuardedServiceTest { + + private final LoadShedder shedder = new LoadShedder(2, 1, 0); + + @Test + void returnsHandlerResultWhenAdmitted() { + var service = new ShedGuardedService("svc", shedder, request -> "done " + request.id()); + var response = service.handle(new Request("a", Priority.NORMAL, "work")); + assertEquals(new Response("a", Response.Status.ACCEPTED, "done a"), response); + assertEquals(0, shedder.getInFlight()); + } + + @Test + void returnsRejectionWithoutInvokingHandlerWhenShed() { + var handlerCalled = new AtomicBoolean(); + var service = + new ShedGuardedService( + "svc", + shedder, + request -> { + handlerCalled.set(true); + return "unexpected"; + }); + shedder.acquire(new Request("occupied", Priority.NORMAL, "work")); + var response = service.handle(new Request("b", Priority.LOW, "work")); + assertEquals(Response.Status.REJECTED, response.status()); + assertEquals("b", response.requestId()); + assertFalse(handlerCalled.get()); + assertEquals(1, shedder.getInFlight()); + assertEquals(1, shedder.getShed(Priority.LOW)); + } + + @Test + void releasesCapacityWhenHandlerFails() { + var service = + new ShedGuardedService( + "svc", + shedder, + request -> { + throw new IllegalStateException("boom"); + }); + assertThrows( + IllegalStateException.class, + () -> service.handle(new Request("c", Priority.NORMAL, "work"))); + assertEquals(0, shedder.getInFlight()); + } +} diff --git a/pom.xml b/pom.xml index a71630d289d3..266c02fcb388 100644 --- a/pom.xml +++ b/pom.xml @@ -260,6 +260,7 @@ rate-limiting-pattern fallback onion-architecture + microservices-load-shedding From 4cabb204f240240bea319605a5ffa46ded728001 Mon Sep 17 00:00:00 2001 From: Doksanbir Date: Sun, 13 Sep 2026 09:53:54 +0300 Subject: [PATCH 4/4] feat: add Microservices Bulkhead pattern (#3228) (#3597) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add Microservices Bulkhead pattern (#3228) * fix: cancel queued calls on bulkhead shutdown Shutdown now cancels the queued futures so callers do not hang, a shutdown racing a submit is no longer counted as a rejection, and interrupted inventory checks are logged. The class diagram is a rendered PNG. --------- Co-authored-by: Ilkka Seppälä --- microservices-bulkhead/README.md | 325 ++++++++++++++++++ .../etc/microservices-bulkhead.urm.png | Bin 0 -> 46872 bytes .../etc/microservices-bulkhead.urm.puml | 53 +++ microservices-bulkhead/pom.xml | 70 ++++ .../main/java/com/iluwatar/bulkhead/App.java | 134 ++++++++ .../java/com/iluwatar/bulkhead/Bulkhead.java | 157 +++++++++ .../bulkhead/BulkheadFullException.java | 46 +++ .../iluwatar/bulkhead/InventoryService.java | 41 +++ .../com/iluwatar/bulkhead/PaymentService.java | 60 ++++ .../com/iluwatar/bulkhead/RemoteService.java | 42 +++ .../java/com/iluwatar/bulkhead/AppTest.java | 151 ++++++++ .../com/iluwatar/bulkhead/BulkheadTest.java | 175 ++++++++++ .../bulkhead/InventoryServiceTest.java | 39 +++ .../iluwatar/bulkhead/PaymentServiceTest.java | 58 ++++ pom.xml | 1 + 15 files changed, 1352 insertions(+) create mode 100644 microservices-bulkhead/README.md create mode 100644 microservices-bulkhead/etc/microservices-bulkhead.urm.png create mode 100644 microservices-bulkhead/etc/microservices-bulkhead.urm.puml create mode 100644 microservices-bulkhead/pom.xml create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/App.java create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/Bulkhead.java create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/BulkheadFullException.java create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/InventoryService.java create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/PaymentService.java create mode 100644 microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/RemoteService.java create mode 100644 microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/AppTest.java create mode 100644 microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/BulkheadTest.java create mode 100644 microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/InventoryServiceTest.java create mode 100644 microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/PaymentServiceTest.java diff --git a/microservices-bulkhead/README.md b/microservices-bulkhead/README.md new file mode 100644 index 000000000000..1f26db89103e --- /dev/null +++ b/microservices-bulkhead/README.md @@ -0,0 +1,325 @@ +--- +title: "Bulkhead Pattern in Java: Isolating Failures in Microservices" +shortTitle: Bulkhead +description: "Learn the Bulkhead pattern in Java. Isolate each downstream dependency in its own thread pool so that a slow or failing service cannot exhaust the resources of the whole application. Includes a working example, class diagram, and trade-offs." +category: Resilience +language: en +tag: + - Concurrency + - Fault tolerance + - Isolation + - Microservices + - Resource management +--- + +## Also known as + +* Compartmentalization +* Resource isolation + +## Intent of Bulkhead Design Pattern + +Partition the resources of a service, typically its threads and connections, into isolated compartments so that a failure or an overload in one downstream dependency cannot consume the resources needed by the others. The compartment that is full rejects new calls immediately instead of letting them pile up. + +## Detailed Explanation of Bulkhead Pattern with Real-World Examples + +Real-world example + +> The hull of a ship is divided into watertight compartments called bulkheads. If the hull is breached, only the flooded compartment fills with water and the ship stays afloat. In an order service, the calls to a payment provider and the calls to an inventory system are placed in separate compartments. When the payment provider becomes slow and its compartment fills up, the extra payment requests are turned away at once, while inventory lookups keep flowing through their own compartment as if nothing happened. + +In plain words + +> Give every downstream dependency its own bounded pool of threads, so one misbehaving dependency can only exhaust its own pool. + +Microservices.io says + +> Bulkhead is a pattern that isolates the resources used by a service so that a failure in one part of the system does not cascade to other parts. + +Sequence diagram + +```mermaid +sequenceDiagram + participant Caller as Order service + participant PB as Bulkhead payment (2 threads, queue 2) + participant IB as Bulkhead inventory (2 threads, queue 2) + participant Pay as Payment provider (slow) + participant Inv as Inventory system (healthy) + + Caller->>PB: submit payment call 1..4 + PB->>Pay: run 2 calls, queue 2 calls + Caller->>PB: submit payment call 5 + PB-->>Caller: BulkheadFullException (fail fast) + Caller->>IB: submit inventory call + IB->>Inv: run call on a free thread + Inv-->>IB: Inventory reserved + IB-->>Caller: response without waiting for payment +``` + +![Bulkhead class diagram](./etc/microservices-bulkhead.urm.png) + +## Programmatic Example of Bulkhead Pattern in Java + +Our order service depends on two remote systems. Both implement the same `RemoteService` contract. + +```java +@FunctionalInterface +public interface RemoteService { + String call(String request); +} +``` + +The payment provider has become slow: every call takes the configured latency. The inventory system is healthy and answers immediately. + +```java +@Slf4j +public class PaymentService implements RemoteService { + + private final Duration latency; + + public PaymentService(Duration latency) { + this.latency = latency; + } + + @Override + public String call(String request) { + LOGGER.info("Payment provider received '{}', it will take {} ms", request, latency.toMillis()); + try { + Thread.sleep(latency); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IllegalStateException("Payment for '" + request + "' was interrupted", e); + } + return "Payment approved for " + request; + } +} + +@Slf4j +public class InventoryService implements RemoteService { + + @Override + public String call(String request) { + LOGGER.info("Inventory system received '{}'", request); + return "Inventory reserved for " + request; + } +} +``` + +The `Bulkhead` is the compartment. It owns a `ThreadPoolExecutor` with a fixed number of worker threads and a bounded queue. The `AbortPolicy` makes the executor throw when both are full, and the bulkhead translates that into a `BulkheadFullException` so the caller fails fast. It also keeps a counter of rejected calls for monitoring, and on shutdown it cancels the futures of the calls that were still queued so their callers are released instead of waiting forever. + +```java +@Slf4j +public class Bulkhead implements AutoCloseable { + + @Getter private final String name; + @Getter private final int maxConcurrentCalls; + @Getter private final int maxQueueSize; + private final ThreadPoolExecutor executor; + private final AtomicLong rejectedCalls = new AtomicLong(); + + public Bulkhead(String name, int maxConcurrentCalls, int maxQueueSize) { + // argument validation omitted + this.name = name; + this.maxConcurrentCalls = maxConcurrentCalls; + this.maxQueueSize = maxQueueSize; + BlockingQueue queue = + maxQueueSize == 0 ? new SynchronousQueue<>() : new ArrayBlockingQueue<>(maxQueueSize); + var threadCounter = new AtomicInteger(); + this.executor = + new ThreadPoolExecutor( + maxConcurrentCalls, + maxConcurrentCalls, + 0L, + TimeUnit.MILLISECONDS, + queue, + runnable -> + new Thread(runnable, "bulkhead-" + name + "-" + threadCounter.incrementAndGet()), + new ThreadPoolExecutor.AbortPolicy()); + } + + public Future submit(Callable task) { + if (executor.isShutdown()) { + throw new IllegalStateException("Bulkhead '" + name + "' is shut down"); + } + try { + return executor.submit(task); + } catch (RejectedExecutionException e) { + if (executor.isShutdown()) { + throw new IllegalStateException("Bulkhead '" + name + "' is shut down"); + } + rejectedCalls.incrementAndGet(); + LOGGER.warn( + "Bulkhead '{}' is full ({} active, {} queued), rejecting call", + name, + executor.getActiveCount(), + executor.getQueue().size()); + throw new BulkheadFullException(name); + } + } + + public int getActiveCalls() { + return executor.getActiveCount(); + } + + public int getQueuedCalls() { + return executor.getQueue().size(); + } + + public long getRejectedCalls() { + return rejectedCalls.get(); + } + + public void shutdown() { + for (var pending : executor.shutdownNow()) { + if (pending instanceof Future future) { + future.cancel(false); + } + } + } + + @Override + public void close() { + shutdown(); + } +} +``` + +`BulkheadFullException` carries the name of the compartment that turned the call away. + +```java +public class BulkheadFullException extends RuntimeException { + + private final String bulkheadName; + + public BulkheadFullException(String bulkheadName) { + super("Bulkhead '" + bulkheadName + "' is full, call rejected"); + this.bulkheadName = bulkheadName; + } + + public String getBulkheadName() { + return bulkheadName; + } +} +``` + +The application runs two scenarios. In the first one every downstream call goes through one shared pool of two threads with a queue of two. Four slow payment calls fill the pool, and the next inventory call is rejected although the inventory system is healthy. In the second scenario each dependency gets its own bulkhead. The payment compartment still saturates and rejects the excess calls immediately, but the inventory compartment keeps answering because payment calls can no longer take its threads. + +```java +public static void main(String[] args) { + var payment = new PaymentService(PAYMENT_LATENCY); + var inventory = new InventoryService(); + + LOGGER.info("--- Scenario 1: one shared thread pool for every downstream call ---"); + try (var sharedPool = new Bulkhead("shared-pool", 2, 2)) { + var paymentFutures = flood(sharedPool, payment, "order", 4); + callInventory(sharedPool, inventory, "order-5"); + awaitAll(paymentFutures); + } + + LOGGER.info("--- Scenario 2: a dedicated bulkhead for each downstream dependency ---"); + try (var paymentBulkhead = new Bulkhead("payment", 2, 2); + var inventoryBulkhead = new Bulkhead("inventory", 2, 2)) { + var paymentFutures = flood(paymentBulkhead, payment, "order", 10); + for (var i = 1; i <= 3; i++) { + callInventory(inventoryBulkhead, inventory, "order-" + i); + } + awaitAll(paymentFutures); + LOGGER.info( + "Bulkhead '{}' rejected {} of 10 calls, bulkhead '{}' rejected {} of 3 calls", + paymentBulkhead.getName(), + paymentBulkhead.getRejectedCalls(), + inventoryBulkhead.getName(), + inventoryBulkhead.getRejectedCalls()); + } +} +``` + +`flood` submits a burst of calls and logs the ones that are rejected, `callInventory` submits one inventory call and reports whether it was served or rejected, and `awaitAll` waits for the accepted payment calls. + +```java +private static List> flood( + Bulkhead bulkhead, RemoteService service, String requestPrefix, int calls) { + var accepted = new ArrayList>(); + for (var i = 1; i <= calls; i++) { + var request = requestPrefix + "-" + i; + try { + accepted.add(bulkhead.submit(() -> service.call(request))); + } catch (BulkheadFullException e) { + LOGGER.info("Request '{}' rejected immediately: {}", request, e.getMessage()); + } + } + return accepted; +} +``` + +Running the application produces output similar to the following. + +``` +--- Scenario 1: one shared thread pool for every downstream call --- +Payment provider received 'order-1', it will take 300 ms +Payment provider received 'order-2', it will take 300 ms +Bulkhead 'shared-pool' is full (2 active, 2 queued), rejecting call +Inventory check for 'order-5' rejected although the inventory system is healthy: Bulkhead 'shared-pool' is full, call rejected +Payment response: Payment approved for order-1 +... +--- Scenario 2: a dedicated bulkhead for each downstream dependency --- +Payment provider received 'order-1', it will take 300 ms +Payment provider received 'order-2', it will take 300 ms +Bulkhead 'payment' is full (2 active, 2 queued), rejecting call +Request 'order-5' rejected immediately: Bulkhead 'payment' is full, call rejected +... +Inventory system received 'order-1' +Inventory response: Inventory reserved for order-1 +Inventory system received 'order-2' +Inventory response: Inventory reserved for order-2 +Inventory system received 'order-3' +Inventory response: Inventory reserved for order-3 +Payment response: Payment approved for order-1 +... +Bulkhead 'payment' rejected 6 of 10 calls, bulkhead 'inventory' rejected 0 of 3 calls +``` + +## When to Use the Bulkhead Pattern in Java + +* A service calls several downstream dependencies and a slowdown in one of them must not degrade the others. +* Requests have different importance and the critical ones need guaranteed capacity. +* Threads, connections, or memory are shared and an overloaded consumer could starve the rest of the application. +* You prefer rejecting excess load quickly over queueing it indefinitely and timing out later. + +## Real-World Applications of Bulkhead Pattern in Java + +* [Resilience4j Bulkhead](https://resilience4j.readme.io/docs/bulkhead) offers a semaphore based and a thread pool based bulkhead. +* [Netflix Hystrix](https://github.com/Netflix/Hystrix/wiki/How-it-Works#isolation) isolated every command in its own thread pool. +* Separate connection pools per database or per tenant in JDBC and HTTP client configurations. +* Kubernetes resource limits and separate node pools that keep noisy workloads apart. + +## Benefits and Trade-offs of Bulkhead Pattern + +Benefits: + +* Contains failures: an overloaded dependency can only exhaust its own compartment. +* Fails fast: callers learn immediately that a compartment is full and can degrade gracefully. +* Predictable capacity: every dependency has a known, bounded share of the resources. +* Easy to observe: active, queued, and rejected calls per compartment are natural metrics. + +Trade-offs: + +* Resources sit idle in one compartment while another is saturated, so overall utilisation can drop. +* Every compartment needs sizing and tuning, which adds configuration and operational overhead. +* Thread pool bulkheads add a thread hop and a small latency cost for every call. +* Rejected calls still need a strategy, such as a fallback or a retry, to give the user a sensible result. + +## Related Java Design Patterns + +* [Circuit Breaker](../circuit-breaker): stops calling a dependency that keeps failing, while a bulkhead limits how much of the caller a dependency can occupy. +* [Fallback](../fallback): supplies a degraded response when a bulkhead rejects a call. +* [Retry](../retry): retries a call that was rejected once the compartment has free capacity again. +* [Throttling](../throttling) and [Rate Limiting](../rate-limiting-pattern): limit how many calls a client may make over time, whereas a bulkhead limits how many calls may run at once. +* [Health Check](../health-check): reports the state of dependencies that bulkheads protect. + +## References and Credits + +* [Release It!: Design and Deploy Production-Ready Software](https://amzn.to/3Uul4kF) +* [Microservices Patterns: With examples in Java](https://amzn.to/3UyWD5O) +* [Bulkhead pattern (microservices.io)](https://microservices.io/patterns/reliability/bulkhead.html) +* [Bulkhead pattern (Azure Architecture Center)](https://learn.microsoft.com/en-us/azure/architecture/patterns/bulkhead) +* [Resilience4j Bulkhead](https://resilience4j.readme.io/docs/bulkhead) diff --git a/microservices-bulkhead/etc/microservices-bulkhead.urm.png b/microservices-bulkhead/etc/microservices-bulkhead.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..ddaba0a76528cbf544d5e30f579df90698bde1e1 GIT binary patch literal 46872 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 literal 0 HcmV?d00001 diff --git a/microservices-bulkhead/etc/microservices-bulkhead.urm.puml b/microservices-bulkhead/etc/microservices-bulkhead.urm.puml new file mode 100644 index 000000000000..038e37526989 --- /dev/null +++ b/microservices-bulkhead/etc/microservices-bulkhead.urm.puml @@ -0,0 +1,53 @@ +@startuml +package com.iluwatar.bulkhead { + interface RemoteService { + + call(request : String) : String {abstract} + } + class Bulkhead { + - name : String + - maxConcurrentCalls : int + - maxQueueSize : int + - executor : ThreadPoolExecutor + - rejectedCalls : AtomicLong + + Bulkhead(name : String, maxConcurrentCalls : int, maxQueueSize : int) + + submit(task : Callable) : Future + + getName() : String + + getMaxConcurrentCalls() : int + + getMaxQueueSize() : int + + getActiveCalls() : int + + getQueuedCalls() : int + + getRejectedCalls() : long + + shutdown() : void + + close() : void + } + class BulkheadFullException { + - bulkheadName : String + + BulkheadFullException(bulkheadName : String) + + getBulkheadName() : String + } + class PaymentService { + - latency : Duration + + PaymentService(latency : Duration) + + call(request : String) : String + } + class InventoryService { + + InventoryService() + + call(request : String) : String + } + class App { + - PAYMENT_LATENCY : Duration {static} + - WAIT_TIMEOUT : Duration {static} + + App() + + main(args : String[]) : void {static} + } +} +Bulkhead ..|> AutoCloseable +BulkheadFullException --|> RuntimeException +PaymentService ..|> RemoteService +InventoryService ..|> RemoteService +Bulkhead ..> BulkheadFullException +App ..> Bulkhead +App ..> PaymentService +App ..> InventoryService +App ..> BulkheadFullException +@enduml diff --git a/microservices-bulkhead/pom.xml b/microservices-bulkhead/pom.xml new file mode 100644 index 000000000000..a261642c597d --- /dev/null +++ b/microservices-bulkhead/pom.xml @@ -0,0 +1,70 @@ + + + + 4.0.0 + + com.iluwatar + java-design-patterns + 1.26.0-SNAPSHOT + + microservices-bulkhead + + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-classic + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.bulkhead.App + + + + + + + + + diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/App.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/App.java new file mode 100644 index 000000000000..3074a2b32370 --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/App.java @@ -0,0 +1,134 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import lombok.extern.slf4j.Slf4j; + +/** + * The Bulkhead pattern partitions the resources of a service so that a failure or an overload in + * one dependency cannot sink the whole service, just like the watertight compartments in a ship's + * hull keep a single leak from flooding the entire vessel. + * + *

In this example an order service calls two downstream dependencies: a payment provider that + * has become very slow and an inventory system that is perfectly healthy. The demo first sends both + * kinds of calls through one shared thread pool. The slow payment calls fill every thread and the + * queue, so a request for the healthy inventory system is rejected although nothing is wrong with + * it. The demo then gives each dependency its own {@link Bulkhead}. The payment compartment still + * saturates and rejects the excess calls fast, but the inventory compartment keeps answering + * immediately because the payment calls can no longer consume its threads. + */ +@Slf4j +public class App { + + private static final Duration PAYMENT_LATENCY = Duration.ofMillis(300); + private static final Duration WAIT_TIMEOUT = Duration.ofSeconds(5); + + /** + * Program entry point. + * + * @param args command line arguments, not used + */ + public static void main(String[] args) { + var payment = new PaymentService(PAYMENT_LATENCY); + var inventory = new InventoryService(); + + LOGGER.info("--- Scenario 1: one shared thread pool for every downstream call ---"); + try (var sharedPool = new Bulkhead("shared-pool", 2, 2)) { + var paymentFutures = flood(sharedPool, payment, "order", 4); + callInventory(sharedPool, inventory, "order-5"); + awaitAll(paymentFutures); + } + + LOGGER.info("--- Scenario 2: a dedicated bulkhead for each downstream dependency ---"); + try (var paymentBulkhead = new Bulkhead("payment", 2, 2); + var inventoryBulkhead = new Bulkhead("inventory", 2, 2)) { + var paymentFutures = flood(paymentBulkhead, payment, "order", 10); + for (var i = 1; i <= 3; i++) { + callInventory(inventoryBulkhead, inventory, "order-" + i); + } + awaitAll(paymentFutures); + LOGGER.info( + "Bulkhead '{}' rejected {} of 10 calls, bulkhead '{}' rejected {} of 3 calls", + paymentBulkhead.getName(), + paymentBulkhead.getRejectedCalls(), + inventoryBulkhead.getName(), + inventoryBulkhead.getRejectedCalls()); + } + } + + static List> flood( + Bulkhead bulkhead, RemoteService service, String requestPrefix, int calls) { + var accepted = new ArrayList>(); + for (var i = 1; i <= calls; i++) { + var request = requestPrefix + "-" + i; + try { + accepted.add(bulkhead.submit(() -> service.call(request))); + } catch (BulkheadFullException e) { + LOGGER.info("Request '{}' rejected immediately: {}", request, e.getMessage()); + } + } + return accepted; + } + + static void callInventory(Bulkhead bulkhead, RemoteService inventory, String request) { + try { + var response = bulkhead.submit(() -> inventory.call(request)); + LOGGER.info( + "Inventory response: {}", response.get(WAIT_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS)); + } catch (BulkheadFullException e) { + LOGGER.error( + "Inventory check for '{}' rejected although the inventory system is healthy: {}", + request, + e.getMessage()); + } catch (ExecutionException | TimeoutException e) { + LOGGER.error("Inventory check for '{}' failed", request, e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + LOGGER.warn( + "Inventory check for '{}' was interrupted while waiting for the response", request); + } + } + + static void awaitAll(List> futures) { + for (var future : futures) { + try { + LOGGER.info( + "Payment response: {}", future.get(WAIT_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS)); + } catch (ExecutionException | TimeoutException e) { + LOGGER.error("Payment call failed", e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return; + } + } + } +} diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/Bulkhead.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/Bulkhead.java new file mode 100644 index 000000000000..9b04849c053f --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/Bulkhead.java @@ -0,0 +1,157 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Callable; +import java.util.concurrent.Future; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; + +/** + * Isolates the calls made to one downstream dependency inside a dedicated, bounded thread pool. + * + *

The pool has a fixed number of worker threads and a bounded waiting queue. When both are full + * the bulkhead does not block the caller and it cannot borrow threads from anywhere else: the call + * fails fast with a {@link BulkheadFullException}. Each dependency gets its own instance, so a slow + * or hanging dependency can only exhaust its own compartment while the rest of the system keeps + * serving requests. + */ +@Slf4j +public class Bulkhead implements AutoCloseable { + + @Getter private final String name; + @Getter private final int maxConcurrentCalls; + @Getter private final int maxQueueSize; + private final ThreadPoolExecutor executor; + private final AtomicLong rejectedCalls = new AtomicLong(); + + /** + * Creates a bulkhead with its own thread pool. + * + * @param name name of the compartment, used in logs and worker thread names + * @param maxConcurrentCalls number of calls that may run at the same time + * @param maxQueueSize number of calls that may wait for a free thread; zero disables queueing + */ + public Bulkhead(String name, int maxConcurrentCalls, int maxQueueSize) { + if (maxConcurrentCalls < 1) { + throw new IllegalArgumentException("maxConcurrentCalls must be at least 1"); + } + if (maxQueueSize < 0) { + throw new IllegalArgumentException("maxQueueSize must not be negative"); + } + this.name = name; + this.maxConcurrentCalls = maxConcurrentCalls; + this.maxQueueSize = maxQueueSize; + BlockingQueue queue = + maxQueueSize == 0 ? new SynchronousQueue<>() : new ArrayBlockingQueue<>(maxQueueSize); + var threadCounter = new AtomicInteger(); + this.executor = + new ThreadPoolExecutor( + maxConcurrentCalls, + maxConcurrentCalls, + 0L, + TimeUnit.MILLISECONDS, + queue, + runnable -> + new Thread(runnable, "bulkhead-" + name + "-" + threadCounter.incrementAndGet()), + new ThreadPoolExecutor.AbortPolicy()); + } + + /** + * Submits a call to this compartment. + * + * @param task the call to execute + * @param type of the result + * @return a future that completes with the result of the call + * @throws BulkheadFullException if every thread is busy and the queue is full + * @throws IllegalStateException if the bulkhead has been shut down + */ + public Future submit(Callable task) { + if (executor.isShutdown()) { + throw new IllegalStateException("Bulkhead '" + name + "' is shut down"); + } + try { + var future = executor.submit(task); + LOGGER.debug( + "Bulkhead '{}' accepted call ({} active, {} queued)", + name, + executor.getActiveCount(), + executor.getQueue().size()); + return future; + } catch (RejectedExecutionException e) { + if (executor.isShutdown()) { + throw new IllegalStateException("Bulkhead '" + name + "' is shut down"); + } + rejectedCalls.incrementAndGet(); + LOGGER.warn( + "Bulkhead '{}' is full ({} active, {} queued), rejecting call", + name, + executor.getActiveCount(), + executor.getQueue().size()); + throw new BulkheadFullException(name); + } + } + + /** Number of calls currently running. */ + public int getActiveCalls() { + return executor.getActiveCount(); + } + + /** Number of calls waiting for a free thread. */ + public int getQueuedCalls() { + return executor.getQueue().size(); + } + + /** Number of calls rejected since the bulkhead was created. */ + public long getRejectedCalls() { + return rejectedCalls.get(); + } + + /** + * Stops the compartment, interrupting calls that are still running and cancelling the calls that + * were still waiting in the queue, so that callers blocked on their future are released instead + * of waiting for a result that will never be produced. + */ + public void shutdown() { + for (var pending : executor.shutdownNow()) { + if (pending instanceof Future future) { + future.cancel(false); + } + } + } + + @Override + public void close() { + shutdown(); + } +} diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/BulkheadFullException.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/BulkheadFullException.java new file mode 100644 index 000000000000..de4c0bb516bb --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/BulkheadFullException.java @@ -0,0 +1,46 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +/** + * Thrown by a {@link Bulkhead} when a call cannot be accepted because every worker thread is busy + * and the waiting queue is full. The caller receives this exception immediately instead of + * blocking, which is the fail-fast behaviour the pattern relies on: the caller can degrade + * gracefully while the overloaded dependency keeps consuming only the capacity reserved for it. + */ +public class BulkheadFullException extends RuntimeException { + + private final String bulkheadName; + + public BulkheadFullException(String bulkheadName) { + super("Bulkhead '" + bulkheadName + "' is full, call rejected"); + this.bulkheadName = bulkheadName; + } + + /** Name of the bulkhead that rejected the call. */ + public String getBulkheadName() { + return bulkheadName; + } +} diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/InventoryService.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/InventoryService.java new file mode 100644 index 000000000000..a1648738a613 --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/InventoryService.java @@ -0,0 +1,41 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import lombok.extern.slf4j.Slf4j; + +/** + * Simulates a healthy inventory system that answers immediately. It represents the dependency that + * should keep working even while another dependency is overloaded. + */ +@Slf4j +public class InventoryService implements RemoteService { + + @Override + public String call(String request) { + LOGGER.info("Inventory system received '{}'", request); + return "Inventory reserved for " + request; + } +} diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/PaymentService.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/PaymentService.java new file mode 100644 index 000000000000..e4c1599a4a3d --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/PaymentService.java @@ -0,0 +1,60 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import java.time.Duration; +import lombok.extern.slf4j.Slf4j; + +/** + * Simulates a payment provider that has become slow. Every call takes the configured latency, so a + * burst of payment requests keeps the threads that serve it busy for a long time. Without a + * bulkhead these calls would also occupy the threads needed by healthy dependencies. + */ +@Slf4j +public class PaymentService implements RemoteService { + + private final Duration latency; + + /** + * Creates a payment service. + * + * @param latency time every call takes to complete + */ + public PaymentService(Duration latency) { + this.latency = latency; + } + + @Override + public String call(String request) { + LOGGER.info("Payment provider received '{}', it will take {} ms", request, latency.toMillis()); + try { + Thread.sleep(latency); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IllegalStateException("Payment for '" + request + "' was interrupted", e); + } + return "Payment approved for " + request; + } +} diff --git a/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/RemoteService.java b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/RemoteService.java new file mode 100644 index 000000000000..be4f21941415 --- /dev/null +++ b/microservices-bulkhead/src/main/java/com/iluwatar/bulkhead/RemoteService.java @@ -0,0 +1,42 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +/** + * A remote dependency that a service calls over the network, such as a payment provider or an + * inventory system. Every call is routed through a {@link Bulkhead} so that the caller never lets + * one dependency monopolise its threads. + */ +@FunctionalInterface +public interface RemoteService { + + /** + * Performs the remote call. + * + * @param request identifier of the request, used in the response and in the logs + * @return the response of the dependency + */ + String call(String request); +} diff --git a/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/AppTest.java b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/AppTest.java new file mode 100644 index 000000000000..35c85bf9c77d --- /dev/null +++ b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/AppTest.java @@ -0,0 +1,151 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +class AppTest { + + private static final long TIMEOUT_SECONDS = 5; + + @AfterEach + void clearInterruptFlag() { + Thread.interrupted(); + } + + @Test + void shouldLaunchApp() { + assertDoesNotThrow(() -> App.main(new String[] {})); + } + + @Test + void shouldBeInstantiable() { + assertNotNull(new App(), "App should be instantiable"); + } + + @Test + void callInventoryShouldReportFailureOfTheRemoteCall() { + try (var bulkhead = new Bulkhead("inventory", 1, 1)) { + RemoteService failing = + request -> { + throw new IllegalStateException("inventory system down"); + }; + + assertDoesNotThrow(() -> App.callInventory(bulkhead, failing, "order-1")); + } + } + + @Test + void callInventoryShouldReportRejectionWhenBulkheadIsFull() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + try (var bulkhead = new Bulkhead("inventory", 1, 0)) { + var blocking = bulkhead.submit(blockOn(started, gate)); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + + assertDoesNotThrow(() -> App.callInventory(bulkhead, new InventoryService(), "order-1")); + + gate.countDown(); + blocking.get(TIMEOUT_SECONDS, TimeUnit.SECONDS); + } + } + + @Test + void callInventoryShouldKeepInterruptFlagWhenWaitingIsInterrupted() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + try (var bulkhead = new Bulkhead("inventory", 1, 1)) { + RemoteService slow = + request -> { + started.countDown(); + awaitQuietly(gate); + return "late"; + }; + Thread.currentThread().interrupt(); + + assertDoesNotThrow(() -> App.callInventory(bulkhead, slow, "order-1")); + + assertTrue(Thread.interrupted()); + gate.countDown(); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + } + } + + @Test + void awaitAllShouldReportFailedCalls() { + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + Future failed = + bulkhead.submit( + () -> { + throw new IllegalStateException("payment provider down"); + }); + + assertDoesNotThrow(() -> App.awaitAll(List.of(failed))); + } + } + + @Test + void awaitAllShouldStopAndKeepInterruptFlagWhenWaitingIsInterrupted() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + var blocking = bulkhead.submit(blockOn(started, gate)); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + Thread.currentThread().interrupt(); + + assertDoesNotThrow(() -> App.awaitAll(List.of(blocking))); + + assertTrue(Thread.interrupted()); + gate.countDown(); + blocking.get(TIMEOUT_SECONDS, TimeUnit.SECONDS); + } + } + + private static Callable blockOn(CountDownLatch started, CountDownLatch gate) { + return () -> { + started.countDown(); + awaitQuietly(gate); + return "done"; + }; + } + + private static void awaitQuietly(CountDownLatch gate) { + try { + gate.await(TIMEOUT_SECONDS, TimeUnit.SECONDS); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } +} diff --git a/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/BulkheadTest.java b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/BulkheadTest.java new file mode 100644 index 000000000000..33df93981fae --- /dev/null +++ b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/BulkheadTest.java @@ -0,0 +1,175 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.concurrent.Callable; +import java.util.concurrent.CancellationException; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import org.junit.jupiter.api.Test; + +class BulkheadTest { + + private static final long TIMEOUT_SECONDS = 5; + + @Test + void shouldExecuteCallWhenCapacityIsAvailable() throws Exception { + try (var bulkhead = new Bulkhead("test", 1, 1)) { + var future = bulkhead.submit(() -> "ok"); + + assertEquals("ok", future.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + assertEquals(0, bulkhead.getRejectedCalls()); + } + } + + @Test + void shouldRejectCallWhenThreadsAndQueueAreFull() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + var running = bulkhead.submit(blockOn(started, gate)); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + var queued = bulkhead.submit(() -> "queued"); + + var exception = + assertThrows(BulkheadFullException.class, () -> bulkhead.submit(() -> "rejected")); + + assertEquals("payment", exception.getBulkheadName()); + assertEquals("Bulkhead 'payment' is full, call rejected", exception.getMessage()); + assertEquals(1, bulkhead.getActiveCalls()); + assertEquals(1, bulkhead.getQueuedCalls()); + assertEquals(1, bulkhead.getRejectedCalls()); + + gate.countDown(); + assertEquals("running", running.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + assertEquals("queued", queued.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + } + } + + @Test + void shouldAcceptCallsAgainAfterCapacityIsReleased() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + var running = bulkhead.submit(blockOn(started, gate)); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + var queued = bulkhead.submit(() -> "queued"); + assertThrows(BulkheadFullException.class, () -> bulkhead.submit(() -> "rejected")); + + gate.countDown(); + assertEquals("running", running.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + assertEquals("queued", queued.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + + // The queue is empty again, so the next call is accepted even if the worker thread has not + // yet returned to polling the queue. A bulkhead without a queue would race here, because the + // hand-off to the single thread only succeeds once that thread is idle. + var afterRelease = bulkhead.submit(() -> "accepted"); + assertEquals("accepted", afterRelease.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + assertEquals(1, bulkhead.getRejectedCalls()); + } + } + + @Test + void shouldPropagateFailureOfTheCallThroughTheFuture() { + try (var bulkhead = new Bulkhead("test", 1, 1)) { + var future = + bulkhead.submit( + () -> { + throw new IllegalStateException("downstream failure"); + }); + + var exception = + assertThrows( + ExecutionException.class, () -> future.get(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + + assertInstanceOf(IllegalStateException.class, exception.getCause()); + assertEquals(0, bulkhead.getRejectedCalls()); + } + } + + @Test + void shouldRunCallsOnThreadsNamedAfterTheBulkhead() throws Exception { + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + var threadName = bulkhead.submit(() -> Thread.currentThread().getName()); + + assertTrue(threadName.get(TIMEOUT_SECONDS, TimeUnit.SECONDS).startsWith("bulkhead-payment-")); + } + } + + @Test + void shouldRejectSubmissionAfterShutdown() { + var bulkhead = new Bulkhead("test", 1, 1); + bulkhead.shutdown(); + + assertThrows(IllegalStateException.class, () -> bulkhead.submit(() -> "late")); + } + + @Test + void shouldCancelQueuedCallsOnShutdown() throws Exception { + var started = new CountDownLatch(1); + var gate = new CountDownLatch(1); + Future queued; + try (var bulkhead = new Bulkhead("payment", 1, 1)) { + bulkhead.submit(blockOn(started, gate)); + assertTrue(started.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)); + queued = bulkhead.submit(() -> "queued"); + } + + // Without the cancellation the queued task would simply be dropped and this call would block + // until the timeout expires, because nobody ever completes its future. + assertTrue(queued.isCancelled()); + assertThrows(CancellationException.class, () -> queued.get(1, TimeUnit.SECONDS)); + } + + @Test + void shouldRejectInvalidConfiguration() { + assertThrows(IllegalArgumentException.class, () -> new Bulkhead("test", 0, 1)); + assertThrows(IllegalArgumentException.class, () -> new Bulkhead("test", 1, -1)); + } + + @Test + void shouldExposeConfiguration() { + try (var bulkhead = new Bulkhead("inventory", 3, 4)) { + assertEquals("inventory", bulkhead.getName()); + assertEquals(3, bulkhead.getMaxConcurrentCalls()); + assertEquals(4, bulkhead.getMaxQueueSize()); + } + } + + private static Callable blockOn(CountDownLatch started, CountDownLatch gate) { + return () -> { + started.countDown(); + gate.await(TIMEOUT_SECONDS, TimeUnit.SECONDS); + return "running"; + }; + } +} diff --git a/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/InventoryServiceTest.java b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/InventoryServiceTest.java new file mode 100644 index 000000000000..96d4e2a38732 --- /dev/null +++ b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/InventoryServiceTest.java @@ -0,0 +1,39 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +class InventoryServiceTest { + + @Test + void shouldReserveInventoryImmediately() { + var service = new InventoryService(); + + assertEquals("Inventory reserved for order-1", service.call("order-1")); + } +} diff --git a/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/PaymentServiceTest.java b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/PaymentServiceTest.java new file mode 100644 index 000000000000..5ff96742c0a7 --- /dev/null +++ b/microservices-bulkhead/src/test/java/com/iluwatar/bulkhead/PaymentServiceTest.java @@ -0,0 +1,58 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.bulkhead; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.Duration; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +class PaymentServiceTest { + + @AfterEach + void clearInterruptFlag() { + Thread.interrupted(); + } + + @Test + void shouldApprovePaymentAfterLatency() { + var service = new PaymentService(Duration.ofMillis(10)); + + assertEquals("Payment approved for order-1", service.call("order-1")); + } + + @Test + void shouldFailAndKeepInterruptFlagWhenInterrupted() { + var service = new PaymentService(Duration.ofSeconds(10)); + Thread.currentThread().interrupt(); + + assertThrows(IllegalStateException.class, () -> service.call("order-1")); + + assertTrue(Thread.currentThread().isInterrupted()); + } +} diff --git a/pom.xml b/pom.xml index 266c02fcb388..17cca3d15482 100644 --- a/pom.xml +++ b/pom.xml @@ -260,6 +260,7 @@ rate-limiting-pattern fallback onion-architecture + microservices-bulkhead microservices-load-shedding

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 literal 0 HcmV?d00001 diff --git a/localization/fr/api-gateway/README.md b/localization/fr/microservices-api-gateway/README.md similarity index 99% rename from localization/fr/api-gateway/README.md rename to localization/fr/microservices-api-gateway/README.md index 70e513e00e1f..37a28b7df566 100644 --- a/localization/fr/api-gateway/README.md +++ b/localization/fr/microservices-api-gateway/README.md @@ -142,7 +142,7 @@ public class ApiGateway { ``` ## Diagramme de clqsses -![alt text](../../../api-gateway/etc/api-gateway.png "API Gateway") +![alt text](./etc/api-gateway.png "API Gateway") ## Application diff --git a/localization/fr/microservices-api-gateway/etc/api-gateway.png b/localization/fr/microservices-api-gateway/etc/api-gateway.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3ec2e2e1a824699a539c89f362d2573e3860c9 GIT binary patch literal 18323 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 Date: Sun, 13 Sep 2026 09:04:55 +0300 Subject: [PATCH 2/4] docs: add kaizencode-art as a contributor for translation (#3609) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index ccc740df15e1..ad56534bf369 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -3800,6 +3800,15 @@ "contributions": [ "translation" ] + }, + { + "login": "kaizencode-art", + "name": "KaizenCode", + "avatar_url": "https://avatars.githubusercontent.com/u/206610174?v=4", + "profile": "http://blog.kaizensphere.dev", + "contributions": [ + "translation" + ] } ], "contributorsPerLine": 6, diff --git a/README.md b/README.md index ec9db107b2ea..acb40b56bc99 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=iluwatar_java-design-patterns&metric=coverage)](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns) [![Join the chat at https://gitter.im/iluwatar/java-design-patterns](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![All Contributors](https://img.shields.io/badge/all_contributors-417-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-418-orange.svg?style=flat-square)](#contributors-)
@@ -637,6 +637,7 @@ This project is licensed under the terms of the MIT license.
Sandhya
Sandhya

💻 dev-ikae
dev-ikae

💻 zanarelli
zanarelli

🌍 + KaizenCode
KaizenCode

🌍 From dd24a29f8091964040066631f388ed511b62fd2c Mon Sep 17 00:00:00 2001 From: Doksanbir Date: Sun, 13 Sep 2026 09:29:24 +0300 Subject: [PATCH 3/4] feat: add Microservices Load Shedding pattern (#3229) (#3599) * feat: add Microservices Load Shedding pattern (#3229) * fix: harden load shedder release and report the admitted count release() clamps the in-flight count at zero, acquire() returns the admitted count that the service logs, and the demo summary reports the total shed. The class diagram is a rendered PNG. --- microservices-load-shedding/README.md | 237 ++++++++++++++++++ .../etc/microservices-load-shedding.urm.png | Bin 0 -> 158059 bytes .../etc/microservices-load-shedding.urm.puml | 90 +++++++ microservices-load-shedding/pom.xml | 70 ++++++ .../java/com/iluwatar/loadshedding/App.java | 194 ++++++++++++++ .../loadshedding/LoadShedException.java | 57 +++++ .../iluwatar/loadshedding/LoadShedder.java | 146 +++++++++++ .../com/iluwatar/loadshedding/Priority.java | 39 +++ .../com/iluwatar/loadshedding/Request.java | 36 +++ .../iluwatar/loadshedding/RequestHandler.java | 41 +++ .../com/iluwatar/loadshedding/Response.java | 55 ++++ .../loadshedding/ShedGuardedService.java | 84 +++++++ .../com/iluwatar/loadshedding/AppTest.java | 177 +++++++++++++ .../loadshedding/LoadShedderTest.java | 201 +++++++++++++++ .../loadshedding/ShedGuardedServiceTest.java | 80 ++++++ pom.xml | 1 + 16 files changed, 1508 insertions(+) create mode 100644 microservices-load-shedding/README.md create mode 100644 microservices-load-shedding/etc/microservices-load-shedding.urm.png create mode 100644 microservices-load-shedding/etc/microservices-load-shedding.urm.puml create mode 100644 microservices-load-shedding/pom.xml create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/App.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedException.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/LoadShedder.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Priority.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Request.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/RequestHandler.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/Response.java create mode 100644 microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/ShedGuardedService.java create mode 100644 microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/AppTest.java create mode 100644 microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/LoadShedderTest.java create mode 100644 microservices-load-shedding/src/test/java/com/iluwatar/loadshedding/ShedGuardedServiceTest.java diff --git a/microservices-load-shedding/README.md b/microservices-load-shedding/README.md new file mode 100644 index 000000000000..ae2ef09e1ad2 --- /dev/null +++ b/microservices-load-shedding/README.md @@ -0,0 +1,237 @@ +--- +title: "Load Shedding Pattern in Java: Protecting Microservices from Overload" +shortTitle: Load Shedding +description: "Learn the Load Shedding pattern in Java: reject excess requests at the door, keep critical traffic flowing and stop overload from turning into an outage. Includes a runnable example, class diagram and trade-offs." +category: Resilience +language: en +tag: + - Fault tolerance + - Microservices + - Performance + - Resource management + - Scalability +--- + +## Also known as + +* Overload protection +* Admission control +* Graceful degradation under load + +## Intent of Load Shedding Design Pattern + +Keep a service responsive when it receives more work than it can handle by measuring its own load and rejecting excess requests immediately, before they consume threads, memory or connections. The requests that are accepted are served with normal latency, the rest fail fast so callers can retry or degrade gracefully. + +## Detailed Explanation of Load Shedding Pattern with Real-World Examples + +Real-world example + +> A power grid that is asked for more electricity than it can generate does not try to serve everybody a little worse. It disconnects selected neighbourhoods in a controlled way, keeps hospitals and traffic lights powered, and reconnects the rest when generation catches up. Without this deliberate "load shedding" the frequency would drop and the whole grid would collapse. + +In plain words + +> When a service is at capacity, say no to new requests right away instead of letting them queue up and slow everything down. Drop the least important work first. + +Google's Site Reliability Engineering book says + +> A server that is overloaded should degrade gracefully... it is better to reject some requests quickly than to accept all of them and serve every request slowly or not at all. + +Flowchart + +```mermaid +flowchart TD + A[Incoming request] --> B{In-flight below limit
for this priority?} + B -- yes --> C[Admit: in-flight + 1] + C --> D[Process request] + D --> E[Release: in-flight - 1] + E --> F[ACCEPTED response] + B -- no --> G[Count as shed] + G --> H[REJECTED response
fail fast, retry later] +``` + +![Load Shedding class diagram](./etc/microservices-load-shedding.urm.png) + +## Programmatic Example of Load Shedding Pattern in Java + +Our example is an order service that can process five requests at the same time. When a slow payment provider makes orders pile up inside the service, new requests are shed according to their priority: best-effort work is dropped first, regular traffic is dropped when the service is almost full, and one slot is always kept free for critical requests such as checkout. + +Every request carries a `Priority`. It is the only piece of information the shedder needs. + +```java +public enum Priority { + CRITICAL, + NORMAL, + LOW +} + +public record Request(String id, Priority priority, String description) {} +``` + +The `LoadShedder` is the admission controller. It knows the hard capacity of the service and a limit per priority: low priority requests are shed early, normal requests may not touch the reserve kept for critical ones, and critical requests may use the whole capacity. The admission check is lock-free: the in-flight count is updated with an atomic accumulator whose function refuses to increment past the limit, so concurrent callers can never push the in-flight count above the capacity. A request that cannot be admitted gets a `LoadShedException` immediately instead of a place in a queue. + +```java +public class LoadShedder { + + private final int maxInFlight; + private final Map limits = new EnumMap<>(Priority.class); + private final AtomicInteger inFlight = new AtomicInteger(); + private final LongAdder accepted = new LongAdder(); + private final Map shed = new EnumMap<>(Priority.class); + + public LoadShedder(int maxInFlight, int lowPriorityLimit, int criticalReserve) { + // validation omitted + this.maxInFlight = maxInFlight; + limits.put(Priority.CRITICAL, maxInFlight); + limits.put(Priority.NORMAL, maxInFlight - criticalReserve); + limits.put(Priority.LOW, lowPriorityLimit); + for (var priority : Priority.values()) { + shed.put(priority, new LongAdder()); + } + } + + public int acquire(Request request) { + var priority = request.priority(); + var limit = limits.get(priority); + // The accumulator is a pure function, so it is safe for the atomic to re-apply it under + // contention: the count is only incremented while it is below the limit for this priority. + var previous = + inFlight.getAndAccumulate( + 1, (current, increment) -> current >= limit ? current : current + increment); + if (previous >= limit) { + // Fail fast: the caller gets an immediate rejection instead of waiting in a queue. + shed.get(priority).increment(); + throw new LoadShedException(request, previous, limit); + } + accepted.increment(); + return previous + 1; + } + + public void release() { + // Clamped at zero so that an unmatched release cannot hand out capacity the service lacks. + inFlight.updateAndGet(current -> Math.max(0, current - 1)); + } +} +``` + +`ShedGuardedService` puts the shedder in front of the real business logic, which is a plain `RequestHandler` function. Shed requests are answered with a `REJECTED` response right away and never reach the handler. Admitted requests always release their slot when they finish, even when the handler throws. + +```java +@Slf4j +public class ShedGuardedService { + + private final String name; + private final LoadShedder shedder; + private final RequestHandler handler; + + public Response handle(Request request) { + int inFlight; + try { + // The count is taken from the admission itself: reading it back afterwards could report a + // value that belongs to a concurrent request. + inFlight = shedder.acquire(request); + } catch (LoadShedException e) { + LOGGER.warn("[{}] shed {} ({}): {}", name, request.id(), request.priority(), e.getMessage()); + return Response.rejected(request, e.getMessage()); + } + LOGGER.info("[{}] admitted {} ({}), {}/{} in flight", name, request.id(), request.priority(), + inFlight, shedder.getMaxInFlight()); + try { + return Response.accepted(request, handler.handle(request)); + } finally { + shedder.release(); + } + } +} +``` + +The `App` drives three phases. Under light load every request is admitted. Then the payment provider becomes slow, four orders get stuck inside the service and three probes are sent: the low priority one is shed because the service is past the low priority limit, the normal one is shed because only the critical reserve is left, and the critical checkout is admitted into that reserve. When the provider recovers the stuck orders complete and new requests are admitted again. + +```java +var shedder = new LoadShedder(CAPACITY, LOW_PRIORITY_LIMIT, CRITICAL_RESERVE); +var orderService = new ShedGuardedService("order-service", shedder, paymentProvider); + +// Phase 2: four orders are stuck behind a slow payment provider +report(orderService.handle(new Request("p1", Priority.LOW, "prefetch recommendations"))); +report(orderService.handle(new Request("p2", Priority.NORMAL, "view cart"))); +var checkout = executor.submit( + () -> orderService.handle(new Request("p3", Priority.CRITICAL, "checkout payment"))); +``` + +Running the program produces output similar to this: + +``` +Order service capacity: 5 in flight, low priority shed at 3, 1 slot reserved for critical requests +--- Phase 1: light load, every request is admitted --- +[order-service] admitted r1 (LOW), 1/5 in flight +r1 -> ACCEPTED: processed prefetch recommendations +[order-service] admitted r2 (NORMAL), 1/5 in flight +r2 -> ACCEPTED: processed view cart +--- Phase 2: payment provider slows down, orders pile up --- +[order-service] admitted order-1 (NORMAL), 1/5 in flight +[order-service] admitted order-2 (NORMAL), 2/5 in flight +[order-service] admitted order-3 (NORMAL), 3/5 in flight +[order-service] admitted order-4 (NORMAL), 4/5 in flight +4 of 5 slots busy, probing with every priority +[order-service] shed p1 (LOW): Request p1 shed: 4 requests in flight, limit for LOW priority is 3 +p1 -> REJECTED: Request p1 shed: 4 requests in flight, limit for LOW priority is 3 +[order-service] shed p2 (NORMAL): Request p2 shed: 4 requests in flight, limit for NORMAL priority is 4 +p2 -> REJECTED: Request p2 shed: 4 requests in flight, limit for NORMAL priority is 4 +[order-service] admitted p3 (CRITICAL), 5/5 in flight +--- Phase 3: payment provider recovers, load drops --- +order-1 -> ACCEPTED: processed place order +order-2 -> ACCEPTED: processed place order +order-3 -> ACCEPTED: processed place order +order-4 -> ACCEPTED: processed place order +p3 -> ACCEPTED: processed checkout payment +[order-service] admitted r3 (LOW), 1/5 in flight +r3 -> ACCEPTED: processed prefetch recommendations +Summary: accepted=8, shed 2 requests in total: low=1, normal=1, critical=0 +``` + +## When to Use the Load Shedding Pattern in Java + +* A service has a known capacity (threads, connections, CPU) and traffic can exceed it, for example during marketing campaigns, retry storms or when a downstream dependency slows down. +* Latency matters more than throughput: it is better to answer some callers quickly with an error than to answer everybody late. +* Requests differ in importance and you want to protect critical flows (checkout, health checks, control plane traffic) at the expense of best-effort work. +* Callers are able to retry with backoff or to degrade gracefully when they receive a rejection. + +## Real-World Applications of Load Shedding Pattern in Java + +* Google's frontends shed load based on per-request criticality and measured CPU utilisation, as described in the Site Reliability Engineering book. +* Netflix's [concurrency-limits](https://github.com/Netflix/concurrency-limits) library rejects requests once the measured concurrency limit of a Java service is reached. +* Envoy and Istio provide admission control filters that reject requests when success rate or concurrency thresholds are exceeded. +* Resilience4j's `Bulkhead` and Hystrix's semaphore isolation reject calls when the configured number of concurrent calls is in flight. +* Netty and Tomcat reject connections when their accept queues are full rather than growing without bound. + +## Benefits and Trade-offs of Load Shedding Pattern + +Benefits: + +* Keeps latency predictable for the requests that are admitted instead of degrading every request. +* Prevents an overloaded service from exhausting memory, threads or connection pools and crashing. +* Stops overload from cascading: callers get an immediate answer and can fail over, degrade or back off. +* Priority-aware shedding protects the business-critical flows first. + +Trade-offs: + +* Some requests are deliberately rejected, so callers must be prepared to handle a rejection. +* Choosing capacity limits and priority thresholds requires measurement; limits that are too low waste capacity and limits that are too high do not protect the service. +* A static in-flight limit does not follow changes in hardware or in the cost of individual requests. Adaptive variants measure latency or CPU instead. +* Rejected callers that retry immediately can turn shedding into a retry storm, so shedding is usually combined with exponential backoff on the client side. + +## Related Java Design Patterns + +* [Rate Limiting](../rate-limiting-pattern): limits how many requests a client may send in a time window; load shedding instead reacts to the actual load of the server, whoever the client is. +* [Throttling](../throttling): slows callers down to a configured rate; load shedding rejects excess work outright once capacity is reached. +* [Backpressure](../backpressure): asks producers to slow down; load shedding is the last line of defence when producers cannot or do not slow down. +* [Queue-Based Load Leveling](../queue-based-load-leveling): buffers bursts in a queue; load shedding bounds that queue and drops what does not fit so that latency stays low. +* [Circuit Breaker](../circuit-breaker): protects a caller from a failing dependency; load shedding protects a service from its callers. +* [Fallback](../fallback): a natural companion, callers can answer a shed request with a cached or simplified response. + +## References and Credits + +* [Load Shedding pattern (microservices.io)](https://microservices.io/patterns/reliability/load-shedding.html) +* [Site Reliability Engineering, chapter Handling Overload (Google)](https://sre.google/sre-book/handling-overload/) +* [Release It! Design and Deploy Production-Ready Software (Michael T. Nygard)](https://www.amazon.com/gp/product/1680502395) +* [Using load shedding to avoid overload (Amazon Builders' Library)](https://aws.amazon.com/builders-library/using-load-shedding-to-avoid-overload/) +* [Netflix concurrency-limits](https://github.com/Netflix/concurrency-limits) diff --git a/microservices-load-shedding/etc/microservices-load-shedding.urm.png b/microservices-load-shedding/etc/microservices-load-shedding.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..106ac68422b4de4da226f016f08ddf47695e8363 GIT binary patch literal 158059 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 !21+JpylSOMt2E9o zH?&W2f4OB}JuOr0Jj>e{MeAWXc#Yq{d5(v2FJkZ7fe!~X1y3DMRpp;+m0y*5%zEFW z)YEEXn9NzXUKVy7+;@V1M6I3l?G~( zhNdRXV#u!#ZQW2AclARhO(o>>m-LkTZHMtND3Ij~@kEfmSkRm83C%PTIbQwo#m{;> zs#e@+wT^nA#!chRZxi9eqI~ss>Gy)?nVH=8IuX?%KPf6If@&EdIQYxguOd5lJ}HGN zgR=HS1GhsBEJe};o;h8*gw=*>9+y&wtlw;+1i#d;r+vtSgYA=aA_g(}aAkb>0Qu1) zHD(@xY0&VV3a&IDaFYlM(_lML4$J`!dxRlW6ajkq9-qg|H?Nu8C04+_`R-@I zXf#b~%(;x??)mi&4?6rduead$xCFHSJmC0Jk5|jBi>hvRb*4vK)gQ~e!@7U0OkQN| zR!b{F=Tf*H@}gS0B3H@SDF3Z!zxh`^t)Y5ah&OlUWlKDFO#n(^`B7ERv7xB``SY%q zus>>#FZj}%?`6ntQt@hoO9Si&q?sV`usOO*Zl{3kPcmSc6@Yd~N_BX|NFjZM9SlR$A94?R_Cq`U8n`eT!cOyw0CqC? z*slh^)NQ+e|c1hNxTR4k{t-Z1wK*!aX!WGttT}n1bB0r_vYm>o1N#_{DVTl znx@y)(^{vryIddJ%EZ~=FsiLn$h$sNh?CN=wWE`wS7@+0ooT!`U>o^m_&wuS#T|54 z`JE2^U%(~x^AhUC;tD1J+K-@E%rH^&=?zbPu)L~@r$9Z zg(H}@p@cHpn|IbyMS_We+s+`uTR$fL>QlBK5?`SM<)mMG@Cy~al9%TS;7E9NTfg3a z6M0RB^!xMua6AJ_b@e$rKo{Q247=O8S;*MnRDHX^^qFNYTfEnlMCef0LmHUGXZ(C3 zRkDMWaG*B)^7ewN(?8qW-!wS_{JgUQes*54we@E{$96znb|*GvV}XojxAwboBCylo z4fsOKc-BR^8*>*92>fyN(Nh15Fp2pjvZb>Tk7^-*zyGU#TD=@4yPF*!U<*X&nn2@I z@@p$uKV<(_DUDbi$q$nJ@-ZaG#63MxXclv{&dwLTyk3>Hd2iM%;ng`O-$ApI8#Gcu zetoxow0^xB zOt7+ck(Gj~z6L>mRSp~m)3km;myW36-D-X6Ev|ZX$uq}xkMz#&F-m1pR2+|~v=uR! zOJK0tO0K5I?jx=0$peSbdpaxLWcMJfS%C;!fiK<6OW_BQ;QS-<^8q1wjGv|QTEz|} zD}Mp65uRjvP_ufE|g`wX1gW zcKvgfZQh1Sxq-PAmZQ9UtOyX~=r+^Uiq3D#iFIXd&CS8nHi9#xUDIba{cw3zU{Ak= z^t=6Fg0U_*ro7EH1#xklpTj6U>%RZKob}z+Z}Uvx>a{#KCSozF#^^4`mGez)@4B0U zbd=RuFx!xn?3(T26WX!k)fbpC1XfA%H`bEW#@OysMJe7O8jF|9j z+%jIwq?&h@+8{s_oYc5YEp3hLX_`VXi!V4Ikk7qyy7k6 z&ClvSIw*V2cqM5%5&(`Gi7=rk1Xgf3=p0s>S5}^x+=(0t{&10&GuEB`?(VKW%s(3=!aGuZ^dwOEYu66s zd8Wxw5kJmtQ?zk3?+OdgO77XYlcfr~caKhOZiV=#QYr9|l1}h^#_c1Ckv|d~PWg34 zm0fIbt_Dj85v*uH@<)yE9n-anzp>yEme-YxrC49IVEpN{zJJpsn!r#>iw-(Ev zYK07Se-;%GWShI7#R8VL86vq3a#KvXhl8%6lPQ_~5JZXc5wT zrTGpRL?27g$A9;Ti8a*K1!i7Oxq(=Ra)#O2Zp*~}tpB&>_|0BQbY@f!2RqT}EtfNW zLAb#79XpCaWcic~C8w=O&FraE&6+K}ADvNO{5yU32=(-Y>Yk_l`KUF68`>nL@3mCb zm_Mm^u#blGNzo^}Q*!|ee1 zj>3PPE)a~60Q2cE+di{xeg02A+cRrBU`(6ZBp$1zw2q}nRgnru8h}f2T{FX&VV;K8 zf^t7DE(4!+E;e>c$6TboAvOVg`}~>Z0!6VrvPc_gkF9jMZkV0Fw69K8k1ZR9eT*MY zXeAq{HitkMms?}^R1?zvj^~LVH&d5FqLB{@2(;!AfkkiqWJ)%5F>&t(20|i4CDoRM z_1$l#OS`D-nJdeoS^lXs`Oh6rblJ?DWQ}iN zWRbPJ_WynH?Ad7FK|XB|8*%*J^SvoTLX)Q-OuZ!V(POe@11*pu&oUB9u-fte!|b~E zGtZ9dYHQOe`#w})SgS2W?%sysg=4J#NxJO3i}aqG{G*GYDre$um+2x$sU>b~R~HU6 zB5dZj^Hb8^A<>7qT_KAv5<1Cm0_ zt|Com$)|3RiScK)fNdY93O~q5pM?v~u0>*R*1LbvgAcOPzL259lXOV;XKify2M3R6 z-(ZfztLyjTCO{}ZFAsa!qIzvn%IN{7AS>Us*fB!y*9kl4mrDGkyHVqy)fgK;tehAU zN#wtgU$3HqY;7JeRnLA>d&kJ>Rf-%_WkdkhIcG!4@3U_quNkbiqIv@C-`{xQ4LQ6h zC4cR@=tqxO2T!ZaxJ6tfzwh<>4bU&9~#1&3DtFn0EbI} zk!+96eovNiA}UR1#S<15-(^GAORbgd|NiC6CSKk+F#2%2I{l#zL~SDb0?Vx{zI~h1 zs`GP7)x7HBf~CTku5V)Wht|pXo~2)>n6GkWG-A}t2+JslAl&P_M%KI_g6|R<@Ua82 zofzAOdJ7ev?!|4JHm!dy{60!;hI+k6LhbFiJDg-XC4O@R+M_!_Nnt;!J8Lj=^a&>? za#huFBcrF}-kxf>Yess7K;YS=g_rg4WSdtJTE#d>S+mPAS_rf+x^E@HbiNEU3k{m( z8zjJ-+W{jWb_GjW8N>AYx_#k&CxCi&&&<1)8l9amjkqwQo_bL3=rw1$^v1qDTnxOQ z;Z)x7Owb)XoIR*03Vu<%L3`Wmb@?*T;KQqrrygF{)0t-&e)~3ElX~i|>f7`ffbsEq z>*?y!a}U9289NV)QKvv5(sRQ}Jw-nPyRnj@?fEkPf%x={6B}I3umg#fr#i; zm=cUUR(&3J2itLb@;*SHuvKGSIg;;RP!piR#ZX|CE zEd%koqnA1dWwf7^!rF3b((eBImmy_pdSNq}C@oEI@&I)0+Rc8?eJ8w()8Qc;NdimH z)LSAa{pmKlWCP9O(u6D6@a<%hM;*B}VrISOp{%sD(87)zr>N#iO4(zZF|^SeOSIe~ z^373tR{neR`V*-iYn1kwq|UICRfPQ^H1z;MLU?d?&NAm@mV(fT2!StXC3DKaw##|0 z=?&rKSXs`R()MYU!M)|$dp))? z!Num?x0(6*INq2t`x%K3J?ja4o=&%^WI5<7x`-o7e5QuN0hSAkXHO0o>g25Dg)9#V zA^X_<2MyX&v*vfCvp}?mDv#y{DgXD=gN`X z)RGR!$Y>0Eth%={23n6PKWLq9Cal~`e3Oq7q-$<&8#iqVB9|<;;5!B-_(_|ZHysU= zUc-CE+4=s-RZor6Q7;X3HE1oj;FuBhOS`a^5L}N#kskRo4wCTIrgt4-|0~YMz-g<^p5wL6D%!48gf!wAdt)4!z}rkp z{Pf_!fS?`4gzCz*sS90%|g)F<{|DLye%l(-d$R) z|1tM}jmLDJrj}Y58I^1$D`l}?d&+&}P;|-VwHfUg^_pQW z*F)fY!5y<&k#Qx9>QlxPps~&iev8HmoL=>N!}naThW$FgyLJs7Nqqozx>kS-!gIgbR+p!Z zH8mZV-`P#7hWj1dhVR0|zcjVT!sb>CCSFGR2Lv3qQyRNx zx^u*it%CEJR|&Bu=omVxCd#|9h3zzorvDAlG(5B=<>dCr?<1{tmc1Vz9Sy}LVha1h z%)gYvLWTDV0m1D(`}>|Or{kvchkG{0g=O$Et3Q=|@Kb4(;9E02WdWq1LHWVleYkd4=P$%*X-48N7 zU2GZ%h6M@M$gT8%MIY>B@s}Jk&%q9uR=IjR=u37vA3G4pjwFv}ZUE25IQ>}9?@4&# zCMMqW&)&GRPH8$6u}!HyJW5Cw&v>i+@c;kIcDdHb^FG0k?ARDGK?^u1=+RYu1We~& zVl8XGTzK;rEL8X2h!!q9RWT6N#NpP@p}Udw!e`zdSZ~y6QjxS`szY(n#(Jny1RxwbVa*G4a!dzn=yjRU?vFV|CABo$JMm;@7{bB}rA2$;!p{ zvLL~CvLBmk6J%T;oBQdM-GvKWZEqp?Ee48@VBRxjx=}Zv)u{ICkvmsr?KSNO51WLv za0OSeN-8=iYwx&%{wv22CboZ0YLr0V^yA$jOl0J+vn;GT*dA#b_;c^ZTdw?sFFMN+ zfT+r}8p-14dRn=bOT6;$kQB7;dh0)trXK(kEF*igPn@1^gi+3hmagzy_%0*YApNvBO_IJmf; zDInK&3_iUfp@Vrk7EGd>wergw=1&YO^)Z zI_BnD&{~#&I9y@~`>@fNKPmXEmU5$OeNMTR5~&XUyy5MX(mZD$0i_tR$V?j*3rovA zTorI8x>G|aS>gVA{1|X?_%imQGrqV7S1C$c1ifdp9eccva`;uU!d%&D%QmnwPY1#& zX-&D!KAi=Lg9j_h?)E5|iW((my?*`2wFooqcOW94?Fd%O zKomh9-YQ^je##5>_Ua8)>%wfaQJ7PN^l0M!sF$>Pm&CQ{( zn{b9hUZ#R4nd%zX^`wzr3U%%(U-40uTY|fAqnHrxIWK(w$FQS@r3ymA;PFN+b{pQ` z&;|lNXmVV%Xj4_Dxt>0K|2ZO6=M5980b3({ZVG#070JxV$d`5lXS(}*PEN1anF<)G zH}*O^Q`ic{xhrpm-S2cQ-Tq%M?-Pzsg`zDbMYzpxt{t$Hc7YU|t9$h5i~C{b_mikW zeRpB&;qudy2~daq*GOs*djz?h{wG^Wd$_qxWroihzl@1ei?+Liy6A6rH{h`Fax!4o z0&Pv%n&B9!ga&4&T^RoDPuxyC>>e`g;=npTp0fIsf>>n5g*WR??zwD^=WxIR3$2^Z zOPilKd$>}g+4>;i-kS3-EUV;u{g$83730ZtgZ!=*(z-oyDp{haxR?$u^ZEXg( zuwcMk^dV^Ceo7K>BKUwH@$l~5!|NGrtWY&Z8y{W>+i8Ced!F_weu#-FkW{zw`qhvbRse-WVV##_54wNW6|C!S=MY zw037JsJ}Y-5KMxrJfC0qP9UuR?{|aOL^1cee!U{^&W|Z8ZLkY2?t6r+fI1eD8gr)N z;?+Y9hHLP~`jS0LP_OFh>h>(!FdkIe!$Bxv$&9i+e|`XCnGfEw1cR?={|~(ooU?L0 zKp0*jwYnuHT>&v9FF0yXg$a*{vkjg#c9&47BSE-PceOeP6Qr)fiz2PEIFCh?Lvgf& zlT1)_gcJ^KaoM4HI2cQAWW=hj$y~35VQyXS zCj4{IJ+^yx!4QkBNmUFB$DXu;O)oRVt3det9eZNblBjzW!BjI_A+FDXTKBB}A6Qj^ zZK?yI&|n_e5=LEtU~2j~Z_T^CkF>#{{E+VBUCkWf5|cC5o!_{Qa1GnQfkoTZ5d?0p zFg8l?DlWN8ci@LRBD9W*9To#^7_z~72US^Y{xE-=zF%?sa!E?~RQc`OMn?aoi%BRU zSn*^5^1!PQr;GnD&*S=KjeCv$)|C^h5ne4{2p>`X2u*+2Kab<$JUu+Rv0RCfkF;K8 zc1wma)rh+1!XT|?sFyPqE?+ZQb%z4EA%x0qu>ZCcTzX@DM8P^nAquYgQwV$y%N;rd zY#3GyV`6LAVD`aqGJ?kAZq;9M-#Exy9~f5oWG+L3id=}@QaqKw&w z&Zs5+J6CkY(z`ZmFS$qD(zw5_S6Iq-&d>;s=QR3@h&7 z6KP@%=V@Gm5O%Cg#Tstr7jEKAgwJBsy;FQUz+Z-?Z0AW;jXKB8n>N8`;Zxe^9cLD@ z@6gBy^re6*V81c?Vr^&9-?1;#dNhR5$?@4!%>xrS84NYrLTCt!EAQC$?3XWrhy#PT z#!bTl&ox#^6EIDwvm=5O_2C>Wt`8%8;Z6g%@mXBfst~rr^D1rrHHP(g%bn2v79sG0 zREUR)EAG|^?{5N&_zH+j#PxQTjVte>zJ8`GWR<^ItB0|*qck2a{vw~nN>{KG?O}%+ z{~b|?EnpSCdWa2wO6XikcmxeJs`%ToLqkIt!U349$)AVL4T5{H2PQ8Q6g8HA;b#un zhpPkmsnTkeI6Qr@?|Z)gf2_R+IM#jtK7O^QNK3M!G_0(QtOg|{BvdG?%*fta(vX#O zQAx5=gd|&$nRyw>CNq0w`<)l=JMQoIKaT(Lf1cxbp5wT0*L8h9@9`Sv>wKLrCKUb9 z6!|%U*5&*BIcGWv3w+^yB_@z_?$H|4-kiHd%m0V4sOUF-kGzLJpO1|ZzGBSDSzuJ( zcJFj7z(@uRqr!XIa;+pd%=ak~h+REB^o)${>XJGLqb!8!({3{zchlE`S8;|MTbB&M zB^Uq}ge=I%aZN&vx`Kk4rRBEHUGVAPkF#$tz~q6xy9Afwg{M*~pMmP9v^8TbP|Q?~ zhN`N2Bm;@_RHUq0RJ<;{$NGZJdIDh`Y?43utYDPLoyS>d2MD%_t}u8(woxkyRGbT^ zH8L&^GaH^-Z`+JS1||_V2*h!0>=gu`KM%1@xH>YA7{A^Ye%@4O1K5X`67aEHhv(l+JLzFj8&v{A26%jE#*U z042X4B^q!reC7~ZXF-ZCA3%Qv=FlXsCyY_g|1p7S1S%MpQ#80tN>@>_fpdzoC|U%_ zW`b+s#8MkvzfS3FaVzV%tj}d^ytH*NrgvY(St6r^1Gq1^8(^zHHXtav%-c=RvlbgM zB?2pg1B^4Rzmi+-7Rps+0`!{Zgj4JBS#hT+bPI1VpF$Nlxb#P9DJJJ+BwG>Omd!sI z6SOeg{7sSlSS3$`tza$Wxt)r%ryj@l!h0!!{iw89sFqb!fUF2Jmbr6wbo6|1DH@#y zIOzylQgf*cp%Ld>-^d69gdIR1u;%cbpdy*#5GiYFHdI!+iVLoA5dnY-P`u3K;P*$a zXjM$vu*OAofjzDd%ZkavLs87xKzpGwfc=fYnsOccL-AQ(fRHO^v6F)EhGG7Ry`>-= zSI|nfgNnywGpp+B8KO*A5)#3Jgf(`aEA0_X7m|^(e!Emet%A=8Zp$$@Xm(Oi@wL@~ zzJmmv6B8dEXuy4?rKh*6v;NzEl!wHei<5IOin$lsB*^*IId||Ja6?Zs;a7WcAPxc< z9^M4A3yCVN7z9?ZVuWUy`J7H?5d4G}XZ$v)oJAV-2{Sy-pU2lQzq=WY9P#*=!9ERn z`QrTi^>~6`y;w9zj7C;Oy?;M|FQGm<|0R1!rKRLRJ^8^(AY9<*W6?8mW@gedo5n0YLPHO;0h3h;r}i(bI;B4! z!3zZ`dAL}RDp-Bisf+JH(zEjnmCNu)1Rtf>Ob_oQtep3jggtB)M$4M;(id?Ev1&MA z=!Qu#ls3cBCTr0~5*jl)Ezktge2#~(cEN(4LU)@IXxG+>mpVSJ7K2hn8>|K?tcpY9 zno8o_opQPJy0Bg^4r#&a)QC}Zpo59nN4w1BpF-w+1)of<7>u^QmwEFcs|0o(vTK-{ z0}HZz_BrtALC9O-e_^}o`Ii%%7hFIY0wNkZx;M8ugtyMo@i*mybdQf(+_*t4XzJ*w z9$hty0h4GOx4ubW+A#mIJqhF(WN+@O_v^trOJ46eCzoOB;80s$uER%*Sk@MvhKG4R z!KAJMQP9MsjqJgpY5xe_oTj4730a=iM&J*BrRQCi;W2-)r5`=!#Xt{?nCv^IV+>zn zV$wS>;AOo#10FyJ4Ph7ohha5l7X@IE+!z1E*8iGVrWWZz_L<#MXHScghY~9140Vk)B5aixc2mG&Mo!r`xo~ zB!g%IyAY3&FYy;3ah0F!`Kz*`Lel;ixp}W1d;8-D&2*Z5s>YR9H9b-~D+pH>Zg(fd zs?V-iy<_A~=kRcOlWAiKM;%kBv=w|d4$+HHXGuu1HX7ew=3R$a7G@UX!r@wXH4oUp z86abEHThM_YH9)?eJm{eI%i(7 zSNMgAzWzG;(Pa{E<`;=DmV;G7M#8V%!E_zTBQRlWNh%pP{W1zpBatIVwuoEKH6l0f z{!Cb}n1^yIFyv1L1h>cYyGxigb8_l66-3z!K*{t^AQ zHV-9-x*YiB>(`_EEg(zW+*w{ex21*KyHhqUH z)dc&N+rF+-K~HdA-a30=8=UW`qN|PoE=iVf>1eVLBDitPuM2@$f`jq7md_(R#akTc zfI`e5X8X1IJC@>fNK$HQt2&cBi1Y~a>elq5Y3w~kbXDZ}NRmULL|M@FkLY;P&=3<9 zogQde;|PPZl5k-DKD%talg{(47y`Wf_Q)>azi=>Z{Z=#`llA$DszHUp2FDT?tHPS1ZU;g&%GuDS`uFJ-3o(J@ z>eYRH2Ni4K`ZJrtBO*#WEr4JOrc2G>l~SB$G`#R}V7?7z6jJ2RASx|2z49w>c5^sZ8o?-Tn!)EFhs5am~ z*ROk6@9tlh#n*}H19A?WL77djic@1^ysXtlI!Ej-tSiq)n?D>1=fQ*ifr0JnTP0LQ z7(6g#wx$PDLOvHBCS>`}pNa!+X{+F>#vX3b6x@3e;nbTTRH@1+$=QTqlb(ge$Fbv0 zYYc{)->RP4j>vb6Z7pGs>-=XU@(kiTxEp9o0s>hG7=(|BUhBE^No>GJO zjw9;`)C;ZMPf%g0sIM9b zY@ob80OM6_dVtGxvz|n}We}f)0Sx4X>ZSt#hq7jCOUnVym1PC^ov;?nKtV&=Q(s@u zy~xV?)_DZaw1o@bh-tFmtl;^lCq{llQo`82#7%&h#fMG`7_3dF+@PE_H!xd^kG8@9 zM=K8l9r|7izLMiK_M>k$Km%lXTG8(jP7V&~KFZENCfH2`J$UQqvTF!TPXGK)_s9rX z0VSnx(M!Cd5^^{yo*#0>h{hI(d zQSqUkBu~ry`SXHL-W|gMg2X~U5W&+69BbkJZ&wVz=b;3)YgbF%+vNney+7ZN_jIIa zT!#q;Pu->wb{uHS&`{hVohw(aV8+fLjh%!>=Y{7xwF&qzMn|`{-nHH>jhvJq@qPRo z=1{AID3;Eg?^xdjN+a~?zzd9sSZ5u$l2E@W>LjRPqoU*YxhkItStczRBv+Um^I8q3HwmE$O+iwVVT%3pJ zSmr%f*ADJJ`a=Ylt@Adx>>IKYZS9t?UzhhCV@gA(FqRrDoabluiDrK@*{DU^*bM6i zZI!Sp3VDwx2ID&u0wSWXD}G;-r47Vk-TbPKw%{82a@3@hKs3Y{oZ}sSIPGh#f39|U zvtYkyF$)EPPRN@O363HDcrDt5I09*2heTpf(6S>^5T&)jGN8YGq>w_Ue%t*=uG7J0 zX#$P{3I1N?64YoTo*wPlm0THd_Ks*s&n!6Qf1-8}8W;FjZ~Oo_V{Ux%`cuzAqlGI& z$5Z`XQwR@HN2jN!rzO^p*o$7<&zmNk7v)4fQ~InSAdQr4vttt#r&TFWxiJD5`fZ~g^= zfQ6lUqb;A+Rn4OcUo@S!`aNauOU@c_KOZeA&hN>7EkP(oh1w}gee8&n#3Oe52t zaU+3hq4-Ydm$zvju)&CK+a1(gcn7aq6KiF;culFe&k4^%zH61rrX~hmcX;*9AV2pz zTJAbDb>%9;tUJLnV&~+9Oal~hK~978`|puKbqox}z{#S7)u#?Mxz-X0(sJ{O8o~31 zlT&?J8IQ1VQhdB`%AaoBzWaQK4)tqiwCzZ<7`BXk)Rr8fK_i$ZoOt7Nn}A+>hKIa; zc*MJRfLpo;P~4TnfN<|VMY65*^Ba1ct*!(>xEvHmEf3U6Is?SS#ksf-V90KH`I~bGJ3}x< zuHmF}-Y}Z}eCi=XY3sb)lL^oa6aT#JAmFyJ)`D82Sh3VFli7MGP|4fKeG z1n}c100hX+;u38(NeH-LhuUKKDHy^Q^&)2+xf2IDIjvS*%0H(#>i$?U_Q~naM{R*e z%o(Ff(YUIBI@BC3bK82!GiNp(8UOZYb8LwxQiIWR@6T72myd~+Jx7~~PhOU*IEp5E zdgOLiR!NYwU=Z(KcKaeJuMf!Z-#sm(jSuO}g&Ls0^={AgV1j^K`2D*qG7J7DXvvzJ z4?#t)FKGtSAk+sss`>o$A2=6x#Hn8!gBiMez=4)@$A9ZiTH4osXy>8ZbnlR17T?mRq33@a!7*2Iq&mfK zv9fQ#2H3}~v?q;PXj5md*x9vwGBm=F=flI7tW{x|9RY1V_BS@{5QXD@7@8;SwwqkW zD_^LE$z;Mt=?nJs|MSa$8YNbJ*!+X)zrR`s>kPSL2$#Y-yQA&~4x78M!9`rZ=g*&K z9oY{-ll$f3hf4VSGr1h}`+6>O%PHB%9WvFk=ll@qUo^vM?;JSHp0$WPS=Is?sIv*{ z$aHeU7%UKxNIWL~1x9Fi`|i*n>2*8!VruWrQ1Tx@))G9|GK=y=n#VIK!MfFDE0LR? zqL?>P8M9DXA#n@S#{;b_TT9>2*V6-l{D%?7Hj`_Pt3>-)5l%`lgJts8|6qE*?w7bH zMBi`T{@WwS_1u6Fwq{(b+)CO~hD(jGY;D~HP{DMSbGecF4t_nObepbPQgXVTB0 z&dupl-^%JnRS45stjkWfPbN0u!zA_kSlLi#=2JWth zPfY|e)J*mS*4yur_=Gk<34?`V#4YliZ6l+s>BQZ-D^oi-o*rr9_0hxMObRb}E?)xV~q3{nt4;dncKLeaA<*7bBb zeYHe91m=qPYokcu=y9isyx`w373kk%a0gBBWNF{td)uIoG;&5B4i>ot1cng20gVHM zh^50D@{!Q#1p3usTC(loUc7UPtgNgTE?i*ldWoqb&5p-=anF%|1LlL?JF@fm3)4L{ z317v50pLBuMR_4+x0>Kdjlesb{AQ;YR`(51-~ids42{DCZzGQd)HXV^;}^ znqMbEyr9a7IzE@-EM73LoisEc7qtQj)WHG}vgj6lLP7_L65N#8*zr+<)}}?SpXoHGUu0U^OVl{7kPjb~`QmRch09jXc#U2ESFQ^!qyOGC ztmpcyrG1B--0mMwU9>i3HG%ls9dU4OEl z<;v@*-A>;g3heVe%`YtM&+dCNW?;{&!7L-aOKGccIFZbwqart3h zjfPt|?LV8KPyH&IdC>(Wyh$r}!!QF1dyM=zm2M4&lbP{$r?+TCPD#0Bb9w~47lf0J z6WOOO{zU!iV+w3gV5R3*t>ib&h2-$_qn&>6=?D2O^dwWYa8uK%?LT@(!HIn3C${)7 zWMw1i!f-bf6mH4HJkvu-&Z!RzF&B+TRv-@!@bS@(tG;uFEnE#a&Y4We;!%L7zBi))>(o8e`{+j??b3auYgzUs46f1Bipn5Xiw{zK)< zycFmZKx%7aeP54|xHEpo+ish4oUAbechVDMJBLR`0RPAZojv=4y>;W&+v}#>jvL!F zIi%eT(0rzO$HsZXp0u?H4*1A6@m0uReH`HXg<>4lE`Uxjo8%JFhGlDyLB#Cq7rk+v zljxzadRt&QoM4eW0q~STDf7|KbKM~r{%W8mM7PP{gTfXI2Zu}7JQM<+{C}$Cgg1Q4 zQ-61KxXF25sDrWJ{9fKn_V|V~N<%gxWrkemst3X^$!fK%b2ir{1^p?zDtG+(nRZ}P zg1cl(JOn#j|8zcBA3uI~_RF`Ci%ip!xsWJ{y1JEYEf+E&Xn`7pby^4u>-<8yo;Xxo z;wBAk$t`LP{Y9tRFF1R}@n2Is{+`|7lEM-9p9^EH6}Y4mLQ_Fy1qG>?SNJbaHH3WU>k(<6kmeq%BaZn^TbUHBF0uLj zuwnjrsXF(d@4^1#PwFopbIiKAt3HhFU`N}I(y;C6*O%F|4@kaJ-oYnyZ1L)Zpi~CN zuJD;w^|cw!xk8}|?ib%hI%+$6#5jK%***P{<65%toZP75201jmRat*vJAZ9i1!G4A zVuFU8h9CO>mwA_2O9?oNYnzYkeOMgk8NP=ZbSwZ2%?!fF;-4PpKYKUl<5qSq%=UY= z=1drG+2B;0BqK%qjfma!W8Py2F6K3FQj2if&Nz2WK2kVLj=D3PZAHI3CHHH7yuURr zkV0Ib7;R;b+lgh=x;gPT?z``MUFhp>6gTc1_qE~jlvwlGT^i2(j&iWIL z0K+DaU4;Xrt|8M{XuzA8x%7$3M)WHtAIHbuaUyr&eRGU1dvk~Fglg~c*?ay^TxcyZ zktgUZg6f#;ppvuBbG-o6f$y0S%!XY6R2ZQa z)oiO^D1wBjL#8>5y%-47*PIiE!BJ7Yq~__TPsEm29_NsAA2~(sbqXS3u`L%8v$D68 zw&hDbzUCDoKEHc?Xa~}Km%ggoESzh(WAe1!OX|hZXI4FYD7k`rkTA2i{h8i?DO*D+ z;;0zojoW5p?{wj9bwGLpnb{YrMD+sUa=Ek$8qvs&P702^LKE!1eOE0kEMO5Ym^BXv zp+@je=YWU*7wFLju~z)kEC9qXoa3asJguOJi0pN&hpv3Y&3#k04blAj74FmU1HWJB z7)V3W!`3#h=o^(V-$3N z7KOd!6sP@}>$@o{6c81-rcvxsvC?e5cR&lcBDOO#j7-kc3=$u--PC(A?JBjn8j{pLJbZ`rm}ta&=# zEGNBl_n70qL}^wcC-t zBS6DVt;TK;>P5U!H9n5=3T6s?**SjxFhBp!tM}Y#j*s1b$tX4U@#j%r$Lk~SPzi&} z)D=*6Jy={mCQB67j_eKzWb_r$f)Z}h*yEqG0#e(!AGrm9OKK3;b?HO)eHATAv1a1i z7vtfKzsB2t+s@>4@~rrL?MDL7AWgLSBgU6()1PtZK!$uf&f_$~@mO?_rlFZe+{SNw z#&vcKK#6r#`l_IZ&YORA0%|`&e~`FZ!lC5-DNh8@1M)+%=4_8WJb;jvCtjwA-Nl-m zhL9oXTG%CS&MW3bxjeBeW4bPx0$SaiNV)SFV(mV!ZDL7eP;*3?s7t*``*RQ_qgbx9 zOfF|k(t+sP-G@%ne=<9FD}}wwVXw*!8=L+1RXga{ntSzMrCqy{^Ykw3cDu}(_FV0h zq9Et#{!5)X{1_@Fs<-d0v(rQEsYdn5yAOJtoHiW0lD-xNaD>l0rtkRZ6SCISJy=Ox zO`w{k-c6b!$(^aSw}s#IYoMsSQ`~MpGnLrT2NVW{A@sHKJ#hKX%{h)f?~^jUYG=+o zHk)#bf6i$8sH*xzsPn@i?jLH^8qrnVH<`@5^a+iX z_@9M$&2StWA3|$sYe|V`^@^jn9`wl$bycvnl;!3lxy{NtktMCn1^IWBgX+JnJG(4v z3lD|M*sF_POeDhReX%VnXU`r205B@y>DJ6d!ro)1z{ym$=GqL9Cctvkh(;sQFs;gY zv?FjwO`=gl$54QAx69`ff1mKrRbT~NTzx2O=uxg*w{H`VdvQBN8a(V&Y(l}A2C3S> z!~~2AnKNgcCP#aG8Cua_!@?5$>XpRIGbnz7AO&h{WHJg?fMQ3a)-rJ}dc)KUs;VHe z@Y!!YC1~cUueG+A@1{gXlWDljM{v?nLuYdw#^mDDGu}9SFVo>Rg#`ruq=7zq?GdP( zVjbuAkviM3;jhid)HR4xkE9waIFkttpn|3?D4e*-Z#w6D-M<0OgTAANx2HU zu{zu_u+!3F1~#6(bB6d1CY*ol9wlRbqwcaZQ5#ja{@r@qt#;X=&Kj+xS=*r}(N}{K z?5`X$&)5=Qj^0C**djW!v!#;j>dVW~CwE>|b-(lExiw&Np!2OMPy}!Q)>SM$UV`Z? zSTdF(CJ7f0j}3P!S)O_v3!U%4KrXJ9l9CdbM_P}}CY#|7FOgd0e_3mFF}p};?_NoU zR7gi1#wfS&Ub}(jyBlMJf|^=#Jn-(>jmuOw{pUe_CZl3H%}+M?iH$@XI=wReJTj#v zMV`Ti(m%j%l_8)tk0?bkm$abaiv-iuhO;$boJiVU?B~2 zj)n|Zywv>e#sp(Im=l$r-tf6#KRx`}4VAHPiTHnaiyM0pb3k3WsXam{P@nk|otOTj zPLRc`$#_yn_rY^KJ%1*PDH&W^VdoYuluI5I>kAo{HwP9GSq=Lo$4dD)NH1bMLV-Iy z6}JK?o2@R@`J=Y>ksA{LZWPg~YL>xd`*0MrybVb3)-TuWvhJ&Y!6-r~*i9n1Q6_C$ z#{)7Yco{&eK}W_N7Ys8G-KokT^E=wuzpF#7!#BEfrah)u4&$M4oRIyMPXQxq+4>b$ zcGJD!_>oyd);1H1h*BFloxjr#3pSifUe2{IT{68)$!2Un2Zx-rwCzw^VM)nZ z^f1|UhDS#7K6VCV=amd3wdlI>jT_M9dl@Ls&Aod__Zy%z?5bL7LV`+N1;%3uU>E5& zu0CE>$oI8nAXg5oTa3&Y8_*`ENuOGNnfb5PITSec695nrx;of16aAO^oWYpmzLpV5 zz6XP-x412KZ0>^75cOcJO>hh)q`Z1P zWAXTASNTX;tWk&wD2;e?G+%k-u*hfW#X;FTAT@4XqwwEzC9whcL#)!iBX?lD1`cfE zk-LM$0I(ST@sPFqJ%^K0?XnljgnXNn#^Z1pgD zql^9Vzg976?aJj~zu-Oj?U~$;5BTY8Vc@Qbp%Ce?W&%Zy?Xs!4dCJEZO#z?d$7n(mII@y(!jwEc*idyf@a9s#C)*vaj{WC ztFPC9tUX*p^u#Od9QwQ%XlV^Fr2$jz(p$O=niB>eMg4h0xJ3Q;g*zfK-4cFK&tv%j zQz=hjp|Xk!x(H^>V-vQK54f!$DDrN1EJZJw82y+M(qyH~-*XG&^E{e3H=# z{cA_Q;Q77T7sLYP8IC=L+>oyj777fa>{Gu~6x*DqCzQzp`cOM4pF$0FoNcO;6c#>t zW3WUa5MB=jOJ9x@r|F5Q{;z?h>f#3oev2ID1yBn;)jz|;$E{gzND?7EdSBSKn$~C1 zVDR1rR)Mq=>Y?x6eQz?=(b2(#TjJAnYj~w5Yf-!5@YGaCE35N`XslBFgPV;I-y>(s z+LgZ&q^E-(rIJrN+K5uF0gWf0YL|C=(;pe!1`LLa%wuL@p%YjARs12OSIRL^%Bg>_ z1SfRvfiW1!a}6wyuy{)URf{kzX6vHG>;<(=S3q_&6gGri7A|Y%_qm@nKSLuPzr0)D zc0kj0RHK-tVu*iTtV0hoXI2u@yBK- z$6o=-4PKwOUFSW{3lZ!_zj0jsAIEU&B!$|T2i*o!QZ%9qT6waqoNSu3lS%tlH4gs0 zyBW*NXIJ|<@?sey%Y;Ze6n6e%*29jSO0yTPCT+NPv6ySSnV>Y-)rERTFxtdfWsGiw z`*lC>Bnt7UpXF$gKvW-Xae|Gy;7ICCOgm|FSI3(5?Y-;V zaUgq$BHi{s8-mM+pAhP!{pt}qP&BIEc8xZn<^`G!N22FQb7miPoz2F~4n;7mh%hb`bXs7CH1+Um9G1`S zD_lV~-5Ofz`UKjk_cDW`?s0fP(Pgt`Khnrp)$-(Dn}anXk7(I!7U&z6UiNtp&%d!T zp*gUP*v9iH7)Q~n{D6McFN|+8H2nQG=Mk7{ySVpLt<7buhL>>DMUx7~p^@3% z{bpTOoha54_Vu3#{wcuF+RDn&-&I`X`|cJdtNj!LQ8@xi?zt7Gul#SX(IetLW;3^;sZ;yAJnJ&#or z57Orn3d?m}V{r%+QR3z0HAll@D#yy(Ul4{EK3Av7@Ld!?wNB4WBQw1?V_({RQ$iDd z59YLY_#FQ~j^_Mlgf6IHK_C!W2?}611(7CKFhI7`;;o_O5xPy)jnj|lPD%WIYC@Jc zPoeVooU?J}JUr)YqLV5?2RVawRzMNDc4&Ubmdt@WqG7w4Kuk@AJ;697z zgsuNM9eOufWN<1^YZ^D1M#`R4M`Phd_JaN< zv%o^i@wLe?Z$;i(-P^GeNKBv*I#!9QC2qXV<))YjbZV?Nss$y;Tl{yRnB#*a^Zhj< z;?B0VYUjOFSRC3UTOLh21V28jVKAa@Gu9vEutR5A(MIe@0JI2eI3(_IvLz@r^cFN{Dmhlgg1i(G|J(Bh!y`!6kxQDadN5nkg6`Gew?GvD?Y z`=y|$=smIV+{$V___y*ZQjb-^VJw0Ho$nUQ=P`lT%QvsLt<&)wyoK3Nn8U+2l}y;f z^mlvRj>EtKIJh*qZuJXZx!&aL&|-Q=&582#sPUU$n=0LO5%hFhk-ID_5GHPEIWCVA zj{$chzpJ`n$1z~E{NuKD=Xc${oscX#d-@}fE4sBdZEan#jrQA(9Rmr@P9 zHp_NOQ#iSw)Fj^pSrs3Tm&^42CLb<>!+2646)0Svrr7#|*L_IN^3SnoFMYcmklZq0 zd8($W>M3rD3z<#FLIvrceD%SV>Q_;A2jX-g6qmU-KR4HAa`gSgo+lSR$Mf^7xO?)! zkU4X&v4H_{QFMO=J>+$_d)2>%P@r{?^6qsxDP6h%*o*z7%_=)V7Jp3hV=o0Xmrw?7 zk4U`seAXeYiRC$w=%t_D;5>uXXI-@V^60d*16b32RKcL%dANvA?KT%2oj$Qw#F?)U zOtPt)Xu;%eqq!*&zhYdUa;hEURtjLO z$c;yWA2R2{@t;_^Irf3@>ULVB2EUZO?`^143{{vV4)oR~4>hb};)YRNNCqWp!H!13 zX&N0i2lz{bNXVUJ7iVn~L+#`_jvyN&YVK-7m#W$NDUm zrWHY#E{mpJJn;J1THT4J%zFr(x}r);6^i6;uUury24sC{s|SM1_XuKpZ4!81@^_e} zMOdxUIOFutDFn@sWeEBNuGep*pnwl`U9;RHC-_D-Y#$mN%}V4Du!qS9BA^6z&LHN1 z&Jo?vDXH8f{2D?N@J&zy43g2=04#z;ic3tauBg~c${rBpQTj9r{3(8*KOSXyoeZaR zXQXTl(4{9yZa$H#)z!FzoVoS-Rurex&UyPkQx3MmJeucgYieL4o>ZXRtnIssvoLy|D)@Py4S01+}TlXT3ELQ_44IE<5bR z&fpaX=>TAn_erc)JTDThYjz=K8kvBcex(beMa9JM_F{ws!DBNE=~?U4$veI0tgZim z+vR|PYJ8IsCkMwJ0OY{^;50*36n=V#GB4BSzutW=qZDWw8W&WE8vGCZ8GiEMvir9e zzaY-%5-4+BJCayLHG>U)*up<2@5yREKfVJ1Ps)4ZbkTZ3g2Y^2>gk5C2%XJH{E@r$ z-rq#jyL`FPZeP~7_n*J{tXV-d=*oKCP%k}hc?QQkM!hE-eFPXpSZ&U0&-9s6SckSc z(o5Yx;d;YpOTDcKrp`Xc*?%TV#dIe3A~7ZCt{~?&iAxKgjRIT)(jR8m`-@W53eodW z$nH+|LTHD81!f&V5P{HfYW~Se#2m)X0*>6cn*3zjiLBfRHS@SITnpL>>4gj%2!xU+ zb67D`Db^6-SXH+|qluS3wfmGJ=0*efKxXtzbUT6YivJ(5I+t(VUYd>QJri}FdA_2R zK*$j9T)-?(hDy_6V4QlS#A*#u!DuLj#cmAQNz5%}>g~?;k zsNe>D2PRTh2;>*GL%C;ocs?pc$5&+8Ty23V32i2LbkO(X*3hiU-6Evhn;ATgVxDwJ13K>RP7#-bw)y6Jf6@KOnz}j;OkFfKM(@|Xxi2=8 zTtG|2dE7(fWMx557&jP|AP^+z=HH^xfR>gPG7E(atD;N6; zD+Z+JzQQH4y1t%s|9&XAabp>m^SEy_HZlU@j_1Ks1(4sDDq;RvKgV7^q^h9-bE`cn zVXCG>TVOjolUmRUEq>rh=dO zoZJciccY}_@w1)iz+z{|JQ&`&-#@zWUI9qFK*ssbu!`ABpAUkcm^Cmm*jjLQzYh7h zNi;7k{$X@FBAYM`GO6>_w*ZRYdLt1LJ6;g%CyV*RQyYurO}86)o0K&1>sMBHOylfs zQb!AzM5u4Pc{7Kz;n4`!RLG?Q(|u^DM>IKivL*VR@$;AtrVe>=Byk|i&K;V5=Y{7~ z5p$dX6qU1kg)kGT=40s@I3_qcVjnuQ~TuR1fFBQX zZ!U@-1+5cf1HsiRU?e`X&VQN=j3)G=ClIEIlZ_2+%=0f;_1B2BSs_h+`s4{}Oi+QD zJM%8PO6N|t1Q$YO1TK0W%=Mo7CZ(8ugo{Ze;!@*f7Q7fC^^rSSwi9lEDC+t7SZLxl zgue_PVK{@0jTznK^H#fQ{&7AIAFKkudUGDAv2uPr zUj@T1C@WX|{F$F9ZnBEl#yT@K4!s|Yc7`JVoCnI_n7@D$N;q*C;Rh|3sHu&U&EJahav&>Xg>JH2%&y<^ z31l8udtg_E2)v-x4%Vnz8(Jct+2)s9wE{^I(!WB6yP?Rwff%|6G!doR3R3kb&$0|E z?GcyR%!}&|6R4r67@L@=KT5!k^m@)8zw;y54NMfjeCXP!gavxky}`|ULd!zJDkfgy z6ie3zfae+b+AVH5jwtp87GV}|-n|SLp_XHQ9ogS~_|V^4;HT$tObJ*m;+MDO;j*Nv zs(t2w5vz}rPQhm&uo-&}mY!b$G-!=SORx{U3-#UegK*>I*xbFSWdMyYa05h9PWrq8 zX09Tieez@!^fe?LSy+y{b~(uTE9ct5=PAKKo+hIJVHO+^mdDI-d_m6!nK z_-+O_v>L>kx$J9O0@W*)OpL6aoTBS3Q;Wb-JyL~zsi6rUo;n}ys~nd zoq;~48fd72f%3P{-um)NI3N}cXfkrSl)hEJ>&Vyk5%%xTiFp?t2~EP^pboLKKT-b; zR0p{N`Yi%P_tU33O<&NUvn>!8!SHX`+j}Kz{39ghqQ7?2GIu z>haabo$OZt>BN#iIbbvu;o$Yyh|lFD($KFw9~|VkHLq8Vuk#A@!Pnr6Q8CV=EG|qq zAf7R(Z8UlvVmcX?3wAIRF38%#0wUwCCYhzBrN+hwi*f^3$K8AN5DNwxLrq=iRC%5U z_sM3w5!=Gr$fAOIXIs{?aqg##dU4Ky_*YS~^DoPr>Nr{1J#E-%l}i~{oi2}mr7~}y zU5L4SZo2@V5iU#4Z`QN>vMgY};<&LD6buawmXS!Uk+KDJ#OtFarmL3x<$*7}g%~hr ztEOhFa5ONiSEfDk{mkPQ2@eO~PBD37+bc(H)gsunM-Q1DSo*muyoC@MDsE@H(Jr6j zWJ}kP*b!KJ@kwC&kY(jH8he0N_Ga9hC9bT zVjq7!BNQTKzVxfPdEJYv22xUnJJgHCcezjOlM&Z0WZiB7H~X-rC+b zKHDznA7(2=`C6^x+Kh8f`Ph+%gF}My?nQ9%gp3FCj`@(%ay@^{>KSSejxH?s(&fN=?fZ(!i-e_J9MIj9l zL+jmD?c$Yhc;vk6DpmgQO*M>G#|J)gZoS*yvnlDoorr~OYf}M}+ zIZdW8NTIA` zVd*yIAe;YLQv=kaHI!ZdUB!nxOwD0uUE0k(u$2T+C6$4EfpbQVbJ&R zE7-d$A}Z?qkg_StWZWjSL_KTkD!n*_P2m9m| z)yJA1G7=@DL#u551Ovw{S8G-OLe3 z&o@5h$Z~Qs1XD^`+1J~<`OhR=5|AdHLojkd&bt19Gt~xxNPf9|wh#@dzCt^9?nIZM zUiyze?jTta-pwc51YXp=H*X6G*%G~r%Y6M6?uJq$b{0eBCr_u$Cs9%cQq$g!nCIRa zzd0@(__tk0U!1uLrM&WQ%xy--#u3_AA$VB+9H%6)8nvp?0;A>NVh}zsFT{{fT!?z` zdHajw+xs>a^C{a3DexA4btXzZ^^4c3J3?OrDKiB9%9M8ywLlD5k#ti+!Zj7KOJ#u} zI1Nj`N@^^nzFqg*$v!)+!28)_WFy5fYFkstFqRGx-*BIwWQ=+7N1hSeaE!kVCE-){ zD_+bR@x^{0Dr??h89x!&(~4LMu>z(t@Ypl8{pT_h^^aW*$!;In-kMkx7{)pkSj$#0 zmeMmJK)dw*-6`bDCmVBVX|_EcCf85;MT2MC2BghQ)2@l@SnSkn2e#qAx)g8oHnQuXyTHF9VN~ zpz1Xr#p)$p2?fu~=T9oiZQ*}hulgfSF7QSh)Hwmb>{{ZUJmknC#r_W`LLgDmIze*^ zBJ0tmXAyKBRLq*l6|?tMSc{w@luA0*M=2 zx66mXwPN3ZzuJ|_MB20T{#q!IDSh5TC5MvZX+?x^tm)&+(ZrfRS)ZGGs@xs>vv=RV zhZgEfag{( zUBmqjZ-y%vUefIp(7n+1T+;}XV5UC%uFbyp5;%uW3^J{jsJZXj1EbxyxJ6U~bkk2qf+J8%b$sX8$*+p`JNu>U_OKc=RFMF&5cFoO;mW^;Vo zaUK6VORuGgjR`Gkm3yx{A`}6u4K4@}1;`gYR`+HENbsgd=pMs#SZ;4JyyST#dj)j= ze;R!P0@rT|Y*weOsOa%V7Sw`Szmrie>17GvLM*b~b^WL1$vU!#vj-G{5sRaiTA~(; z6h~k?LUdpInx8+9Rps;H=(XNJv($-4251?2+WGsp&y^DnGzK;{Kf2$z)Br+WWJ|Pk z{3G#RJ^~p?z?18Dr6;Vp6~FY9UHs1HlDPCH$ng}eVB(j)U~sEM($Vi#q^(&Wez6gakMRQbO6_u2Vulj>MhNAWm zcJ=ETsZiG>QL~EZAn}}%UJFl1akG+|O4x8!=S)a2@H(qki z;4emahS81&&EbEFi{ zpj~jI4-Z*RhXErPg?#biu9x~cJJr}|Hoh&yRooTnqffp5KNp>}byGr-Q4|gNqMuM# z{PqMG7#8SWCa4uxbo^1iBihW)IA$FLmxjmr%9W$x zksUAf%iG`7r`jhtv5JbS)2nS^ChcKZ`imD&lEOOy+7#5hn&>aB+)2EKrWMtYw{P?H z;(*EC`6@OH9TuhyIG2G9u{AwK`T5@NKrZ+!tS)G=kbs$r3!=KY=R~Nq$dc32`Kd@Q zI23qQR8*GErOt>C9}Wo#+2VMp&LAc_9PmCViF_3AnnLib&P0H7gRapyvNMAK&|ufz z)%6E=w)&jC{bZ#xvV5I0aKvu1J~m5_#`{a1dAWSdRBP{C^#`1a;M~tIVV>Ut0ta}j z_c8~1Y6P?`S;(faKpi<%7yH-jrxgl9*?{uw#)*lw)6;8{eTF{S zIGN?WR7;M-1228f1I(m5MVlUY31s5oEX`4J0qT;y&%4&-4?yTl6#zd1Ccw|~c~H06 zd=Zcy6!zZvqk&$Dn7v>hufjflDygap<7}fhA)7~Umm?q*E;UD-`e-DoXF#dxd%fSu zTChVGUG6_m^<9!d@L2p2Z+!+;&+5I)tWla=WWLS#D4PG{zJAM^o0@)rE@o88%Gv`< z&%%(b(xppA=vk}}Ic1sEw~q!CvR;3QtkvMm z$j&(H@hhTBPtju@IbfeDjA$^}We#SHP7&%Jx<4V$JX~M@QnvW}_iz@I`gCVT;Ukr- zd-s0p`xB5_K>2&AJ+$`H2cr!45{4JLM zC%sWl@pt!@tmL;`KA&Bh>+fAunlJ$7qWSU1xGb3&aorUh>di8!{uWGu-U-|@p{Bx% zA0hvUjY#a>Tep@c9xz0L8jzY!DYJARcj)@(xpNU$P{dt~{Nlqhevq`o*MEozMZNMd zDy7e4x=1?ad6AGQzbz1P7&}C@7X1TwN6024VXCUC`rp44)D~jlww6%Yg6H8fFN^uW zgC5kwI0~v59bf`xZyV9!3-b^g`&z6SUC?{BfMC1no;LX`PCKfC$h$aV+)r8*?VL~_ zbeNmfD3IANW5R~T1X~8J`k}A~dkRu)29BxQ+Z!9pnP4tuZWZoG+@C*Jq?hg|=i|_I zFC0S;%-e!zL%5z8c6&+xVz1&38#@>}e-NXX1rYLludlwRyu{asUKA3LTezZi|9AIY z(yw5fQ)m<1Q+Q6}9BFs)WobPvPdVc!ocJ9LKkx~Uh!6z8p=x4#yFnbSZjs31U)&gi zyVC3H&V0MX;wU{r6BSBYzto{QmC>zk14`Qx171a3{h3VE`-@z3vJ%_AsPowSF;;?C zzUVmw{a2fz(7x!pdg)UMEcv-D#Q(=X@#(IH=N(V%X69L4TK`=Z6~ViOa77(qxO4TJHm3ju&Brh9T7c`dsyWU&RN>Zf51!j zC;BJ`&~M5C%L3dBgmTJ_s4ajqro3U}#*MiF{Rr%mY*EGV^{oKaI#9m93Gt@Sx)5AE&Dl~IB{rV#LzMh%qwWskA;=*>kaysSHGtrIVDAe|NU$9lT^{W_tQobmRxH%GZ54f-h>WUr#U?A9Oy!|Hs9izBHriI8%gY@o#GkNz*8ZOR`6g@sYWI4vjV zTY+GJHr*ITG7A}=-j{!Qe+zk*@&}vM46XfM%99Zec3(_Y*wK#i745f0^Mr`Qz#{R1N@Yro9C5e$j+PToijV4LzC^c z+g%J5=A9Z*ka6!;FGw3kZC*j6)+9kT#bG=)Bt#eFpQxxa^)%#OxT~~&1tZkRsW;DSVwWYg{cU~*YE(&$Qx z*$#IRRMKvcV@gEnEHe3rwJ9sWvdsW;yW1KmBX}>lG&)D5T-}6!uDvPI=x|x_SF1M% zIZB%f5Bv|(%1?u!sH2p{Rti!Jo1=e8%J-n?#j|H;6Y4CeJn5z>nBH+{dF{l^o_#Ho z*WKv+;r(2b<4uxuy#FA%9!6^CRh;*0i$}PrNNis_D;SV6h6~(&Z)u*#na|hTq*ADq zmd54SrAaz>&py0$N~`N#YV0Hj33u5q)y((8M!5c1mu@3X9#Za|LOouwoIM3ko<7ab z>gWh(e|2Uf9rO=RwiReNb~uX9x12*+X762oPSKYc}#`Bj){$>7TYI6dhTq%vs;_@@jkHp z#R4uaddqcd`_}3{G<@~wH)q3E^ z%LVJ=mx9NSkdS8BB&!=u{#(7U<>tZXES;$F_oy3HUaB!KQy0U`IN4q8vMMDvkIY#0 z7PUXO3fLdU>w?&`#=}NiZEW#xsxk0>a1My?S|2=dCj1GatbWbk##jqday zc~lRP!q_X_Oh?-Y%S{D51r8mVGwfC1TpB)iE{NQ@a5#-B?OM=;Mv6BLvQ^DT&loj5 z)zkTPKu`utg+49N^Vw6q!SQWL_k}vQqUn3qq9w^+jQv!A_2S&%fc8d(F!v+90h@&4 z=tq9vDKagkj@k73ZFXF)N|W&5+v4iBJ4F+lf+p>pgkKjclmv`fV_;ULUzC>dx&F}V zSrBo7OF$gCyve6i*D`Ns?w6$^xo9cW4i4z5aNxHA^qvP%?4B8jfUaCG@F6a4jTFP| zJz)ari2e52R;!Oj4G}t)k@e@VL?OK#8iE+y?IY+@AaG-c$A;bE#==_sB+owTphT3L zrwC(iSE2?1$R6MH4L3?#ZINdZX*4E%fs+;zsEhvJSXcl-4Epq%)by4ezMZn?v6j?$ zfB4(MsvX5iw$mxhwAPBG3*a5U0n1T;kZDTY4>mNKH-+EYI*GWd_6W)6GCUMbi&PKL6?Yb9FT%LJj&1Ayyc};lQ`+Ha`dsVkM)rZ)`@LYbnVQoP@}m zV0}?emN21Eyz`r(b!&KWt>f{b)N(1;f~f-Jwvde0N4SP0E*l>ZoMmkOX>`=z%j>=SfrtCigZ-=Acjl6% zjw>f+U}+p&+SScF>>>s~eErzlrGb5#wAL~n3Wx9$ZtWj|Z~Pk8H4hK6(Bb0ZjRhcA0u3@r3Od+L5+%d(4w6%Tgc>8lh;RNrAir7WF4O3zJnZ|dD z#`m3VV0YB#M9+WoX^nT#%FD5QW0J@Y|DdeJHK-UNb4TlzU= z<=H*_Li2qc8Tq-!8wRYo>Dqk!pU1|c&)-!qz;N*UZ2z%AcPJb2e~a5vv>v?{v*wiQ zMnR|a+go-*+sl`%Cj`mPLnB>%{k;-BLt{q?9Cg)UyDj2A2KdO6$<`}+0GnjPMwiD# zY7{9dz-WSHMs#sq_3kTyaCG)eBcSGwgpIxfMRN@Mt>}!dsp9q4wEJHaXpxUVe1e(Q zsApD>LR;0Ct)YcGa$N>s1)1pEpx?pErN4@Ju_c3eCXOA36U*RFNFe*M+K&ffY3 ze;|>|5P3jOV3Kqcq>b?h+A*TIEvqY$D?wL$lK+PBd|PzPEBp?lHNDoZUhx4s*`Kh zZAt#6XOiw4Y2D$cA9wGnUa!5`PxBh9Llq%m*PCTxB#a}tn z=)3j<8SZ#@tA5=Uw0Z$f2B8HoiY@jj9Kn#7N#@UdfH6L&D^?<*xK-9dwaV z75H)5q^z@EgwUwT4|+feFd@LhnKcA>(AXMD1sNs7SbC}DoxyiM13R1wBpN$6enC+V z{o8LbjoPW~NlzG0NvFfyo2HFXaVX9p@rvrR+eM{5{eYxbHnWIXTp}-<2sr zIi?ZU+UCHDLPoNeF_)%UnE?4DC%r)~oWsHIncrhE{qb)Oo|Rgb*>zpU>y2kCT8RBeZo z5vvp=U&615ilY6#o)DD`LR^^N?1r8_m@l}_;1w43J{JgbF^prIlH30MiK`WcwH1CI zJ8~j)(ePvvcwJ_WBw>icV=&h`-wt1$wPbBbW(K4MY)m(DdA5S@D9&agQ}!Ze)Eas` zzPEgY3G2pgA^PHaBN*h5k#QG62C2p&^43&V;!Z25sK8~ee`{gTB8bttvlMnba*Q$Q z9_ZUUXVzz9EpTMgpJ`&eN>&yo7RGA~!}0`Et4@u(c&xl%tv7-}Z{GuSl$@_vm<>nK z`it_`U0h?U9ULnn4_D_;f|>c0slyr^{QaSmbL+`se-FQuP7j`@vaif6&8qz6UgF<} zcBlmDJ(7DSF-FC8%*9}0WG=*{RWs@;KE!^3rYac{aq5I5ZZ+kZ$CN3kEJybA5!DF~ z9p=K5ob3l^ucnlHOsNyE&It0cERvQ?+bM|Me{^5?wkrWR*|J<7xEII_3?i-<+ z^BZ!QzMj@pKvBs>$~m|!pN$S~34h#ArD7=liOnywq@+#Y137Eo`IdTB{ui*lvsn6& z=fR|d?V&0nF@`LunE0zDqjaJ${0c-|UbD=6 z(Muh9z!Kgc?KPBiLCj*?tSZV|v3K|kfl#qsokL(iY{9ZbWFj^Pz_%&d#L1(b%cVkG ze7CB~na$agf6Rz0wJk(@v+Rj)XMdJ;p?|fK@y-hGH^n~s($sMa=uAnAMNcJIRNp6U zCfZiPd_gpsg05dwswahsfFWty^ixxv{=)y^V*|Eaws6dj!+q1Mg`<&7+YB#e#Jbzp z&OcqJ*T++?4s53d68Gz2MfM#7%l!TcwqS55tB-g0Sg6Y=M8c$wUFD3NJ8{ + - inFlight : AtomicInteger + - accepted : LongAdder + - shed : Map + + LoadShedder(maxInFlight : int, lowPriorityLimit : int, criticalReserve : int) + + acquire(request : Request) : int + + release() : void + + getMaxInFlight() : int + + getInFlight() : int + + getAccepted() : long + + getShed(priority : Priority) : long + + getTotalShed() : long + } + interface RequestHandler { + + handle(request : Request) : String {abstract} + } + class ShedGuardedService { + - name : String + - shedder : LoadShedder + - handler : RequestHandler + + ShedGuardedService(name : String, shedder : LoadShedder, handler : RequestHandler) + + handle(request : Request) : Response + } + class App { + + App() + + main(args : String[]) : void {static} + ~ simulatedPaymentProvider(paymentSlow : AtomicBoolean, paymentRecovered : CountDownLatch, entered : Semaphore, recoveryTimeout : Duration) : RequestHandler {static} + ~ awaitEntered(entered : Semaphore, count : int, timeout : Duration) : void {static} + ~ result(future : Future, timeout : Duration) : Response {static} + ~ shutdown(executor : ExecutorService, timeout : Duration) : void {static} + ~ report(response : Response) : void {static} + } +} +Response +-- Status +Request --> Priority +Response --> Status +Response ..> Request +LoadShedException --> Priority +LoadShedException ..> Request +LoadShedder ..> Priority +LoadShedder ..> Request +LoadShedder ..> LoadShedException +RequestHandler ..> Request +ShedGuardedService --> LoadShedder +ShedGuardedService --> RequestHandler +ShedGuardedService ..> Request +ShedGuardedService ..> Response +ShedGuardedService ..> LoadShedException +App ..> LoadShedder +App ..> ShedGuardedService +App ..> RequestHandler +@enduml diff --git a/microservices-load-shedding/pom.xml b/microservices-load-shedding/pom.xml new file mode 100644 index 000000000000..33582143a0e9 --- /dev/null +++ b/microservices-load-shedding/pom.xml @@ -0,0 +1,70 @@ + + + + 4.0.0 + + com.iluwatar + java-design-patterns + 1.26.0-SNAPSHOT + + microservices-load-shedding + + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-classic + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.loadshedding.App + + + + + + + + + diff --git a/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/App.java b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/App.java new file mode 100644 index 000000000000..f0ca4f95a2a1 --- /dev/null +++ b/microservices-load-shedding/src/main/java/com/iluwatar/loadshedding/App.java @@ -0,0 +1,194 @@ +/* + * This project is licensed under the MIT license. Module model-view-viewmodel is using ZK framework licensed under LGPL (see lgpl-3.0.txt). + * + * The MIT License + * Copyright © 2014-2022 Ilkka Seppälä + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package com.iluwatar.loadshedding; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.Semaphore; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicBoolean; +import lombok.extern.slf4j.Slf4j; + +/** + * Load Shedding is a resilience pattern for services that receive more work than they can handle. + * Instead of accepting every request and slowly drowning, the service measures its own load and + * proactively rejects excess requests at the door, so that the requests it does accept are served + * with normal latency and the process never runs out of threads, memory or connections. + * + *

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 literal 0 HcmV?d00001 diff --git a/localization/fr/acyclic-visitore/README.md b/localization/fr/acyclic-visitor/README.md similarity index 98% rename from localization/fr/acyclic-visitore/README.md rename to localization/fr/acyclic-visitor/README.md index 7e5b27e256ce..6f740a155e44 100644 --- a/localization/fr/acyclic-visitore/README.md +++ b/localization/fr/acyclic-visitor/README.md @@ -123,7 +123,7 @@ Sortie du programme : ## Diagramme de classes -![alt text](../../../acyclic-visitor/etc/acyclic-visitor.png "Acyclic Visitor") +![alt text](./etc/acyclic-visitor.png "Acyclic Visitor") ## Application diff --git a/localization/fr/acyclic-visitor/etc/acyclic-visitor.png b/localization/fr/acyclic-visitor/etc/acyclic-visitor.png new file mode 100644 index 0000000000000000000000000000000000000000..7b4df13d80f8c0d1be8ca32cbc39594bbd9ec7d4 GIT binary patch literal 49064 zcmb@uby$^O*Di|kLlgm(P66rePC>f6OS-#LVWD()Nq3ikq|znbAV{}#v*$v6-}l?+ z`}RKPx(@%ai1j?r9CO4y?s3l*C?_L|gn)wp0|SF3F7`$N1_rhi2Ie8wlk%f4h6 z;2Wi*u$rTRjjfxdk+CC;sFAgiy}qN7A>ms$LQ_XaTP}KfTT6XwM<**wIs+T47Yv+u z;0m;6N@|XOe-HBjT*ft}MoHTynE}nKF6Pdb;5GW=hGI>(gc(}1T*R?L7PqNt_%6Ey z*78V3^{V1KuTGYwEO8~XB!7WZ-m|%%9;NkEXmN%8BM*8RF9J~!-WbwJ_UWpLYDuw? z7#R*A7bs_ho7d67Iw+VrZ%6Fv$LO(LLun%#c^&`8(g0I*`}d-}Y}7 z6SxXdbEX&B(4T64l={%T749WC7gE*bqcHhuqmP@Yjl$dOHLT4BBN2G}n$1cR#{-S`|qUc#y)YEz_2xPZkkG}kqBsd**Hh{bm{<#2PO&lEG~k?_X!duaBK1d%wg=S#tBp_Kc50fGz@nooAy8Qh+iI$Ai_q@LtJ+Oy6jy0zIgQC}JHI7#E8zVG8 zVIp2L8ACAXb*@iqIAJOu;Nm6|2?cyKK!g5`(9f_RVKmS6ADE=kB2{{B?#AkBmS2yd zfAS51p+@WvZ*3I_>U29=+nueWXJllgq}*)tgI|__{s+vazKqIejT-Z@N3ycA(`5or zvTWF4*Y)&jqz*QQv%a_;)mlu_F)>BW9TX_$SuZxzmi_~MTg1!q_5dcw4LJ?19EsR( z#8NNs-$z(zJcl&Z;I#d=Bk1DdA`&+&G*ntb!u@n7@iPkaeZEv{hLCiApWEY2#al{^ zM>tFdzrtj~aOmkq5QYO#tU9Iie&D?sU$BGST386Mm?+Mumrm!KUtILLI^E5aNp0u7 zzf3npVqLqLnHm4xwZlLX>(OdoJhptqfu|nE8(CR3i<0YExmt3|#1X6F^dN}P@K9#k#wH?P6E1ztQ zKgFa=p;j$j?g)0-ojJL_I8xf%+PYkr{m!GjwY|VnrrYAZu&}^V=y`Eito5;Xr82qB z=kAt8)*O-lgYiI;yf|284B4^4D#lvV;Krt;GP;4y6mQ#g5fcs#wlh>3~AU-AZdklgQ?Jd+Ki z<#LO9%`6CmRw9nnX5kAio8>3_O1|PRf)E5lXER@#zQI)PX{CMyObR*QegZdol`8Y` z!g`1GT+Z(du}98w{tY<>Dz3*H!#hRa5p)|I18G01e~luQY|gWJi6km2I(l%m-!c?} zrd|<*PF-s?8^?oDf*DGsS~?euN#7kBY2hQgpSQi8@kDv+Xdvs-u%<7DQbFmg4c{xLlxMLI&=_M7nvZW;r_4UyZe*t(#7gPA*$xvMO zpf%f@ODFq^;~M?10fz6jwX{qPZo&U#noHoy@oJ3K5z$sSZjLzap`oA%KEgQ@gIawnQ9D&Og*;(WICi?dzF4U;`vhF>I58?}d3RSD z*6@cKtMSL4w>qC~i8weCYSw?W`EfxO&y=^S)*`FIgM+imD(R%n>~jVrVV$2Y*wfWu)@tAxx|^^#D{N*htt=8;J!eWU-#HWN)Q`^JI8_D8FSd!2+w#6Y_9_Rp?x z;c-WMT!wj5`NaUqIGT(K{@Ziny-4U{1=hN=(NB+#49Ehe`O<*NDi4W8!^)$8y@n@w z+z!jj`t_VPzQ6M_iWj^(+aGGKlnk#j9(b!OoUg{E?XHqAukjtkevQTCNUO`DmuNZ> z5fQjb?zJGb< z{3ID`*j!xNt=WUE@uHQVjV}9Pe|(v!V_|AQMg@l9(2Gf0Rd*~vg8Z*(a zH}le`8Z2k3#mU!K#7DY+qu@iI9%Q7UpoKwlWUbXGun~@ zw&VbqWs3DGKcAvj_pO1!G{rC?y>9ak*m&o}x|1u1~Ajm}1Q!eChoIg;@sH$B`!DhYVXAk`W1rW{*@;;?QMefR*6l$V{2Mx%DX z`wqR?eigwY0VLHdk&!4w8Gg)xEADiMh z+uG_eOVu^!yCE*&6i9(BnU*qj7|sWosfGM=jgS#a>~1botjt|26HW(W>GyVo^@D>Y zA!i{tKj&i)8@i+5IO=)dO_AUoHZ&%OH7WC!@bG7UJc|r?*2I%rYatg=$>$xOu`6qdC)+)Jb2^$v|fAq6#74*C99MzY_=; z&6BNqRBbkDy!21oY3sBznRYZYuY3|(#bg4YjY$g)10dwDPNLa!>}&n zxp6KqZtx!;dIIv{w9x0dxw&qh9zH2rP&443VptAmc7U>cQBXOEu-NEQW-^opK|s%R zlSyJJu$U~}Z?b~GBjJ40!gM1`{V{nFNi2Hk)D0J9FbD!OmCLDHy8@vkf_Y*0ow#|ltAV)j9)>&Pkz_xJy22F>pg(!Z){dAso=4`iVN zg&cr6$X=S1e4ofyuOj=i%_0E(7!Q@}e?463se0RiFh>kUKE8+#0JuoIxjIv{^}aco z{49D8sjwfaU?uQ^+AJK5QKH*&8-Rq{-rf#kBRV>|BNm#FU`VjcAz7K3-3as=)uzv2 zaz#PDI9waxHttUViRSYBJc2wdFz|&c^m@Le_WKLG6%MReLM04|dN-qb_oxeof#~$h zSF5K18cQ1+rWzxl+@3wubKjY(kA5GWspOe|e*?M%l>SfFGu4!w zoEN9Nv(H}gbZ@{a>;J)V>g|YIL;QCs2??&JJL*i|u)RKQajP$3p1sW75%(nw9uB?= z_kWRwPG~{+H2RTxme8_VU3DO%UM_Mz#w4Xv%M;3-piJygJ()bt;_lTIvI zAE`@|$0RnNEIg0+-`}MNA?oIMi*Nm-8WI^9`9J-Sw6fWgc$drF+pXE}INA?)HJf`4 z8{^vOQtO^!9}UGJ(d%{wZwpP+f_o(}Kp%ayZUOgUrHGCgHgk-zdKNRGU0Mr=Gn4sz zT${mrEiU+}O`+~)qXdh1FWqp-g{HuVQe00AFGrXtWlQ9*r zW?m9Ufmv5LTq$z#NTi@JoBu;zWOlu+hg-JHsWJh+#V-&j4JJltEF60Sj~1h|BGZT|ct(&i z2+7Z~zIG{gi>v;_q<+7J@6g$Ze9Yry`!?w2cQ&t}T_sPf8qt?&o%CW`!pbk`A{)E!{{QMJ{mmmu9x0|vk z6ykjNMLyFQN0o@vkz(LH2ZFr`jVygQsang~x%lD7c)xn#O-TF&lTSklmT0vxyIFFK zLLM-~sZ1$35*r(oM|*S={fd2({wW7Zlf9DCJeph9nj8KqEG>1h(3YZmv0`94-)RI} z5J$2K853Z(mdI_=BU zXvLl^QLh{)8fB{OBBtKwe{F%3Lu%=~`>ILNYGy03{%Flj7UpCyldCMZa6-{$bP@}1uZ85?*b9(`_i^83SFN5L8eK<|+kNTARunxwTg>>^nwKj1j5yTv zrL)y1Hb?>;n9T7Zuh*78ps6>Z!V$H+qE?ZjQ)A%w(rIeg-JACs>q5q#QEq77+M229 zC{$L=UQI;3kTfGg?Krh*k^UL}*laTu!`^011T~5=XQ?l~?(%BL$)0Mu$%ER=h}3G1 zqfshRp}k|6>S&K&+o&7isHjXmqyh#kY(({0J3_L5Sa>4V<$$ZaD)*qtLvEve-Y@jJ zpQ(&Ps}+$Caq3K_I5sVfoK7v@M81N&_rpBU)vPVn{cPLT8`~#0nX4eSzQ=#Jqn+{I z0N~~Pqs-EBvr!F}>uD3|m%Lmg+7UJ4KanSUt3>=__u zRqr6`yg8Cm#^dQa6iMtc+8T<>-A#=~uj4QEwH;zGJyoFiVP+2J2WbedI?|Z%pX+>n?zGygvYA;Tnq(9z6UEUs&K)S&eQ-`>_2is2 zSH^{{=;mtjyZ_lf!Sj+-30(u|hVkn|1k$ho zo4qQt{D^KnS^8@SA>u}(CQ@j&>=cCBB@TV4Qsl`NXYBp$DrZHbah|6ti4l7 zcfj;zuS|QR;gYicG^u^mBL|#LEO+Bk%%_jk^ih@7dg9u+Z{BEI`C$-@Vklm^$xtM* zb(cbbK~J_;W%7ov=d~T#bhE{XZa(5@V7OG)+Ht86R{$LzZm5F8&LKd0?R zfFP?%nnf@fS;`3M0}R5xNXN79=^h48e;FN6kt@ z9wP+wDEVBaOrg(?)_+~r7iB=0$k6pVqTS^}G{)V_MnEk=7Q{`qMczn!B>}1!Dmn67 zNJQL$M3#2zqujG%ClX8R_ZS?BrP8;^py7SCH2g znC+sB+1T^uV%^H{DW?~v!=WJ|_0DwF$wCknqgSMRVpRq=jQmyJxbb+gJ~qIikr`O9Vsn*|;gbj9h)9BvnD zk=2%4u2?d1q3?OJ+&L`>>VeSuM`A|-^M)wq-8ttAY&)L!?;{2zHVey%yeQERUC<>< zY)v-=L3X*u3wX9~_7R=WZuz7?_LUsgEW7oWq(BM9i~5QuIjWGJK`Lorx4}W=7@GAV zQTe^{9EXQ3)TwVK5U6S8$Np`#=Nwl0hK3}Nw&5&MN)+p8>i6huaFBS*9LK<-H)h;s z^fV~axG4*yrA;0_v~oYb8gwnV!$j-^)>sn3Q>UbTUoxjeQV`jE6v%AS4)~;Q0_z@~ za$U(Zp1>^o-bm27X*X0uBv4SUDJ)`cqa8s25Aj(ry?sN!NwFOXKtnW%j9wr{r78p| zkYJ?t<{gL|=Q4&XX zT(8e_@i^_}xMRsoP#~ApX1X<2v!;NX*qvox+CK1B<$A)ul@-2&SWiV`$&jZXlK6Hg zB`%_p{m1!6pr*OYQ`+&MB+>NYng)Da&ZY5mKGJvkzko04w_Eb_w*X2f$p727Z!0T? z&;luyy0?_964apK{1eBCrMco3;GulIMRa*<^E;JhXRF54TUnd-buk_vZx&Wo(El=x zkq#fcgS9}w=qDh!+tSfDyEj^K!`E>w^;D*mmHZ)1eXevG~7AmMxt!Ck*NSb8l{q?q^q=kmneg~|6ezm`#=>**@ube{#04Xk3h z-+4-(m8)-o+EVN~;xwRaX&-&8^1<&DZuldub3tg}Afrw_Mc?8824sP!5 z1!$Pjo{Ba(tiQ6dMCjJgpMJbTQZcY;(N&soZ=^+si_HGsZ1xWu6^gj;i7kPr>xV@&M-c&8TmcX z)RueSY|Ylva(lWqC2Nv$*#l1Nvu0hK%ic~b-HiKhG*h*|Z6_fcA;#`4_JPcMi2wEb zz+(L-_p)^Axn?iaQ>`V(E8w#IoBL-aig{FUhy$aeqdx)5XowDtfCx~pMdoex7p#m* z7|1c-rI6Gnj#yD8M_9cwe@5#*oN05hT{+UDEO-+wYp&>##^>e4*YiymE?%bHCg{fx zIAmn!YdF_U6i#tJP9%eVNB6brF@OKaMM#_#?kl&$2D#UKM-Nlyo_T~;rC|nA!@(Ap zi&Gfc2vkdw%O_kCJgul15vNE6ikaP&0jluhstgubVFe$a5nD)z;(!zE60-F+5 zSj>@WiJrU7r+)4HyO=1{-l%yYZ~flmoJ}wBwMxvDD=>imK41i;c5m0yv^s~-R2ZGHdBP-=<0>h8chm~uwQuIbT%^?Jwm1n*W@UycBNudzl zY&o0s&1Xl97OO$ubE1x$Q&dR$u#lL_)md4+n}dmlM*G?T|LRcsP;Yv3{1bq5mtp$I z@Ci2YU-NM=3gXlqN`ySNoa3ILPF*k742XIE;7?1D?QqroSx-KJ4pHmSu1ExefY}?% z9iQswB|0={qs)PZrjSc3O`S@VT@hn1g>@kEK>e$s0_D-hFi|C?a#38PC$-?(95XbiVJ6mM4uf}FA4f-N|M3hrJsJu$Bfq~GjaS`E_K+pJWaR* zM5B?$jAXcaNmR7@nggYv=?H%B{JWizzbhf`Hqr5yG_msD=oX=b`p*+eT2}o#6F=wb zJpv~Zr5U(jbX>IQ;zh8{#VY`J#4Ch7fnA^=v~VRd>eq%QAtE~ptkY^-w3+HMB6gKM zu9vU*5(JTn3`It0It^i^By)C=#-b~T`Z3^ z&V=h`%gX^_i8dH&OO4Ezr{`k(6ziu~Dzr~{DZ`X>h9xom<1Iv4hl!KJ{%!>^nnGuB z4(K>yP(KL1^7eNzovt0}Gy4Kuwd>|oQR(9JF;P{tF=H;8UJ|8U|F?}{)HfM@{Fpgs z2hE-tI}Y;izjWf`-CnlIQ8lR6Nb z-;SN*BaWE5(lNICV)J`IEee!*P+OOLE2aB4)FUw!IuW6ULlnpJk01qcEXm(msYbQ` zBc_R1&=P{=3QwNrV{5F+LbpL2zEf${GCN>c*I76rA>*tph+O&kswD=%# z{?M#*9<|MpFv6h2>+9_~v|hMI#a(D{QXel|9qX%-ggOM`>(0o(K1Ub~MG%18Dq;z) zuzbc4ThvY}F&h|K_9j3J{Uy(5heqen=>vcX>KjxHzZ$wt2bXc)T)hA=C0{2^TLA&U z=*LX|av@mt5P-k%QMxohR2q5s7R*tn5Q`!&s`(V$c=aLVxs)CJ?E3H&y%)>``ItWM zs86z(Fnvy0ID7;*U@|T!h=EXs&=&_ad>cveL89=}e6Qz*6I{Dh0&HFW4{Xr>le0?d zP^;C{KOq-$4a4uoG~RoHg3CTgr;z0OTYP}g;L_f`Z}!tWNr~Rl*}Ai_ z0!1efR8u4ptJ68jxt4(OdP_3!C+rRNM+l+D-i~_&jIE-!S>Imke7TOW-aB346JK%E z^MZ%k|BA)HGlQu)OFrj;$^Z3D9ZHnGMA-ZzI2gdyq!g zwwquKK&#zr(BMAu2mpHuiu63 zP1asXn3#Twp(#`Nzc`xls|U`W*)HGmZUE8r##&82@Ws1Ok1qGn=)qoFN_Cx_!<{H- zB@&9T%Z@Q<_hm=u#_4_wE$$H<6I26l``h;n}fI-J(fDsxl+SunIV@?}fweY}pddSLt9|UL>C-sP}`%d#uVtG*=2+p;XI^JTFSQFlKi&Z+^P!#b#Kh z@YM8l9G&)i&{v45hy??-JzuWP?qq8pf+VIo!X~svmxG7;=!?9-9}?Cil%T|-8AW)8H}$J(C~2;-Ecg{dqTxr10G zQ_VFZ*!}r$HV9=CoG>K>K;qAniIAZ7;|#prnTPE^myi^j#^Nn z(3lSkO%Yg4^w#me0FNX!iO{8N7cHR?8lCN~FtP?F(hFbeqv_R~J);0v!{PAa+VOjK zn4P^7HTcE|ja=Qoy4+MAcPl#^mCxOA1K{Kl`%T2Gtat@tZLMB*8=d$T!5{nlbpWC} zZ7H4nx?nRI#G``1Kf7H3U8hD3)ntjL)%sv;aRl3Wf1=KOL(TOjxy@4Lr{ajeuIx%= zabNHTu>$>ym--njKGBo zRJ^rsavwJ%zBdHq!?rV2bDu z&-TT2l|{rc+b|WiH6;vnx>#qz%7Bm6? zH{6?%v8#BPrc>!5BGU^>I6pXzrC`h~VSfICYg1O61qxZ&XD9L_!XFXXEfdts^}L;b z#=k=uh~UC^ISa5%*iU=^e$8c%W-rk2sgMvRo0)=Q^<$YuUh$_HH2=y!2@$Lqf4uPZ zM1sMDDF)!H25B?|B>kln^Sm&+AA!5-E8N}U^YA1g-1WBJQD%6YsaVajNyvoh>yk@h zb)UVy_jvS?YGRRN6lFquj`DyTI5i`Uy@7BQpF8~CP43al6Wu#gU^MyDtFiZR2ImAN z*^oNx-CS%i*$5e+Wpl>IWmw(oIdoK<1?03}@o#S0fFz71JCfD1HKt0W3d`WZqr~Ry zHa#L0we#b|tFvc3ZYb>Tjs)=V+?N_n?ibR@-YeA5JYu)}iOEP}m;y8Yu*swDX1grH zQ8W<4ZsWU#O1BH+82oTg!|@qq>{Zd0iP*}4q?@}kL~m~gDiufbsqapw zJ2pWWHS(0%WUS^ZBGIb(Kg7I9sac>8nQaG%?AH@&zEF085k(Z|T{n)3X|H+~NG;7& zUtIY*und#9s!W?L84{||<0Lc&Do+3?W-E8zMcmp{LddX;@5HC86cMj{@=Eiu5tQV| zM-f$q{$%P5K;hr*-qg_l$YM6~X{M&=bG@?paOT3rkvtVdu2%AIw%v-7em*ToF$;w& z5gdj0KS4oV01UGi@E14Dr8D0)vAUOrT7Mm1ggIOD8B^)+TMA`s(&IuCqJi&g9N_x> zv!D!Y{tX+K4ixx3H^lpUtw)tu(Ds8QtOkH2A>YL2`$Er<_7z^;H|C`p#eL`W zjz$DHGjgCo30T>4yHp=D9;jfw4`rZFunw!s;aL2!2<^{O>Zlb%eZ!St{pMoFI6eQxxR5R1?(=!Vu}jR;?x2ve`=QN zSuxS{%uEUocDGN?9H+Nubaj%v|J=J6XjKl0W4E{$J;F?yf5&I0rtvzP+vPNl{%#o1fZ16K@*ts) zlxRw_eK8-80Z>k2`(F!YkeDzvhD35l1VJO}L7<|`s(?hwWp5x57c|yd;WB#s+8EAI zuL@XfYLo@*48?8i=qxq(YG=3I!z!_jm5E6oCjK<>O+jkuRPlMi#&&OP^i#C+gK++b z*|A2epsWEV<9brNQDx*^!u_(Spw+F27_BI7m`=C~OYvFxkCqALyNlrWRXkh8c=>30 z*}}oiH^-w~fGqbq-TCNf+0eVuS-}RP3WQ}4`UklA4*?!NEe2d(Bjpmu5gXM}gVLg* zmv{9_j>igskEEkpO=d6iIJNYbAY!!y*~EM-|HsZwxy_;t8t-^fJo(L$EJe}xEYTvs zL0O*P-oSPQV`eDQ$-@#-|LGyING)QD8Sr;I!jD;=(g;~61HYgQSrhT-!YMH9LZqC-P<{M(ZY53j&_?MINXtZ#|c2FBRw zLpgy!8FCI!uoBtSpX;cW$ZYZk5Hj0i1vnUMLZrl^r)0t67aepHhw;Ka5-O!y0fiUm zo|4TG65aZW0hJdKcUei-JSKz3ugZ=_WfxMkknN+!)?$*$Q({f2%=JO#FwBe1y%^22 z6Aqq9;X?1v-JLAs9Y{o~a*B~@4?jG8DL|W1bG{Ni6HY)7M<+8g7UE2q)R7?JTOzAv zb!9+~q4)I_83)}C5fTHL>SRzgwPtlbCKg9HeKswFQEx=E*DT1;7&r}bISg62T{ECP z&9#77lwk?jF*}?|k>TW`n6c{o?D9}JJn#S#LHv#&bUrW+3Q#Rh&?;Lfa!{ETlp#z4XB-tU@gWuO|q9Cj#KH-y_SE3YKML zNE0_;`il=rG#k|+z(r*f7$QdRrrw&ETmgm>2T)d6+_Tqbi@Y&#F>)*brm2XEdT`;1 zyrEeO2Mpw{32ZmMm@t$lV6~&7-Q;Ch(d4r;-bqvR8P}7?XDSBNh-98JXE6i3=aL{A z>0@dVg8sYf_Ah$&_K2&Pq%UG=v^dzbsdu)ygOU2y2+y3&6(tH;!qd@{B}^dzfJ&We zIBQI^5b%9j|7@4W0>o7B-oqW~HZ_FCf(=OZ=STekx-`15XcpEi?Vx)YG#Jc}`Dp6g zYBc+SNKp70wPvj&;E)24m}hIPzQrGD{y5#`1?QBKkHHjGlPW{G~_SV4|SgJu@vS__i1PDXc~~*xiz5+|iDb0F9-^X?qf$YDXth#dCseX)%_MBGiU|tAM3@i-&EI!c0o&Jh#-9%@k_pbPX9Y@L1|qg z5#=+6)LChs_K?@8ianaw6Q!O+R*_s z8=*acLTJlS7+6K(9Jre@S!X|DVg^ax;lKNWmgRPlk|SFn5=cU#AP-tDYt~?Nw#da_JTBi{)V?5MJ)rV94{!iODvNd zF7G^sXXL$>?wY2!z`#>epXp|&nFcslRIYKge#I*6itq*LorGA5o>*cZj*mlLzxhp@{uT@-_*HXVd>tIj)t9V#^KSEw^ zXEdy{i;Y;iLDwm&#u5^)F&Ed&)4O-Cd7ZLEtYaiV96IkW1W9y@Pv*Z3^xuEtg6P1q#?2y&wj2f`5`o517Vhs)rQ7t2M|*dT`R2#LItqUEGIm#6lT(w&k5MFkqwq>ni$_RXEG~Ou zW^N6FdjeEYADNEf2>96I1>{TE*GQKUQA{&AptDlP)XR*15c_v$S`lyyySqu(2ZeKU zJFC{~1tP?LoB5O7gjQp1(_7)ZTxp9ZcZShKL@vLn{sGi3Tj?a0eCJ&%YwK7IAON`a zjH!M|qHqt+Xtp0pO`HJ#$DZSuAp1X2Gynf#U)*f7(PsCH!@IjwoAJU29zXgTgMA!j z$i{L9y1>+axg|G;G=@?!=w>PA&Y@K4nqpW2Te!BCEiCNx+7eoyxPi`dKbtj&DPB4< z2}id~$7%DYaO|Iff&pE|+fNa!IEJBgeJJFpvq3{}IkUVq@jJvu+2afH68aH2pslE+ zXdQ`__=gF*Vt*jQ)5}D;Xl)0iv>Qz@9aYPaXo=hl`gjbg@fHmKMK+tqrpwi-v_uTW z);hZ=Y5%{V>kRcHw3P98d`1L(nTh8nzR|TdcR66*HNurR+KAT!xWU7458~aKnkXMc zeXTinu5xkm7hx!+F%5{totsyqfF$YqMq{Fj%W7Yw-5B%;-YJwFD&PSUC2E|UzuX!# z0=kfY@i5>fH%Vo_@i&*YxGF4w8s1x62Bk@mw`RJErFVi^|P6W^L1p318^UI_ii z`4^IRh;V8R3V{N2#9n3ZHZ4EV>4el)P};6ZapdvCaoOr2QOEDHs|8*Li3zJDU=Y!4 zj^^R3>&tLLm*`l+&>_)tF@J87Hd?N5{JnQH5~z?7Qn^@v>NZ!p?3aP5s$52qMF$WV z_Qm1xoO_Js)@%?e)mhi1a;sK8DToAGo(yIzF2V|v6E}}%p9BlV$q4{r+Z)bOmizA6 zdWvtr-%Y-t5T^}uAM>M=IDoCqD(oR`TcjB zqn|T{t)?!X7wEQ}UiXK_6yK|cR6q`0TEc({OUFgMyF zsL73e;NwP*3?FY!ppd4=SpMX*fhM4Mu;My>UL9ghEl<~<${iI|q*Xt1?NF9ofAKS% zxao^~c?G-m4uyOsg-1%TV_qMd5JfCuOijCpO^D_1?TUrb^mfF)Lym9L|A~*bu#}lr zo-()h;~z{#vqMe?k>kDjTF{z#ay~0xHi)l+WF~5I(!di@w!9O?>>_&DPey1^l zdGt0`wd^)+lpmSb=hkzlga2qf{Pg(v$HEux_2W$jnLCLy_Y)m$Uwz0wROE|>o$~}~pf8LmuRS23{M_B+>pAo&~PyG5F znRu%JIjYxcg-Uj(y}Br@3F=G5rXehdl}h)GMXcuWL~@g;P1-9YhCyHd*gfPuEBKy} zpOB~We|ASdjf}kO`=HT2pVntvnr)q!Q)2q*PnklGu&t9c0c2QlbX%wGhm*(5sC-q4 zq*wt$HsQWCTzb#U`yVJcFbq#RY0PqNDs-@9`ltucaJA;+0&1cfC@-5oA|E-Lw?lcr z#)Q|QhT<|?-t9mVmNJ*`7Oa0Mba+K%F6SLzyexg1FGHWrz z$pG#+2qsro79+@*S2=It2v+Qc!zFUe$zYL+G?bI3URm%*lNL^$Dc7H;EIZHpEa_n~ z?Od5d%`0*GEl}V#pAwDr5J(qnT5jHleXPbXOq;q7q9#g;lyl5$hQBmVCpce(SxJUl z1=ZdX+yW$4mi$?UK2L~y#OU40nK>^^2HT%MIXqN+H%JjN&SaXS6_jQ^7@N=Nd} zN;^-^9^{%Dmu#}H0W;^OTaq$g4DIDu-RDMjN854(Yc)d%MBBeNsGCh{9-%KF@gCZZ| zLA^FLMQ<}87=KJQ6(RRs8n33q<@apAhMiaa?uv56)0EtQaHqgTf@*#?wPENZpbC~w zu@C0MBpaNfRWzcXDbYL=0tYR6m_{akJOyqYWB<TNwKs^<1bj!H*=O0NHfQkpI$=+ta|@NHKQ zCU1*EO;en8@3VF7mHN5&y>iyjd2GTgq-8rYz-Yf@y4DIi)vt0%r)h3_ zp~=a@B@jh;`dMT3u-Rf?oZR7&W>97*(w97+GWNU{vof`c_8r-eptC<{p#dc2a#=$W zJl)lN#EpXk0OOt+Sy?ypjaR0wUjq^?!wXqNjBcfZF}ySzozXQS4vg_J6dW@mVUkT%^PXu zUp4gz0bQp%$+92X;a$g-x1V+aY>xZ{_iniTWo4icneW8d=%_(wNZCa@q7}6a5$0$1 z51!L=hL?cf0gdd^W#33j`=6XaQPZwI_QyNH_~I!~P3igEBzso){AJV5z=oDP)XGYD zB;+62b9x|(q##W!=${eMs4)aM(Mw!K##_p1e|}zL(1mcy{<+G8xVx&et3|^|pYCJB z<5=`atAqyhI3#93f@)Js1#$gcuiOcK$jrOJEJ0_@aU=YArU0mNHXU}RyssDLTYRJe zIas7bDM?}cMzt0j2) zW+vPSBrOG{F_ferjN#(xyE|#Yb#}m=L4~o3dC03n4KX-bd_FQhF2-P7AsXg+nw4O?H+|0B%CQNbBSs9>IeEmt zN~s1kNB=3MCoowHpC=9&(j)d<)2nNA~3GB2sR>tubsQqJs}(iVZu0WU9lB zhi(Hbsq@P33n@U@3hY6>WOn!r!%G4Mc959kidTu#IQrz zZ>@jSSeP7~p(el2hL!*cXgHO(zs>QGBNrB-i@e2yQ4idh)3{8bk>UJ19-XF~tr9Vj z09a4!v$K^4Sb=o%MDLtcQs;OhiwNcK8*D;v5L71~{b;;YyJMh4AsFLiD%xD?%}9X! zKMEAJU|8MAU1Twd!NNvm9w-4S4{R~RKiHywB@F+Cb6;R=U4T{hvn7VgpZ>@H`pwM$ zU&-<~JxHGP)z)g?-CejcmF^-CB7kunHwV|u+3qaee8G7Oqp?_t2J89N{`ax5bN7?N zst@AW6jn*_Mm2wxDPPUT!C5!x$RZ?$L!rPQgI@wIk!C07gjGeLb#5d_@_KACAY(&ubBTCvR@O3ZYq`S|H~FE- zpufXqHIJ=cXs=Q+37s{s2UgnBO!G~=^}I&ql5$aQ2==I|hN#L6%d-&y_L^OA-bQ_% zM+_FwqYcL>CZj#9GzXzK36$;J;fYvz43xc7cGO4-da-Y@j46Sn^_RK$m}kiOo5+ zsfjjJAu%WbP^OuCfj8T7=eCXihKJXFoS@Ty(yS6di@Qp&HT_>H;un0jk( zn9W9^4?ef_%A&HtE#lE1a)L~s^e!lr9$lw`(d)8YK1+w+3!IqZ1v$DrkGtagD|sH! zl4lqX^x|`S_ZC*jXLhfAk!o9*(9NZGSbnt2XQXafF4fh;DUBC*NnrZOU3u%DQa1$Fou9tGKRu^wYNx+Y>Vdn?8&bv zFT@(Q0Y8=qW9XPIc?}G=fB>w3EbM5OUgy@is6RNK9*FtK^=Mk-Xt4S91mIN$1*u=X zW!(4OpP!}2>uADH%q(9&mIock{Q6LMFIg5KEyGvFi(1x?&p20x(!-lJt$s7a?TO4i zYcI-v{p9VLKeSeM4y=Tv=nq6lTMc9zh5RBRBO6fwN9ek3N?>#0cQI$UtHVuYNy*8R zOVQ~#Mh$wyHa!>Ld{uf?()q+aF(LxuXx@iFS#-40Gtjb?isCw6ND1lznAA+YQ*<0d z<9j9VI<_*D&3}CWyHyBIXMAT&h&`Zh&$Tb4^z?TsQb9U*vHrzn_X-@jwaOICrLlUM z9m=u|d|XO>hDQwd_YC0T;KOPAw+sEV;`SC=cJG2nW^6F zsx*>ZY;O8MAE}*bNo1nNY^bQo3{DI2u-s*dhL5}l+YkG0^Ys3MJ7Vz(1@#6T zfIsXac+f65O$zvx09NAB0xLA=!g_josy_ln^wiXpcI)w{8$pi`r!RI3;Gew J8O zPgQ$w)!R~0oVbNA9ZJ>t17J>2&))K*+-HqWmoG498T1_7&c%9n+8iEi?VY&-p4UYe z2a0ysoaUed0UvS@a}(D94ny4LZ?36`pTj;M&**%--m@tilVjsKoC}S5=wUI_`%G{@ z;rYc~pF0(vs=n-r$~xVXmuI;g(UxQQ>-abUkbcb(kcsi4*=~f<$voMgJG)jO4%)+) z7s90YcFdyeS0#>oE?3Z^_sUHi{29irC&`*$?fWJWkoi+A1pkpc*zQQ6n7c6r$*zd5!xV zet+T)6c{t8i~(Q||C`b^NVTyzD3rzei5Jk;L#04N^4KwN{!cSt4*i7y#u9K{v&ITP7{`kBJm1G zpNiuEd&->iO<$j$wvNZh!`xv8dPekKXn5}l|1qG3o;iJYug-#=`1=o)+V69N(6Kf& zVE#jw7zcf-=<;?T{E#ab%q`vqGLNT385AMlT&gsWMXAj^A+0~5Iy8+$%i>W4gB16G zxq}423Lq8SfF50ii2L0iUDcfV1|F+&8lmO$-NwYiKe<+XMX-6aa}4^YP-%Njgm_Pj zvFsg&U-oK*T1(l`7V_kqs!oqEpYhUL=Mva2&6wfu37w3*CN`wl?5a_!{3fWS-y$YZ zPFq4C-#R-*L_{txE=u5XyDqVxvQ5{jUCrYBdQ1opVT5CbI4USaaeNOA3N#$J?BTbj znrN?E{p8egOZF1pSKk!+?BaN|MAS5Nm3-A9jCvvo5$G~fQrR6JAQ1WTQrO%Nx;Zkq z0Y3C}a3~bMlp&M}l-bbp&+n|2D)}uYN>6q#2gs6T*+Y`ZUc&jdnI^JwfrFj{_ZMVh z3HyD)TsQ)7pjbnI-0EHH@nbCJ(H03zJIV-w2U7Y{ZBj(wGfS-OKHnTo*YZ z=qEVU>iRGIOB$p^x}`xvQd(NNyQI6jySrl(ceZuTdG7t5kAGQvt(kY;j^A)qJJXj4 z1+3l9Vh2MMnyzKB%SP4-rmP0R40iJp1d`sFX_Vc<4}owOG!pAP#XWDDa9HrPD5 zK2i=tJ41DhlRb-Fc?E_NXxs~W_sYqp(NTFaK<ip=+_CpwYS!ACx{ zpKC4@ea3qzG(kX5_y9cejTfw@$s&`Ulz^w&^{~e7UI7hZLS0F%LcK?P8*e?Bo&p~$ z5CconKQ~#8(b4S1in@!m*qBvNuxQ$w{|G%8yaht@P)R!kHz9o*nRfE9rPgQh$Wk-Y|9VQ?IfqkE{baIX=-qrxa>@eU3P0+y5vR^znK)`52-rvEfY6`;%%X5N%=^*L0X?>2QT;^S zaSt~MKIS>2SRc8#V6)XiwA=wQ()W9SLR`XIta~P$B5H`;fyJV58ntiDkY`CAxU~QX zBsVm$`J+^BM?$l;oBeIfgNIraT($NFn$^;ro2Yi52=`!X0yKoJd0!$f?!4<%w1lT3%YXx>a$vAO_ z;DeqobaN}c1NAWWg+Q{wq2Ty5zYLI+xZ+nsEW#|RkEQ-ZPA%rG^y^cQg2tapT(4YN zrt3^6i`N#P5OdCJq+hdaomp_6Ws_95fVYf3AWXjxBl}Oo?b{DxgO{|6GT%9F)vF4# zJE9y_?6@m!M8V6nBIYsiAuj+}!3M0-vmr^?>kYRBq!82%SKKyV)AFfj0R zNI$S)xsXvq{PGTPMtd+9njn26k~laYH`{xF6hw5iw3C%cgd2LF1~pP|UYZ%DHW>ib z09!af5nB3*=s~k^+!!c$|Av?je($G;Ybcn+vHd<&@k?{TfrnnF1IANs3~)q!YpTj! z?JUW4SJ(fDx~b8>JW295N>>dWkeqCG)=#~2#bf@WZ|>W>tTiE7_6V)?2F|P*0$%BqTK6D6pRlgq3G|DAu_6O!vK6d;(Cxl>h#S*7dex zxBVwko_XNR(3MG1ivboimy%+8@bD{d4d!K@RKjp{p&ECjjuox@w07I>YUvqGp`L#pO&1*zv(FnV;bL!r153&vvK0o(sMAM z$lw)_5|~gYQopHwCQ`0=t2q7j4ijCTA6k?OR(_3nbkG>v?d>8P?i~0srDHGDu#>Lr)`Ztk8w#aB+4qnJNKVo zWid!|{Q4lw;9vsvYL+?pcEj1|`SY8@v+dGF8KlL-bR3oID9HrB&dQP!z=by~R)IeN zXe0zO3Hww?SXgA+@PU}~xe^y&1}Tx4nUb0@C0E@?rkZ#7X&Eit!gT~@b6B!Q_3ny*&sSSi+#WPe&W5aFJNK)k1oYOmH`tY6{^DVEdKa`D-yt zL+H7t*Pz#gI$rrPq<|W)7`40$n%@(ni@`=YQU;=bCJ~~yqydhG|EoNUo-#J*dUZTT znpptk_o5p2i)}#58ko3DD=@Ap%h0mS)QRr<0nV zSf(8buO2Zr1N|X;O7{9Og1$s^1KphZ75BBEybM7W&~HC4fri2Rdbw{YM$iWcSey@- zbl3QBWlFv~;ad;~u9IPSI2kQ+?u;8yZOnKhh64!fv6?hB~#@Bh%FtR8zY6dR z1iAPifoZP>d70s~yZ~jy?VVW2vp!@1X5)EfYi;F~w>Y5RH56X`ByDnLGO<0XK$RE> z5k;yL(`BkQ)f2Hhvk3ZL9gi%hE!&N)t;%_G3TP}7hDPSJ-|1uqRbW7}fdV%~j-K}& z-08c)z%iRs;OhM_vG?+HL?_e|$x{K0t4!ll*ZiArC#Ve#3nSvPBSyjAT52t8;>3G| z5rz1@P)<+{(M=vWI7RM`&wITvO$gNH(GMOTEnoTf1Kmlud&F(#-v3BR+t*RY3xp?M zzI;hd83Tjg8xR|qhhCvXq_)`wtoAJ(MS$RX(nmaMho9sS1*Dt;er*BQY~C{~DXBUN z%Ic-Glx|Vst@3-=SIp@_Yrr{*y0#Uf))g954RoiW+)!C4@jRMxwne#Stq@pyT^*VK zC`?@xv?fwz6fRzd;QA{sAfxL;FD|^iyaw*j0H8+><=I*pE#fNbez}7c#tl*;NqCNhig9BC zecOHZGK9lu!Ba(H=19O-S@bMQA(g($3vQW6?T7}KIQoSaYI4y*XA*Jfn6d~FODJ>@ zJJ`F(T_MqR`YQGLJw39wh<6I~ zVLws^Kl1wXBWOJywDZAp0bliB2su3B5>t$LI_`Y`vRA5WXt-qRn7kyx|<&) zbGrK`ueJ;&_VVmBB#Qn(v?Tf0>QPQgJRe5&4njRLaucFC%@fYWJ)8qkjlL%~RTYm(+DuAU-zhRc*rkFQZ}BOuaAXGDW_9v3B`h?J=+Ix>WjxO1U z{|A@CT}U=S3QB$qg)_CbpGs$lBD|4zI1g5N{J5y;R*UcFMXF*VGnet5hzIgpmWnMo2zVnt*X@941UOt!3 zZI9L#PEmLwQ&_17hSUw0S|>pI4UI0o4C2ZdlEmX;zsIC(^ZcvA6X_Kn8UyZg3r zefMl4N??Pn3t8V-7!}4%p7yxUVT0}!I<*So3#|o|_b7YY6TXqOTSMaj=jI&Rrp*IqCU0qjn&i>^I(*y&3 z1i(E3C8Q$imfFh1h3U%nXZ(mQZBXfsQj;ko7TY}y{;9xGlf79@ zSyXfdzz(2egq0N@jIH46S?A$Zz{;RAJON}B0jQ6! zveTZFo80N;Xt}&P6`rG%a!gy;64a<3CSHO&%?554y4UZ7{zEO^}4hZXHoG1g0!A{p@L;js zcyj+N;+*dUj$A7#@d5q8$lQ@|#MZF30=w;OO`U6^y~&3~%^L|qgXB`fHPEx*uJx#&DVHZmy14 z<7N}%!3+!b|0hgKQxo<|PizM0Oc2xSiUj$5+>G)@-2l*VFH&W>G$ICrUka21*i&F~ z<51I}2XA-x#)0!iZuqYey>#T#k1MJfrJ&dg#;5J0ZEpl8+s;AF1y5?< zp7V9Hb>zi^>SKV3sRZ;lYox=qQ`Gd>ETa zor+$f;brLfntq0pQVlTJmV)+$v^4S`YFXjdfii!9TR!^yH*kwR-)AD{h#P7N2MU@mI}s+=#|8r@N? zmg1%^$j0_78u@0Ku{fN1jkoC5x#EV4{n~A?aS?!G*4r2)2N*4Vn#llo&DjevDA7el zP(@h*46gJw>lBn=|K75yiM4E%B0B&F0N5`wP-rCPsrnnM$Ga%6oS&JC2(WT+tb&F# z0N+-BnWYLwomM*a+Lu9h)A3Jt7L3SkR~?Z&X=AUBDNsZHe*mu>_Wy=@0dUHz7MpSm z(6#7cMEpTH30K?-FtG=Ny8^?Ls^xUl0ATFqS>d3_L9g}v&!Cy=@?>|Cw^apq(!sc- z73i-u!hgJfS#NeF=X!(tX@7pN_qPK2xn;Kb4cOqin;Ow18WDknQM1vUS%XAtLdMh#73!Ssgg5Wk`!z6VWYcv)2gJlrMclwhMauXQblzv#RcB5Q=Ii4^I zd&U0A{)(NiJ^3DirF?b_;@FZ^(M>1;%Li8vL@B!$-2DUvjrYBp71&EUh|TMpY8rYJ zPVOWBsP+-NHM=3)yVaB2uDT92QvlUetZOUwJV zdmQzL=@UnY*p$=e%|A1{3?5w?TTCG8jVLWRTvyn8rAdSS=SpoHsXVd?>88_i6Y6QB zC=aqx7D-zr?eCywgpBByYw>y|Z}#h&y@w;Ui^+5vpBIv>ZQoR_L0i5el0k;SO;H3r zuDwg5G8@>gasT($I_Ivj9Lwv~SQ2-4YA~yj5UeR z#H4e!r>XN^CQkgt{S|R=q*pihgmG{-p;uI~3*?<}H$Q1%8*8 z0P=XB-EKX@H*9s3W!;o$?WI%4oY^kzq`-8}_weu^zy+JD$z*rAiV7l#9nI9i#I3wO z)SCn7_;vPHy=?}{v8>8R0x#|D#H>GVuCA1VM))c|i^b-KVuN4>eclJ6C!>xgTUp$W z`m|MI(V=W+_X-1NY(d@>x z-W@vSK{6($(~hvE;kz8_dZ+zf6ylpw?{_AnYaL245pCD|bpft|5FZ0AZIucOlg(al z3`-sg%B{qcpBO~-_3!+Gy`TrQG*pS))nRFZK_#|URtue5a=$ibYyGFt zd-nReI`Ao~>}3xYTQWJUS_>X%61+OL0(Q-81~GkpeE`m|QZfIMx>)dCIJIKTj3>ZX z6n1q*{rK}kGrS3CNk{iW!hRooUrK+jyEkEpJemwD!}e%+cQbmU@cAV>(KgpKeP}&v zj=)#w53-01mBn2*U6PI>H;>;hXmJL5@_dHYU8npk-wB$(E{6j%F!-P z1G>}0L&S#I! z*lo6dhLVdLj}%#06I=`k@_Pwd<*ISa3>NwO2_Iz1i%+~|!=l0AHJhHIED0jI_3CC8 zHPF>X7OZn*3s)_XAfJe;(*ACw_*~P`r6{|xN^!i8+HNoVS!Wuf92$?(Xz2Ejfs*={ zGlxf~`3uWB3(LHQUX8STg{Ly@3HKb*nE8tqS>k?tsdyHSUZ^p2?KY-|!ZyP{X6D+* z2)Fkm@^{YXY1vv%qtGLgLgfg}*vmt6qTB~y2mOOvb4w2FfjY6bc@SSPWZa zi~{Rgrw|l}N|9?7tTbO`lGSCb|M|g5>}&HV`iG1D((0wQkMdPmQh-+ukmW@rczT{a zc@n!dnwuBH?(oS2&fu1g)u+m6e`tUr5{G z6VztIbms$C<1wJOx`zUahyCMhpY;a5Zi6u!xhoJ+1m3a)POjSVh?zj-r!aN_QFmKfa|DtMIt{VEgzcthC>fb z7pcIwD|AQ7AvPMfTDK$Bc%&PkCBHP30=+|$FN*Wq=~S5AKQAZQ?tY>Mqozk|=BCHq z$i-X3g&-Y}Di}QK=O-9GQCtb`QaRkpC%|XPlCQ1eDBW9K1+Z^TVA}5dvZ`1`(`mqD zce=1KCJZT&ZI4ItQEegX@J9M)4NePYM$v=E&C_;m?rl92;bj+FA# zWjhZXI87q0d{D&E&>A)BgNn-cUYp8W-Q z+VxJj9h-~+(`C6kRo2Drt1?~PMM%ojiW0Y1M}#?fGEIoG+8Xh&i`|H zqm+i%kaOP8JQPZDF5`;po_v||`9%5vZZnizhLJQZIo|eM)dv0m7aYR6uY*BB>Ry6K zr5`3MU+a5L= zC8aa~t*f(_wY)l~C*Wiy=f(TKeK_+(x%_TIk%i^qo-PyNp>%7nc`%4-&_^ilH&cx* zn>$%b8=aGz4Q@dy6#>b~8cR}N%(C*mpLyJ2T-+JRc*mnyVTI`0H1c*Ns$zOfSrrz`-RWJR zYT6xm>_5h3F)USBW#C_kisYzs%I*)5F{S`O13|RUx*FN?Oh>00A{#6wY6MTK9(qN$ zn})4n<>Y$tuM`{D7BNSwu=2gV2o?O^kf;$cr>TXXh>}Y(=MZV>qB>FH<=|= zbvk^{!^gq@ube8$a@thLXX^`SNS#aR3X4WEOTSQ{Rbp_tI)8)l1dWa^sFC6Qn|Mw( z&Du-ONR7HHRi@&@WoK}(WMrO&^W%kZnGGtXG-~RCF2~XX$HzEWnw1}`()2LV!xl@* zi+#-cKevY$PcOB(l9+c6;^HbdechWy#>9H{G4YCTgvyL^>ax=zAdRNxly!< zYuBuv!3RkrDWqPtnE3_9+7ulQxHz=HJ8zlFZmh`F@DAP9uxolPs9-nz!v&UbV|o?O zS*~h*H?zT`8U)9yK!tQ}3zB@8VAN#jR4Hl>kU~!2t}Yh(+Q<VvAd%!nr=`DMN9i1RTYHYOoiH+RLnL8x3ut+<&gy#UkqWyD$%j zuPcvGzDQs zaDpn2_$;Cq;=1F>r*!Y^3o_@suCvEibbazJLd@R;P$~t~;j#n*-57(yp`tqcBqPYb4 z{psl|w^vLi@6vtRbVKEjF5w%t)_rd5Htn7}C{^xQ!y z*+#$W>QPhHrjjh(Pfb!2{<~xn9?iEO{}7puwQlhtx&gJvX9eS;M#s~uc0xx{|9~mg z>N4_50ajyK(MY=|d?8nsX(B6#m{iRPn#5SND%OVS#_A*YudleOY|UE+OA>$?I={LQ z*3`6JaG|g{LMI=-4+p0xm!nh$w51q}iGt2p#D-cAVa)e6;KfT<*T*MrJAB{y2AtqZ zlO_;h(ZS*^)VoGsb!#7e!GcA&I~RDNUKUk-m?}2bg$I~|-`G_zpnD|KQV(e1$RcT> z`se#~lf}&e^Pf3wt0HKO8t>z-NvV10S~wmX_6&Z;oGmxMaJy5pC69l6cBUme{xR9A zl>LX#@6YR{w0gFe-zKOTOT7MEqAu;W;&RG_*Moj}X@o#Yf*|_MZEb zimlvo4owsrJlCubx;&jq0;#aUsml|S?TMolDRy%5P3T@cEp4`xg2#Op??)SyTqO#k zSmnOJ!WVwmGU(Wgq%nF%h?Jz4!%*Ja(2$J>{JM-F`3#BMS=Kd>22r357|q3})!-@w zKC;T^5)sqMaha1CmTZJzbPvqc{-S!y;x=RuzKv_nku>TVoo|x*l&KLzMf1bcAGT0p zFL@l%{MYi|9%4$Ial8v)c_K-a)Paa!5E>>~++1eL82;Uf%h|8E1ij zZ3SAOALO4klgUsk6Z1^@C|$eG_blWun=J0gYj;!Ayw%oNP&+U)c|RS)(p4!O_6oS< z0DazNOJOvno*7<`7U-hW^1I=Ge|C4xO+6-^X5A+c7lCMJdj~k!nPbBen`BtAna9qsc2rEJ~fsFzv|fLWB#*ONRcHm)Uer4qcXNc&k}37NRWdW^B*zB6!T(wDvdq}mtG*A7}BhIrAFV11H!U*#u^oU9PY{R-J5(5nrFi@>0*Q zk6X{xtFYTV#aG@KYASpsK){NKmL*LC4=aGZ@$aA)T z*CDrNnq;{usscxOA(jnuBs(??_xi?h4cs4>psaoBGzKihk8Yqo0b-g%9W_!Bf=Coi zbaT$WrYiwywU}}^xRcOhBr7^C^&Mq#?tZ$s73IQC?QnA{yW{BA;mRCh@Q+-%%;|Ve zWl1l+WP#)qTLg1t4cLLxR=?8a0!pOeM#1f$V`0dlsp{}5=rDE_Yqxbd`Mj>Bbzt$m zu9xdAx9(&KeaGHtj`9x3#&sh?FYG@75S0jF$zV#A+Gi$pYi#x|`Qy`Ndq8PFF4}h}qVM%aN?6MG5yJBeBHc*X5PM^3+u?p^gv# ze^%yNQ*aj7gmjO(X1jTiF#zfp@RHi;qKKY6F0M-2Q(60CEw@97zMfp}KFHJSzj5fw zVYnCrUUxI??OtN#<=!-hp_ztX8YyXcx#3r9cMgzP1fixBDWAQur#c5K8Z1~X0djC4 zRFrZbs(MG{ulyvfIH?=-U}q_M%}6>JR#J)iCAxg9wHpw;2*%XcA<5G?$!G`B&^OmK zEg%Y#2~RVQd*jWz5qTXjBmy7OMRwDP8kRSb0hY@meMTiu)h3{fE(E7NqDFqo~$_ncY<0sUxtAZFCpuy*m7)SMQ!bPu6rh*;EEdK4&25 z2%16k-ntzseiDj_iOhKGy}UiGsrEVtn_gmIK_H*cbJqAmJ5#Tx+SZ((*V(H)I=V12 zQvTU9R+D^k-JV2ViEq&_eL6?J`2VeHpdJ5-FLrL+YRm%y0rJkSV7{@lMT39cX}d8K zJ)^_1n;S&Z5*IE~7pR~HPTP}Je8DJ{4|8f;c@n%w4yPZQt`t5VZtw?C6x6eSq`M?| zakcjZv(zIlxk60hc(sSaGQ=-uKTTBmwr^Q#Sk5fBAd&^#y_dPK6Y=SI-5ZaE$KHUJ zB*2Bx3+*}pscW~$iDdt7Bre8~P zk5rGZF_%AkqX}Qt%U$E9L76*>tXWTZ4st;w8n$wr=EU)Jku=fFxlE&s}Amg#v)#(lrK+7Y-t145V zMf#XbW7~Ky0|2j37n=vtDh~p*5UCNB5|PhvE|(y?Y{oSJ}RedLSz4w z*1QufEEs~xE;;szd_0ZUAjT8ysp7RZ5Yq=N8LuJB>Bp804;Rzi9JCP?e&u=(AnCSd z>s_B?k(iuIP+uMDk%^kbc!g9`<-isQjCerqzQ+Ue+=6r2A3>J{JT>MZQ{Nj8J$u6S z@}-8p{)$m4xV~bj*Z`lT*SMu^?|Cqf%N4QtURsIT2u+$lW^ae_nzjHxNV(HO@l#EN z|7Hv<>LT-h%l(PBNxj^kl~%iOhdhn7bMyR7Uhx;OVv#a;;a|@WlR{A?Z(5aFtXFab z5y{jTthBh1Lz!EztOs+~HLXu5yMZQsQj&yS@nZ*=*v?g}pyap*U%rn+H&ZCCItjq(|t07#ZP_9d8(uMC2C2WTgN-Kn-y<1T_s zA@jit9jy_jE$<6eR7*Zdmw(Ab-FLcN>ll?)+6WkHImbdmA$YjnH3QtsRp>aj+DkB% zCW>VFvJf*pWiLCQ2YNE*3880nelp@e|bALnSU+!aPZ7XC;qlfhiRq1%0mO;q({HjP={Dr1}ARR)HFX(WOgdV9U=)LLkLOI>ec%w}e9u45j6jki)rE9l?4s#lk#@fC_hn+CUI z`F3UNTM`KdFfzVxkD0C`P^))Awxol}9W-y(Rf?HZ8qcpfsDmd0mxk=$O`4EV1Zksljnp$ff;ZhU;y%?oz>N3aCZ<(H{Xjo z)7|*&jPA08;m@Vk@-p=<1n`>Kr?LesXJ==I;{_A}A10Xr;GC-V;e*Re<&t$DprEAH z?`31+RYe-J7)qsRaBmU0oU5<|pkXAX_>G=|3t>a#hiXbIZsB6?nJ>u+SbXe_k1?;Pui5r)^jalPEwVMd|Xh`R)(T8tdk z@>kAL*@0XxPhWzf5CESIMfmoTbc+Iiusb>hTs1qB7at!ONDfH7f2gO)8fXHtoCFsuk(V+*Iq&7-u=Au#Q+UCOJG2i+(C->tFyL|3bnQrsr)C~ zL_UN|a1*s&5o5{Sy1HFHtTW5uyyvP_VY20tyr!)+{2iebjpssd{A6HdQx%(&yHO0f zHdAFphGS^hZp@VBOjIH^!v)vKRIi2m|D+E~&OIixy?>y5zanw+o6P9>8lhW^EuH*n z1FduWjuW_v=^M8rGqm^wh?_Af;2$pF4C|fBkAPvD_wS3GSmA|rp)eMD3`<*n)@gk- zU1LwEI(>fNvD!z}HVEu?;;Yh#x`zPkyGEvBSzt-@6MAw|N=iz=QyP-$hQ@^~dZJ%LuEW;~f6{l&MC#|mX1D9a2L z$G#Tp*IEyPSUw-5S1q$(iCZcF3*e5G+fBIIeuJW~ED{l%V#BR0EZCNpRh%6}RYuzoJYS;tG z)=9N*(;Z?5!xS1k15I&V#bi*%(K)6nX-@TEurgOF=WBz0cQURW^bD$>h-u62zjTVSP=6o_@ zu#K3#>DnnbUp`laSmR)wZa9D%7AEO>p-1$w8yIVhjq$?F`ua8y>`s-HVn*@@f{U3& zw}`vjQoC=m&-!>#jg^tLxeWc#h>GjY@-_?)2CISJ0+!5rbi~r>1pX!M`Ye5q#l&{L3U>$Yu_MAaY11n0HP1>%5!>mP=D3LmF8$t%Zy7yVIZd55KcAo5)#?1HQe(Mlt!$(^$lJ-Z z(;UbzgoKO$01Vyo%8;F{=}HcA;F%nsj0I)23=8P@K5Z$r0o@Q65(~NU@#62AS4&FP zWzxjPiN1qci9a@d>qp=@hh59-&l$agx7pJW+W=t9p$+O~+xQC_uUIKDD}_}SJrN{m z>=r(=acHG^j}YUlfTD_MB3C89MYisx*TOe!`b$t30iC0FfKz~xz$SnRpD#u&#^VTb zAf?92KlC$Q!2X5Fb8}|t;wc#{;7xT$9?H5qWp-izidU#YQYb*8F%s?Zkhgg3s?B=8 z=jV=&j7&Y&RHYqbP+LL@{-|DR>}|0XoV_Jf)Jr2y>k5*hAPyRID0-OPUUN8-eN#dl zsYOk%`->!*Ri7wSF|^oh>1=uj@#R{E1b|AwLXL82PH}8A=BTH zC1T@Qd92^a$e_)={L^t!&8vi6Teh0jCq8}2tj4Lf?IFx&P6aNZURoXoS9JOS8}H~y zFRzbUMZhsw=U{yVQh?Ff=z@boIzRkDy4IiBT!Z)7dnWh};jle2TcJ0`NBQ+dt&=k9 zALFdI6b#C9z@3nd-qc?RxwR&W%;gmIL4f>0=ArTQM5QaRRv?KM3pATm+OivE)H7HD z#=~kYXru&B&I=iZA`nMgk|!Yz1Q9I)m`o%2njX`vIi(;Q%E9{$- zH^D@pEAF5JWRHA{XJx?^GtrDINR~CP!Sax!3qbG5N1cO%1GYmy^f@}zf|7ctXa0Td zy#LGd!^3j_c;3d9xUe&dzQ>Ga=-HuHLxVEYIi5#j6C22I%RV)r3Zb{Y0E*@Lo~nJN z2LqPxpz+N9XZR&ARkDdML?6(YZ8oBo*T+k>n_@tbVmnfVq-(^QEWUHH+vpW>eUL_n3v#N})}$2==s}dS4cxhJ(GdpNwgC6|<;PU+0H%6; zj1n1(pN;gd4vst{CM4g1u0=Gcp1)c9}J`V3%b;nX&=>tk%8*S2i-}%k*q=OZ|~Sy{x6BBRF%% zh0o>2QafniF%H#0khK{fS-czN1QzKau)J0rY;7a#dJ)q%1e@3WMOLkw`IrpH&1&ob9)4kq#`y)dL$F3pE0-GCn@M4AI*(znNFSj&S*d=_n4Od z>StqWstzckJD%x_UnNuhWdRVR2#&~OOG}A_XJGb!zk2*uR1U1IyyD zRBAWT>%)lcx?vIuWv(o?_Jn{YXT~GpyC5c z|D{^t@YG^oL8TY;D4cALM8hMs(yOiWHAFKBM$l`jR9Ni}XXau&Leb!F*&Ht19Nw5y z9U8uGwfF`;lYm;xL>?Hhk&9uWZHKZ+@+{;!E0*`~YgEe3nrW-PlL=DC9lT;mhNcdA z=^%$hWm=a6&eX)os<#4w+`cx{ zG--r9Tq52w))fWXCZLl5^tmqDxeM7SuwS=ir|i`Gt=MQfc{KtiPZ6=j3 zJtvLY+SYb-jaW251na655a&{BAdW~NEY=UqX4jAkjlz_0JY2L0`1*1w>Lyq2(7p;b z0S+T5jisgKa6I_ra&{Tq#p`SSS^;N4?r$L>KhLP!1@dzkY=Z;~}q>QV@uU=59beu)m!31^-mn{auRdy7n|@PB`~ zoE#b&+Ah)3);0$@biWL62)qn(U|?a1*i#HaUPbmqTVa4-2rzMdku@==vesrG1e+L+ z0TY;zcGPbChX{kJ)K|xgJ>RKn7j2);Ga-Jig$V)#yq=hs!CWg(k4ej%7n{crXRwR% zAyH!OQ^U!nJahI$>DREidH{_8ajR*lap%y^=z5xeAH`|dtv?$)NWe>^lnK4Q&bavU z`46YUL6*USx}U_lOqdLsL1Rvwrip(&>zP18bhWQUlPLZDKkuw`w}-Q8owXsYi8nZu z_IT}@PF%C)O4DD`rfJ}^!h{HN`!J>Q2ol2fjg7(QsZz;k`3*6T@#FOl3{ThXS2%K& zV?z~NPTqvzx;WV3+<_e4Kf1pfvZd&Hl-++~EcYmp#PwJkv2h9?4nrQwRgc$au>Rn; z7Qlf(zIc5ZgV#YvPS~P8y{CF2S?3(w*N+cg(+_|pz%*}&E!}N_z3a}K{9T@9rehc( zek}(AS^kQ|H0sIvG&J=5TVFrZfBnQUyi+MkPrFAjotv%z|K#Jpqkup@`Y?hKZeOCH zGW^(^Ma;yEsK2BDleyTsb;7*dhWhWy{c!VT&bgfboIV`H&GG>7ljnSx6UOqFFX1IX zJH&1Cax<|6_6_O$`!WtTz1cJZfSCXyW8h}{_2%%Tu$S&@VxK~~!M^<^@?VaCq>$!Z zv^O^yT)gP-j5X*GR0$3utQCr;tk-<vqn(9rbEaUobcVZD?N`S`qx%`eZcvisvoQzl|{n1X)L0jIqT9-+e-VYxh`2 zXMTiy>im)NA91<^`H6GkEV`fRK6fC!ucMoxuMnZ0KZ1iHjsRr^IH2&Yz`pP{3y<;Bt5*h1 z?o|@`d(RJWz2W~Is*caL*7UHv)9^#z*rLObnSxIY@U#=`3|FMgL0o2%^GoE#yHm4VbZcQXnXeK0X zHyGgjG3Y>)-5fNYlg&&%emvkDDp^?Ol;9*J?BrB%vxaSux5D)0KcYL&%LP3djqs}X zWFgwnEVBYzv~>z<9}}vrf?BxJ`cRvx0@APa6fZjym8RWv`hhO!wOGi{c9=Sa?3Xig zFD(>~j|=bK!K{9udcu1f_`EiaxNF3KIxglo9QFF`;f~|6a$f#;lK~EM#(kGF=%^MC z)o0M2%Y*2408?g=R#At;ElwW6Wbd9M`Y8?|j?_r5_NQC4bs>bR3yQWxp|*-pixBLw z8!4y3vr%sdPg8$o@t)zkF$5>Md!Xso2?MeOJ6gz>@bKogo0Y1k#)sq=En^76PGyJ= zCSEDt^z0L^4qD{1$h@_7Og}{O&j}vLc?j?ch~QlpB=xQ^$+d4@7R6_hCEoeFCZy;V zV6ryoH4boZ`FV5qfnI$R;W*G4hN@uQ6r7TOFXn`KRW#ukX`$8FoG0tw9X(;UAp!x>C+N z_^wv?FV2<@i;l4Y>IL7#>HHDqaX(_%1h>?f@JXemvRTFZa^hk_Kfz>qL_E^Y<1ep= z2G$ml^y*96`YyhFIPO85Q`vLPDMkX1;j?`xA&alG z1I**ZjPEZ?M+E;<35Yzf2Q6M3*}-R*tLAB;KswKQV+ZqGMEZy0E6VP#Uov4eQcUWXFF~~ z6hzjvFgkVM$qGsh!$v88x}sTUBH>h=)QF5U%IJpke`@>gc&yv^@2f?bC8IJ6$rf4J zl&w&qL3l)-N@0BvL%VmUYvPa0C8JDeWF5`Dxbk}`<@9*<^{hrtJdj2x5^ZI`1cteXc@0_evSW?~o4hXT@zolf4BCo_$6_DstzUXH!N087h{IR;l(Q_hT_5hES{qi+4=H zg>Iy5qY!fKveRg4vI;e5S+LVsz~O>S4(?e{Nx)3xrMb3e1+wncMRC+E}e5 zjJ^T8P4?j1J^g#xcIl+fOdEYNvP?|-;I&S)Z|9EBN;yw*L7F7YCXpw~v+CimU#U4J zhwQZYDASh~sr`hCYcrf(nY*aws}z zir_tZH74I?N)IB30H|(z`yFaKco$us4L2a^=6<(Xw4|?i61AXP-B4H6;NFhorS)8I zAvsX!6hAcm=YEq;Igk{YJ3jAZke@iC*%fmwY8s!80H?0c-qTEIc%N~BX z=4+jX7nZcFC!qIUkEh8cUZ5`%j-HdpS8v7BYfv9K@KX_iM~quY`BR@!mM!N~Qh%OI z>Ai3Dmh*0KBYD6`aI;~e!!k?5_Q_w{DxRWA!L8TPH}@DHZruBrubeaFkS6$zNPy^B z=tCad(hwt=?%%`a(Q7&+@To2}*X;-Ue$n^d)PWcKz8`YmGZVjA20GkJ1)0jm!OzOt z6e1O)aT@*fQ7xRC!w)(-&S>W5{eAcxkzwaE-j83Q^4z|KBncMc44bt^k~T+AHmjjW z_SbN{T^4@`Fes2oUx+NbGVPyZWSsF0)kYRrZ7fm} zMG((@efI-&WT{Cve1YAs9rut&uBX&ybsDQ*F^XyLlYU*wgm7)b_O8MEKl9qska>2l zZ|^m8t)buJf&O!b1%~oF8nJS3i@TooMh8Mj#bv|1r_?0_(AL%P`JQ0zIBo0eeI6Xt2C<%ck@X3n-F0u0>8?f#I6&H!Wt){L zx7yj@m6RGFi07>Wzec$UaFNrw<|70t_dn|0gm4L@!S!beO|hHqN;}V*Ea`t6h|e;H zNZTO+fT7`*yPOM&Syr=Ms_^hBSRRH*=IhL_lk+npL3`#chFM< zU$reEA?cq&fxAj+=FiBD|4h!@rpaXop>xz=8^G)8 z54%}V1eDQ%InKM+8;8rPLm71+9m*${Ao3k*Z@;LUC>{mO2HB;-8ABtZYE7-rj+gS= zFcf=;QI;NX?9tzTaqPu|&IG&~%#H>{Ib2(^R5@#`fo**+^R04~$cWvLK(+T86?b~V zk98okQoH^*qM;)T1cY-Jig|!72gGim(%+xyXu!a1&XzxzR3lC2U`VcrmCIk?EhqxU zcmZqvmoI8Bct0hspE*2nBFjaeGS>lgG&GbNXrpKKjm6qRE?izujCJnEcz}jZpbTeB^4xGDzB(v3K@h?f#&{>@h5DXUy!dHyh%{+B?_B z{rqL9M|X|IKF~rmwXh(28xxC@q3azP`TDh_F`U&7y41B7z)Dk77TvN}cggYaw7;gS zNObpuS;HY?qkF|;4)7s|d01DbhLC^&xqVBp?`(nj&1>a?K-F{KCyzh)<$$FCvz6LR)y!cx`vDWeG`E+R z@nzCnm0&7>tTw8XAPAmp414YS^X)2_jon?L`hb_be9WeS|1gc9yQ`ECs%2yHG4un? zd1e|Y;_GlSmNBf84Bw^*cN0U^GQf8U2<|Wcupg8V_VLf>ES(<9z2>?WB%#F? zSo!wQAwvt(DjF~~n3Dd}g+nYDGRsAMB&7X}$zssmtfZ7LaNxtynHXko!~}_^{M-9+ zEbM!F%t# z?T4jsNnhy#Hp~})7CLGb=>QbUo@_J5<885h4-5?0%u&1aet*sqwnhbDVnegiCBXiR3MKuGTVgiC+8u#j!>%it&c^10*+`9+ zK)EoWLCV0-&T6f8Z?m=i7Y)Vy=pz?tM0uMmkzr@38r=@A85CCi{n5q@2?d zc{O(OWzP*ppFf?L7s)!pJkYe?JJRRAJy?wkM(gyX(N}qgp!*NqGHy-G$p^yfM zzckr)vXP{hdkFk{puV2c2tCJTI6Bp`qE0(rM+hmUVvUh<5x25|)zrth9v%&Mqwl?@ zG!IR|dYl-V%u`P)hOcaHJlprZ){hmVQOyemVHr_B7`E>%F*x7orxY=^ZaxlB_m<|y z5II98<)k0rNiZVu*|@8SKyG&5t6^T})2Ma&D0ib>uU)k=nx|w^%~V%PmBI05nT(AQ^SL1v}IppYnm#_Dh4b%{Y{oFw}|IxOFn{Fry z9hyki1GXw$Opk&+o!26s*LHf~Vp91&)uqVRyu3%&BGo<{St?E9+zPXe$CE>)b046f`iy@Une#rgNaVg<0tm-9v7(HVofP!M?x-HI-Qbj&IpcZX2*; zOi!P9+z>2-(b;I8uF3LMzWm39cyv`uf%nw~vdy^r1y>Z#SY0LRV_`@&f0(#9$X|a6 zcxTPFI;FF1-Y=EEhuoG|LDt)Se8K55Ee>ZIbx6qrGD_7Fho#enp+YWC=HWb)FB$Kv zJ(Q`@8vQiyBK| zd~}_`03B}rtQ{h!%!&$WlvVwY^Bz^KeY^`e*D0 zVaQDQzx4zn`--P#Zgn4NOnhV`^IxJ@Cnm*+dRbOmU1XpB8OmWnxhDWC5YHAh7?stv zM)^5>V!K3mQO&K~)?((hOZk>(0ICFddHF5D?;S3)zhRXe@DCvOupRl`V63>b8CL}( zGi$O5WhF|Q%ej!URJo9`283}9{JU}BN=uj=ci0i>Or%vYE) z9ocE3>dY2M*{d*`M)YgveSOpkaOw*AHQldDOY^bU+A?G}%*ssxm^q1w52;`RprVE~ z5MOJ!PDA67S#2MMwCS&6;oWH>6{giq#J?Hi$8*7~7>Hs|o=q`dpNaF2*-)MS41qFX zb5ZF&Da8AO*e~a^Tb*COezh%Ay+SO!%wY1WW|YzO+Mn+OH3#$k;%Q0?mxxkI$z`Q# z@kZ!2$ZrGj=JS9V+onJ^6~9-n1ex5cKJU27I$Zx;7jQt{`8xI1UovJ9SVcQnEo#f9 z4plrZTcNwFA9PPAJW&689bSn8KF#mFxw%P>Rq1OH?qzQ?_HGN??8;$JB&Vb-Lr*lI zhCwL%=_i@dAkPo0XA-~bfjA*=Xsr2StpfXj(H7o2)cO|>+AOJkK-AA8JX{aLnxd5< zr>%_vDvf$ddQ;0?TZ|BY71^%JvEjM#L^uY}wy3nnXcIzN z#n@5I^D*cq0^xRX+|C$c`ch{;x_Sp$IaN;GIcE4n3E@F-fZe>28eGE{=^eE(aK=h_ zaP9LaD~31Xg#foeD-e``*g<0Sa=vbZD*tc8u3eA#y89-#8%qIed4qw35r}EBHg`Y5 z%r2p|uV;m;Pj2d?JSF^n7`ZsN@DLv6hp%v`QMhMk-z6?=Je?%ubO!M0aT_(v=dHg! zPbzoBz?V7in*b#|D`aRjf5Sl-2hmP{5TITS60xT`X~H8O^_WHCMDVS9igy=QrncmS zk0IX39ae%~b~30y-`oOcV%%FA&^O>Xl_Qs~BpgAsUp;(AXsT7uu@+}YLJ9~Og<6EE zz*n>u<{fY^1@zKtL}X4x?Jf0IDSW?(a)#q~r`I|6gfZX$>+?JYc0f{vOC3YnIA~sP z>`WCV3v6CNh!P#vfV+_Q1eFb*>?z?vAOxf6zzVmU0_?Fh(&yP zb2Jy*G7&sH5a$5n*lr!4W`3FO))At+a-NgHzG~Spi-XQaufY681^kjOx!CNKRcWc>qu(CcNKqu-HVY2DMAr z-wxamX1bm2=e{K-p^{((B?scm-uk{W4$zfa+Pagmk zfoB1fID|CnjOsmCBXXXx&QnwQVJdgxkWCO}XHsgDV!|&FEnbM5u1oc&igOOUsONt&%1$OUGO- z)X2wLLg`7j|Jgy5wqMF>3-Ids zHIhV~$=i#dBE|PeJZ$4|?1jxCl0w!{$Mw0aAGgLO$no8XgVyl;roZ}`XRVCO&AkF_ zCuFZRe&}hpXZQ1N)NHUB!?ygG-%-RW*1;THo&tFNY5KbFma)v6$Arsejj!ZMQ?C_` z?T3H6DAoU3Mv$nbBaa|&wL*4iSJvM3LPSZ93c}+6uS5i1eLC~XPUFi^{yN`wBTT^b zGebc?nQ9AfU^}becWl4Fzm5>iIUF#xyFQnGIJxh~MMW1ZjjwkM@<%w*ZA%Ya1z6F% z7wdO95uM#Fj}kEjR-buq85>kAhobt~sutJ0DOalBgU=ivtg#{-3zCDKfd|>3#BkS`QyddPGQAOopxX7FpHhMfHts|zh+d+f`aD+H}&)Q zF|OR8(N=ziV_pquVEC{1R_*=lYk~%fiX3*93s}38z@He%jdS&0T#D_yrnqS*-T|;F z0IuFK3+E7T)DEi4aa?D}?OeC*W>lgLmriQ>7dy9u=J`ssoluzxTjP6_9NcsiF->wX zr}2&-X2{QIRZW=_Ky7+f$L-YtA7yCuDC!HDpPKbV0P?T)9NFMm+p7>GIAr!_RhpL$(!6Pg0V4ziRS4B2K9 zf!IFqKoG|!YW)SUXZgMqv(W0Nmk6Mqdsgv2>6e;9>$IOLI}Y2;!P2}R`Ppf28TLlt zTHM=vfPB3eTXM~1cdLOa=oXTIn<^ae?F4*8JLJTHZRi{e7+E=F_X7HT7L*j|u*c(m zVm_}o`tFYDq(%#1%Fa-l(hjaK)+{JuNnUzC4(cy%k^=`Y3S8 zrV6|?27*>rTO0IcFA!h@w8 zSDndmo-cV>FqB;uZv>YauL2DhCV+WBRp6jXB1s6=28qv~KM%o0-C=NK+7d)iyg~?3 zNP!32kS#%`WtpGGgJ1CE=XU^4q6HXF-7Y#t^zWeY(9zKW8sF+JB^g-+(Dy8y5gvyK|1`yd>SlOCp*ubUH7>)x7&Ec? znV0zy;_Gzn%*l+wBspU@3~EUHHJWjNoS0`ez++vF<8_IXlT%nYeqAp__bx{lP@Y+kBiEPqge$DF&&QOAh3@=u zTF+>WxnOT>-Yp>9n-uAJhPEaDDRM@Y)XwWD6jr+Tk=yk)h+|u8Yn3S4$f9D@Uiyt= z`+Vk-D}k9(PjP)P+BQgW^Ep~>oS~iP;?(QTv{I1sBkfUcNr#xj)=JTb zO&HAy++Ra#+&?P|Ge5KiegL4tJ;X_yb$C|@chX##D3975*b9a{}dv_RiS?NtbYec8~>O^kLhSWn2A zSSLw(EHw0rRk&u*iZ=-sjqZU7d1J%JOtH3R>RuP7$K0G}W`>8X;<~)Y(n_y%&sgl+ z1?T@yslcw}LWTiQUp(2(*MBFOpRUH6x(=bUKd_|goFBV$OPqkJI=%JS0W7&b*Aqlk zXnta2aVQ(4?s*q}Ba<{)9$q&Ma+e<3e9Pt_0ebFlV6qbDSRnhaIT=er@C!!7q>Dmg zU_|*;PV|Kzhe=zdp9BpD8?3JD^nZ5RH5+*HrVwe!5BV^eh9xO+<2B99r$Y z;$@nOkdBGOg?Ur;+FCz`C+iwU;RHCEG6d+!CTZ0Ojfny?v!1M&n>-PkhT-?>HH((_ z7lvHqRShUAezIDeFYF5Mk5uHb7^;!en$7E0K}8m*$q)3`H`ykIYIs(&qO!hUdJq_K z{?fBkDbu)2$}iN*qTY5H-nv-V5kwa2c#o-ZdraTRR)_ApAmPX1C8P49YNs}*5hRMb z%*8>_mBXOXWOi`dMf(E*FnLw4V zQE;tmJcg$>NBjKBV#%FC^LsxBZEp8`3$t73pF}0t+)miL%+cOftaOo9|L62qiPm`5 z^$mB(q~)4_XIah7%4Mp#(7Kzw+*B34v7ja5XzAV;ct`n;{FBJ>ge#vl)b>s?VQ0DHj^Mk4GdGMX)Di*z-75&W_#| z_AO|o_d3EV4eVR10^-&g!CaaZ-al0*20=0e2L8q53rdrFg}YBwi;hWoxEw;LKOfO6o6 z7@_bvMWv4lloV9Ll5QI;A)(jYJCaH?SRSxOSdD-2RLS`6jd$J>owMJ|fNIQdkW~5_ z0m?yqoaKO5cp~m)Nk8QzdR63;f~Ik!Yb%Mu6K=olJ>kwYK=*PaH+MmaM(f^v%YqAMCP+^ zcU8#HEZ^Vre{L;aB{-L? zRd^v@_<(fZ+}&jwDDfV$Er!Q1_gX_JitTVSGi`Otc6O`0xUld}!p-GK6E#i6!2O)^sixMMPKHJ!N}=N9 zy;jOILnYW@VFpd>wSFUJeZg1O(iT4{F6nBO6iWD@v+tqBcCX~eCF~d3(O3J3oFV18 zU-g_UQ^%cC zMU5;ij?1Ww>hvf?-lXN_Cw4a+vNM?PphH4LPU5@OwB?vsTHaoh;w5E`7BUH!E7jC2 zzSV!%Y^3;`rNDC99j|U5Nl9;q*{+|PKeM{2<_4#y)2#75J@FGhIonl_vtKA*nC}aj zSQZy|&Y&)3|MaucSo(n|?!mI#u<&$n^j&-Fs+E=J0tbK3 zy7mKV3gvU{Pl>S*=TN&nQ#jSyC#cPHxy|MF`eS41QT_0Pkl^>orCRQeb>7s_lBh%F zWbCLhveY$cSZ6z2*zOOk@*qv(KveK85r^|rP$KoaUOmmcQ?TT{#IKP$;mF@qg6n4a zSG}}D7+p&i+lPO4;z+e!kjId*c$OPDW-F&Y$N$KY5yNz6IN9h?3n$bV65n`A&zG@eI)&$;v!~>4Yv5HwJz`{rEokpTdebq z`q;!%!x9#(Poc1l1=Yb!tUShmx^epwBof&paaKcKLs_FYJ)H?{ee4k_4DzEplarIn zO_$l(Zy#kl_PT+yQLiz$u}W1;qP=M@rk?yXp-rq&i zv$MlTuEC?I0#eWYE}~Ox+fX)$h`tG<&>uRXsi5F*tEHl%a)KhnAhb4=KFq81$!@V* z(UEHzS$FvO`HPN&d;AESPGR60#^3j_Pi9sAR8Y{31Gz{dfbmxgA0zhj^YZdkMM6I$ zGY+a>4fqNLMbV=ZiO;iS9#Fjlj-`ivRfEJSt&l1bK}l@*!osr-QA5SNJ>iz3@s&ylyrBu(nzUvNW)M{NOyO4NXNcL?&p5q z_uG4Yzc$OYWX)XHc^=&dVXDfqU{n%RI5;@4yqvT;92~qa931G`Q+VK$FJ*cLz<0oR8&dJ%%mc!KE4x3Au3^-xk zN>j(_KcB;afMeX!oi!Bg)1G0ql&w8*ouJ_Pq368rrS9#kSX*J>so;E#Y15SRy`5tw zWVHL0w+AvpaNgIzz~C#xs;W0{UnEtSbJO7Wdk?2eF(_sco`;$ID%95_E`UhV!0AfW z1owTjR)8zxAgg6o&dz%yq`6LFA{Vtn^Kjo0B(6u4**sR1Vz@yPguST9d=(hUDi0n> z`IU=nf84BpVSJi7Ok-#xv#Ime!oAx^F2t?uRf~S9kITns;)KR&+XiV9n$sqUWIsX|5C&q7;_2i_#V%@IRsy4<#Q2_Dc`^kS{jy3mw`sgqOhQv21W) zBG?0!aR2{3P|d$Y$Z44VES68g>stC3vOm?+T-q5DF1$vDr}00RJ3_WEp8;1oNedzv z*1nssb*849HMX-8cU+SbkpRBHA|LMeT~5gKGvmGfvukN%lNKNUeDLopATZG|n39q* z6j4yHHi1#)=dWLjEncF`%wYq8R8Rf$Lb!kSeY-6+IOmtb@t3#^iD^hr)Vw{EM==sVSOF7(NNogcb#0 z%X&@fprFtj3?{W6|CYpQ)B-@zpUSZ)fQ?(Sz>+>UGAxiS%Y`udop0&ENnKc}asfB#0Gs50xp5#SAS0#8j$5VSNjG{l#A zU7z`t)!0l1Z!h{hkQbb8^xqt>%3jV?S*l!$cwRcZnz`v0{;&~P=I!l$gnvFk2bK#| zFihbv;4o@I-{!X-quORGR}Q=VT-G=V9Fy}RB$-XO@=d)XT}DLb3IO)rVry$q&=WSa zM%30+lwU&h1ZK5pnfpsia5h`BwVY%HFK?NaG)oN{2?zo;Aoli)^&d7BQ#j&k-fMSL zbdMIQd|2-t|Ef{g>~Zm&UPwTI;P5%^Q~#~-dnBbDbydSG062ge6ciMy1TRE{X!3k6 z=3Ox<#GZn|{TZTycoV;($!Qg_5rR8ILqjhw-AoWRHa0c~vqBp1uH0`g-@CBBspei{ z)+mTAdxLO)vFOwD`OB9t%dC66N-3O16a}!OMui>Mve^)CG4Iu5ZP)I^F;GGHf(lpn{062m2f}nUR=y74sUh7_uq377Z=CH#U}ERqUHqs}K{% zgE`@-Q0MnKCkgZ4waX|nR1gnV1nn2-Mj^Ro?=nQ3JAZK085Hfs*Q-`Beke0&EWj2) zJ=e?>aSqRe_V||_A;g#YBUgIgxy!w&FnO{N1lWdQOmQ$#q@Vs))!uAvOx~}quDC=L zTn4DNhK9yT644RV51~hUT+kkNAdM~$O&C*iWGRy}d7 zva*7jl*(H}iA|tuIn28>jjo5mWisJ-SIZ%kzkmOxknntZ&+UDC+4S-BvnM}e5$#4# z!Y{fKlM9&YC`1R1ZCp*zXJpNYOW;IQA^pB@^13-UujQ!74z`5)+#Vx;Vzq$oF$d_e zrFF~fJXZ`UeEX{CbOX!0Wz)F zGV$$oU!W<}^>Be+)WXhgzV5xL+*iFC>-*cQS0fZ~k{;*i>X0n?OxYNUw#nF7EP&vo z#nWs0yYT~@Tl#af@jB^qjDpzpPuMH6H+EfYCW_?=%w z3(^x$e>7U(*tlx&7BH;hL!-X@M*0W7De2-K=Uowms$J-)s3V?sflq=#HA+k=Ii)}C z1Cxl6=Dun$ny{;6ih)>Z3ff7y;Kupmg+6R3U5Z%zCOS#-dV@;vTu<75v4y;;1hABJ z2;4u``%*fp^YhJ3OmYRTo_IxgNRLD$kTgMP*|wkbxV##DePyksoa-;0fBAPd57Xi*+it zM++mGgYk%odpMFlB6*%}yqY4=w9a7>dpB1XO)mP`(+0ZsTFZ-fbR;rDLgZNzZWF{u zmBZ(Q)KC|K5W2$gzrX%Y@b8D6R6nE1ZLF;u%=-u)se=0!8Y-18;*1J!I#>7p@k~a* zw+G0{%QI^hsoq`xx!9Y=B_bli$N#g`h9H6qc;WUJ`Unio;>8Ay=ZOBE5x~!hKkSEvBJv;B|Zq9&E?t3>yE=0YD3<9w%9Zm&)e5D?k|a{hhl8Tw`K%y<}M zlPXitR``uIA4FO)lzkvme0Fq{S4c>Rg=Ob_f7XdXe#kej*pG+{?<4vL>>%|}9GWJ8 zjO@l>w~K>$2?+^RlopqLk_>qq7>Gd7#H`xs+c8)B!tUi^GQXSv5Rh7XC3aAl%P`HvHZ4HbJUlR+WU2A2wOiLNnT?Cn;G|qQy*hm& zBFVBVjqWy>ZVtp6?zP2Il_&sfE8<_FUn*~9LcbX_vpSy>OLo{VTC^TD-}@kSFe<$W zckLSRRyMdto$E2eN}{Jh+T-@v2Hf!3zjw?0K}wG&b9I?Rw-5Qza_|n)VB%kIh+)?r z+{ob5{>@<`f~fo=cN_wBPx zcntuq^K209&+rDYkVU)F;vw?oFUss@Eu~{*Xh2M)!+IGieIbDOz7)dCNPK+Kqc2BZ z-uW}vS^2vyeJ+jTc7}uBe3Ntyt4_vQe$UozrJ-ATHIvP}L7VP3qE-;d0nyF`AVm_f ze&b(Ctb4)VaGG_a?3@skP+&Qz zmBNX9bSn4V?Kroh!sBZDO%jWF);o$M6d+v8EEa_9sT(E5=kQ)jCy_Xq7A`7t8yi-17&Da zoy@G3N8l;f+elnf%OmZ+o&DJ@_$O?&cKXn)*Ns1LZQFnUt~PA`M#$m${=L3_nt30C z*0(jC^6c>=S|_v%|cOu?)56kU_PN`8n=SX!FRdapSfJNxyS)!n@py3g(o z7716bxB@o}S^oGEUiTUj2c7*)Z;x8lA2Yc&-!(n@Y&KF1tJrh|iriiAt#va*YH+oZ z5}iIvMm!~RU;Qb(-kYSPtn5{W(o|*9A1-JgJlEii#o&EyMb^WhgHVvXPEua=VP4er z`Qf4@ya3=ApWnNTQv-_Sk!S+lVSQOuVzwJ;SQ3Z(cCq&`mC^irO=}rKN{oTLXv^vd zlIQQy$shDSH4i0{L-Xx4l#&_h+ap~)0metllC9%(+*AKv%QNdJGRmr-_k{4w`gh7U2*KvfN~FiyeG0iq=t+|& z>*PwWPGdd#I(gbe2eTGsdEPYDwLSwW^1LE0U#fhA(Bjk+vKA^4x7 zzFg3*_BWboL{lz6YDs0!DM-cV%iIMiXUoKgwGWY)V@vx<37LdpkZ;RIzh`MuF3Y~t zXVxd@_hI|0J1}1!`zpQCq`?<-IFF;wOYSk-^pWCneIO$O7dNJ=B%AZiQFTQ{izEHf z_;=oS?@G(rCwyCPN=Hick?j{H5OE_2W2jlb8q99jE)o>x8TkGKkTpunbCWkKt)#h5 z2rcg&YJJvA7w}~~azpB4Lt3d=zDuK05sQ3Di6&cpeLGe!TR8Z|*7@SA*A?4I8@`#T z{^c)n#S596IzS_gt=a@3i^sesjDs6x$?-8U`pxcN4?zL^=R51qDW;Xv1iEKLTARI= zxlP@*zN#nlFXbyTY8G!j&AjWtoS#Dat;)_}*z^`ikK|b2wwVw6{$YJx6Zi(6$rQWQ zJkk*?L@#{MS!A_9w>D~=(jSPM%qGJ{`ge2*%K7+t@wdWx_8+!#KF{->*Q1k^E5nXs zX+hLvtZ;pSXALd{He`^A%#eJrw7*TmY-(f)+7nclU>0#=uU{N%lDsktgr!ueJ)X z=qKq_Ns+3=e|FogmcXH$Nq)e?cZ8YQ7tVbDOts4IeZq*(bwsab55WUTjS;+c{8S@# zFE1c%2;&XMSvS_xxZ-Sz^FH6z^VwXPN9d$;W8AnAl69o@_ApY@HtlB48YLg_bn2@S zJ;dHl6ubDrCz}{tZ`(orXGi3LOP$t=6q$S87m7p+&A7kqu7{hkxe7l4yHGe)c0Bb& zO<0E!BfJ?=edU1cG?Iu{Jloxsva#&2M03~0Y;CMBxs+_fU54dC#aWMA-{0$IcXTU5hnEaFzDzrGP!b8{_Lz@ea!0;?9#8r*yy*> ztH}LQd!gX%jRe-ghZhWTcaWRLV5}{{tdkBA`5w?(jKMNW;h1~FB30Sd`Z6vBnlU8q z_qx$t8^_DOYw&BIk)P-l+BbbVmdnFnrU745hW>MM6<6*u4V5$Q#f2bTKFAM|#<#<7 z9p;_~70bpP9G~0qC0IcHn|~J0mWWNc%s0F)E@qplu@QT#iaha9CyIr;8po*ej>l_% z#!stcr$d3|wd2{z^~#r9iv6qRg#ZFhiqU+JbXeSR z;x^PbBShKFkC-y_2>s8zx6}1pto3}m^`Gve%@(F+di`4)JQoz`Lu=Klg_~&g`eN&C zL8y!CspDH*fjRyw4S{c{5i&t5=$DWZ3Z!#sOq(T&`an>YWb5EU3t&N{fV#{~gR{5J z)Jukb14NIglmjgZ;j8EMj`VEIe3djmOt2QnhaLk1I!LY5DHB-YY-u z`)A8olAgZQxMN4v#^;>vB+CcBH^ucSimpm>(AjJ)=KIM(1-7xG(|1DQEM7d?%W5RBhHKeHWV}j!*Qg%+22)8WN4gf7fFFwGr~? zY=1TwdwV#OXNl5#Yocm1MUohB8T{6o5I0dSZ%=y{WW-6U?=qM-Qc^b5l9~m6WWwr= zzHf(fIdrvhnLquXAe(Ub$u8gAD%6axHsf=K2uwb&l#vWJQOglRz`*+U=q4@U%8=NM zq0*{pd&6JW_oh3Duzl7!Xi}*~^u8heo(GAFlBx`@`}0F8DE8}{7h1hY!34_1iBG7HNS{H z)R!e6mRxFY=dSbOZC^;>aa0tkrh`Jf8M#R6mBoiUNa|!cjG?L>`YoO#cQ>+`l9JQS z9ue{h*W5Jsy&N>j%cF&-=6%UjgTBT!{)4{MPTixrM~V);3Q1&^14>>eBFG zuXTgdMB$Y5k-MPWgF^W`2;LNyxQOpbx;r^Rea~eg2;ifLhLav} zkLd}l$36;@;RrJ&!qdOFwQ&owOx{`}qfP2hIFhzy&_(v%Zq1?x^{A+N4qF!a$!9Eb^|!)8gVF==hXL_8a$7F}s&4lLE|n z5T`uLZhrQiJYzxsxW=x>h+P{%folb<+c{FD3dpw@g0hVUp=N=2>nj5hkzF)JbK@Aq z$x?C$7v<*sH_h%>w6X%nyi5vjp-h?Gn~Jc;Bt|iM>Mg%RuAu)0Y^iNi{Gp+gpd|zh`jC z4S+032ODyh*sZpIm?4!~m(jo`->cJue z^EdFz&hAh47Zs9vM4D@H)KAk|(3r!3bMlBw{zJeb)glnDkw-2j$E<{B0ZMKwgd_qLC~RVHhuuT| z9ANWqhTI$qxtU0&^Iis8$@w{@rUeapsd zyYpEM#KUZ{2~g0T1o``4EYK&&o>1B*D?V~UF7ix5r-XG;x5m@HYcY(XRoNqq-wa!E z@Ht>_N5Dd_r*NCqkn#d zkW;IF?yvs*qikRqiEJj}`VLbmhJ4nhFL`Y8_ml$lZ@nsu&p-eS6!{Smi>X;J&JA_H zB{pXm>>TMr=;-498addd;e%LS4Q7;oEO#C9&&y91*DTWY; z8WL#l5lB5j)02_)h_$*Wh}weSvrexV(SAhfE=;VWUHl`|pt~et-T;`uhDP#l(*}n; zZ+^dh6b@r_q(~l?e~3oocFd-@Y(8kO;?6-8RR_wx;q*0$zI$F@Zu00WT0pcWI1_aZditZZ#-Vr2SNn# z_a;WAj1>hV-&4@!@#gqgr^GLPxXgRuPF_zcP`__mTSHSt_)*?{v8PK%TPcH2_Q)4G zLwLs>AktZ?B=;5YIKbU!fOGzMvc^zFMz(jb0JfX1TnNLR)vx*Hv#HFa`A1Fw0Bcb8be%V#>+V*| z^Hmzv2a8ez1*9>cZmpNV_JS^20r>>`(2pBA_;jISi63D40QhE@*X$|0_~=|6JX-FS6RZR zqGPf-=O`F>c+~{xk!IZ)qAALm(m$Sl59${dPGYcAN3888dT6t#hs6(T^i);dK;)p0 z2^J=N=D}{H*3vc*pzPB9@~|XSCP*EfsBug?3YNy^o-NO^O9qAR((jcFYnKiDP80NR z=HFSaK(zMD8$DF}($K*-n=03y&~2bwBisw&+kH>I5C6J{J9FX|vt-xrzeUisX68ZSZ5 zW7WULubyoO=&AsHG#a8*lrn>OfvECQL$H5Yo}j@!0r9G^PM1P)QGSOYZEPK4rNUZs zQU`y7?7(MA?DEqg6i%*H1nkV5mf0BPEK>CneVr1DV6h8+b-+^mZ;A@~5%5BY&ra5@ ziZ*NP7Xu{~y?V8fS(z$wlQ9+}pRM3@D=d4kiv4|0=RJ4ei1wq1sClmewFVp$3TtQ8 ztj71Wfmu?oU@uYwdTolH0v9gF#sbt2iP;_vFJvtnj|uoHAjS9i|N4!l36x<`AYUyp zvB~}u_2bKCa%!Wf6HO*vW{zva~-UNjmQ(TFuD) z-K?%&0S0Bi%aSF{*oWruo0^nq--6l z&+O+Enw+|+Aw=WfX(El5256~E|6f*UzJ)FcLZF{!mK#$+9i6QY6o!p1?uE*)`jXjU zspRQCFXYFfM3~`SWV4aSBSYk*0nh##=Gom)h++Uu5JysaClwN6U+_-K@@2>&4w4e0 z0MJ1MU77{5C8uRc{$K7NGljBhDgCIaVSe44X&q=T7joDj&^}XbRVqJI^!@xiD20t! z#p0Mfxt~*Dvgm)HL6ibKba}Dpoh6Y`rcub_L5pmj2ZPC0RN50)MY!(JPW z1Aw{~$iaaY(w<9SitFVrr;)X#>PtF+yMS-a#-p$JKb%iZEjlSSm#KUw4ozw>p0@yJ zSyB>f%5q^6T!u$l$5L~ z^Ddl61Qt;BD8l74JsKp^ldmsL_U~Z%GETnApQwP48x>11Q2}*OR@9t-iz{cO0-;CT zXQ2P({2}<%rDjTfgni+w{t!M(V!Qs(%M!%6|Cp;-jj2dUgU3_zd5&Me5-wV`YqGkg z+V1dowD1;eV%M~=?E9$7@A}+sG+U}>YO2|OLE4~Ujn~cL7o&=DXtP}Zg1?24prw$# zb_6@U9rQ)8lgY1fw_722Qe)!Ae{4#a;xi8^XvgAEPr}Wqr4_C1&$6gTrvSdvq^&sj zhUFOBBflPe8d>jnpeFJ#c6uY_Vp0xB#ev3E%X@al`wkcGcxmrxYQlzgH}+=7IgK)L z-YCrYs$||qv9}7?rUFrog8*hP5xv&f$Z{ICoDsa9_5RGZL8Hj*^z;^YJ9EN0CQjOM zAuEtChJ#3nUNEi8Jw|{hvKW(6ysB#$hK?seBF-$k*Eo0zRxtgDPl0Pieo~=~XFXQr zaK6WJNw~GT`ja94;q%y~qkq^`q!DSD%#*)m=||ghMa!6gPL$8^57YL}Ul;nlK_NK; zvPpbak@mo{!*4(@scL&~l;B-}k2g&#KDEFqVdDP^DcZWFm{nmp$_dWUh%ckkR+a6v zG{e5GQXI{bX{0cQ=ivLRFi(V^7PtOD7|jRKL{fajgGiX^2`pCz1aF4u=;neu2=z{| zR|vY_mbtiO#D$%9Y(ra7)E$jvYf>$UGaVPl^BSo|lj^^aOM5%~Or_;T%XiJTh<}VY zvZFvAA4_b3Dg>;a*LhC!(fs;RPp-p1P=#P>t^M_1Pn=#5ls?B#}~FJT=-49?!!Nx!9g`9V|2} zUJ+L(o`FzVOv}jc;Q13^x=+UmvO_1bt{@d0FmCmK5A<=#;N!1m7Q(HMI8#IWFKYlB z&ou8_v!|XVDUltB&bFabLE7vgIM(x(??zD7Lyg{|;Six40u65c2ibHd+QRc><77qA zjzZ}*CTlJv1X_(racU5H1R_#Hhoodt%h9P>JkR;eFsCZ7{39=x1pPKh%L5T#sBy)$ zS={OYz8TLBs^{``@F_9Zl{SX*M5~Xeq9WQ9->nU8l~Uk!XUYNh;;aWf8^*-e#zt=g zRpT&_1!Q9hJ8fylDTU*EKevgS?9_=sh*D60~F;WR4$@0NJp+=IX z&x9&QEOd7LpOoZ&5%1>niAWP1Bo!pawd@PN4QO&RL{_-#2N`s`yVx%hu+ zjbKi*R^uPWWJgDUA1(l4Zyd91X@0W5U7voX$ApMn7Q%Yf6`?Wro1sbKc>31=1Ettg zPF3j1<#7q1l9@skoV8fSf-|tx!1MB`sK(iwNi{xRdGHf&llR@XxmOzVXCEHA&{{Cz zYy#qsw}#or3Z6__w0p?=Hii|dsA!fMN^lI|-X}f-p+?^Tj#=0Ge9yR?g(2W464rm* z^4N@6;!Ze@`sH+@01<-EoqI@v01d~}8#sOlT7>6drVI}a2;ET5|HJkO3Yb)jao>Vf zlS$@YM2;+5Y!c&(_P^5Y3xpiG&xetU%~P%;-N2V8>u{GhVnCU!NCT(UcqAOnn4 zO4Zeq&FAFRA2u!Mp4dh{a8jT~C$sOiQF^AHUl^^fjQE=QnxC%qfb&skM_x(RVqtqy z!U@cO)zG;AFKXG@HMViGRHB%;W|+j8lw9u3|53cJ-MZ}&>Gbe%U#i=PE_WwI)2p#} z{mU_rYGdfa?XazPfa#Uz=~+S*&9A>-yB-8q)+W+nsAk%P472_#o6mqSN-gIt!bGK_ z*ULFyaYL5>(tnCCFq}+o*-~Q$ zf`0pFmrz+R9FeP-Aa@c_IYeq&94ME#)7#Ddw9VHgdKd-YHJKZ&M(2z>L=tRqkeNDa zUgXLC%YxV%6Vh`_TrY((<`zJYXMAf8)s5PH!=S-vgdA{Lk*eHn{exMG@4mEA`Y>TI zs2mJ(O5@-}OSN%ZsY?cbAl(O=Vy7EXRJFsM4coO>Gcm1GH*kCGZ>RV?kX3B$7@l*Y zl&8V`k+b_)oS2 zLO(gufq%U){KW%$2DD_2KhN8RAtWx(7@vX1lwhGxToWSCYt3ziu-S4Wi~ae=YISCeaFq{BpCj3BoYN*BnJsHuIO?@Lf#>Up8EU2yrAX%^K7>PEkPmwg)KXUGLS zZrbNue^1-a5OF2Al;K#jxVQ)a9X`KrET8%o+5##oUF``^olv@$iP?bDR8&j#f{E&FKWV?DBi;!bX-eeEOwY4NXP>=teLrV`B`L!e z;?5;Wn*LcP;$^G17r`x?z2PXk{zk`Hx^M?Fcn8{F;M(Ec)-}qu*_TG>{}&W_?ec9P zptc{*JvdoUP)?u1Fp?Lk1*+nFv>&PbMH%d%IIoVoa^b;5No_cPtsurr3*CG^`eZ(FPzdG;H;LJ+hO`192IRT=RQ+kXj8=gdP!LpbeT|iz@OXsV zFI8uJyFO=DGi`kP%c=fkK@m$>IcrbpX;|A^Z6bLf}V)* zc&z`XoNqOB>P7>-`YoTdGb)|(VgZEY(E`F4hGs>mPTrKu$t`)pR_F`8f1L(H36VKz z3YyC{$8efh>wJ^6jiYA6qoe_8@SH*@v*^H=9w(noUB4rgQ4_&jZpX(m1CTturCp(y zV`#hk+Vvk-s-#C(5!Kh#;6%9lD$^)Zp_)N9{~zE&WiaZm-h8MOtmDL1ikJ`m*)3)M zw>fr6@2md#UuXQgHfHEaqmw1w|3(dX+vD^TKO~HFm`J!NG6`T4b}OQ)Lc)JMN0xph zs>?P|<6yAAe2U1V^{B1bkuV15|8kp(nd&0UJGGZK{f8hMyYvoSUi`Lr`DSgxIFYC_ zq+DN|Q?AFruHGpJk!JQM!7Nfj`GG~xs$R)kXGD+ofS&6Z#n z0h#VU;Wx5Gv*(=!$$0UcuV8~>~v-! zBVe}qZ@u*IdFX_*rr3Yj$nv8QMd4D|@0lUE6%`fb>_rAwR0>Z9Fw$v-G#pwo#XkD~ zlRsPG3KR1aA-GEO0@eLcGdX7M(luE8{iz0T7PI7>CJhM{zmh_tsV@Xmgp&N?Ssl49 z>09XBxHawgZSXAy)I7omwMe;5E87sj!I?~r#ldBXtnHKkX;NZh9v;HaZehu)^SHVVVGDO})VXz30zz2Xa0Umx6hG4qUvz(jfEu{!Nb*@@7Jb zCpS=dsr^Eq2bbhz0<2GYA6Oaeutpo4zXP)nC2#6~=e%g;v3gM!E0Q2Te?-O_R`WH z)frf|>($5WGihLEVs%BVEiI>*)39j^Xb(rKf`x>y;Kvr&*iOVf2zp>>oR)lK)8WEV zI1NDdVb&c4d)^J zWWtpwWY{b&*CkqtUsna`az)@|5nfg^?t)VzcJxO&lH?hg5ih_uia%y|#cU@B7Pobg zpmq)_S+)UjT#yk;0#Tv>2&GPTUkXBYI4=-WQ&I|=R0D12>5)&*tQ8YM3AzvnFeMT{ z2uQ^j)-`d~-YrRzh(_*CM2gvmOB= zZUhT^i4Vx8v31z}dDFlS%9Ewj&E}6H%;;K3A9Z%ZcE}MJSQ~^Q}Kpx_ps05$4@d z@wmreV2~3F4caGhB9vTUXADM@gt~%rW3jW2zHjw|6N}rL(gZvnTsYECU<6_TU-p+E zUm(zKYkpL_CKB)Eb)ZL*+Ic5HQh}TT|Plwx<)LA(B za>g6rIFA2$oKC_7pGffrbSkbdb#3rWj4r}=^!>gzr3k(hR+ldl8>=-xgzD-~qXv25 z%LXM?NZIgo!qB(7%wGmM8rXM~zW0@(b)`9N^`6a&#g!cpvsDcc2doyOiD!xD;TTSo&Mx z`{m^-Cl-Gy1z-&f82-j4hDa1%>I?gL-iK%UQH91oLr6~Avx0^(t{il6I&dihpg1@D2lv3QdtH|+8Cgv!Z{ygX-A~&ue>~90#6|3 z-f-6a@pzgMP8He?JKNR<3JqA&kdm1-`v@TJhxLo2taRZo;zTgmGXQCzaHX%4{>5r@ zKFk{%xjNs$=oh3v`t_+l6DA-|JsU{qP0cBnt@NVXnslpmgbpj3zrMmy>P7gAQrz#2 z7~<9?BQiv8)W6&(>amUXkz`rcVS_<&0zd)mD$r@jUnTCPwCbLGuRTLYluAShP=Yy0haI!o zp1-_&@(<#xgVUrB_wSKmc&bZ1;&~eSR$^l~jtIuXd;m^B5P+E1Q~9{c_I`Wa#vKWe zg~#{*P+g7Bu1y|pX|CzR6t-j}1;*GmfU&3~X@57Y*s*CjueT|hnfN*h+LK;Ru$X^2L*dJWUBI4VfQmyfcBgn6+24!+S zw8;PWfhnxauKUAh#~72|#|4&V9ug8>+eX>+3I60CX+pUlWfiQjx~T`zm0zpV+d7fiwh{4;S%f6KqT zoby)&dXd1X3}4XeT=r*LAMQnyLXjfPgp?G34Z4V!!T2p=K;TIEAS8T{FRQ1s7f$Lf zE9*vr7_awaU?95<`C37JH-CQ`&6CGfRO|y5pfZF%1m`g_Fr4pBmdVA@0K-V+Vs1xO zmV7XR9RY2RH?a^OrtbcYVEw!VO(vP{6+~#wp>#ffE_oV>R z{S|i#;C8Mh|0ihe-VF5gB{~)Dy}dv%G$xVyncrrj#p?zclVYyfV{&?$xS(Fq3s}Hf z>52fRT4rnQDdpQp%59sjF4W#8wGc9v7)x0Gx^Nf(KV1E^@PU!53n14EYv`UfBV%ES ze(gfjM_iYCV5@}gxUBWwzYLR7!mJ8=qRa@>*@!0!iH$KUenGlHNof4NwZI<#wZpmu z=StZKOeZt<-a$QpO6MVdt6SW)3p3FXaLP0~xrmcaIYi3L%t*qoTL4tNO)uz9qAq{K94vjARRL211 zz{(|TVe@GDg{Ed=KmdXb6u2~#$6UeDk;irYEtDs=BQMZ|SW z76nxKvm|}`Kl7_(h{%jkio1{1+Ap>Tp%F5xn=L{8fQ2;bZOF)vA3q8T3cw_M4$jWz z;LG2ic!8bY-VD|hY1Xa0zS?>tY-w$pStWO@TY711L~f2DU)~hJ5{gGhnzlNEiAIb$ zZt$g?f{o!(f7~8j3TH%9g>w5MrPn`OCeo?n-)$=fy+F+~9cIR~CTC#U&YDH;b1nqT z3^xvNPzG)ZNLVM%`i z>{44-*mtP=;8{92D;uF}hLP;mekVd)f@Q^nsA^NkxU=C|B%g$sH^s^n{fPN<&Bc#r zVg_&sKr+drM90Vo?C}2V?X?ENawmrUSOLhMKY~;wIUhv$^7g#hwG^q->yAB*vUDV6 zz|RaZ4>!r8|MU7_me0fe-R&`NwhJ&2pJRH=LMN%ILd^iI(0w{#7A~@Am9j9GY;wm{ z|Muac_hH^Y*!j7DrKKfcB2e*J$b=mO^A=luT7d<=*sZm-vp&vNsC##sRWS$`upsMWJB`3k3A3h~N+C|98 z$ObY*F93n3S4{SG#R;$lR`Gx|l~U3h{obI=P`m~70xTpVG6VcfUi6vjwcQyHJBnc@ zw-UT-=CkL8d6;7$mcg}uCwV6D^)TVPvFh*-W=e^Xs<=qF-#B9NN{W$LYK6)fi{3Zv z%*-fr*bElq)}(qRS$!A%IW&qqWj~5*ZI1YOz`Jj%EWn?RdL_kECw=P&eSy7arD8o>pK7wffE~rPuB=H+?VbKt zQdpf^ToMRKj8vE!YCI9Mg#|pzpYvau-J&mbgkWBsth1WvQk8qw+K_r07#Nfk7b9U( z{N{K{P}gyn0;RDtG`IqGHjNvMJAy|BecN8;Sj-jc^8R?qS|_O&y&30lMt0HD6~zwP z48H61hM7xlErgaz7v~ie&P1_>m6jPIu#PQ|&eufry{Y=PDVy)|(q(IiI#lU=p=QHI zmP~t2T;+!=J}-o8_=nvr@OJ^UzG+&Ge|sI9nV9JQBGn5C{fA!l+hJf;y`sjj;!fUD zEM~5rdR=$#;l9?4Q6AX@iM^qI6%H_LSf-siV4^pE#vHk8YR>~x)QHN@Z)+gC$A_}{ zp4S%Ta;T{uMJ8n-A%i2lZoWZ;Y&x;Z{i@m5yY}-d{jEkKD8f1gq~i%BKlWZ=eL(<< z&Ml#!kb3)=@bK`Mm=LUwM@yiuN5r(QUNIp;F2fdd=nh6l5UDI+>G|aJ)Z@?2IHk|6 z8sMKQOn;3C^L)noRchJL9~gEKlZiA{_jY6<7#^C$*}r&lwSQypNc%SmP}>I95rJ}9 zTU#3z4N$qlqMs9Oc!_w)QKubvI>lJ{kiCiWzOs22-&IBA^%tNHVwEM~mA#^$D-ByJ z2NuDj2jYgw>_tch+B=4dJnpdzMU;aQ6JxUO)0?RQbC~xqpZfuJm8Kn(`F(Bs1vw?} zd@Hb|)u{EAz+|?!Ot1DxZL~D_AgJESJ25mAboi<2H?Swl#f6oNxYMSJQZN`5cXX^f zGG23oseORpkFuTe5s(N%GUc=#M~e?u2MlHDV2tE#m-i>1eUcB|u{>GIRjoA_7o1}U z04?Xv)$@cKD;G+R5(=~?!W)dmz)W8t^&lN#R$mq)Zxg>#xfDXLNq zW@^yHh<0Fqdcrmf=O>z`{}*JA6V4$V33`^!9^zEFgE$}xeeuks|-K<(m-3B(RJm=@3PF;u}fNe`MQepg)Q*Hm1@c%4;B8QvE z*FL}9Uf-o^bkUVKQ0)zgQAIfKRa@*s)a1-_njGr&IvVEmC*ri`g*c3sPrUH@e0C9Y zvYy6K!erDxjX$<{#sY-C3lT z2FfBAq#gHK#T+tZEx1I8l{6XCy#J4i?&f z$tQ6wgJmlF8tInHvn=L?{zH}1yzBJ4+J^pJUHo#MJ{zqTy`YbzgkA~D#bvcG(nNDS zE?IBw`v(V(ah;P&O8WB^C4jkeR()bFwAa+$o-7i1nwx`%5<^#JYcW>4%hG{b`yl{) z(oc%IeKl76zq_tVUS#YD&{__pGmxF6ZseRm)&0gB!fPU0lCW0!tT;W@w}JN3dZ~bb z3nyJN%l}i@dB;=z_kA3PBRW>HvNOxxdqp8K%FH^pY{}mIR8m$6Ar&IZ9^r>$l&qAL zgK*N2z4yA`hpyjsUHARR{oi>!>U_VS^BwQ?c|Bho^?5f>NTB1+=e?PatP2`@eyMq9 zML#N42hXDpyI)O(9p-`ws%ZU=dp2~IMaSQb*OSPyt0cPD*T3&paE^iY4bs$>@6WX5 z22xFGo?JGB-rd#p;(?6oUq%a*R?O4e{5^EALMz@Q>@$<~p^t*Xea|w#E3hjd9+Owg zxiWE8Xjxdr-)o1bDW}=bWl@DHk!SaOJGT=iIDRxLFYgmA@9GQdMn#pxs)|a&`>N-d zPD}YE+~in>6DcpqcLeO}cA033FltWU_6@hf@amb%#du+wzB^}Sh{i7{F;lU>khHad zfuxkBQf=%lUuUvYq88a!RW6dUo*>Q4)!Yc&k$$8tftHaOgj&Pw>ebb$PuqJtBF3)% zH03Dt2PD> z;?rWdw(+&qk%ric&-7Ln`Sp6%63wfR99t?{q(Tg4{!XR7;{Q_f{?z{aN}_L-t(!_; znLnODhVJhw!$`}t6xkT);|h#|tu1qgWQ3o8Nywz$Z_uV<9BaL7-dSk~s)Io2`p=8e z+0CIr@}eJ z>IyM41U)(T1L?~)8@OYqRbaIQ4JP3oif1fd?S-*o3;)f@_SNtN#Qyl@+uJ#YYtry5 z2=?{T@XaA?lho$+-0ol>15F;AvSODN=cb!RyRSiksrF}G=CH05p2CjE z#@NUwZSY%h!Z zluNjRAj`iuFrXwG?LY^YM>QnsR2gOM6I=5Jli6WUo_5)Ur84&N_|krR#dr5yt|54X z*QRw7*@T??*xugW6bPVcL4EvqSqeQ*i5(gW3>Id9LOzV)#8Yt!6N)$k1uCj>6fKX= z@H4`d#EtmN6DPPD`|f2%lm+JyjMOB_eJHu)@=6)dg>&_0nOp9sQ~jtCILxDiQL=!e zNZ<@tI#S5Tzfv3@0-pQ%amK|lp5}*{AQnFlGnC*Soiy zE8=fEZmv#+4ps2HlR%rj!b#vZ7VJaAOrgJ&P#!z}vi>qpM~1|e9Ku^SJtbxOLcT@w zy?gt1yDL?7Qyur~7rDwYG2C!m0u#d_m-38`mSAkBCXzhu=@@x6{DKc$F$W9-9ClmNhUf!j9ye!(V@7#KYeh@-E&Q#7z)bvw|vae_l=iJ-;X7kLdh(ZGm1kT0-w|6iPokW zpT)t?p}tlXZs)U|)&!56J$jTue&amZ)fxJ$#kcHorai_K7Y1HrgBJN|LZ(O#uw=Ho ziWz5(AJ#-iosTeaaJ7tYXa^CX;&51 zfD;RM$@^{OL(hUAlR^InByy-RG9O+>OxS4*NlJUy%Q+T++`rFiZP-yiP`EAr-ma@cHkb&4M)#q{?-1EtJhY2R|C zcClIcX$Fz`$%0~WZfXsu0Vj;^BU1Hy(y!fb*=G)ZOz1ZJjod&u4m*#Syp-2Y%@?B6 z>L3*&|J|6d@bZZjvj{bFrkoFLgs|a{z}n3h2i4D1!b9C4$LJ1QI4JlFc4bIR=4y`L zi06&LhN1f(+np4;>hg(qba)F4nUVoqt2Ewb})z6 z`;R8k?j&x`$tv5AwM>tqJ^e#G3u+I4@=1fI<54+WTknhV2{m`G3;wMqvd&;p>2wu% zjm}lL^<}g7m^nrFwpL<+f>6trh3DM5(bD>FS&}&5V!;b6mP}OZo%YM%pIx0?7jDGH zd5qBGwUIq@*rlBpS4imvT}bFY%8gXo$bfvAB@@lGdy@vUwAi~Q3t99Ql2I-fs5J0ROnMuj`0ft|^ z++i?w0@n0(xYFiOr4~aP68AjG?Ac#);}JXgdF`O!DzU6fIoPEo_ypMG?L__2+Bn)B zVM|$Z-nR*Jj`sE->)793GdI)kez^8d9^k2`c-FTgY>|V-vc~94h(G(=do#Ux_b}yd zgZiLSr#+DnH-``~gSuTx#$C&UuH5H))?=lE8MXugy~auvruyvkg;MKzf&DN$2Z^*ThRx}rODPKbpU6JT$r zcurl$e{LET-Srzbdn-~+(-&7PC}{675B~K?Kznt`hYOjN9>_BN(!qs-+RShAeedQD z!HAN-dvUw6H%Wprr0{e`siK_}p6@T}G>TAU#K}w`wB3d^Wd=#%L-_T{_aw&sKstr2 z3xd0ijFG?6=zJiV) zO;&A;xAKa-Bd%=;Wz@i3+g3muq)bSs`0vdkrffk%md+l*0$xWnabeiToymo!Vq$B( zgc~4f)*ZHT!!k)rnEtPY^+kf+g|lsP;+$>6^`GK1gMAMD^S>)Lo@Gdm^GrcKU{!8+ z9Zbs7B}uJn+@Iyzi;3^Pog2A@IcaMQULQZYo!=&O5`MN6w_Fuz?r|NQ*Xi8>&JSt? zzR!+We3H)lMIj#+%on=1DQ4o$-r6S9Mh{z`duub5Whp0k-1W1E$ws;|2OsSE;dBne ztUZtxesiw;LMDX?APz{} zPT5q0nd-{Qp>lhg`_hz>x-q2p9b=-uNV^&#c!?0Bbu)tI{q%zLya{ZhL^HeJsTP25 zqhuc=@lP>Ivt@s>-<2m-2m6qPpqcz}tpukGo%$=E?~ed++TYs{oz*R|lxvAoE0eBy zf9VW3_^6@YLdVS0Y-BR*y24hrj_e7e3f$cs->_s6g zr$t?sVqFC6%xc}l2ZF|x&ik|uUlLUkSS6nGWuQqXBkR7_#=!eQA|Pm5lGm`a`t1Di zk}j^2$zjI4Z;P_f>ti= z%oP?VW3UeZprq6~TRVW>eWKaEL3K}yC}e_wV}R2 zYC1h<`dnYNw7Ny-bc~EO(Wlsd7ef*j8$2al_+Y7q&@*lh_h6PRT!#W0@_AV3SMrl( z+>K0;NR*3BsrBc=!cjma8~x`n{rR-(v*s!Dg8RJKcKw|9q{#XhXGkz=j!8*4a>x5; zbw*YZXI_ac`F{V!{&I{DQzPU+S>;B1wU}z1=Y63hKJytlV#M^MwkDi&dr*JV&L+*V zGF17`-RN%|2Z7~)pvj3!#xdT_xFgnckzw}3w-9lMd+ik(oSZY+Sr;e!yyj;u87QN; z&y6-h6g`rl6uRngKbBhw0jG+d-W8J)%bRna)OyrE&VUqTcT2^)HovRiH2ZXbf z<|pZeVc|#OZBf0#3eaw6ttPMH)MN)n6WPbNmw!${21uDB=T#01eipp8?Bny8T{#O> z8&tBwQz>VJPTpL)?vEAgTH*lTtmOI@`Q}6^oi2*}s?Pdfu`gM8vHK~n@%Q~dkGp?e zVhh>|X~)rermq$szM6yILAxUl{sfnZo4=OXN)J39Dj}|>sXkX`+(a1jVx`eUl%@#R zn>qMY8i;67m1M(f*K~-;6zB%^i)Pta)EtmN2sef_NP1e*p3qjRK&uIWc11kCs_#z1 zdf*E0^ibuyrSBnBtiy7n=DU{+;zsM`D(xFwxymg*z>}LH<3+qdzY1XLH-5Zcxsl`& zk8(JRA=pHM0y#yY?`6eP!dz5x*Eu3J2j0w6q9HSMf&05Z8Un;VJ*TLs6+szy!e&Nr zu&}d4#HP3B{w_NUYrI-m?Tx7k=(N#0AJWp#dz^-#r0sC&ozZOPV&66*B~ z$<~UpcO4#oRYx3JAXD_d7 zzJ=znQVU(Gd|{23^FmLPDNZ?9ke3EbA_FakuJt$Cl?!y222lN9rxN-4O4!4hrGZ#$ZDm<(7h)(LG zICS@OzAbIRC_CIE8R(EWR`-2N103Oo7o>KOZuM^Jra+#e{ql zxe83FPu`M-Giu$`I(+uQNbI5wEaRV}A@PIE|6DH$bar9TF1%3{|C8hWPA#@MPj1F- zcWO9d!{k1RkE1eb;I?NwqGb>u||meNt&F&FMl&(Aep|M=`9vvkj|KI51F zsycDZRQ5&n^Np$0Z8_)LSV>Tvq!0yZEompWGIOa@b**GNSNEk3G55jU+PwC-eb zOfNP3_Ebvl=7YJCdfPGp)BI{ERRTZX&uQ^i3TGkYOJHs7Z#_M}vr)fS+sFxKn3x@fn{%#8seDAeYMryzA^`T`xJ?|fMk2!6_(wA{y=w9mDQ@p@#TFGnG* z8|A;_&;fhFqMfL-He=sPn?r|6nS`OlJrVVTrg_xq{2&dX1U=iH&uo+&rCadv;KjR4 z>fxJDE%vsJfd${$6ru$$Zi&b-VjO)|ReZ|6O}%KAO% zsq@v;eKe40Wf6Cx=Bsa!_t9^LNG`+nRyJYXMSOHT$OM-p)dC9Gy4oj7N@)@{6jHK* zO0RM83>|Cv@KHJNugbZja(qh08=v4omRl7H`^_R_Rnn$u1jkF zL*z^79TNH8{9SdK;d|S&5XN;g#3Mr;-7uY<46xhX(nvZ6E*=QdFFt9#X83z{EU#i_ zn{p$kiQA6sV^7(ewc0&Q-`?wppYq!7G#FrnijT;5pSG zXSR5u%IuJkDGWX*^`@g^t~Zlk{P=oCwfyCewkyZqudP^&*7-`LEU!+Hg;OxM|adNidg)ht}QxO zr2@I@+ul#qUB6h_BIoF(_}5L(ANvtSMx9F$2P?P8WD^%P$@e+WUzm3pt^Wp{nQ`$$ zL_;hsY%>eXrgBHzsJaF9?LP0xKP^QtD*bDy=lj4#1}+X)e^T&s1#Ud9 z)+;x|D+iwdxrSaNb$i#=tN>?U5f8Vs|>h5ay(?Wn@()-kNJ5AY|R0Bx34G zy<*5Z*bmdIZbS7wJL`^pV`a62&$7dRr5vS8!#Kk6i?@9kt4G4yg`2wWu08S8&|ws% z!HS-IveqmqY*Lpcm&@mFh_@&b7CH2W;q2 z{D(F}41DZd1;!TZWSJ*KCEeOj*P?p5{}+?!ZqW2tBgxL^PrgBO!+PGro@1z}6%d9p zwCzJ518)jGz3Zl(b+iE(t-qgqR?bFQ;`$d3)a=~xHl_mUrw)H!7CUe~>xq={cyv4@ z9k^J2ivOUJ0}l4-3}m9Wdnex5gS?p67iLHBCa%rTErVBtHs8H6w0RB97x2_UQo2)} zNj)p4m!q66g#$mtXp77|saE-*Wtnv;?m~TM|DP~Ccy)s#e}w#$pg$DOvxCr$so(O4 zZZL9%vJ%IgvI?HEcp;~*I;zZvB>KSO$JP?Ag_U!?a81DSpW1Z!_s{N61}{9uo5&(e zZr;ApPWUq%23$FcEeWzWc)JmJTRnJcyGBBO-lnnI@})by_LjYv%nl7bG=6m(Ov@()U)$1jB)&aEB~LITZDZK4@hJW7jXQ`n!+WCrV|Lkjn`1Fz6WZ zPpwoWekZ6S*+;{6ek6>(bV$NEqhmJTJDuNSt>M-qeARLRwqp85`EME8Anku|uMoB{ ze~ji5rZ$XWH$e6*M9Ed+&uw%KWBKgaGcZI28|?tjdPFnxZtx=WSW{T$z9S7WjV2z2 z$Lm}f%Xn``a9#CoCuwP+>X*Xx9RA8i!j6uPHX0HnGCFPc!VSW3vCUE3V9fYpOAP6% zNIb`F*=aHK^_2{e8DsCcxVDp&!-w&h{obbL;qZ_H6-diVYN(I5(tKD)c<3lu&I2s(4qH{6c4ig ztP8Akx6}~(5efnBZK5c3L+`nho}&%R)I*%_*sNOxxKoq$qBIORLP_Tr&xQ{w6C#iC zVM@Y?P}F*nRy)Lu99aYn>tv#;uZsw4p5_ES+#qZ8g>0=x8dhaQd+9(DYdN;}!(k=k+v7&Y`3K2Sxb= A%m4rY literal 0 HcmV?d00001 diff --git a/localization/fr/ambassador/README.md b/localization/fr/ambassador/README.md index d0659a826919..bcb0771d5faf 100644 --- a/localization/fr/ambassador/README.md +++ b/localization/fr/ambassador/README.md @@ -172,7 +172,7 @@ Service result: -1 ## Class diagram -![alt text](../../../ambassador/etc/ambassador.urm.png "Ambassador class diagram") +![alt text](./etc/ambassador.urm.png "Ambassador class diagram") ## Application diff --git a/localization/fr/ambassador/etc/ambassador.urm.png b/localization/fr/ambassador/etc/ambassador.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..9b50a02ad356106d5bde0979fcef0bbcafabb1f0 GIT binary patch literal 49248 zcmb@uRa{l=_6CX~ARwSpN(hQ{2}rjhDBTT8F1nEh1reo@u7%QFi|%e%($d}C4d-2` z-~RSK|BG{RuH*-E&NoIqV~l6`RaROI3xfy)2?+`7&1(^PBqZbzB%~WBw{L>qM1EmB z1pm<5y;8N)v$S$DGcdG65;L$cu+gzI&?nb*A~&+Lv*KZ9wldSPu(LNeW74xUzxRxr z1PSS;m$9O%-QV9M-2k6)j0;yZH643~cfr)=Q8useqTp-4ncbyq4Etukn%~|BmKIsF zLEPdLa*4?o!hpm zis*e!H)aH_Q}9Bv`VsB?{jt{v-`A-};){H`nO!$YKB~89m|H#mW*G6zF%c$7Pqey} zh)M?El4h7`xE1s>0j{#_XjGi_QoP(q4j;m0nv74lQ@UmD*x+LPNV$OusCix3z z6beIlMdp=*=Ui4DvDUfvphC*);ko=?QHFgkr}4Xn`*EOtXO_~7Fst}-b5-geA|M!Qr@nUnqCPFI(2ob z$2CeZ>XL{y$yIjv-l5hEo?}-?e%{_7mS95F(0plr6~t;pdRo_G{EcLr>vC0IZHQK= z-`QRZ#w6oaRg-d%Ip`Kssa+qByee&G5nVf}KjtBQ#GN8svcRY5(IQfGp8M_W69)go z(_psn8IJmbO46m!4Lc1AifO;DAGUX-hc^z#arn2ZSny6bjI}1ug5M7YJchXoc=^ww$fI5~{x}fxlZ4@!cX*#jp{{?75t-YU6^(kY z!&;Ls{YB=L**4qOP273SClTuJEJQAECUIdosPqkcAR&D~dLtsN=%~FOkEV*(dew3R zpY{n2&Fz9C?I$g&x_%y5@1-Oe3T|mUFG)u~yiZSO^!%%6=ogd}LOBWo#eG>kmKLMu zbYIaq%v5z3&OLOxE{7(@7F0LOs^>2Fwi;na6C)!wyll)aY%pbJgsvkY$#N<;T>pTC zM28H;zy2|u)KU5RhwtyF)vh1=F!~XKa{Vh4wEzDfia&QAs&v?*LXyqrb2*fBq(B&T zU1ED4gc4Z?MX0{ec1e0B;5K4?zm{iE`(|JKJi*(@b*fyvyf|b6ntxwl@rR_;HsB*Y z@NvI5Ew8ME7#N_dAl|C80oykeH8P@^u(`avM8kO`DJ3N(A<@~@g-3;0?1O<0I<(kg zqQdTu7aGpcNx`$E28o%qH3=U@n4#1RMzz!S^vC%4_@E#eGc$&fAvQ>lzP|o#T*T$n z6@GwpGgF8KcBP@SJwkD%-G6)q4PPG0iH(ibu(EnKq8uO^8WC|g-;S&E1hE^{yAjiB zD0umDUXX5F)SYa>i+x-JR)@`T^RbeR$?CJNXtw1?*AH@hKFU^8Q_E7xvluTcsIIO~ zOIr$~Rd~ejEV4t$tj(ZSnEZZYw4|g&T3VWv$BxT!o4gc1`awsUOoBk84-T_NNj40& z_w&cgphx_pxmuO8&3+03drR=8`(#~4${clq>n> znA1vM%9PvDL~!uk9A$dk$oAFAYL|<%qcpAl_P*j2iqcsp<&(-6tLhUK_F1n(o`8SG zs+?@i%*e??q@bL3=hxv)i1fTxcGVbX3w^2JXmWxQ<%_h`VDs(-yR=ovTZ5dbMd%w6N!Sx29@ks0tmnCYRs|k-nY!uR?GH zjz0)EySTiqe9!pgi6<$JL;3s`MzrZ*iMa+dGjl~HjSSCyI~>Gm8HkZxh6FEW4|gwrcq>6FThGalqyAh*gG;ZvMT71GHBA?s=9CoA7YBK zJf}u271JcJ%TF(tAy0W)X1CJkN66gwqWv4?3Uf4@prD|7`rBFoi58z8mLE8e8)n%3Y31o%GsO802lI7a9&;Z6SAW21K_WpwNGK-S(cb=*+XmSGvIIJuE)+^S`QZlg z@d`@Y?~@$VqmktY)t>KScG9u3?xyT(TTE81Oi$OnY8#S?W?fk6Pm{Nf&eqk{{l)4a zxW6_GU#;y7U(B49DED{=`%F`J4#q#Dr!sgxGWXKUQF$og z+g`S?u<(9?WHf8zXDoW{s^h^dm3H)ihiol9Jw2;}mJTxw-nz}cY72aW6n>&)Bjx#N zUb=9)1Z^uv-FZ%UzxRE|A%!&Qg6!q0`6HX{>3U#%FrPC26p2XjW`n|6K6(d1*Zp2G zWvBgY`QeVSu}bl9x_{j-ckPow&Ua%a<_w82%MVaxe?CgL{oP$%vITzAlih`txwHiL z4gn5}@n616YI&OF4cPv!s+|#xwDNh{)%PjIRTu0GtKH5xUM)wd#h4D~_O@<}mBNC$ zCgpmR^IViq_IcbMT=`$`RQJqeApPE1+X2@1yqE6GcXE^^-WmaspSa+)8WigCGiBSX z5tG}iELSO$=!dNEV%)whbcE3Dx>=Td2<2xSGK+A%+CUO+o1@K%@87>KFE2-41(ZDQ zv^iK+vUvd9KWw$E+b&6rE zu&%qYFW&*Tq2F0mU9EQ0aEpLZU8ECuOiqjOpVZaTWG#XeC*6B?KYrC@+ekjF zYu$#j)6<(SbcE|4udlE3@$*y5KpEJF2R|aCmF4W}H}B4?F>6(boYBc8ihz3;3wktB zY^stq%ugT7683J7*h)~=Eqjz;OE%N9R}qu)DQ zzV_tdmBw3;r!Xfd6W$nMEWK|HCK{SgjoaB|xvfu5_^6+9R*FP#x$RP+L1!OTvB{u% zm16-1T0GEX?Zqylp}e<(;xcH@jDCLCT&kFz!sp4uC*wgKCHT)l@ITztYw>@m->;IV z9k7Xrbsr3n;TT;}VPSX`7p`t@z5IwX=bKHdeRNW&aXkUPY{L|v0QkEmwS``y!#IEZfJP8QmSNh>7=tMa1(NJazp`C{QO!`*CF3f z+8x}DkifHN&u$>$_5yteVa((5WC?^C?Ay1=_lU^Im?du^A!W{NPEl**ikgFz@J0GkL3=CirG6mZ<@4F%` ze=Xo!gH;|`K1~+7o2&reDnGB&Dt%^Xwjy5Mj$f_P`6%V(Q1YXYJgsIKXKz7~>#V7#J8>SQDj| zQ{I?_pS~g?ReXSWf4_;pmo12v-EZ{#!KWKSItb|3TnBq0`_b2F=qGn4_%O?Dgs=Q zUTJxmt2UoS;g+=Bd{^)K$m)O+TlsVoWrO|*)V?b$+1h>9jGNy%Y<_lj|KfKzVty*)g1W|KvQ1Q4zw_jDXwy`tLROwRe^lnbO7gngmBK6)Uljt>we?^&WF^r&n@g@_>#+ z^Esk}dyvkRpFhZGv%0!OcIZArx;w<3&NfgJ+zw|p#?X480omHs4Tl@_#oW+hE#9r# z%h3b4U}bxGt_G){dEipE6Fy%Si;%Y-lkSn=^@13P1)uOuVoebSYJt)7g+365E2lGogDVc_t)K_p`oJjn(9)HRv1)(w1Xp>({jHpB=6B$18h-g zJG%u5Kd}7E#MKYmh}M>tzW9W=I7vQwRzBeJW^m9vXkJ+Xh!+BfP zPPSL42QZbKjz<%e3u;rYutOZdu6r(;uf@Tsh2rsh1S>gP2iEY_v;N~`;Fg zF|nBYHlLE#t|9SFpmd-voQQo>qC+??N9f0o%kCHhI9wcc-wTIFyc_Ne4C@B6Yexj5 z)b7E?n;s?l4YkI`NGGT8;*yeEs4xWN&f3~k zy`6DFX4~}mw|Q%o`jow)2sJSeoyZ7#c`kk9zIp80d3Lb)CyucP>6s0Wkt<+x!RtrQ zOh4rn_dk~U6?o`{ZGXV{v;-fa(%0VGr%>MAVw~D}fmO%lP-6WY%P+RXcyWGKUt?Uk zwNk_O(csS#?|i+uXbkfb7Fi|l&}X{xB|6CJMTW{QRoyY>8#y{484dozcZjPqv?-{k@1uENe~LRJT8F(7Y6G; zXL=G(vQ-MZ_|C@<9qFyf=YtkJ_|eUQYLa19DF0;j@aKq+y-skg!6iD<%CGQPGgovLTNm|$WBixy^-U)?jPTmX|B9mZ>>~<$V79d^bdY>T{0Nit)KUsNA>ZiR zOLR2r^2w{_J8o1+<*wWS)t4A{i$8uW(PXN`G=BBR6ap#;Y7HFbjvSsZOPQ;>Hl3Dz z${B$6P91L_oTW(ynf{C&BKVwZNkCgP(jr8OFD-JRJ^M96tcRo-=2m{eJ|Y zyig@TeXwV|GwG%`wJbsydf8|5!_6(Q`8GoKZ@h8UOWfSGjY|0+KW%{}acO+aRCd$r zi~tsC!K_}?R&45`8eC}I7;18WfBD3hK zm7Te~Q_Oh2^1vkwWo-!lgVIhP?nF(YqXRrk!k_ zB?uNzQS)RkboGsjLuvUMq1hXZc%W5Dp-I1Bi#&p+Y0{P;7mXrA$J7wd-5-I??K{+a z!cB&?hC35#PA%Q8cSCjkuE3y|rMXuwYFH0_j-3|AqFdgowncjCO#*(h4>}zl7dtwc@ zBJ3_dH%pB@x3#e@WVE1ncQ8$+Vo3Fsai`LX*iDtURzUyjaS-?t@p>i(wN6v=Pvr{= z8)EAN!IYNu^=HfTj)K<8rxG2p;>}W&e+>iQ6GPDm+;ApcT=o(zFE4g`Ne)Wm%P}7rT!P|M%%pIuh3JKB7|C89&v=OT+Wh@gN;rfbN%TS5x#p&RS7ZFxjPys0@zl(l2opw>CXn=2j>PewWb6Z}b z);TB5lUNvpqWoRR6OO^m@Tn@N8&^m+;m1*rzc2&qtRu${tUrKncC#Efdk?KX;xQCI zj@W9L;|!HasVyR5-}GCq;P8Gp* zAtALz#X5)@G3;4sy|?%st>zoNqfjsf#)^#HbF-Q%r#<0N(jZ?9@>rL>MR(zw4_CVG zdU7F*0X4(QKQTLu80|%1;GUo9xqC81jHitTel>Qmh?bEc(+M3CUtzehNdNoZT5drP zj5b7dzlIvWx(r&U;%=i?d2bz3SJxguG??tYx0HmE#nqnO=llLKb_AUgE3I*oVQdnHxgJwnZdG7o zzXxD%q(BcJvyVOPxwf_er0YS;6k)PEV%Mzr*vWt0Me0s=xoFg_OUtnmN>4%@C=b4_ zx%tKU3A*~L8reAHF>#ad!-JX|aZ>tcDP~EDH%Ul0ET;s>CuPMw^=h2$gJ8DkyD`zx zUlr2acZW0%XriExwq|FGET=|Yj_$VxUVPb5fou=ud_u*_OiR8c=w!40t3XO$o=jlC z$d)fFVd^IuPT&_DB>D26hQ!Fx7-;f;9Zu&?_BdSt)fcCq^W4Y0 z{*td(cS2|N|Drlspl4fhzHe+(p!=%53OKH{$!aXjZ}bL-ijZeKJi(;sXq|BcG-Q|V zk8SS(b0Alk5z74IiS?wR;TIiOM^l2fA^7yE+h?fTDko<$?^+ZM!yO6F$$S>^iMuT9k2CpJhgl4KK0?#Cwn`Bxz?klBdoi(EGNge78eUGCK!e&Kj89ZoviZk zW!-y+kFC!{*Y(@{RRn9#Xy0nAb!7=s%R>qHO zf195%UzX~uzPIqvCZ%-3=Gt68-7vX6izkHrzm$?{JNs^iOak_Lxv>v+H~Q`yEM>6D;&37D{Z8pEU;Kb?A{>I9B-^|=EfNbh*mAI&( zKGe=+ZxN-~M9Ib~-?TST=S2gLwI?5Xq!t7C3ep}d#_yRRB46@l`3S+6A^HxY)JNA1-?PQ?tQ31shZZ`m4-cCi)>RLd<>cl2T0SDXH5vOe`qi!v&!`0;Ekf9t z@fUwXqNoh4LqcRLiuSzF#EPoW+`oPm@prZ*NzWr%}3EZX2TM+3eS<;3*!?M?nz@`(9Z|-z*VkwY_6( ze{rgvlMBNYv$II=b}A*H{I2y=&35r?_e}}f6Ik7D-W@-yKJMCVQQW4D80PrM+mTwa zN1eIe5O(aSgh9AzB%^LwYF105pb0v2>rL4Ma z70(BLJY;t{d_79|P{8J$=}_1Ag$xD3ljAui&6_rsz+F{3cxYrQwu2npdQ4uNl?9g? z`{ybTueHe1XO+CoA7)4EYPMV2v%d<+SoWH#&HWA~&>AO8Qrs>&mXns?GQnzQQr}t+H=_}U}xln4uN5wxeRkRv6}1Ip=}y-AGG&upUQBVPw|GgU$( zNdaC7&afg^`fE>lkikX1YRo%vlG;B^207dKLJo|_N;0^j2iM#ldU@8YPE_(ck&pT! z&hfCk>ZOn2c@xi`>-n+KN?%^Jr~TzQiy3}t9*B1!7c=N2lDd2KkQf4O+YEN%aXn6p zVW+>?5nG2rTHCX%(a5>3CBf5;i;~iXi%F-jF&e&dx?ClqF1J{=?yQZl-2b}iL1_3_ z2JhHd%nOjJ3NmJc;)2VgmZ$l*iz2>ZJsLNktm@SazM?pYV8kr1U+38yFEK|yLJG2* zt~)gu?0^}#b>W_c@CaP;9#R}Y`At`ca>Ow`E{e01vP5qlwOn83%S|zpQSW21)w3fU znS{+w!3UQ$HcCJgz%dKDaD2AqydG_`CQ|*Bp zQoG=M@H!5%)WcYFVn|nNuB0Sk%-)*6K_93&-oj7+bEKZkj|n1@&{_`x+!5uiVjlP6$Y^3! zzJoljV}N>0O-(JresDkzIXRYyn*NVX(6ZF7b@AJB!^Jy$Ff05*+qx53lZk<9@Dg&Q92Sc3-Lxs>2>e}yHaIG~L17(mEQY946*`(_V%a3oSNm9Z z*LbeMzc>K@-sG>-Fl<2rr_YxqaG|!agi0WJL61+uS2mU^mDloaqNjU`R`WWW=z+630m1|cH-!ZvzNvqpiqK@In2@Uz^fU$h{eCuzJVO z+2b%sS8Lq=3C8gvxZWGw^Mm9DIr0;_FK-+1@;NNEWwVqi(aTH!X6p&NZ%_xH zfBj;Ab*Ym@@;rw8ba`FVGs4S@(AYLh!uof@+wVA3wpTAT>^@uc-DS?wXF1OKvvD0# zf?@Y6DSyRIy%$BAjF0=dH6aHcXWk(F+jDgnP<@QUsj=20TU7XjA%sY#T)lCfsnQQK zKL+kq4qh1sOM2^B?U+V+4*VZ5KvfgOd!>1`_Ox9JMJ+Zs-P_37-}M#%hXxF*3aYl+ zjB3?f7EeW`X)BW*y2`s}^_SpcW1|F>HU^Q7;m6!-GmU~yF2nX#`B@5S7=r^04@rOR zE`)Z3+a_Uzb^rL4B4K)H_Tf8^%JyUou#)L&_TU1WZJ5T1@;+R$0=5i2dmBTMydXCeMXu zn>L$A=d>D`Dp4)L64eUZs{>-IMjVg>0#^x1~CVeqK7gV_&Dito$=&p3Y*! zsJ9HD`2CRP6S&$*C@A<57SCJyPWbu|o4t#3ZZ1>s5vJsqvR=w!9 ziYewPDrgkTtsXJlW)1t}qbFB`z&!~D?3k7)x88o7TTuoSJW@riB)j)k$V~s@zCflL z?7kAAqRUUgc2b__dg#Z>L7l!?=4C{pCbpN#Iyw@~L&5t?3B1V2)DCNh(u0|n&(@+< z26MHd>E3Lt6_a@ktB>IJI=$P4Dy1?tU*I5WHj>k7b3JG-Ol}El+KVM+kYCa3A!)j9 z`*LZE-D}j;mO!y=Pwke!3u~e1<^O8vjy;bGDC1^+7uC-A2JPj9%Mq)SgjW%Ffj=O4f+dZLDZkd8JB#XrE(?}pP3X%eCwey z@NB}l_&u?vpCdGXPPpXcNjGM8cf)ENt#zk`$TCI2QJy>PlJoP^t2DkgXL=T>QOcCM z3KAjvo;bM_3CNMm@!^-*Kw((d>(0IfNriFKLk5mi`Dz4{0(-2Rp`;+6L-7IFcQ( zMfJbV)O!Lzmm8P>-{$*c0G<~1dSoItX^d7?nO0n#;(fBHE?$)RKQQOIAB!l-w?Vuc z*9o89KbHvjTdoG3TEt%vt*eGV`m>^zHz`1ct?rMvuQ&HuI7$ShES951JvkcRNPC-D zH*UmcAQaqq?__ZsN?_KS zGe1q;=?r3e8wlE+HF~X?VnN@&edE9;S*DQIQ$zsexfT_++EwOIRiPRPP|Sp`CSTp? z`48P%*V$>76}hdPPR-v`e(h*yM~d3g{LDbHST2^(d(E*Qf2AkhYn&LbT``2eZ?Wsw zpVYOeAGBr*ihXdd<~Ov4>+5r+0}s|bOPpIIie+BrC+kcj`2kVbsic(wFZV&e;QJR7^s zh>2~F-O28og^uzNmH>av9*%<3Ab{N!lARAQW(j}I$LxW&B;e6VruFB>A9-W4nB_P+ zBnJmm?hiUTmi4g{cExDFz6Cmm&-N^NSs$!w>{O`?h z)!;rj?C^wy<)$W-0Jkt^LcE8X_D{K4;oo1Fgjo z^-Ejj`&va&QTVfxcD@U)2dj@DOZWAY*w}DE#QW4;pF3F0d-x*W?QCeWGLq~4y4ZHM zQIWr}i3y!nUwS%Cp@^_h&d<`9Q}^5y_T5s_(lBdZb)q2PC|(i7p!%k|`#sUm;TgSU zcjNhQ*{PS>E-+uUs-CtVqbv zZ;UybL;MYSy$}P7Wf(USC^s*pbrHxh;&l*m{xr1?<>9BP;f1B2W zsjW**f8J&@#ZOY+$;J)Y&d~9ATZY|KIq{Z0LAyW3Byz@HQ_B0~pkrt_rj4Zm1Bj1P zuptl}$2o<>86Y-^^3ZUJ_VvVd0^gUM>!a*AlZ1iQG> zgj1W>824wfsLtM5Nd_sj^IS^}==THO8O2UzXEQZZF@@XHEwvT@o_Iff;ZZ+N7FEqD zB%bM&ezy}hVIHmWo<)GNlDQ{`j24N+C!-uEPD}@ zVj&ikRkgj$>FHMhsLm(eyh+8jhDfiC96+lcSblec;Act-LGhj-{|u#`F_dC%!Hhi3 zlUG1M8|!9()|;=}jF%Cn9s;2}IXx^YD0uv`>lN3S!}8A{so0@{Vn)M*sRs=4PLDu^ z#v_+r_%pM1+ykzkKKF++m5g`ig#kZMz&e9;Cw%QSZNb-MZ*R=j!Xu_{bDGtoL7IhJ zKAN_mZb~Cl|A2vsva~WsgHR=XS{T9!=}GTPd29cXM$r?3^8Fb|mOkhzZm4yuV@%S% zQ%A5F)*VGfA5GGJSN*3@Dqhtwivq_G(n0;*E`5QLDd5JFztjZqPo<-ECD+Gh%ztrb z5Dg%p0NxLOx3Ur07=n((_PYy;X!d}g@C*^m2Y+k+H4r+|y+4zG!NtcwJjVDZLB#hY zk4J3L>gIJ*Ye6mHw=e96-&lLG#4z>TenzwwWkB&I$`AOGPnZ$KofoUUGQ^;`NAu~L zeWT~3EC9G<92^{6T#m>zG#ou@M4G)~4^Zg5Fi`NZ=*W$YjT>~4k@7_lJCPK2MDVWY zA^-zz;04;pn>zhX<@H#CcSS$Oe4iEa_Vh)?58mIm(q{ygma)0}Rl~6r%r_jnKz@x3>Ka zG8z1TFVWQ{`QJ+vw?2IMaNt=QLJ?6KCfyZ+x=xfIpqP02BI9Gw5h)5m`JA3Ga3CQ` zAlPZmc%L9BC^EW1?N=hCcSQkjFADFs7)+v@TyVL7KYcKLn-Dr-uQ#LAjcQ z|MlocBUs@Ja}7g&7bZ>ciGQBPoZmSZ>owp-PXY`%Nvz)tgJPl0ROnTCuaFKNAPHt% zo5prFLE9jy7~8A*sZHTrsn?jazuZ2_AxHH^m5;yy@3XNR^eJD zr_~sP=aLAncFfDJ_dD=sznD+YC{=sWyyd`?sejZ_o!k+f0MPhA4uD`rnS5+=w0GJ+ z!uqfMM4-B$M;xAD&LGB!{&|xqC~v~|&`}1l$?rG+Y%;}~df{jyK#%~j$#kSYUo}p) zl;ImNNJMN$2<6XqBYsi2%}#k(v^bvLM(k_g#-DxBSda-4Pub;PAA$7G5&UKoqF(w`NL`C09r@2`?TgOZ7ajk9tSxcnS!QJ(ua6y(vxN`ff9CAS9OF3#&O8(pVeH!4<{41v|`6gJhp?SHC0c~7(oiol1~w@si|R9FS?uCj|{$sHWh1S-+J#_!Y0=e z2E0|h*1(iml`6*_ zO~H>}60w^!E!dvy8UU(GQBhH3-Vs(?S66a&+vke1GXDoGvono8%qe@+?>EOslHY`a z#3O=UWfN3C7G{gqzT#5%3G?vqfadNQVCDkS_ulR2s7jXX#aPlfQU*Az$s=qo&xDIUmsFBu@0o}3O<_407u+h|q;z>DGqeB-gwx7D;CJg`bFCOSOtRNcY^c7u%&V|yfo-{aD?H}O@* zF_?tmrKJT?PQ`1;T5||y62@27?uai46@dXFFnKdC%dB1XtH@ZP2lkErU}pympw!wdh*!SfFp5rD zdi#<|L)30W`nSKjj*p?taPi#Uo*wC+oYPyiSE;w784p9opK{msr^(cI?P%yzmWR2W z9g>2121cXeQD1y|FrN_J%nd&U0+dtsINw1lZI>81r&R?UY(QS`-36>=z&r;7JZ~fX z-;>_GTNeSwc5-q?C^U5IKHN}rvqH$UBjW35v1zE>q5!LMuI9;%4_QqYx0{%lScxfi zyzmW8?0JP1&9?l)V=$2u4XL(UxzCuN*3*<%dnrx^W&%#-?XbAF?=t|~7DU)Kl_k_3 zu(y@3tdBOed>K^pKSY=gq_fy9{{&+Ta`Rv|M3X2Gw1^_P-A%!Oj-~~;5F2}YH!y4D z#14T#dfwVV4?wZ_l`r0myC|e>UeI!qPxu^+CFpAG@Mcm`QikN5GuK7}6PjxcTKcw= z#<1L%(g~)ej6a%002Ap~W*7t0BZaq$rljL}s!tYU$5$j!>=&)3>uy|z1ivZn*vZBN z93~n(^3CHr_|sy2Z{2aLs#@jLH>iyry) zYrMi_ZEkK3?al+C<{$zNvtP2=ss&)4O|}Zi9n4e#^WhsQ z27u)Bc)mR}vf_MbAVUEVN#?*b%cCc(#}{g}37`+3!0&PhqzYDJ(iLY(oE%YGe zbP>YHhk!GA<~!r9*Wq%>gWuYcjCb$+@`{HJ@ig+EXsGFAvnQQw+B!y?N2M?IsAjwG zC=a?a$ro(n+!Av|iGU>7f5P6wmjdh^8&}ZDp5%p>T2!f)GOp2jsuU8nXU8#C{zTxb zp?_dgcT^Y5cr1HrRBa7;!!LV6N}$GemgM1(>{vt$&K2hYKnX|(f8u#}tlO6VxZ&V> zn@_)P$H{pyyFk(M*yC4|EiaYX_trNrh|y{9-ii)^PIN-=x03&ft9y&5P`$^^lh_5u z(j6SxL*1c*C*o1J)6q??mZ$FA_UwAiiIaR=qVR9X9>HChjLuShxuG%lIIBYkdT>-{ zz~motKlc31;zV=-pcxn!`tyUH}A9 z*1=-*Eb5~zf7kaSt!5*M}5D3lfT^=Tt zjy#u%ze}!pV*m~GD;)SS4a^trR~1Fm!RNmO?5Yn?C}0AvN6xZ%ai8b{Zekr2lkRcQ|U#zg5ihM%Wh z+p=$ISQ|0@S{3a0>by!V?(r>JTmTAI>-+fWKNG(^ZJ$o^N|BZ5m4y|`>#iQ%Khn7v z_wWT(6Z|0ElIB~+M)ac`!--m@7D^Fbv9S_UHKdl~zo?}{JwV4_O1h_6h>W)+Ln@Xt zK8}Q5IN{NwN=@)Ma=U#0@YJ0GDF1 z=VE_z;-yONIvB<}|BSWQ)J~2ITB%3}@1mjjjR8NZI;I&z@lqLy41WN|eM5`ny|AGW zHZd4=l7dS2yeDqt?NEcrH5P?$Ehk@L3x0dq$*=rcK+nyfb2xY7WZEk*MS>S3`30^g zS-Az9o4GK<07OCC%PT(568_d5-Fzq;3My1blcr8v+D{~GXI^wwZq+Qz&#PuBrlkRRJD|S zbq=evoC>tCU{cDexd*2HsWe`TqUJqB+^9baP)yFxcx{M-Q85rLCYH6hHE`zL!y7#0 zpGwJ01>-c^Teqp1O*!6J4r__>+oKvmZ*&E=y zoJZWvha1)X{c|9K`F1@i?+c|am5&+9ArAFQz6Gk7=l7H?SR-MyY3FywVr?C6xqg8JvLp(Dw#xynK+O7%^eGO3emWrLjJ3>(3 zT=tE40dJ^;&Hk$*x~Wjhj$Qs3#m8#n~nfoTX{tH_zogewiNPZ?f4L9L4uh{Kl}NG_CT#zJt5)WuCHFiiL+MBMF)kpYN{|GWsyhaSVY`D~gXD~p$ z*&uU|YUE4o>1sCuO_P@qM>8+G$vm1$EVm{=Z#|>QlR{^8yu2A$^kBN26jK8q{YKat z+oQw@T|oN12usD zYt!^)QU*$*XKkVhBh$q%O_5Tym5AYYd76?|9Yg}=G>#GcJI6&yE;k0XzL579JFQw= zaJokt-Pm6%#Tj((KddtN*6{RIW7Xf88ehntnHpGmMP;{E?K=s1nv1=a<#`&WHo3W) zWWk*_PZq7a#$Czj|6~rq<>; zGt*gB)uFDTVY`QVo0S^(&DVA@`RIdftCV6uq|+Jm#l;N#L`$p(yiJPLz7~Yg_YYuWK;6FabqWYy?{ulUirQSF6coKxI7-Lm?YX9&F0hJ z{@I(6QNHQ3lX6DE;CYt*i+^s$4g?pwiAS^d#i<5IsVWJne9A&`zLtbv)!*{mkNj({ za?oO=&%{|e!COCG3VypV&@ygc*(F=+2(mCV291P*g|@Z@z_-@vbXCe-f0cR;sO5k& zS)L~F6hSBy3$n1YwVlDPl!zSaf{7oT;A&DTv|oE;S|Y>L?63slqp#ZKlA5oVELF#g zq}ZqlsmEqZcu*BC?-Lj6(wfJbw%Xn9Q~2x8UpWokd|=Vl{>jVL2W#!%@+_~axc2H3 z;B@92xVhISKW`1P)aj&_v7p3lk3d`!V0ZxzSwX8x*V(s5_oa9$z#fbPqic;mMDh1_ zKI?m*RIj!8uXOTd4g4~xS7HsnGs*f!=UbxAdoU|QS>Y>_Y;-eN)9$H1n3!yS_#&9~ zVU^)Esv}rX!+cl9@|No1{MoYH{SwHspv6@N_zy+TAU!k~ zP_BFHtE=ZgZS_R~N&aW?leLGWq-B7Q;c+?Qw$xKUSv>{F~y<1u$NkH4)za7GSCSll@Vi4-}>gf-v{d${I{!Ozq7kB zu(Cm`fV#JL2MmnxIv=i=L812lH8HZ;z6nAKFK;A`N{{(K`VlB|i4X1dCM6s9yYlmQ z%2ui5y)QCFs1ROqu>6gil66@E$5=wo7>j1BKkKiZ|Y?p z%ZfixZkzs>x6v(QNmfO*j81;`ruUhtmfuui<<1!|(LNZL@<0A^V2!SkQPlVE8K^`Y zdi|&Wx^sZZsx^Wug4?Rr>%ut=Z)$z%2<^OXyUh6R-VJ5Vx6tHRf-0?gSVf zMCb795TW#({I)##-(b?mmqpMR@c7lW??(4Sy(R1v{@2((B5>Gal>hrrN`5mfvXj@E zqWl~T)+F(RAs$2u)0NMDU0p1Ygm-+JX$iip(9VZ~_66Iw8-HSMJCt1m>}MtI=3(}d z3PVcY4dLJpz)jE4`SZXEcz$2uhKn*D)@@eIzh?)jO&BBM;NOjef*-a||6bw z_2w&NkZk=mO>2I7RI!(fPrQP#BW{Avb-f0C^Bb~QfC_k5Uz_zEh*ZLSSy@?oAnu>H z{eK*XnXL8T8dfU8q<;k9piTXgS7zWp*Qj;cyLowIo^FTbW$@`W(0`T-X`VJ})70PY zt(Sk$4m(^ME_d2HO_TQ4H>3jeF!@}3VgTg^5>Ul|2mKbh_2ZTa$RTn>(KVixr{z3$o?q7$u)-cuAbwHH0P5_=y? zG9OM~S@!zf^t@<*NnZo-#GXoV`pU+yD(|96gwsWb70FfUL^9>nUY<%=YsSs|?!0Rz zetKE?e$ozu;lcgFWZh;P(8RmE{C`+`%c!cm_FGs*5owU_Zb?BJ2_+;1WWy$BS^Ce*^<&F-3=n$N_V{r2EVr3s{@BYk(s1IJvB(c#3%#)Omz})=qAe12;c2tO zdDsAE3-H?gEV}{oWaAK(g3q8ZJ8MZZ#bHc}k3YNm%KPl_=1!mrF4^8lfqP2ov&b>f z{7Df!h^d&#mu}qOcOfLq`L_*jSug1K4^I7>M)CEX6-~_PcKXxg1?a_jps0(jl*bM1 z%*THW;u?8s+;#2hxt~aGK5xaz7IuYL#{pQp@ak;ix7%9xAi>U!cc9#z!fcj#FAHmK z6F-$=+Zz8Qpyl-&r){MB2b^`MBaR!OE{Vv=+u!;787rd2VtLntMDl;wX*(XqCrNy1 z!0Czjzu~t4^&MqEX}b4+pty*K{Pk|RV~A2l!C_HXm&(JR-$VsmdBl1fF-!?6iiwHu z4by>(I4$(KC;)JD#)Bkr^0TYMk4a+R!uL$gk7jJWFVAnE9bb26_23CJ%ROiSC$u>G zaxCLXGr-2pTV=hdsr*rYC0D-Vm<^CKgkRHrqpp32QApr;dI+ujJSo5-zI&j>mqF#O z2?gkVfKMwA!RV8dn>^l5Uq1YS1jq~I+?npzoGt9z?g!=-uLk(R+++_hD!s3^_t)yq z>u$b)ud?MX?w%o|_=334*}(x?VNI}s+W^!FxZ!_Ymzw+NkN|Bghwk)sKnx&v;1t=~ zr3T+=1Y9i<_j1~7|e(9P*?nXos-rt)RksSe&PaLx3 zZX!0XK*w%N^!Se-MZD2RM+-v%D*A(g(65Gbs*0J}{G#e2T$Rh^0(-!y2qXF z8w-e>|APp0n^+BQGH&vnrSfUS1Cg)(-MV$oV?WP_e!`UPxmd5wA0hU7X-0ZY3oc=1swQYhbk+JyAqsDEp}2yKCAed2FQ4xI+k?0T2H1+ zB0>o(x^7eF-q_DKd0%d{5L;aCc;=`T4x`2_bS|TGGSk_wSLg9>)x!Ffa8J05Zq+6C zxqA%qh$V6U8 zP*{C;E13BxEj!=i6tV@adRGWYLusN4qfLk;&Esh!5L-@>hFE z4!(g#WdU-DzN8Xo2);~I8 zv;Z>aj=)FR5Qk{V}M%CT{E{6;p$bfPT}GMZ zQrWM7$O>P_F#6;QN72tgGV+IvO-u0Q|u2Q1EVI_nvr5s+Ei z=%s|G4t_;gPnCnZN#OKXq`RZ)1rXR-ZoTP}^m|hU`E$GT<4bVQMGu5UT=h0KDy|f~ zag>`u3{rq_63^xiewdLaLod#JH-)(a4>_r`g4N0`!M)dE5U5CSSk zAVAlwDFk1&Won%VITXzv2IRFq_4d-kIgz`h26K$LQGhe29Qf8$KSB)Z33>PzE6Yo2 z@zzcR6`jm-`)O0awN>8sRcX!+9}?fZkJc91*eX?-;HXthNyTXM>zzZAoUzI_UK9+cX;@kL{yTjZ|cO~&L zcItIidZW)eXuw6?y#y|5r))-9g(ZeKp5&Q>|6sM|0Q!&MqdA)SiH%(j7f8E{%5$Db zE&4vW-h<)T;E~va%zpKjJfFXbxfm9A2i)5o2PQaEa(Q{v zj>{f%66gZ6*L2k#-~u<7wB{9BaI6mn>-JB=Z|${+-(ha$ZC)UC2IY9XA2TOSW7Owf zMZfkx3l?YLkIFcYc8gdmL@T=n>|G0{8rfXt5CYYjuFll+@?7f0i#H!XUI4+6mbHn` zb}Fh>Yu&DZkP33DIm(7SRce6du`JLQVSVJDD%vD$7nv8^mqfj1sVNb}wbK(gBjgzc z3=@>P_Qsc;YS;{~6PYMu@Vpcq~J}|GJEMpb(I`7;I zw#s@u{lZ$%LDXAxapdf6W>t3}x!BI4R`W_NoCH5dVQ-=L>e0OQR#6DG|aPxZA-rN%|a54Ja8wj0V?m$gnLGz{?7<<%~zFV7XvU~7q-wkBd${@>fe3@T>H-* zCdNCB5t3aB4)M!kk8Ysin=C+$kv;x1auh?I2a#j(uRZyH882QZx5m*Dza1)w=U#>{ zH(>?ZI9ZdDR5GMh-F%)~g5B3yIQYu<{ate5%H)@%@wMNA@&5;jWq?)e4CeH)J8>5W>n=7)-!+qJ*+xd0p*aPN17k~NpYgyM-a&lfvB zfm)YZ{-T+M7Tn&rIEwZx60O@Q?j_;bk$0bO%GNJ)GeIX1lN2=JL+%c+z zv$%jV^>y*i(abcF3i<<5NFu;LuKXviA`$f=m89cqKMCnfOhy z2SvKZ=KD~lqz*;62L(((w?Tpl9D-sX{nh`?;?a{zCl9xkI!^K%kNxinv$i+_atVlD zMMVqkF(klo0of>s@^`N61+P+hVt376je9$Th#3pxpaOyDX_vvy0VE<sn||){xqB#kf@{g$9MscX zd#0t$cZ_gk*ua7q^qo#cEw-zWZ|CB_(FUaMvRkLrb&l5+s9y)>_Ykuz>Ud6NmJNYe zk#-WO_k9Nm^KYbcnE*MwBlpJyB2X+Vsh4LUHkty794s`rkQqbXYuP@aoXS@KSUUcs3?#YVK7L4eB6H^D4)PX@r`|+RQ$yJe) z3m#qSKUbn+?ai3qj$bGwD^ah zOEbNXCunN4U;~RU_nXFl7Ww|zFq8meg1g>^X{;*6`=yEiDDab$lgs=CMaRE^vZqSF zYLNY2NwMOaxM_Qnni+VG{xztLnc`Odn9_T^8{2~a)Gq$!gm9OLaV*NqJfMr?eU5Xs zIbmnd2sZwHj()Mgh}kR0-uAZd=bdpnfKEP93bIrY>BXzhJ;C*=c`1K5zE)ag>!jKS z#9hYV+v8klCSbGtuM73!Ii{X@BW&$YE+tVeQS^Sw-UDSp|Es8h z?4IOZfs$;A$dL&|6kcZRfAQ&ed}L);Ds>bci8fb+Wm5k$r|$?^;XB-fs#aK!0Lu2o z!B`PEZyg%!KZ6WQMd#DXPk2gq9;sVaW!eLh&cgCCH(=p_riVlD9WkrDU;DNbk(k_p zNr?Tc2lEYfu+(Lk=5g@#k$%(gjT;nzVK*N&AV_KgNe`7iUWc#Bg7T@8vvZFs<~;m2 zT|zOu1;pdBvZQx0_i;9#e42%-v0op=#rjvT^qffnF!%#$oIL(TF)yIL5O-z85qb z7%5F|?zp@9aLWwu;k(*|S9tE?3YHp%83s=jHc8NEZruuc6P}-;5gg3LGVr$T)?twh zw4U(kk(Tr8_}VWb{O^vA&M9HF;CNK&J1={?^K2PczMxFhXrCrw!s{H)bn9!_g-6g{ zqF8gwrI3na-^~6AUBj;{_vP3>$w48TLdeB8xI>hcBPV9+jHk*mQd7yBn=6{1>HF;B zx zLjDmtzzEROyDwX^{2G-ifVw2>&9TZ6hAcsiekGGBN+pQWDdg5LulDPeUEw3*g5s8A9T z*iw%{u8-GwJL|N)MPhmMgIJfWR|=13R7Ak_@6vBU!wElQ#*O^hYDHaCGd|5tjHnv~`7m_IPsm=l0tCbp^ zhY?DZg1HWt0-5)-U^f^yn;w(r*WfBZYbY0Dk_)$gAImz!>$&qiEeD4TDMD_nFYc7~XS= zK1VK)r>B9b;hDTsqk3Tvv>=|#mekMQsjy7Mno?B!Sa(rQ%6R-BH-UqeDhjK;Ps}uq z4Z{5@)ksmr2i=VRMRw#bqkxfLF7!O8o1aGUMd4KL3z5h|{Mpjal3A*c$BIq}SWSe? z25)c_$F)$OoD^Qn`$avKq;P0LJ_&H6*|v?m&j*yTz2;kN=%OmQI1@_LT?inFaxHy$ zgn@~M__-%!r0fjK*km%?(o&n2qi{aU<6}6GY`iCXzCGtrq%F`PG%vzhpz#h>^J`~b z#|ManF>2lnkBl3HU0|a4RnDUd!`3RC+c$LaL61DtZ=Q^Se{Fn+FD@q-x zJ$n?#5{LWDXsiv{w$Ly7?s|4-gBFH+)te^Xm(S6ub7@} z$9MjNL)`~!(34p^xIqAo_=bi6Pk!9PHr+#cSj+sYlS+P<`J^J?P{Ee`|FY_57heV)y0lf43goJlJ=~VnrfL+`Se(LBW_?~4BPV= zgnioBOK~qR41y!$zxJF{a;s+83K$7Q&}FnsoUtrGh@sAnwKs&SJpnNOpB8J~G2}rt zJ`K_RBKHk=tuWIk>CdyX9k=1qLW-0W@eK1$0UQ$8ub6`mL&KZ{zY3$&^Ti#Mg+qACd8#`TC^!R3M|q1z&p+_fgNn zdVoS^ddS}rIfza7EGi0i&^YAaXkel)=q>P`R{FJ|^3zm7-dg)sA?i5^KV)8*@Vy)! zBj~lWY2dVFdchFAuDsp;;l#pE^e6sit@aVI#`VXzyAhY9?rptxTZNTM`j}=_RS!Vz zrUrN*gh?5=cZP@^aRDE-ib4#tqNJVIX+4LMQk_Zl5dJk{tE9q4w%q%|sdu^x(-Fp2 zP`Q5qXToE-FWU;E7Jg_MmVIuMC0J=aQB?97KwE9T*Xg8$P(dTYcHpud$~~#V`3lpf z_4_w0hls7ep?1eG9;Hjx*Lk`xcN354H&+k3h831snC`ESWV_f+9lMaj?k1O-l5=GU z1vA}qJLdds)Irms5}w8z*9+QR4e7w@*Pk|?ZEwbvH}(r8nLE^{nYoyuM31x+^;N65 zf8KSe7)6vFc-ej@z>_k48#b+4qq-N@X~9?!1B_Rw)7Qx*wcxHk-k2A|Vmb(DCVyl8)3=OGJ@Gud0H7F71)*C%aHdLDw9|kVPNu^!+#h71}$K^R)eS%_?@OGo$OC~;km#$Dk9Mx=e8d%(w=QDne7lBtdsr9=albUqJ zD}W9~($Q?A)Baj%_6xGa#i%OY=S;DAvSTp)i&GG%CRCJ`nuE$Kz%j~toNS)-GyDiy zY>(;dtd@;o$P;l0F@2z3H2s@`5DQ@PTXkoEUMuJ!aE$jLS{p5#0($Z%_Sh{cGB$m3CU=JI_HQ@K4LdI1 z97XqGRj&b>Rl^8V3r_u6?u+wL^E&@?Q98>v>I)IKSdj(vKkC-5Gb)}x#SJzcG1qxn zyp0FvW>li6w4A_WKiDyiqPep*BOg#&u4-@+ZGgA z>7Nn!V4@rXjs&_&kLd;>gJB*lzYG+_4*W^TwmsxXeeS*n01qm7b4b1g$bD{-7!1AKKxtW%kd2Iq= z3Z&fY00^Ji9J~|&6e#GYB>E;lN@LkJdjp_9c+~?eI0-iPjbI>b{&O%3ZCsn_Du~i6 zSF6GrfLl8vsFtMwmdgurV+(3*g0fwTD7f+Z{&2Mul3Vd|7jvfj;rVoql2!=}+@{O- zgG~<(bcTv_X!T7xxWQ1hawB`Ltl&?ZukwYw*+*?YS^%b*HpBIk1h3T!AeU_zSN{HJ zFQZOSr|UdjK-cZ%<8;_!RWZ|(-N&+hsKIP~a=5`#4oLZs2SE-x2++_?G^NX2U$}CF?H8##ChxK7<_2N_C0d&+!OJif#<*<#9()vIteZ0<- z`idx8X0iJvhY=}P#+j0s!s7h^2c*LvT5V$1v1~)lhIg)}W1s0*>s8qkmln1lqCttt ziu(~2zsoZaDZX6jO{IOHIgFENvYq$*=JB%}8H)Bkj5n(N4oJGSg1j~`zY^{y2l3?1 zZ)av01T}Wre)O^3?V0S+6@f**T|}2v+uws&hkC4-QyXo?=ZxNAJR>HZK)PNqX*g^S z_Wj;>i674JZ;_`Ov;p8Hk!FmaTU+1rRCB7!>ehA3E~_PaiVAH-C~!Mh=GMlFDRKCYs=9uSO*FGjgaUb}Ii4saUto zIOo?6vshaj0zwNTT%GYi!`VV{Aal8E%u%WES(C8x{oH+&)US^_+(*$PHhsi7pRdt& zz~&a^2_r1Sz0>L-9`1k)vOgU+bg}#@^tIzp5f<+{4{+VqI;>!ZNh`sGsfpV^bo7}z z+1t;bB`z*50utBB@i96npXGF=ok!wsAN0u*?OS5Q3>dyKT~x8^{reogcHZYi^@-`xByEGBj33d%mvC5~V4~TC|#z0EY1XrahtRJYtMlyHTN0_U}{~4lP z-z?ZOFS5*I0?RbAE1&w}`+D_Xs#?dY?9VRm6x?~BadbF=)}97?bk|DOnG@y?{vk;A_KSwFTVUvo8Wa1?u{KNfo z2S|qj4`1os+7H;kCd26T`(~@1f=shOJu%tM$i{x`h=01b<6iI)5)IAWzN1fO?)h7r zSC~%#VI>2+YyoH;c{*RpAqDi#7hpUl-S3rwj3yAk5)%3{EF>{6zAtmbLT;+M*|uSd-NM!(4^xxu(NbfVe8-#Lo^aq;9pg>hCAdif>n?@+LRWV;`gG&MxD#yA<=7}!L^^3 zzS(U>of022p4_ERe#`yQlzs{z8SP%bUL+Fdto$s@%DQ?x#aG@Xj*ZWd*4>uqHd34} zjfkIgkqHIZk;RKPTK7%|NThmEcEXAc!S@-|$9*AGZhkPe6ji#9ZjiZ2)1^*qG$zZt zItgZ`G67C%%OLF;@Y)8I!}l?$zKvN+P=TlY;KI&+lQ5E5)R+<4Gu}=?hTQl#D?#)C zeGgLI>+qWNVGm*snkm1K?RX&2d@pD?8tZ%CbETZ^etiKA&7&`%TYy62 zUeKhQ;@8r?bDMz=aa*ZyTX+h3R-YaDq2jd@l2jkGhF)D+`+lMq;3hU?`xBut_rR#v zE`q-1Tvj@78x0CQnak=&(7c^_pKF?xfaQ?49C#HXpah!+5lVu#YPVpym**GINZV!p zYJJ*)q$K{e7{Xf zgtgY={h2)^rOXNDoEK%c%G(Mz1nqczoA1%^l4YhoxAoy7;HAD-&SCYUr%>uiBo*YW zf#J-ay8;JbPAO9TNxhg4xUU~PweOSE=nZZ*ZsRjWMr1bd?ZDx3EK&W4-QY!XJKxt- zgJy|*%!y^9siNO}kP5DS8I$UDrQ_Q4NI^9Q?3`lfv`i6myufP^@%@;3#E|#|24rck zZ)^%tbl~=7LJ6E){9dtsaZBPzd|QmKa}$W`O-Xr7=- zz|@Ns1q8x@8L7$AM<2mGglwxhh6s8vunU!Pl%$uD{ex`ostP%+WADS6WY=&Q6`!s- zBofoyFHR3uj~L1dyyyGY3naV0j=cOZ!d|5-$jqUcYZR}G?8|k+b2b0O|Hn%1=IvEj zAjSqN{flB7Gx{_*fxyf!!q)fZ<82@kZ$X1+y;z2kVXI)sPvQSNsk zvT@@&NzQn_xE{b&X}`p6ZT)NwJ&?8MEwQa`CHI^hpxW|zG<@J$rMsk2X1bVf>5!>P zkHR~NSnN*xXg*>OgR!on3(A)AqQj{lI2F?%6_}c1v`g=+)|&o3OW^GFbnjnYOn~Z^ z_dSO1bfQ@jz1=SXR@mQRHURT=6fNq$|G$@IS=Ic_KMrH%w?K{ z$FKH5{pI%+uT^ntZ?VI3wZGWrJIp6Sc6%`OGcJ-2m6&Fu>O2S)=bsBX6`-hm2`|bSR+`lkRl6 z0NR^wjL&%s3`Z&I974>uwGe~e`}RV_@m+8oKNrO$FQmL z6KZRSetnCb6NQ?${G&DrGw*2yvVe9SM!;3ntvkCwO)a5_NXI^@kQyr4fsB*-jA@jR z3SNLh8krgSuU-996ruLEuoNUQdgQ9NF)=B(Filp$)gwqe3qlt2GIq{GF;BM?Luo-j zAxDsSa>o1F-Q=h=?(!IaZBKIWqv9KXeN&P*s^p4!qDaTwM$2* zEDHcU%NQ_d=zn|L@nNAwHl8`8ikdAgfk`4I5H%0khAd3ecAG$7h8JSdUO~-x9O2?x z=zkIO@M?}*-!Bh>EW(N!M{~XA+!bwwm54Zo zpH^JWIX#vS&L8l!#qmnMk-tQ0s3zwx385>cNi`Fdz8@MaV00!Rswvgd3mix@GAlCi z78Kg*`)?(`@$s83qa}X~6^1AyjYkIDtNeD+#)B|5jXEQL{_qzvWk0{wQ!{(Gph7IR zgPxUBA1zHkcXl?t%=Bp0pzrz|XoNveD&@!?5M2|(Z`sgC^B*RJ+1Kfvg5(Z-=*JRxn6j6iwc`6A4fe}W!xGVb^(pvU%V?{1<`Qjqw6UgSX&@XKhqn}0R`<#H8z~Pd zu@QIVeK<$kb}!iP$X92fB~3M_8o%N;A81XMfn$>wS4Uk^9> zm!04s?oE1(VP7Xx9ojR%60Sh{U($PQsLre>3OI*5#Rm1kz_%R!@qzjJUfLoTj# zW3-1(dH@W1mL7GZ?cQawV+wx3FCGWb7k_!(PD79Ud7^C{0FfFsqeNt)@-Se*Lj=iXhpocr@1Zu#6@}Mf9W{= zjrK-Hv51#=3}wf0X~v7{jWd}d7N=cDtCeRsOlC>Umw+H;F`{Eq%Psx$w&S#^X^}zrcxv_YkP{3M(&;``zy8P(~{i<30vGVI_*F4)Kyv?yJ z!fH9i_Jg{Ub`1*Mcp9wNJd=vwcutll@ zt$!cXo4>SVhi?a~LZ;}*sE`!@v=tpHslfe~LWF=>1$!N9iC-W*dI!EQVWvVNRu9?7 z;J4sq*P}XGiZ*vseqf=)X~VvjgqSJA1)wSLNy0xfrglJT0-ek!po)wQfH4`5eC1T# zsnNfxvO97Io-!<9Hn(>CNxIY^`VMNs3y0wh&C%+Ymr~KZ2_9n- zSyd`>rTI7kW0?0$vC*y?f*hrvO??-pT0 zX1o*e@kM$7njc}rXfNBRe2%X2P7gGnsM*DZRDC-Bjv>3!sM*rezgPdS95VBFSMpVj z)&8*LUH~<3-6Us9Z(!6cs9kB`e?)7Mu{GlG6g-i!g+l+%>fh_t!D1X38){yZbFfIN z0(U+#>oVaMAr~&$Q{Naf;{W<3?po7uP)1LeV9xbpxqom>?f-ptKZ%q@Sok9DO+lDb z!tYks$Hr0RjQ-YZo!}3s zU7Q`kA1gpw^!C&X*9(Gjd@8Q?+J-%wT0@uOwkVO}s`vN8p>4Dyy2tKRytrmW^Pk@$ z>O0Lp<4k|mM?&ds{imWo$H^BXle!*@K@2i8^M3|VEEG4^UpH_Vxxoa;= zmD?C7Ur9Ef49a5|Ft&F!JG2Bl z4r+iBt#<7f?<@Ow&}mg@L)ce#YS;?yX&J+Ro77{_A!GP^mocnEtA*QDn^IO)!ng6a8V3G5r+Qxkf>o$q|bbTsL zv}loBv_bQ92RnaECa(05)0%0Gx$ZDa4T`~o@JNMu);#Y0V~g0EF8~y~dVcZ|8nt}P81SEcur{?)`MG^Z#jh^5<8DyZ|D9i%4iU0gSsitIXOlcJ zNxxfQV{~g%-j5$z|IxTITB5^$&tpnwrw*5KXmN^4>$-)wM!H0^L$jICQF080E7@k; zjMNGKnh7b$XJ3R|XJ#eV7~HHM79?yq;ZjayBJ`#xGRP!`t9o}M1fKU+uMNF17qK3Amy;Eab?Zn?A7a{=iyCgLv$8-?IaVle6*{4agMQHML zn@bL*y^8LT)cHo^ozeRy?J9q-Ilq4Z0i%VDeW7+Tuku|9CEXFXPea?o@3ixl))OtAiS@;Xs|xDPhF6`Q!6!j!MV~d7_4l+bA$@Rz=$fb0x`;D!X~&ThTsk8eGGccX0as zdAQw=tQR&nnH)aUY#0PQSx{nxT1vGj=5CJ^)V+-J_2tuoLSX_6EQzWbH)#Y1$&QvP zrp^u@ETpBEcH#vV4e?TFd6QV)xFMo0D<%GdtXy~W1sRB?xQM}{Udp-M^!V2SE=)~b z7MUa_ES(|j4TGc3-!h#O_~ty3{(yhZ$54geAfEqCY#Z|M>pch#cq0uV?ngpEQ1viP z9S5Xq{~kRMZyN}LCu$jLTrO5!@CK9BJbcIs8B+*5`^D9GDf-o4HkQjqzg zJwlSGkvk6!?q=xMa0~G-de-M+n=Aj|?;k-84h!2qIs$J*d=EFWI`q04@=6|chrkK9 zIJssu16T=)rry6N+8MFr%y)tCpgjzfNQ7VK;%kufmBlWrHNrV zXV=%)6GkuXknPu+2K>}@pKcM7N2-*Y`~CT^5tO0DCVpJk7kTbJ-t}UW4>ltJ@saXp z2YA5z33x-3M&{LOBTUtE9pjz|0o{!Ltp+vJF&6Dlw%>r}mWl^2Df%^z;r>04WxdB- zn}h1lUW-iezj^=uy*Kt^ns)|xZh3TM$GO69o}A%^c9v~n6F%CQm4`>o_0Z9gf+UF5 zu-;V;1iL*uU~>6Y4gy1s31g%biC8taG|H_wckC}>Clcf?}*ol zt)R21T$W%ucL<|333Xn3aF8*Zew}}agJmFo8jp!|)U|xQa01;pIkay{Dh1gmZKhu9 zA@tq7CfH_jIP#?$C4bj~@x{5r;H1db8<Ra4uCzm<*LKfLI&;F^Eou#yHRMz*dGlKycM_Cq>!2&aXp((*8OVC`Ay8a7Jzdt>!9*}v1o{Y_?;%?uaMBy8=gCnF9%AgnuQ2V1ZQUzW?y@i94*Fn zrTryiS_XMv(G2}e&W*Bv7vw#*I>8n{#M@M$&L=0*;t<~`SL z{hgVao&Ndm0y&W9r3-PULh;SLnGk#4#{rw9NoDVwO4(PuV$41TgkkZ0P@^!=wC(5s zHH&J_*NHB7eW~8M)kJvW3b=SZ4$wV9QVKpIzW;aVF|?p?%SI&G5avpGv`_mrSQV$` z_FFUo?_Bfxx4JyvXM*v!crbq%0az;(1F0D?4+4!(N6jUn*ULge=Ph%5w(|XRfRL`% zToNWC`tOQjw`kDSxe^Y)Y>8_XY7xS2X>qyOs=cq1L!QTbypt!^a`xiRbsYd)c(=vF zZY9K`Gt8c^W?lc${Bvij;rh=PCtO{k!tP+vaR2>2UPB>}{aIm|@u6anZ|ZuatO}uI z8#p+eX`c5q|68LmSf^v83oIwOT2H$IpT57`sU+k}5+>u}m;O3RzGDbYJz|8CV&-+m zx(L>v1(so$9ksdi!FR8Z@T8gXdCy{(P6#R*Nz}`C6Jp6~dnL6h7vd-@7`U~#DMk5rS5#o+ zCd) zpZO{x!eb=rmsmbSy-F$dnHxySR5QGHi3&2Rqw4FhegyRlm*KWAunFk9Ne##0oC z3HRWTh?inkyhe^JgL11H|20Z(kuk_mk=>D(=Wc>X4Nueopl)jc2BY9SdOqS6p?Jk-zF^l` zp-9)8Yl*8{SH-U%;B9v1KDp53`1h>wP@hOP?O?{(Snd*lO}O1bMIn7|m#cXNI=bw{gB^(zg zS}lP0fu+=f^FsCZXM=5`!bj-P>-I~JLSbovfI$CiI}HH;bjK&C8*Vd}qA&Iop51-+ zx^~N3r3OhHyOzpt8MGv|)i39j3oDd) z&kttnIVWP#=>bvddvhL|g__je@u zee?q!U4Hj@e(eUrf-_C&*XSR{yLY`F;3KA3CyhL1?z1ju*8wlJLEgXqAet8;U= zP=CY3W#T;Bh^wRIn0S~o^mKq7u`-D|2Auuf*o~dBrb7NGOz}Ys?pJbdqp^(->Gq57 zXr=2_uQ*G1(D@o6BV$o$gGTnE(HaLI#%&SS=qFX{H9{XGiq!|4XQtncfZ=V=m+=Rk zG|@9&AC%4cvSaB!39WbGtGqE-sIM(d8^|L*a3E+=GDyt8!Zq%9B-Y&*T`~x?3a@okFE1}& zY87i&?H=#sq>tKy(*q4%JjTko+YK&IYT%MZcb2|aoQF8ex)E};zv?C1;$JGC!qM*x z55N224ttn`mm8+H&Dr&a)9 zL2TWmk?EkyM4c*9u;?A+)Cfc=vjA2Lh&aB~qNSxZG%%Q77$Mdj0K-7p&YOiaB77b2 ze+Z7akBX6EzQyf{Rv)wR6H&ONdiP|PbCV|1&lNw5R%W?%U!)*4^&1E;PaLC61Cr{i z$VsP-hGoyThQ#`%1xa~j)s1MbKir5XT!2y+_xi`=9a11Qdk92lUvG}bv8oRzQ2=Mq z!BXSCeGGO2T#3(+Yu(&_$~``TX&Xel1WoLGSxD;It9Yxb>gup@8C8s&Mu}h(pjNKI z66dC7aT^6FIWv_GAgc*fQzIzF*n88_qfFzxd#gQ8cB`E>mU|3&`HE95>f*1+MKHdA zmogx5jhiN8O-(ca9`$3gOvrBj3az|Bt-oKR!pzLfHm>=zBph5cLiTBdX&^m}nYUiz=%gf7KTR_Oc zRqbbE#40q3t*KyD=qA3Kj#GT{XObCfm2Q~i{EI!BodY4gDNLI!QM|2VbfdScygZ+m z#*d|;?3aWFUb!349K}>rQVzYk6k%8U%kvXTQKK1Y?$t%84=%l2ilEavn7cJ1-i^TA z-FW96PIHi?TdmsxkZr{pWi;(gnZ=TjkZAX52@yBY&;YMmCCE@iAP_?E?)K|VBG-G2 z7uu;DFQM4G(Jo1ALpd=C5=!8yRV$U|*w`eEYof){zWrhI&SN>YKE#DMorvT-0{ zE6car`sqAISWqmFq6EPEj<&vsVjbh2+NP3(h$VdaB6R*e`Jve@0Qoq&oF^NGQso%4 z%nIq%y4_(Y1t5cgfdRN`KtA*SKg`}_)rix_;}?c%iT<441ZQe&%KpmFtKpH89GBPqp} z-F{sn09Bmt)lC)APX^B^cL&?rp6*TPh!6Qh3}hCqF}Ocz*NBWr6Y0ScJAbSjB8+kF zJiC;yRsd8d?veJpZ4+uDO$%6h9E_;bB}bAzvd*k~(gRSMqTJe1*veiiwNJxIg7>(v z$%|Aaqa4KjVy=%6D1F}23%;Ud!dm6+BtzVE9(H^>IyWxyrVNb zJUzuq`*v3cXjxfVMend9z@Y_LNuO&!1x&Ytk87GzwfTd&=p({uJR_SI!#O`acNaTI z8m~Rp;#Gb06?r1sGLRhKCiu`goO*pnaCy&&xOnKF+k^Yf`|3Q|qehYw{!*(oZ~0cG z8esknbNC$kKzz%62^I`}sAb%4LBe=f>;d?iGZyqk%T0PnN-?srpJo79Z&Z-SdBq_$ zHFeU9J~;~2)|QsYeIROtrYq{Q{U&x{eqLfwpUuzbuqRnb{K?C(H1Kla1VJyxjl0N2 zH0h%WME&OjY*)U}8_bNU7Fqt5t5VZn<2{dVj)6IMtQq#vCn?KCAc?LC?=@V zAE1ao4H}04GSGW5l^}6HWHS)Lb6Xumncp0^O1Rwe$PB@+g{v1+c`eRC zZv2Zg2eI|dT@mKW$3!c~=r1?HV=>^KQrLZHGn0}j$;TgWS?_&C@%me(-NNzCLS&2> zL7=QczG=Wdh?{rU=)_!&=-F0)%Wi5WCnGz)YjaM**4|%fXXusvv80^aRKR}mZDHX9 zBAo4sNPfdMaH#|STh%XPeeV(_j-30e6yfw7m8n$^U z`M8P#@eA$QgL=k!Thux}bSQ^|rY~1{@%^@g$87*NE*%NAN!o1AZr<5!PO2>*(lsiRt0t zAqd{Oiwbd~ck7ii$HW7Lc7Vxw&b`Qpz=y&P<+&A6d$K%(ZbsnAfdA+aK^?F{<*Y$i}tuF;g zjh-_~CYGaj-DtQEe`*mmQUceUmM1kSz2sEIM)}A$J60qs=*#Q6WLI~Gw47NH0-hTjk&*LRUJgBXgkcPwfw7Xsfic$aMZ{33tS+wS;O;mDNx zOJl2DK#I5}%v`V*^H==8mvP+lSoq0fh9=6&%3!TgQ&TfOF#(VlP!;bo!nDk7eR>yc z0ybt(V#?v5v6g7J+?{^q@MCe&RF?CKN*QuaI>zj^FDHS7aUu#!)@WR?3^;B zSw1utP{3=Ci;U6H(dy@1Sud`@wD8m9j|h@2m^=->IFO&Qqn$v-#`{~;H{L|bi1Bu1 zfxkR_DW7I~Yu(e+WA-+c8)&vWTzEuNDWjyere$EYTL|YV6%`eXNMLypEs!MsJ%Us1 z^~c6>KA$?*@TR=Fz$Usj8?Lom-wMO^G}x7*K{`Zp(d1L1Ws+}pej9$$yVu+zE=vYQ zRvJPuCvCnZ=EBUaFy$ETc{7`?d`Q1CUYVa@C`D(86Z`Ro^nVgAmXs(H1`cZ}{4ZFQ zeiRfo%u^6o2VC4uA|qDaRCQA|5d_j~g?D%gD83rmo`IX8A##)Wx;gqsz3^|0bEv#j zekI7K(vAX|$XSEAk|QwA$B&4N2j*Y{G=Y=nv*elvxR151U2;ODaX3{!3s^*q4Rr{3 z1N;RM2agU~KAk-@BZu*5hS!5BW6Y$R>5t3Xy|-Kw*(&{9lD000WP<60mh~zeMh3Tw z^p)zojhHXweSQLrVXUm2T(ve?((d1-h!h(K(#WuQ=f?_TJ@ztRwF*5@Cs>VYq!HA{ zL1ALNV@bvpxFF|J#uLoLVW?%OMwCHQb|W21DyM}W?cdKuh<$v23|E-B0BB-lP!&-g z_ub8TRUc}ayf@3K^nypEPOzG3wQpbAHr)q z5U+2VH}HVqSUc+Ba|^JzMuaB*oP~4SGu)g>Q?6o7C(xR9A&ZDdn1=QjF7c;&?$+#- zs8wys`FM>2arl@U{<-mmmrA^lM$~=^I%yWRg6pnb$yCnT**gg|nfr{br>=Ya@T;fD zU!w}H)GJ1#^d0V3{7)H`QyJer7H+LT+)e_FtT*4_ym9{?ke`@3RsrH|D!U7Xs-#j{ zoWjt&(^LFl;xnA9fWpGU!f+Jkvqw-mb$UJnD_^flCm-)hnXvxVciz{WN-r^rFx0rr z*}eotXIN05Z8GrbsbpA8e>Ce@fQXoFcg)8VbtTB9L192SkgRvXJ=Va$fZwP*b1PB@ zh>`-P#LeygZi-rQbuMw_kc9wzO)HZh$0DLS$0p>u>9hJb3F*)`zzw2vL)EC_60G0}jGVGyoXxo7PgQda;|XPk%wFS%t29p5$ zOC6_3`gCSnof6pgaSk-DYY+vw>f|x@Vs>_Fzj{HTc6MlU&*wQ)`gIXkokXBOF0>DL zl%TxZ<5emg1*gQbEq`)g3iaf-W%$>Uytd~cv22U`0q1izxJcaAvCI1=#bfUe^0z%# z9@QA$8hmO`os=cx8-Q~i8o0)NNim)=s$N!X!6?H52m$>ZsvBEyU32c;^cktkbcW*D zJV*2x=z?%&ZRsH8MIo;CQrRrWrC49DA4UpBN}FChy~{+6Eq7a&|H><#Cd*^x)UC7=o>lz^Z&QZlfupZ7n+2`b9iXCY}Y*f%OV2?W4|O z%F>UGjg9*kS!n@Gam0q=ymRsz9PIJtd5n`RE{={Yx|Iy=On}ut`%WPuPN%Rmv~BWq z)H;-2!)QgDr$u#g6`dHY<7Y`pwsI_7p`*Ppi@|5Anz^^E-w-LH zXmqxt z!M3vHdQVtC1D0W*H6M4Y{!;2c1tCll5{h_Tb*LZ~A!6-XRyCuhH*HgOY zsK^TqIek`8rB^6%u`kPk-)%q${XoOnoLgIy%F+(-Sn*O?684am;%{qd;tHpyEX+24%K_1qSRUBfUf2u;BbcPWUNLE-b{ ztf7%~-L+Vsp-E4^X%w4=;X|w09%+9&6M`RI&*_6fHN`+nd%oGMgh8C7CGJYY&X(nz zVfjxGvTMD4qn>olf#nybwoomp*cx@S`=}-K_DCl1M}}`nFJ$NO1p3>jbdpj3yO3JL zg`bHQMQ@cQ729}MN%14`sFD;3@NG6;kU3^h$j)*8=fN*{O7?m;>i386Y@jO%di-I> zb$Qy6lGt3e^@dL2=F@{ZSbEAu!@}vn=k%|_7oj~xdhD75QE1GoYwd-F*`e3+w0m>; zpnqP4+h)L5HQ^-~CNLRGEWnx@mQ9yENYMlz1v`8D@(SIEl<;tV5m8al@*F4sF;Z0v zLv-_ud&6xA;3m4U@J8uMG~WWhv4pmkc-+e(hY?rMB=q#SdF{EeL>|`(H?MT8FSF{9 zhGwzriHYL3BkG`oy*FEzK8uWdzu6_ozsIUGo%ws2b*F**PV|Vk zdiP;Uc?1N*e0MRCjLSSPnOC5bdb-WY=UHFhXtGS1?=_Y=Q1EYWFYv_hyZK;gB?i3) zODaQ!ESg_Kc;I$>t58lPID@HXi)g-A_~%9)hDy7e9zC260W*c4&uI75k{Fi3PQg_| zp3rt6&)9u0HQfJ${Xo9kx=1J&nt}I97aNE`pc#LBLUVe~*FnO|gScrVTlZCWb`_@^ z6+c}|nn(w9AO(U@fuO=^!9%j@J^D_vK)M>EVsqTZWJ%WtIXzRG3!N+JFfB^jar25wq{Ih}P5Y;}3vx5CqO+x-h^gQODQ{0mz zvdT z@ke=;S<20XsI7Z4Vmbx}PoTH>y=^61`&?()Q+9y7C}>7zdr<9rDM9oa>p*q&Z7_Ci zO`{p{z@mTcEFV)Cso3EZA{6}me35`WgzX(kmFG^rpG+PQOpnr4Xz`2nIIf)8S#M7w zA(T>SR0fjM5FoZ{Wl5me@NhPx#PKh$dgpO&*CYy+3%=5TOjh|+_4Rd!9+0aqBYv;O zz9N*7zYBVMK-H40NoGB^;uFh=Hhm=!3%3U&8Et=AiRgU5JMYwxbWSv;vPE6wFH!b` z46LEM5LM9JX?XKBx3#3wWg)TQ!IyizC#bV92WJZF3`4GK#wuI>lBRfq6c` zEg_ExL~Cx;1_)5lZ%4se%p6@J^Oz}j<5u%V#3ggo_~3!`(gjJ^nkIqXUHrhPz%u#q zK`o==i72pvEc%?}jS3UPuHRmFa0ZEhX1WK;Cug$aN!B&6m|823Q%WelooD29@$IDX zN9V=kQvzqEm}|z4T$0qQ6|}vWCT?r@Rl;7_T>~%r>QO93W17z}n^7xW_LS7&#rKD4Tfx7c&YVo7lkbK7yBA6m;jq34} zWTeOx2wjrW>o2yK0&7`J3`}@oGTus(s3QmQ2C z%uhI1FIJAyH{rCJV68w%K{|4*?@Ks)@Krm#&R!QXg|T%XDZ+J{lLe>ee@qu|%yvB6 z&m8l;A6Nrz-}Be(%Qer&;|oTXQJY6H;;Vb%>Mb zCelFSe_#Olr*Y#P#vvJ=RrG6uDdIYR&+SV8#5R?C~G7J;p=D<9lMXQB!Us^RRD@DOTGYrAFNzhQfSQXSY(PVY_aW;PSm2W0FA zc~#LR_2$joWOw-~`nkCR(#I}wm+s)#EK)G4%ps?I^~35Dz>{KZg1?-#l2Jzk)ph!C zrrBP-Zt|rP$(XgW>Z4Y_$GuwcmVwaX^T8ISBsO_FGUBZuG!%9!Z4RM{pWlUH!6W76 zcx^r_(sa?yV7_4o^q-$HI`7omiHqy%>Fbw!oRj({w|Yd_;?dD$9h|}Wm9Og0Xs_Y? zAN_iI~8zy1w}u4AMGdyGE*W(|as&>q@A67j*LIu@kmxZMx!e#F(!XnV8Nlg}u` zgivI%C&qBul4I96q?*lw4QW=7L*JJqk_d{ZRSi-(K(XlEI*9Im7 zF2PW$j{a(tQPJ`Ebd`YAG08TH?{+b45g%{%(*%zn{nYbsAtsJQbMkH{a^*6fbXGh7 z&_$M0w`xgVp(=~%e$NI!;&5Arf$K9d{?7dVJ98@R`ZFAYy#&@)~0!deJ2e&d(eGl;uf z4~mofAs8P;d{XHgJG-?t;!{uY7Zs@5n)Y9@=H+b$`ra3REHQMfr}g(lGCp`~?rr10 z!~DV>nWu=XYih}h7oU`^eQ9y{TT71o`>oIE2ME(I@-)MB(dcsJ!V$|VRCkP79kJFa zy%RR4x0n znctVK61;>01%m&`J}f}IfE>5p(xRR)^0*=AX$}~4C1FCGt;G$jn;0A-dzX0V8Pyd` zq%tYbH1-BPc}^ft-Ihj47pko$vd!Qr!tx{X_#>xPUgG__eNx;uC_Lr$uZoS`!Pfx< zI3*X~))nevW_ETo|q`Y-Rdq6hGc~z1~XElmCTAnO*c71kUN98#~v|QRlA*XXJ$Yib*&%5Px9wTR@Oe zACBnM>}N)0H1{0OC{h@@Af7=K-~GFqnnQfl8lagHx_P^Jr<$?cI;pt@Hv6M+@wN~b z>DsKI@vnt6c>h3v&|E72%j!a6Ow)w6eRs*y!8_y(ZPBv)qE~;`?k>?s%mv}4s@2OF zEez>E79Y+1Q07{0od?$EHc!K}rj?!r)*uN$|KDi9y9Y zuUJ@!<4m#Z*3$U|RYFei_Pd^uq89`WpRx46G3p&Ws?%qj6}PMZsqAgsbdry-!z7~{ zc}Dg@)E}O`ki0q5)l?|0x)KIX5V4~-U)0FTz2)6Nmy-NjG5_C3A1)-iQFd)uu>USX z4PF(Jh(%#Xugtl-Gs6YMqZ@1b3Nu~Zh2eEzVw42^&^$qD_lETM)>`aD61>|;GW4L@ zgmWG)A?pBZ2(xV_+mqBZzczmi9GHO{~WA6On;59GRzxbB2hn!@$cSjp{4!-sL z01xiv@X*k?Tl_}IJe?ddJ368KETx#~n)q$E9zfLkIl-Vy2XBi`&M#rCqTVJiPoa8_ zl79ZAKtSNV4`99rwWV1iZ4zP)Ba=oS}Gcl3gp*)Pc?%6$MYWU_Z+JC%fe z1C6Wefu;m+%>6`}_N=mlxU&$srL|3Z`1p#;E&lW_@xny=$^}!}TeEg_7L320dcIPV zrbeHSV{29rZ7X-n$%W$Dex>B2yO`W|;;bL%28>g?2V=C0*~&1X9Q(iT%YWkYx$?3v)Gp z_rc3&EUWi;?d2kT<61lqh3S?d37H39l|)ao1emS`t{nf;|s zd-nd!L`t@84!kE(7aq!`8M^EJOxVRtg@&Af98XXw_e^6CLi z(;Hdpm~)c26}|+7(c#r=giNjV@*vkn&B<5iN9zxH7diLTjMkG^UI|9e=2Vo%v=O}& zepol#Q2}=Bz*_WK*6DC52|IXrgH38#&^|Yof#Ar$fgu8Ptl9%lDk*K z%wt7+t2-WCG*0`L7Cclkb|H&XD;>zZH?pcRHX94Q!$2l{-&-nU5OqH9OGX@M1ZJhy zpsoii!C!myr%v%-A8!m3e@$;PG1oa^*6@>Cr?nW$JyNQW~=Al zmVVJ?YpLV1MbIubgWB8*Xr_2!*6Qw~NA25ydH`8>XkVsA&iBG9f)>oq@=o>5&-MPH znxFOwL4&H?F9`$qxbX`22Cz--@9z&?nZ(2`SjGcr=Oo6ES;T)CCm z(FD{|Ce(INPZk1Sr4EyvtvkJmN7M)%jTH zU-4{o?#`M53q>(!JIw@XvWyi-{`QT43*6jte)PXT%C@)TfahRTZ5$q$0^C>xCk5M6 z>Il7 zy4gvSF~Kl##?M1BpuGq3y8HHq5SVpH#o+>76;_>?etciQl5q3mH!;JPv;W|c6iL1jjJo#3Mz37ljmMJ3@w^!2$_>P^>C(G$jxykf^!VgkA1^) z6=pENp89$$zrbZVe7?KIxGHxlX`=Z*r*yQ^qCKqxZGt!A#f{taCa>DAD|vm)gmA3% z9C+|nZEsXlLUPquP7eHWyR#$`+DPZGZ%b)MPR~uU>!H1jb#t30wH|Wf>N?_#;mt zKxE)`;ui9_ABrRDrRiONeem3oeqQiI+tHI>%NlMpLTjo#_mHVI;JdvqE1#@1NK+!W zoH~;zpRrjUZ?c%P7UVShl@PZ9&YdfgUtodd8+A(c4zUt(a3Qz%pIoS2GN_Gp?D*i& z4#aRmtlY}$QHds_o|o!a_T2D{(OXpmBHqK#w9j`{*Rb@yx)z3e6dtT6{CV5pei54u z(}g|c>l%Mj*jnM*mrAd9@EAIln5+H{zuyaZY31$ay!Onm44^&a>)8&f7M{+qH{Xo^ z^M=VjJg1quB7=#4-@na_6r5_212L?RI6fx~!2W*8Z2LI6G#ZM)%7l9uCCo`%(Pf@JM4%h3I?N*K8f4bdL{n zOLAk^Eb<_=f2&{nBSC7+T{w)r%uD+}S#6E;?ucO8*wztXim|x+kT^jF7L1H`8t(2x z=$vNSP68M<2^aeO&vV5ymRyg6rvhd5xUpl196EgAA=pb}7xJ=!Gme$iaTO6t_5MXp zm$Gl0upe|v)9@C1H_LJTx2Grv3d~M=$os^Dk+z_n-ousAHe^BhADQhxpdOnm$kbmk z9pI1?)2C}FX}-*ODj=%U;^Qp9l_sM%Ff};TUn<;Iy3=5s$1MmvH%Chyr(2H%%2Sa# zF_CJxDe&KkGDsrzhY7tY0Q}Tx+$4C!=;_{p5voo-8|frrHWFLQ{*Xj1bpd5G24@Q8 z={>b%6&P7~ox0@^3xZ7THPoqH^l83dEr~D6USayreX(16(Bj-<-6y$m%%@vaeXV^&mr6#6VMN|kW~Ht`B{0(l7kg)TT`0@ z0}Juvl=B%#LkO%I1{W{IbM00ZSNqXzu z!cCn5mHCyK2!wTTYZi&p-86}}1qoM_IU^K2ye^)V)!%N_kRyF_vg5f`vxkJS1LZ&} zxwk}IRBXfG2WEsyH$an zto+L_cQv2$=%0A@#93A|x@8KL-N*6wD%F=}+oYpsZ-sUB8SUbrYo1n%=lNDoZIasE zsT1h3Ta7{dPI_ctz7$k!3u`&7@Bda|!iC(({5MJhFg|&8^}!}T53+1XHRBugSCedSYQ8M{UihuEz zYO!(_s)~-41a&L z+x)K6{s*=G_d#AfydtT)NAX6xn$UQ7@gi}Qcs`n(h4^^)=lAfx-5Z_>8awtE9{f>| LQ;1iJz5lpoF>~MNoPEyT``XvOjsc4D5)U7cJh*l1)g_C`?jkwSGZD>F$nfeyFe~{bxtxe92eN5C)7*wAH zXRG7`$6YE10+gW+;e;8u<4Cdfsqs}`LA%|Wfa$tnA)vd@1zG9`R?3&yw&g?j&k$2z~3LTafgO9xNlhm9PdbQ-{wLEzWXfwvGe=P z44sb!<90j64EntppX(?3na7D#wGANGpK~8@p^m7J69FIJ<$i#RRN()9GWQKc5$1a{ zLN?QQZ2shHGcFVUlWq3&3W3%;R1wAC>!;Q3fg;pu>VkTqG&4V4>xlV?q21X&f1awS z0_$G&uNi5kl+|fkaqeGiTU#$WQ5r3M8%WI^?S{GzRDQ1D0 zNfg?DMLS3vQs`sIM!{I4+?j4;+;1kw{|V;N^Y`@*m}d(Gf-pUgl~% zTFFyit5>B~`JxJltsWd)8!}04;*Hj7Hsw&i0P-d9hw`$Mxzc#2S1G{-kK!$OUX;>_}+NCpAehKU5 z3k}9lRg;+j3b7rMc!#uyaOTC(k4W0T4*_$0&!)N+5z?$3ayo|=;Jqks=~XwMKx`S` zs-)V4Qz*r+_!L1Ht})1sd;-M;Cig-urv$#UNS^bQ3p8y4X%q`{f0;!`OjQ)&(Vx~G zEw1e3zvF8CWpVtr%M^(dwOaz?dmB2MsEqrd>tms)W?>B(d>nc!vv+510Lm)!Owu`d zn4>ZYl+{$eL3<`?{O#{BUy+|DAN+Z!7@S@C$2Ry-%-n*1HrLyN`OmEWFMgh(3ECUQ z=C<-!yA1Vk*}4WXrlAZ z*FE8LSt8B{;uv>QSm7T6S1khaYlt~ ziHL))-|Ky0_1F+HbNUmBMjm$(WG69u+~I_G;Y|j(A$^Q;O0AQ5)u6k=&)`(YFf1o1|3)@qXu)%Oi1Q^6F@0yv(QP@34gDr zg~Pn{xq$l-#k0!;P-w$3V$bk|!l{x#|FZsgztA)!SM6tOkbB9XYJ!3f{i}?Lytyhm zn#UQKmJ0@IQwsU2brBVBPZ)nLS^WB1glMk|w-fsD{%K6wIz=fo;ak*Z|8CPj=_=_% z|1J|qcudCgKb|d3#kDkr~8U4CbLWD&}IB+?poXPVCvyqX;kK=D1lx1+KSCIUvwHmf0 z2rHMk?yCMTRS-fSZO`wBz=fNhe(7kmTnno{`Kvb(C!MEs*AHWP)M@& zW8&kiq$`&m1h?l~8}XI6s$P%z-5~!-ufwnmQNdS`^U30U<=Ie4`{@rlPTZP=qO`9j zbgEFK+`SCT!KI6zVBM5xws%8tkuRpWh~WeAwFl;q@35BN{_*@SiP(5-T{7?K*CF<* z3gL^c=_`iaUz5V_+sPHatPL{{d(RDzVyY^IfkD4F^ra}~H6J#D1t*9^WpYKn`|1~H zu9GnlHzLjArSjfHBd88*SV5 z6Zv-{ye_mNzaot+*Np=}$GrP_$BlK0Zs`jS zpVJW-NwTryaZ)mVi%?oevy~DAcOoK4_&Ov8$G?OI_Xk)DUe5ICx^2c>I&W>Hcy4KD z30>_%=87~g=NYiCE?c-iD#%s*q*aRI%Lww~0wF#X1U02XJnT{tvO`ZaCeVaGk;gtD zOKJ#eGXKTFtARAvOT2?k1Ud%)V7nP5SX_h)>BP3}_G=Opvt55;jWv6|V6da{G>9|a zAM6^nQ0IR1t}Bit%9sdEtHZlSMVi|tQg)%WFBaE!_3A|kO3Zv&?Hn-@-Y^X<=M&ROq4H=F{2P0v zEg*iXB}gRWAhdhMPA~gU?4=V1%_~qp8K0ez&JSS9Pn)T4nod3#7!ui}I!dO=1?a z6jv?f_0Fv%=k^1IRCZ7j)amO~)XqMhhE(IbEoMC3zT?kI^4lttx7a4B|ps?zY`YzwC>DI?5U z)Xd-S4^XL@h;2=<%@`ye>DsFVi%gH5f$~*@r5T{1!_SHDA7!~!8oAjr=d`ZgH9^8^ zPb)4a;b({iKI^k{kQ&5Hu{@p35R01<3Tmb|YdWhML7yK=vk!Q*uEd_ zcqf@K}7GA;}BGG2YAY5TFN!6T5g-$J(= z=QvkM)~PX7du1e~tM9{K^*awd4^M&TG*q5f!o*DP7!&-1C~d7ct zW^28R2_eD^v;@PUk8+d$yiBYL-2CO3!WUylqWMd-+^l7D#;>tYc zV|;n%ulJsssV-G8?u|lOI3gh9y^eFC&5Nxh)_Epw4M(AagLhwBNf9e6lVq6UkBI)k zyJ=Ig=%xrZYq-fRzUCJkgq5-sbncR(mmKR7=H|@`+DR+bx-t=4Mx@OP!9{uz%2$)C-ZefrTW z0lUe0h^8p8$xRO!7V&)N7FXs_1?g*y^8L`#jFRjjHZcq#5vtKv5OZa0=pXaZ|21o-T|wj=e{|(!&LO1>$+IL(HX6QuAQl^Ahm4zX;TZn@J`N^2OLei};wQBue0& zZ8Y$kW-mI1Ax^Fa4kq?VqUELR(!YSh9VYwyz=%1PLS-#!ZjGyKgp9PC^z^y=f+XIz zs%Ha_AYDqGPidkY!s9Rxk&?#q41a(w@i!!;s`3AqD(klcP*P-O6n= z5M@x53rlA`=QJ;MMC;HiM-veIVw1&u`S8h8m|MhBqw4c+L-X+jM|2-rU}1mWms80_ z-#n4stvz4*V13gBF%l0ekDiZOh-G=)_hopHa(qVturEeB7(lkGQ@JR{R~{AQ?W&;*3r^d!)^+JS-=mH@W{!@y zzd!TzYn}Hv#D2STsaZX-vAq#Isy%L5K3d}C-C6Q71rHx5@;*9HK)Jk!6VpuO5>B2b zTH;PG?M_}c)T-*Cg)b-m(G8jLyLZ}uv0p|2vl*-3^X;P(Zi`0r$! zT-!zH4Fvge`c&E$O5N^SLqFgl!_?rV#zbu3K^I1EV=tlY(*8c2IYX921C=!x#u}bO z1P?6+donJGN{j)nIriuiI01$A(Hd6n!en;$)A^EOuq5v9ja7l&i*iONfk_fpRGR2h zxkOf<$rQa7E8R-a6@=GvOGvglP{NFh@nrI1UkH+Lsfrjt=&j7xl?RRNX_i}egF2=BL^G;jMrDXLqX%RT*zv?0?x@~SOyH6cnraG9~ALyC~3r; z_(O&W>$wtEb)prdT5A2-^~T=e%A6$OAc07rN&fAE-_wKfD}0cQCxZ z6DTR1BS$57(BG_)vWiTF8+Y8h-xm>&thAfokBLq)qR7D<`H!(~9M8Mo83Q;nCtnbc zsZ^Q%{Z-UH(iydru?_n5l_fjOP0X|e^|U(@Do)R4?az6sN{XJ$2<2gNJ`+R zlaoXSZ_Y!TeUE7j-V7H6UBy3I`@JeC=F4o==D)d$6+IONAS3?uSnRO4v0f0HIi8DE zXY>V)i#pw&fXwAxm8BE#Jj$Jic2*=q+|Bp79qRAr1h2}~v2_=i^YGb;tNrnu>zC&i zzyscLF=1#hu_ImY#7oE{L8SuZL=9&}P_aX9yp~L-W&KIk9@RV&Z!^0*xD83btJ@N% z3lh3^QCmi(6eLlAU9P>b`}zL=P8SGhpsT&Cr~teEE9ph@B=>MB3RveGkbHMWY8RQz zT5ZQ{ie!zLRS@QL(NF%&hRHVP9z27}YW-R6LSY1}r&e_gP2aTB{&%px;mHL<5#jns zzf3}HW%f{|Z*QxuMohm{rFxjO3@+Ur5d{Xl+HEWIM6i`mUc!XV=j1}`nJ%|n z;GOmG=GKtYh7qVF4*t%V6Q{0=-LzHIAku!1pf${Aj4e{kqH;lF zpF?>f?HuKG)-NGnfBfTw!gJnDc(eXwuL<9)&&qu7Dk%Qbh%I;|4glQ@96Z5-jY_g?dNB8hBy>!YXe0|&#K&w z9);~~i5_vMh_@*=ZQtDOH;12cVqf)(;Io)>+Zf zL9&e%rf|-A*T@y7N>I@oo_9Q*QZ<$aWz`;O>K8YD!XH!BhK$tv6XZf_9ak$sG1hKt zJy~tO7yl2WNhS=&B~F*E#vrt2H8P-#Rsn0NQ=4!j5`G|jfVI4-RY*ZpN_&*H6C+6T zljq*W$|coPc;`!s#S{~#<;D!9F_66Q;)^(FaO2*uYCqPrUlc!yvX$IG>^3smG4bN- za}-5V+jFz`2i;mI7)E0{k?D>*?MPLXhu1Om!@N?U>&Tgcp72G?*t3QKIP!e6Z^m`o z+iSlrg^-*IatQEzF z5}7uM-&FbxdnUJ4lvaxP6Erkl;pEZU0)C^yukeiVSV|GQ%8_APOM#2XJF7tDz}6d4 zt(Y1X;W23@AwuM304Ze*jyb(TZj;qsWnxz6&tff>gNadfs-Q zW$KP~14)l0sl1hF22p?!hj@XQ!&OwCN`O1k{}V}ahMs?VT76Ch$KI-`&?lghWR2YN z&1P793YAswXgXgA)oEO0dDd)Ztqk>hY53xK#+Q}Y5VJ|CM7=Y~kSE5(Ir$L+)ED2S zb8lc2mA}N32M%NG62i`|OO=ONUNvV|trZ@d6pc=Olg%-D+o-0VC1+jQQz?x$E?YCp z3bB=BesJ&@=7*$eXmD9WTw90FW+y>9VfLsBQ7f`lu70@VGB_&~o|8s$oqAsXNj0|+;}%}*^5(+#I9vRbP@sgo9Qb~spekuz#bUI@efV+|RCVbp z2u>Ub;68X2P)mHm7LeW>`M=?LSU^}Nkl^Y5jNT)r9o1P9o9tKSO*mq-m^PuW>e#fC zSu^gr8$sSsuGQrqZYl-)d!8QNsiBtNnPGDP4(dWaV9eAK^*ca7sQH56aJpZ#+lW@w zU~|%&aJBTSM}eHctF2TMa`Zd~wF>MOFj+|;WA5DhibQ-P-1v*J@xGC$Nq!5re{=`m z;EOr^cAjsj`vitxU5L?`RZyv(lS`VD#gJO_2}y{WQh9tahRQZJBPls%Zm`rZMl!!^ zMz_7s{qzUI|MFLn(38uV!N%FaXlVVy$R%+l#zWvxzMN-?fyX5`PVTZ{eAfHuW>Bt> zAwBp*DR39Z`*y1P@E0U)1-HZUu3UQx9xlerXq%TD`aywT3sUik$TtnSWZye41Ky)* z3@-&LVv^`^KB;vp1&T+YXuRU28U}2Qo{>l2*Nl?d`T{*l8u@s> zG96t18t%9bFC?c`RL{k*z11E`mj-sg=b{g1Da|QhEr540LzZ5)H#VZ)%-%xX@Np`Y zU|D-U>hl#f65BZ8)4-3@@FaiZyw;b=oB$ICsxt6eX1IJ1@UeKA-|o`Ds_ewv6#RE`KB z%XOWK{ecB0!AFz?2*E!T7{pVSGfjWe^`_e55QH0B&xm;Yr78)GtpqKsBNNt_3&OD1zpa)`0jT$1!S@6USTlc(W zh7)Nf%a{h1R7Ny%ArBD>4aA8>1kFzOr|%UMC9L{sNIyE+G08(@*Rfd{3z(fISu=;a z>I(baY&EjJbw$ELLUS86*zGH_DqX|tK;Po@nwM-quusHR|C-oMs~d28V4Yz<#l$L9 z&P}-nBB&skn~~DN473ZD=L&odQV_O@TEJLoWE(gL#wJ;81$<89b0KsbCTr^-<`BRF z-(*(r8*q6j#}NBG?eqzyF5t*$Om1%LAcU`C>G|y;RGm@1E|ODZ>>jbPR3SzxUk;MX z#QK++EcG1mjLc~nOBk}68v!XHm*GnsST;keXg8?vK;Hj|y!(3%O|2_xe%u%~y81A6 zD&gV9YPf5RaoKNf^DdktnA>*nJ&}-{OBv)hwFzB}vb@UC5EsgJIL80Ryy*cM zl!cf*hHodZ>9w@JA3Q|Lm}LP+e%T1Jz$CI1)|u|~5cu~nP2bw*Jg7%VS<5vVU4B&Y zpz^voIa;8gFY1dp`?BT3^6;s-;QE_ADk#P&MkmN2_n4jYjH!C2PByg_50JWhA0 zG#~jwWynX`>qV!HGK4{CUA@DbWUe^VgIbQ$g#Zhk&X2yu^0rKSfF~?C61jdKFB)~Q z>v4^Lu)1M&3t==_{SdWAdDCB`qgZgUUIjNy68zJ?530ZcU;9-&nx7+gx@r}+hhLXH$)qNH0#R~Bknv%?K8}e!I$}%a zT0*nF-0NKBzH;AcK8G!DH(k_g5?DUy!_O_ew$7)304E~7id(lH`!GfZJ|mP6p%H~` z0<2ZN?>FTBCF9d-RH!7Wg2Yzu+mO;Nm7ZiF!QoN7olQGb| zDJ0o*4z0OCz{3zZH!PAuznHqG>p^h_Iu|>*wF5~HHgLzG=T)d zCaH7>6!AVVng~7BMh!T#|CNu!afz~!Az9~Gvs+UZUkWIVbwUTLI4Q((r={5skt&V! z>^UQ{b4+#IMXGLGLS}PsJ0_xsnF5c@`IEi7JgNPl#})J$l|u#7E~^pCxZBT@zi413 z-vv$XBJ@QaUKghap5c-awzFl}w!EdTJcxF4C%taFJ9(Wqd9J2jT~;u#rkqWNdIT7k zi05H zk%#lpgi&UP(_bGn_Yk_G8sF0TSqEHgNO4#qmTd|YX6B=+z{1n#!cO0d4_96;pB!Q@ z;!T{NU9pUwk9d>q2Wsk6pOTkMNX_YRO#cw)p&b4YGfZyO% z{{bNK?hmF67{Iv-1eK|aKSM2r0;^o6CeWGaQUc)tw$$w$e4f&xOL$qCuT1#-?o2%U zz@KM}U@bt=oFif4AKQi0-`2|0L|oub7py8zPD)`hwValef|;{s-G9vlVOQzlxvmvm z^$G`VH&rec;qaX-7nR4%gmd3FHQi&H-Q{MG7&2-h(QExIsOc0@JXh%dWWE4*9p0;a z;TMTX%T+!V>&!eN8QVe=Qr}U>Ss^|WTAF2@%;V}y!+ssdBw6WDRf?&6{0f0h2`L@J zZgXE*sRaPo8Va%H5w5XLjx6VoY`Un%f<;CV($9FXl}}T;w66Nc_*MwG(%PKuzG&za z4{LKW%a1n}DYz-RiUr}8>H`jV7$SF(kraEJ_S{U&zhr1hhWv%>+I@vDTDiCD4iZ_f zp6c;l;a$zTnKV729bD1yVnz=o@~S4+BdH;TH<9|yaD1?SeZ|@Sv#Z?GJoBLnH26Z( zPgiS~esdI?SgMC~M6TO61RRSnvA%o9X`w(|5I{78Zys>@D8~H;R=@EDxY1CfHsI(N zwJ@|Z1GerQHd|xlg<>sBDwC^;O%4ZVmh1ayTF^~>-x1~KZ}a>p_|dq?EwnKr@(|+c z!=R%Q$QsrNZdmD!tI!s5Jse$6zHF69#@+3k`)=p8eZ@TLwM&!d^!?Yt!o6L~k=+-b zp0~cbL)I%9vJo-`M0f<$$F~hN-b^)V?S@jeA$_7-NX3*Kjk~m|s~>A&K@!{JwcXM= zhvcQRu2FirK1k*KDCiN141mepy9hDXo>#(cXi;GnD@2Kr zBNOPBYlC_~WGlbg;DkTuZ5w9nT6j3j7%15fi^11@KddJ>SlFyCHtE1P5c5sacw#?} z|5^9+uLEu2!+nN?yqA|+iGaVhmRdusYPRx8;Yw%^B5vR7K=(U6Te(cAHwcE8ru&&% zsH-5rZo7pG0!Eu4#69Kky3!>Ufg}@^Y0=S2gYnqY!3emN{MYEgH=mszLe@&&Po7cx zh!+5d$$ND4X^X-M$5dBGw8j%}ow&*h3NhX^8+%qUTVwHO*1EhMJj!wV=A{FHKdCj# zOkKBL6@F2VlIAJLgny4b8b&I$J-EOf^0clIWCqO}K_+Far#*)DoO<11TYjciXQ2vb zrZxtf?SP^PhtGX}lD%u-jWKek0=n55`3&51_>!6U^pm$Y{4pqEk~_0c+?XB&nNWK@ z(~3N+(9{!xcRnDVa(%(Mwgbd=J?Y@!f!Ib^u=!ev!4#$})=N4SAjWo%jQV{>VGw@u zT7dF&L~|n6>-2>6a)_dE#%ZcXBE&;OC~Ujw(ynCbvIb*r$T^*jg?3Kk;$Z5976r7T zDF;i?pd1|Fr(J6IHdHlJ))=vozASD$s;jjZU2agj{y9jPXtfJj9dTd@IhS}j_w^lI zB-Im!AbitUQ(}qIhg>PR2)%uKfqsuXJxh+dc zT9j0;5Dq*JscH{ssIzameBZrj< z#+BeDtuNn0+6F0E0)2DOB15y=psOa{id;a5$gK1O^mww^li{E`!X#o2=^MD1!zI2+ zj-ZzeMLKsSm6Oy1J{cwsQHBLO608moo$*rp$O1=94)*X`=J^MYVX7LY@55I~?q40e z=f%ZkS|5f0$|Qh}v>_(vT67>|gLLLZgNJgaqba*BzL#vxq9=8nu#$@tcRY-P!*zaL+#c2&qLg_&!xwY8n> zDhtE00OjOE^tX)DOXYX#aW|C^JMHP1?KDw6mEj00j&Ak}DxZzOz%BVKc0oZwVd19A zN_zFeq9O`@N2rCx+FV;u8$m*iV#Xv%8)2u~^>Tn>srk#sRF#5rEVD)-<~EKRJ|lQn zWp>Y#+Q;xjtm+q2a|_hUN}5hBW^;4X8x8vbL`5?-4(}wUA;$zFX>~Wk+ZE`6rrNJ^ zq257=27o^;sGHjGbNeV>;rb44ZEXz?N9rhcEuQrDh8(LN$K96hKL2(@s=UUI!2)?R z-C)r0Z9L52htk0)baLu4jHs!kv|AZ%ZEcYD5OX@U?#|B6Fd7MQZOtWFi-{@sG9#cjcCAopf~#}l>@MQ zV`E{IDmaE!KRG#>9A*&5{+|pA0IJLz-|T6IG^PyrdvNzITPk4>-KB{vWSWYlf={uV zI1PN(klI=im|R!Mw25nNpv3HMZS{HnygihH@G7urj@&>?@0lAgU~U{RATRF;n%6Hh zxJ|na&Wyv@M7G{C3j?m?{4?=VA;(22=jr(|?MM$`wrtr-1|U43>$hmXTM9<>x!kAS zx@YiaX=%wPPD@u;&Wl%FhDilreb%Uy7|8^ji-%Ut=+uH4r^LPr4VJQ5lNuLYxBLgJ z1foq6y{_r>}$C^cMLlqQb|KE0Ex|%_m|FE?#wH9IYFur2K=W_1qUu z*450oWzUFcvUaCI@+el9!`c8R!wGuWMMge$JYShE(kU-9)6pD#R5d-w#SzjPfAH_z zMGV20H)0V2VxOP7wCY3Zq^T{h&d813wSwp*DVGW9z{EHN4$-nQBAhCCT?5N&Lf zp5>6_!nL%u`R!Nw%`mzW&BrY*@v6!lv?v^rNZk(Ns_z4_90m}@LW|&jq+|%SJ&p}_ zu`{Y=(dC-Ln`I5yys?MvmMUlnmP6bZ&(QO1xgatvrIXfv-~)IrE}OZ|X^w16*tZvI zU#euyHNVPG819ZTtwCR#yd#20jKwxRe=r>NunsP@^}O_1Nk)lB+Zr!lQR?blJaJWF z-=EVAZn4A|E-^&tR2-j3^e8_`Sl3=@|tfr|oN}^-(hmrVqwN;In9D(E|M`ysMvEMZ% zVWO49)@Okl>?kuGn!28RP%6_^YK{p{tGpsFG?;r~?gp9+N^FJnp|MBYx{({4r@5J% zulA>khDC&R?VX&QwDOp!8TFTPgO# zKRYu+!0hDc_)M?f`Nx;{;9t+(A{(-ixgs3MqK{RC@k*rhA3JoEQCFUCv|i-66ZF2# z9Ue5#YiJsIkP!WljsyWq=$Pj{9Ma~X|E9^n#zc$&_sZywnqkteWVDXE&7L}3nfyHR z+yj!m)7AEo-BshGmu3nqwLly-H8G)QU}z9x$LldETZ45_UyHPvvaMw`r_1dVSH_T% z=Jmm05gH@%^Zrj#JI071|Z78F|I`akP*ZNzsZQzeEO^yzlGfd z6I4OL@Dx65rqFd`GZTWuu$L z{M4Pr`*?mjh;SS-D@j?NqE;`F^1v*FC(K2vxa2D+|kO)%+jEy;aFj=W4^$$}9C?lfvVmJ0Uda z-cC_@Qskf+q?z~OoB>rmma2i>QS$rHL^JuLnONaq&fhOzPB6xxn$e zAlEo(d&BN%Mz=rOMr^NqIBxC%7v>R!kN+qcqLB%R8zmaT118FY+4ZSZ!T(@_zcdJx z4tc@qv9nZhVy)xJHcY%zq-ib*Ee5CBDQ3om#0#_`W*m}U2y|Boq)Q0oDJPa1kWh)< z7l|EZFnty%-tHwh?f{?&xyXR5ih54#Zi)1lMu%NTn{`p5ZMXs!A;3*J}(K?;((7&l87 zqLex2!}%r(4~^SPwXD@4X zH2$wRuOl@0q47bZZ=5uKN;Q#96xBFUByh{-4;g0@Nkm~a>o%>irRQ?7-?2?fh%u*c z*Qo~!E{Td+;H%d%EAW8e>K-07%YCR(dHS%h)*AtuaZ^fOF(HHrm_duqe3K7i0tozSV`*FygE_AZyyOhLGTf zFXJWruf{V;&{fo-TuC6$`X|13)(~@*D z>FxsU9V6Dp$RZP286^(a8YrgjIg0zrT#B!_AXIjL*LI_v)X%2g&n~HX&%6J##qbPL z7HCvNNe-F2H0;h9ELJr70v82J?}NN;mA%a{U*`NJ?$P!5LNRmIC{U z{rb@Lp>ah=QF^0qW}}M@w}2h1P*yRR@me(`{kLg&EwuxFt8<79)3lp?+2Igd`%{vm^#w4!vNib3rnzRi-5z;td-Lwa(*uB zo*RX9wmzMZsn18m(=Qd-pMP^}uMQ!xQJts9N=DKMtS}~fL(Ht4 z$sZnudW<37@ol=JnnEm&TylE2sp%>Y=?XxU!hb$-f`xSpMCyJ+Q}kd_{=9{mtXd!Rst= zov$vYV$q%nT^{05cx>a@85$JJwzhmiQ#R4>l)5uTv?!Nri6?5D#{VL9{ym>EsH`wF zh3COTXP)-NIbH?s5cq1!xlAxA;8fAVFQx8DhSJTfK!a=jTPrW7y)Wg(6(?8xzX_IZ zP8u}DU_I3OlegA}kpD~Qr_v%dz)tDc`#BSWMyAkP5oykFc?UsOXwA}Y{(;bw`s<~m zo4R>%s(?lsN-x4+CAJbG{bM(?;*UqQ{lJTmq=v+JGRF|cO_-Sb3 z-0xpk!1WW_L~tQ(WAR@idQf8(82E6UX1eVbGj(3@zI#-W2-duJA(DrqPLsyut9tTj zcfK)JlviR=I(Ip($w%Gv@zzqOBjtQ~>v*gXadqn_Po&>j?;$_8no$qDbB-eRy!j=w zLFv`7oQu3*SR`(rCo6N4CQF?9^IXT?STC8MKc3C8O?w}1a|}5Z)O$RSa-JkKf~wMk z>YvUgwIG2#Umi^T2{cHY4xq9jIIkhbnYLseN=<9+$okFHrH(O$WY>As&%IB8?2|*w zJ}SIWiKp~o81;TY5@V?BeCe)i)a;sr4l%p>yXL#D9oa)m-H z^O)VsKuJM6^@B~H4HD<+G9DPlGx4~hk(Mvmc&%1Gh+Y&z0o{ora#hKDDtv3IsO{IA zhzMe@H-kON2U%8~Wi}Z)?~GuEkvn=^vrZy(LT)uHJVD};gNlgLZ{KEtW{x#71NRr}3(&;Mq({)fn&d>w@NXytwa?G?+CYv&Fi-Sy~N3na>A**B! zkA*@Mbe3!&wge#Xth6VX*MSzzgG;_*uo=3=z5xU)Va=wnd33~vMKKTlD>x-|jmaR_- zDQI49L>J|0Z^#~e^Q~-0?rqlM;_LudfSK$Ju$XUb9OqrX__te-`^0dYCEkNq%F+U7 zytURYEF_3ls-bPC0$13xeYRQerJjlenHsChH&)8RY5QXo(JdW!hK#SaTuZ^cx_lg} zKr)uE0RL4u>&tvFS}w754C9pW*yMKR?Yq60=Ly`^@}D}=JBq5)&=dC9;5dmZg3%$*2shHTh9H_g>{)Vpy=-7h`}6WUyMoU>vzq%Oa&5A7lgwpAwKw zi^G`Wq|rybW~$R;qIiJEmg)U3Oh@cPYe&~4>{@E^XzS$2>)H@%g2Hnt?+q%z4$x7kj<@r5(^Fp6ertYPIJ=o0x z49I^lpEhJ%_OdjATUcjLT2_8$%?wEzTc8*|+eutrXAZrB6Ec8Vnhfr z!QFnRGr)C#!M32zRLAD!q`i|jX|x*HB`smTis zvEJJUdE&ENnXM$9cX2vgAh^IyYvVv70s$8>hoUAm8kZrhYc+{#Wh;@d@`F#(%<$z*UXrYI;s`TejuB10Hs7`Q(&kA=H*%D;y z8$etY$+uNXz%>>!7UIIPH^gHU3s^jT2lLy412(F)sLLQi0APgOic7~P+beW*jbOHP z*}YnyJvpO+>MHR+yTo^58ajF*iyPFI6gk~5?(v_ddHw?~(dkgHMaDpAYAkgUAW05x z*9xxr2MGV8r|Qx;4Dm-H3N0hDtAPSE7Qbv5-@8ewE#Cp5C?+X{eW#OaY9 z4ipW4*RO2P8zajzRV8%)%*^{^YP37y$W=|u^{6Iz=>e!TNriiHqpAC==cj9V-;D;_ z|C}O2aHM&}58&LKZ z?6sYL{EbqOyz`{Qt{bszM3E*%oSp1mB<=&L`e)_imozYaqgc>E1zu-tGU_wDi3HF~fQC+!th zq6_2>uuvKlnST)Bx>A^?b#J&fva!Y>gU7Wx|L!AFLXqUT7kR%{JAze6X_uo%cZ=N9 zNp9KUk5<>Dy(zTx2uIs2wb$R2*}3ZyzEP=ywh+NcQj5`g_U91S-!DS!_<3pH_?^4uYl-0IY3Lw!)po-cvr|#M=jnn|2te;x zv%z&hDoii@l6R(&!X}`I)DUC4$D{JMP|PT1q_GUSOrx;}KI#<>qCKENOK zWV+6t+vw(fGe?WR7I?2HkBY(Z?$;ceIkS)S^<}sP?=vOWSzp%UJI{jd*^%ts(pOrK ztmc&~Yk2CQ9%8|zJeSWUZUu_)NM}3xY&43el$(w$DgM43o9)gJe(+pbtMbH7S-;Bv zfj8>m3|q+=oADQI>%xN9lLL!xbQNKp!7*d8C?}S32^E>`c@`u&&;^b0PuklWj}uKs z`3;%L@nNaPC*Uk>x9OIQARzK)mrfGZME!WaM6k@E>liFn#!Z|>3Ea08spF0~?aJv_o!p19U zx+*X!U9IZoJLsVKb*C-ey3^!}U$f}jv-vcaIdVo*KTqGhdR4;`!JYhyAF3A{>t4z1 zFsItU33)bjmN_2#oxwUveBf8>t1qdx3FtfrUnslz1Qo<%E@f?nU?5n3A*u(XW=y3W?eaUn&xNrY8Gg5 zGa3ff5modrsb%j9D6%(W;-UEexrGJ@l5x3~0P>|_?bndT^hLLtld#9gPt(?>4vr9d zsm%Ky+$z9dB93(p4Wa8~amkhKVdB;GMr9PVwd+ z^QNJLATU(HTB-I8CKD!(mW*%apL2&bVhaU$n!*b9d3ztNiE>tffqo5~jh0J+2EZWs z^O{=_rkV1%khAfu)Or$NURxjU;-TbqUUC?uv)v+k2t=mm#@keUovRTAE)iuMxjFqh z+mv>bcGjNsDxIWRQX-7XJuq1jlDD|wxfcCY2X5IDV^ZCK{vGl4g3;s0+`P5$|7q;4 z1ESu#w&B4514Tt71_VVy5MfAZ1f;t|sbT1l?hq6u2Bf>YyBScFp}Si^T0pwt+oPWQ zobx{S`+P6|>BMi(+G}6yTDdoS_xWHn_qOQgNH0#_J)vbVqhqy+o#VL~(~8D54P<$H z1V$2E85}_4K5Mp$&&;-?-MvAG(df^cw5YSu?uj$O)p7o#m1qufO!!ZcdHV$6bJ&ow zrak~6q*v5fnuSFE|wvBFbJW~7fQ2zkBVbN_z8Up;O*E@Acm#XAoCVN8mHHo8dq z>V(0&H7$U`_`dPLGn;5*#2dwA<4C=#(E4i4y!0}|Ro&kb!A{-;@lqg!JzBSYILGv1 zJ5(T-Jlep9rF#+4A^Tcbbem-^DKs_ynl!ZE z0DNszE!jG$;g#J7zl#5V0p^;#^ZzZJE5QtR<8V7Gyl*a**h>@|fKO9PBduu9SC-wg zqqQp(zr!%}dhwZ17T(`oeE-cx6h=^+pE38JXcyGOg3E5M8@s{F4(kFKYQsnxtPsx? zldG{`-fv8^4BUV@ZQ{ht;U@C|Cj5t*0_wL>`}4BLCq%K1_*`5=2kUtx2f4Z|dqzWW zo5F%{f@*7}m=oN3r}ZN71A9iuA81g5 z5oqAG)rxq@sg6YPAWV~1+ecpY6zQr&8{V2y42oK;#WRzl`qO;(=&O@q5GKz?td5|CS*g4$X?q8x8YO4kPilYlevVSV?WKWOTXJWxA)`pJZxG z9yaAK;{f!-2AD+%E~uiAk&yw3(Bh?lfnX8du?tw=y*e?`a(23CW<(k@LS@=VHxA(> z{SnP_r`=cNr3>20Zmn72W*A7`I-+da;QRV*FNWLYWr0dTX!G*(%`Gkc-%Uu5;$!zLzDzWl#((tGT1pd{JX9|1gOz{=(H}1j<{+gJbw~$yZT~T91h5|mEHo=${`~k8VO#=gijLb|J6V;n~7-W=K6%;<_0G=sl zdSby8FO#_xAb{IT=nP-gkd|UWMoSSlRY)`*gysQs@CZd_N?d`GmH-_QY zQF%gjbyBbhFd0kC(Ljxij6}u6-0=WwR0G)*Pw(>b^48YYtjACOOjgSx1iO)PN6z-? zr^~%W5K3-tZWk?YHU7JEik?W{#jr3dWKi5{@-e3z)4F=O^;33ZhDGP9d06Z`KKPmC z-$2z13k%DO#S4%m*?WY9G&D4BG?Xk4p_Hor$GdkpNo!=^mG&qxEIP>s0ox17BB`yd z?eFhzY`q(QyX6viV*KFXASjMmS}lfU`(-9&Yjo{%l_GfzTRww*P{P^#){IiRd4z@t ze-H$l+!ahQh(7s!WEXO1aasso%1?)ryc9PtuKA4Rvi6e5$B}gw9U znLT%hg6XK;(gEe+htf5R`!#Ptb>DH=9VMDYzs;pG65ZNohe^F%H@JU1s-GPKa)Bg~ zBq&e`LE0zp!{H6q z8-=XHjZ}?Vq$w3^j5veqMSbLso{sz(sgCqQmOYbn>Q+IK>2CJ9%f*w|Zsz3W8FUT8 z*OpDcs!XPi+eh)l=?$UmMgL zfeGix+Qjk^qWt}LTlM@qoV=`b+bg3C*=%9Oh_FpslYErs+Ra9ivE=;dfyUb<^jRuh zyy6KGlhw=?Z%&UDWZsA%AdqwS0iOg|m!KEz5N>Xh+Aa6R?f*@~RMUG#u1RLs8kWJdUR9^=b&B~K z3zP6<%t)!{$GL!X*}4Q{qO%J>W~53u+|Y0ltRFX<=l(6^8)xh9Ey3B@kLOX_l=E`>2*Z*pglk)0oC9--@4-pPC*jw3oE<6vo46a80)77Pmm~mDLJ~k+WyG za>}|AmegehCtt*K1E@mxwV*kHgGH*>2@A4>!|zj9T|Fx5z!!^*u1Yr#D;CVdwI&#H z8w__R-1}OkW}PBIg0@4dFJg#I z=hmR~jh^no3qb!pOL~@VGcqz%R8_$t{eHEVC=0K#l9bDK>Dy;-w~fyLb-YS0kz*_J zSV|3ACxEdhbD%*Eq7>C0$%y}!m>&qUT+hzV?jsDGdg3(n)11(48B-!vxGSb3f8{}5 zd%fE+k(ATR2P7Ba-CbQ>6B84CeSP0*8`1i`KQA&1wH&I9_>!ytdbib&5g2v(CC`Hr_%#q?;0>)P2V^BnkhUB)F#fiV?ana0T573W>^pILo_-`c|Iaq#Z% z82Y@~^r;7L>FDn6?(AIq@#A}y?4QYfa`pfutQgC^jBo>p0Tg_J23-0xmMV;7MmMI@ zpx&Gb0uk}~$plcs#>PfyjQ-#*WtO<6nTDa0X+2!cbfn^ znk^R7Ea5@HnYf}y8aT(jkqi-r74nG~OeE%f{Y{{B^y`-a{3G-y zB8t5Bot>R4JcqASVez9PFV*)K(z-!5@KnIk;&}yZ^Cc`|RJ8~ej^VlzUxEA<7BbY5 z2-M>-^7N$b92y!Dc})RE%KVc>I~P)4qe)WPskPgGHW3`;1BZwC>b)gqk^1C?%&xgm2Qvp6;A)-Rfr<%ZW!ePSqr!Q3As zc-_S&d-@8FcooVr4lN7K&lSasu((L$bjtD8)$BOqS`@#NFeVTSk>hdyfynYc6nOWk zP0&sq{JnZbHhehG&P{9%?ZK~Kk%xD$#E9Etj1`W;7#*Vn59dW)7EZi=F~HSEE|bm?D{S=Re6Vu zotoJH!z+m@{J9c6nws!43cXM!>^{EvaP%b!>h$m&@sD0i!C@V?8aJp|DtMOYJ0k@n z>U?2Q-ba}EGS>{;+}z;s)TNgKz7!-E!{-2^`1||6BONn2E)ppbS>js3<=1B;OiXBq%`KDu9H)-Ef)TTLZ)GD zGXM$@AWU3b@iL{O`Z7eXg;=rM0%)75sj0tCr?A}lRso~x*HJ9rNx|JlC$(Y5lL#4t zYC$C_Q1|8sc-N<-m-VjIKhKz$M~M6*G!;q<-|l#nCR#SS1uBRqe`U@ zFmk%y&0VuZ;SI9*F{q4SV7=NDkd1l%6MK96q2b~EIwOGfZ|I&+6VX0s4kV*jzD1p) z01^Z|7@nUDkmCFIM}>pQcn6~bPF0SZdh+;<`hUUK_l}BYEl%`LU@D;UAJ#z8@3ZI> zmRS%^0cFu3gyicuB`YISke^Qwe>;mw7@qW6SY9QZ5Cj!|O}nKaKe-Zc(4H2-L;*ys z2TosnT-*~wSt7DO$oUbYmH7Dh0WYwt!9M#n27UVBcsD*WFJJ=gh|k@&t>e7XrCgZ* zBWK#_{+ty$p!Nj@wyTS3YBa*J0rM7l>yZ!_m-q3_CUGz_cv8%;BG{IC()dRw<>P&0 zc+~FYbc}f2N@{CeevA|gy}t<-O2h$p!2?^a_%^2~6f1Q5Q&aP_`)ullo1V-QTqT6k z#0LWnTr|2$SLJeYl+mKpiI)@xViV0QEdlcPe#Er~nK~xslVKQ!BpRl90Ag`u$ZvCe zJ>T+tDc5ky^(B}AcB8e1{Yz>&MW^&A8{Peci@tqt*Qt8nN}WKf0t*s-L!Q1r4zj;< zMBI6|sd>c&H90Xo<;VQ^PRsejyO^JdDlRRhOgQ?*nLmvPvSN$)6v2S$P{wT(9x?0q zFERKzIxyibSyDadM9LwZ{HpjR<*=WU`YewcdZoWHWR67PHiz_4Ji>?rRa{o4w42EX z`7}E_dvxU7Tit>ci*yI^MR}M3&bm8!V%&bWy9APq?wgcYJvqq%9%KhKt1mm z(OhvEwTV?3&I56vku6{M_V!LrTzjiMHNXz~Aeopt4QzPEzK)r7)RNa8b`dUYH2hST z#rx2J`AQjl9D$l^@xB9ZJH7xQH%A%3{hH+}I*s6EaO3(bQ11YYsJVaiTk(}RoxcGX6R^f7?=5^Ub_qz?MW zXFPR- z7)~K7EI+hE%SHL+VZ$<`03pY$8etDo0W92_;~*x)HsHbj`Nj`u6}ISIJ+NQK#@R~&xbax2FnOUu5o1A^ zJh}#pShws-6NNwcP)}20n=`-}+j$&M*tf0u_7o|4F2Yob1`)&+WhtNqSJX5#9$vYK z@HE2R=>&8F6yKW+X5;;a34#3EK_}JKoF+&)Iza5)Sorz1D~SvKj6fbBX_$PGfB#U< z{pVm0J@C|Wb8~?sP4w5x!Jvr%oZG>i$;*%c*zw+4Y+@p?I87kliK!w@3MA#U*0-_> zroauuPl0_5j*pM;?Cj*-7zC*IIAGR1fb}y%aMK8$KmXD}E9J3;+#8@_16MZdGQF9pIb*#1t|JEa4BS7@B`BxPw84V0jQbT|+}d@UsC%y)e8)ahWdT8#?Hbe*+<- z))Owqrnw3j-b>e$H8A;Qie}+!V^3~)4)UrX?5qJ$u7v&u;Nhx{5P5Dc0)e^LUe^f5 z5*Qr)<+?V05`Jd(U$THCAy>U`_nIG-gHhMPp#=Ud1EXcr>9RbC0YBlpj5J0goy+1ZE#F4N*R&D=DyVI_Bp272YAl#iLRG zGt@}^j;)3|xwdX_iu@q7%dC`GSgEnc?}6J7R{i#1Gac$`N;jm~#IBg$Vu-24I?GvE ztdJQl5M2Q5Oh6x;PrLP#YszoyVM(RM#l2?iS0AqeSQ@`?lHhv!J)1-3@=Dwtz%2G8 zbdBUMC|YIrk4>*1ptkMsQ!<9lrM?RZUVaXS?tYJ)4Tj80m&Ma}_8BSpV1^k6&}?sS zhlYj{5oJ9Th6{)~5~Z|>0N3Y#mYqgRJ!ZqcE<{={erxE(0Zv1#`-J-R$0-B&Ko?UD z^6II=$cfabu!X_Uq~Y+k4*VmX8Sba58O=zU%u>)xW2*%Ys~$j9Af%<2VI=<>aZw+B zBLEu{6x#?~D!j2yjX4kpV zHu8jFshoTadW24z0uBrjxxIr!^uQf7~#;Y0hM-=2FhdH)3xwpW^& zd3oJHq{#^RlY#uOMbwo>$dHK04oUI@PNb}~Gz{c9zTX5GCiXSe&DnYE z)KfM<1Dh%07Lu6%WTYL9#(oYcA2yK3Lr%w^I+^{&ZqDE*fY?%WbaZxh_HBb}Nr0HK z$N;w$up1CW1Mw#ak)fj*k<9WP@KdA|_8pQoH$2~oQ z=wyMF`RM}4Ffc%CqiY~QHEJWn!^2ZpE`8Fi=? zfetZ0W-lfP6Nw&_h1bol7k>-_`T9XH`%~j>5h?F_SU3W(*($k->yUt`gW?%p!KV-2 z%83i3DpYPEv!4P6Yr-Cjn~e*h1cM-N(P79c!oa~{nEZOeGhE1BFoGClr*+{bmwTg3 zfTuq&pu{S374m5b461x9L1!kF|82G4mis{yY>@!+>B_G}9NkJe@V=#}MkXeBUVnpV z--CoHSb`biKApSbU^XW*Gvr!m(MkSn~ zlH_ zWOj^~M0IZ#5mI_5TRSL{#LCXxTP;G6~5`vT&h zDdc(&em>G5*`BJoK9gzkAp`!*qKbY_1?^1|`<8g$cwA^`Hw%!pfomzSd0iJ57dRZ= zZNm)M8syV8_6!p+aWa*)-$b}RW%V8ympl3@%Q(P=h3npGaoQJRw?KP2#iFK??q^uN zQJY|7k;+fI$V<99z(b0Nh`_i&0@p^O{OE)blPj>4{MjDi%<_iG&CUQe>AWekfZ|e# zihy)c_?^{dD2qypmL~lN^xZ)I?D_Ter<5UB0#slFG}eRLW&^3L)F@Xz-;o-5=pfqb zT>Yp|SfUcvOKs8&ZB|+EranR+&`TfdrBK_7G|JUZ?`GQCR1~MXa;B*u-%Ijwb9;bam=clH!T73KEw-bbYj%<_uQ|`%OC8F-M%TJ;xI6 zheTaE1BJNvfy76m5)=7ffAc&rJy9Bg&gg>dhiDu<#8ci2`M6d^rs41#ijdp_MZGhi zeI9>~a62z&@Idyo@_VGCc0kN!I7Nzxs9O~b;0@v`)%f_ea39B_+0t*p{EqXT?%Pf+ zfwTd8w5###XnxyUWD+sRZ&f!Y-{^D7?G(m63lwezlM_b|HP4nw><>#MnMu9 z4{Q>9taLFGFj^qza+sQ)PKADW(KE&qEa~4v9@?GfPh?L#Hlj~6K8jJA&kio2BwRD8 zl=tC6DM~x@TC8U!hL5BezAE9Ta6XhwE$I<;ir%ze*Ceq+S;u`ctHKLwMK5vV1;w^7 zkU6$xVY6q*{IoOFcX83IB5bGyMhN}pB2G#Wh$J*MT+)RkQR~3l3b+l2EDo1OH49yi z@X4JdTFy(lc=z|u8uU(S_)DCdZ)gW`Y_9oftMB6q-I|u0eGnP49112j%;N+;yfWuV ze%YQjYyX(z;iW~6nT5KDf9C8>}#yCoj^hNTs}1`u4b89h zA#xl=Fodeha(=C)^I2DPVdvz}4)gO(eiRg^gTCq}r* zM9@HXM;8sugSY@d`Mg!FUW0e@zCO^zBdrHRclD4zbnm3nybmG$FsmP?|6JZRz=K+TNmcugbi8c2gXz$kPb2hHdvZt#ui2cP`>Cp#+gh+*?Xn^ z=1Kh-W$R6dz++%CMED)I6BE@=&QPW2VE#p+e}iFt(SxDy6&{6q-9@i3Gkyo&&{Ei( z99Rj$M84mSK!QN-3!Bc~EXfVvXu11#cAjO;>)bVr*jp8{Xw znCC<;Kuuj38w=tG6xHE{dBK&YB+%-lh=1bQ(VHrIwP~qkXg!nv^zqPT2*t0mCBTn% zpAQUVW@cV(dUUWErgHwSHh z&zy=`Fw1>xI1<*u|JK&5mMjj{oDa}bk}GkO&CPUZzp3lfB9Q#| zO&w)IHaUWJC4OOv?q)q|QBgzf4c*T)R#8E6?lm*gkz&7RGVW>hUn*7?avdQ;?_6x} zdv1oqh8>4|GenVY4;>qd)ckvWeY3PLLyaWaaiRDFZm5RO5=~jQ8off}e+{y0#XI|R z)yJcf#T zf5~G`E~V0K|F+Tcv))2vaGxWuZrC2w8IO2PeB-9JTFy7L{+744R)sQ|)W)-Nc)B*R zQ2;y%jNn$>f zz17dFpgy6)eA85nQL%2HY)kT9ex&3>=`=7ErLO&Tc@Q$96Gyu2FhJwn1W7Q_ibev0&|(y23yfNCj%KD{Ziw>NWmx7N&1zniZOD_sDYYs6L3!(hY1_0l8Io1 zu21f!{9pSIJjopJNm_n+Vx?qFY>3Y5-*EXa42wH&KyAAP&xvgucy3C1pJAO}ch8OV zI%vwbd&c+F_nSrckcQZsTW`|(TSz5unsTh_=Z_TM=`lezFK!>cf4cRep7%uPAr0Qu zxRkk@aV$7E4@f1eINsE?cqA#E7pyqv)EMR(R+ubq&$RdTk54MTVtKXgTAPrA29EAS zWkDG68jauctFHiX&tO10m@YXgU=P13>FraX#IIwhH%5wS03q*9B1soABQ?|mWo);N zFez_@*A(zS(j;i9Q%{9qw8@g#5DHS@V9+X1-3{$^Paz8Hp}GjU1ws!G?q=WdYfUlX z_c;BA$5Bb{>R`Sxdz~L;dz5LSp3k|XkbL?7_;^#ld%erta2v|?{A7}&;7s#DdEQXg z?(E*7qJ=1ZXb_=V%MmOL+lF3f(|#Au<&xu6l<}fYwp(f`1PgNI{ev^et;e{ViOOxc zamW20N5{G6N1tQ0rw+eWz8fgfNF9=t$+$M8I`>SeVxzV>jTskIamB!PG?Q zz5nZ%`6r*A6i%OR_;*h_+qoUhwR$Wejwdb8MDq`8H)IDr2HDYC$E$QIa7xuh263XC4y~QuCHPKJd{f3}>5V(slaR2fR9mvqr^+7^xgX}13U2gg z4PR$pkgs-u6SP$lsTT;*jtjLLFEOqnO1+zQ9*m9emcr!sIv&}!LLhH3mia}_TfGvZ zvF>)p_0y(Gck7u$?stA(lgG;*_ZZKucWER{pyrW0dEKdp%WBvAp+b7XCr7j~dYle~ z3O;Jfw|>+;nN&S+hGz^tZ+B%89lc-{P_3|Ujr`inw&2^&Z4DmNar-YVXzFoKI7H`f z@N9osl&wF`FFX~!xT!+-udpU8}@xl#ctz! zVZE-#ENvEkC)x%$k~30UopEq@+XW-boh&E+lV=4byCpEZadCunrk}?J$i^cqH@rrm zZA?rUQi0J)uyb`Mvr}U>(qyifQ2;pHODf2 zptDv@j{4cWaqseY?XD)!Q`-2`g?#e0fzWVY7OU#5wtxpP`p{h~mfWa*e%nzZn<%8k zBYh}*Z?LT0o&pLV{_;Gu?H)ILSH4Og0%`Q^LywGh-^NWjFE&0ottXJ-j7$FFQlV|2O32zRR<-V8U8tn^?CZOc=~it*32W@f-2 zbelIp&`ZCNr`z@vx%w)z^%kJX-=i{-(T}eUb5uCIlww*7JtEHa3nR#Qs^w18J$LDz z8Qfrc`1s1ZI;FY6>L9IhiP(1}-W`Txm1j6P_N-X|0Q8Dr5*sITg$ewJXZvR-p{5?Y z?+Ui34_ikq&(uyUrxYAl5VvD;{a-EN8qbGwx=J3WPtK(7$BE&`RKGunJhzVM?5}<_ zLUfA4h0QR71l~?LOqH+U>;TOoJE^94-7R(i%RGQ+o>5LiRcg=0AnXx+eq}8j+)c+L zXsX>ERIsSs^!(nfp>a#tK~G}@+40y>g_D`l`a76ONlE-dp3F$3 z(;lil(=v$vaAj>0XL!)d`LWs1iav+CeBN||GsSY-%1GV22=gDsu+FE>eO`;rdAr>D zlk%kwgeo}>g%QXCB3Y^>Z$v)R*i_#7evd~B()nYXW2JPmex> z(e!JKU4>`c;8^4|)DEA$$|wGDaF|ZmDtBu@K`;{3n?0LkU+6O|OsuinOl6$TE6df& z312Xfrk$8TS%{|8;2Y%y-fC$RM<6YGZA#dJ1|}R!14kz;x*z^9@FL6Yh^LvY<=EhA zjz9*py9^{8HkaAx9j^Y=Sh;R(&)2d{svsMw#_z^w+G#`5UsS_S0n3)+aCGD24nh`B z>qX@VZ3By>uEcJTQ1ZSd^}}xqA_Gc{_@u;v+#XpNmgLmlTPfBc!tL4 zmBEKYu`2GVBSY`!Pdsru3S!+8UwJ@TUJfQ#0|RIV?z^p@EcJV+_#c_H4$H(>yKVMO zNmdtRHLRp-7@LoF@I5xXMx2~O@L@lIIi8FXL1b>L(qhS5qEM#EL6{$Y1U(FG<5^tV zG4?|ChL&U`Y~c;0Q-FIQ>&!ygsRuOU-wXv%hVUuw%hNH=3kl0s?=lVFeeQ@(A_=s-0@vL@~{Up zwcq62>{Pzmqz@kI{pX=Q9-yCvkWzYkQS)ZOb5lY6H>$|g>Ci&MvH z-&1$X*%{RX3-Se>^oPQ9@sN8sy-nlgSZFc+G=+@|AyER-Dodorrut)6m$TzHZ{O%C zl`2|hdY>bDNXhyE0E-d7JnnB?z=8Iwik1o)XhYlXIFe$2PE8J%lVYFVE8Q?7$Kn0a zD`&)@-umTwZsH8z^l##YVTxklO%+Ld_|X1ETb~k`KciF8@9n`PDKOkEdeD7rTVcR- z$4NR+mU`^#eMOs)APv<0#j%)v+1NJO*bDNp8mTd+!e^Gf%C%ftFc@l1~ z<=%N4iyky^Q_;l^DmRl1<;1b&?*z*zjrz>SJ=~+`4LYw!{(dFnl zd~e(N^O5E1^Rj}@GAr-SrK)8Uw~|57nZA5Ih-h7v#m>z{Xv@Cr@akG6KK})q`4)5d z7!E7>$NAF_oi;l|$+lh$lqQLSDZg;)FJsIyChK&;YE>QOOl$T;lOHa9ZrHhGX%Zi}?W?>enp9{Tgj{AuhRc@)@(Ynw zOl7Sa1ya)dn=Mr!jVB*l@>81fv1bIhZ8ywIe94l^b$zt?x&G{&&)R%X%++1hiYq;O zGxq6n>INKcOWI9hKd9y=m5Y5e9+d;`Kq(9F?kLVeY159b(~k8Q?Z}eu4keKZ2esIu?NeS z`j0>ZQ;D46egduvuBSOORAVgq}CVs;Nz6T z#@G+Vh){MUqm=r2*hAB9Ggm%0b?!VTIkHB*DN40Ft(eZOH6Rrd<>Jx$G(t4v`QpZK zWhECHeV2RhjKY;>sXpls44J|UT-{GMk%kF1#ToYu0__YY)kZddW;Eux7vxOSt!Zhj zX0~`}*;K+7ZfhKKp}o1Tlg=g`(bZ8C>cDSmVcCS0&#+dM8CoT{_l1 z#S-r1WoJnvbz5jrcjss%Fo3+=0-trc^ zPtv*;%VuLS#4kqG$-}_5TgEc~Het*oL+|3Ncf!XDq)DB%Mh#SZnzima8VLJ>0e8{P zmQSy)4h?V}iI2t(IxP8Xb8zDeoxK@2pRaN|&QfL|lQ-jCleJ;&k!Mi3-2=5xPYf(MuuSh=XV30XiRPC5>OeSZ7uaQXi$VQq19Uhn8L{|vYxqslfcH$D z^wW1yXWhlai@AqVZW40c@0kUpCBmsy3->j9CDchXR9?N}y`HBFm_TKxTfvoIOkjyo zA9$whBC1m}uMaMgM9TekoovUWnhOfdrlu#3^l}GmB~eQBot=4?l10xxrQei##o?y8 z6f0gk(0tb$J}M`UxTm^uitScfI$``^*1%vu(0N}+SMiiRdTi%uISgNWRGyh9WI<}+@QHqY**ypPk)j}W>3%Z7caqbJ#N z2{yJzte??K%R-8>hdA|zujW6jvZ4jDa=G|(h`ArR1#bNj(i%Ns(n?1(dr&vDM1=}k zIzm!WZ@nNE?yhCk%B`4ec9*eOeW zGvMnPJM;YB_3>Mbtx8OJVJ3&cQBNwr3sI!in>W6 zG`Dh9b0#nG;&2WVyFo9TnVWLi)kqiZ+hf78zHSIvzMq6!@(MtWu>Xo?9LZF<>TYPj zW=b?ZRtD1?lgq_GYB0*q9AGFm7+S z`9Y?A($Afx+;eZ|EZs_x1w7v4Z5`&%@5C`^^T+b84Qi_y*MTShm z0+Gr8PobW_iO=F|bE#bcfwfjQg46q3&t%IpsoN89pPegQRfhElE1#0{KMebP?3=X~ zX(yt?stO`Ue`^uVeJEUH#D5c)4AJke#LMJ9wOOM~(7$OEh4XkwG@-M5XUzIja~g#b z{lCegc}IA6A%Fd5ha$(&K;vukf^qcS3SDO-e(be^sFb(Y9TRF!?+Kxd8KH0$7gNdZ z&}AG~BVNI9z}Ub{w?CY&za7nUJT>26*_`OQySMJWYVsTv#;%y~Rm!W)`&;XG$KndB z%j&X{U5@4BXnol`FUbm(-kWd5m(`OnT$QllQ*qj<9Qx(daU6NA&}7RtQ_}Z$jBu>- z^g5fhk-bvZjjRJhg}5KPMMk&;ujcTTj9#QB6zQ*(vJPK(e znN~P$VLSH283?2d7d^K!cg9N#U)%b?y*H}L0-wtHX&Y`-pS3UU1P1lrLpVN)zGe79 z$0b2%omWUy0dS7(HKZ{K@_kb|dtK<}@te^JFAI3gkC&n=kJ$~x{$on+*VdFcdDyJ_ z=PUFx>?-8jo<}TY>#3Z38eQZOI%)D=I`&(ZnvJM2H+q!M>V;j~5t46`c1j2B`m9ah z+}Sjvs{oiZlLq zJZ_+hxEkDu$cN4(JD3IR&?8Q+Mew^XV4>z8Pxs1Xm#Ao14rEjl(2*8(37EP!*5(Rw zX{XYdM1*p^ogy;BCD8&u`98EiK5X1%UW3qawZN~)GWU7QI9j~CUdm(;TEJs$uRycE zUe?|tp+&$fj~dOlt9Z@LU0KYbVI$v}5JE{c;dl6@z(sRiA=;2G?cn~^{|KpT%4z=V z`tq6!blibM3sswZPiEq!B7Hpnm)SPpyWMAB@I=8vzP5a7(YM)G{ZJ{0ym-&)?wG8j zgYq+pg6@%_^E87Jm~=D)3(J?0zZP4tSE{ODVUsM*nNokq@|9=&q)Rf?maETN+SCEo zr>NOpOrH?&5~f-aKRFi7@Wj5ZOfuH8C!GIDnH{gSMR}J8ebfGj-_h7OEuoXdggE}g zq3YQEN)CQEb%w0SA@%|(x^dhcC{(e%W^{;+J>xKb4`EN-;5FMuoj5Kd#3*EMHErVk z!@`Kn)mHh14Xu@#lvCUk&0vB4IJ$~i;UsO(MHEz%)gw$VJXC}^z+BFg&qk_7gbgf{1nPfVjVdBvT0=s zZn7o~;?Zj4l9ddijadl=ZTr5_Z9PAMrrDGyqC&0LI%tn0kW`Pm?Ny+P_rLzU$d!UL zwxlq;u8E!3j}A+a;9;~%Zx~tIb(gfi`#V(8HN$tttW}-}WyuYkD1^Uvw7`w=2DtKa zZSixcb<@p7g~6EWeKa^I;T574uM?+;SiW@Hv3ghrXqma;J^+>0-^AV^t+JzOb|Aow zWb`Ff%zk(m0|iNG6M>}i4Cm}Fk8e^N1D~Y~wni!DEkzog)rajJfHbCNyGjCu2k;N{ zdt-bI(d*zoCY&E1t?<0~OU8ypupY3+frXr`8Hy?tcx069Iop&am}Zn@8>+{UO39e9 zphB4xqd!iJ>tC;QYi~55GbQBa-;&|R%SRo{|8c|rG8K|Jr!ObolJX`%y?vB^d+7gs z>3f}*wEffU%Hgdi&YL@>5xtz$?PRt< zjF0F45YsaC=PT~%!)-a3Uy+r^i|-M+I8o1E93x6N3W);MYeh;u-?1QXXDj~|XMApz zGb8e({~;07s=1!7R&T|7`&;A^rqLzciy99?aTml2|7Q>|Vl*Ibvu4k%tt0FE_nT=` z8P<&XcbRufY{{Y%vpFWS1GUN1wpbz_n@rL7H;0DLg`U=YG`V<6gQB>UItV3T5xJ2hIwwTA*zkhiDXCFD(=UF7mW z3DYNq=b<=|TYkVY9*$+RR5EIfxjY^w*i{8IeAhhY=0~Y;mR^MxYhh^UMr9QD(Uz=IEVQw}(>A1V@qw&njMmnFBeRUm~tzYxM1N%joeEC~Se+n{WJjL^eqK(Gt$Z7f4NFV+qY@1{#(Z<&J4U&uvUTx| zn<3^MS%$PFvD+6QMh@P0tEXNP8`D=rP=k{zx=~D*M8$sD9yZQMA1dY6xgy_&E{v z9g`9Jz5QVn(9}#nr~A52SH_4<4~_N1n*Oo=OMB=6U#(Q58od=S1Q~OiQ7=KL*WW8+ zeyKn#h=b{v{C`pK|Mh6xoJJerRheZ+o14|KEPbYQ{(6J%AFKRQ2`e9qfV+2tMg(D+ zzXg2oZ~8O=R|i=43f9!VykgYS4EhaH{&9AA*cV3kpC;Dxo_)`)bRd7JdVM9mD4Lmw zO?_n;C~?l>qf)9t>ouXVan*II>8h9UYbk-L+(@*eRC6kGf8Hj~U@SXM_TC^z?zD3q zxMm4+Bl-WP>&BBL(c&!;`!vmx9?Y*^sXum6$|)ewJw_WZMWn{-WK>hSAjh6-W% zF*PACJ+xF2G?UW*d&4lgYj20xK3f{zSGNO3P*jqL( zT~CI7cLFWMklJnPgG=8E9y zJ<_Mn9b+OgJ=PLOgdnrIU9WivT1vJ3;};r!IPVYLrkUn)*go4^$YjjDyjy}oMjWM^ zp~ay4dI5gf5%X&|pp-W{yB}qwho|n*yL=gmdi#&#dH%MYaIb&>|7q@JWABbvck`s| z<7~p%5}uFMTanCrKFJSHu{&S>-&ERFxVatA;D}VnCi4JybhM>Qt^?(RW?1oz;<-Q8~|d+)h> zX70>6FZY25daZwXeO2{URq$sSF%(36#1}7KpnMYlDF5Qc%Tm}M8}JqEm*wO)XL0F1mBP%ub5dm6D*JF@~DT}KN9tQF0K`af2GVJiO4x1&wwpV===6<$+9UiT|7qXXsC08KJ$yAJw^sexx^p<)rc~cHHq+q2+{BIdr(kDa^1{KaWJF9*?m~o(AtSiu5vX{1m?ni=ijsUvAk_0I)<95=-YuNNJ z0UtOW)ZaMC3Pow!-zYw~;7G=PmkzElSyaG1cr0S3^{g+-3om*tvtX+IAP`>AFjquZ z{yisU-2U2~+J7UiekI^%Jdsy%fZPem#!UV5vCaHsl9;g)anu+;Q?m^exVC2bS-*WSoA(^ zqbw?@FHU5bFk-}BQDr|{6eXpUPGuLLJRh)3YE*ZiYt?mW4OTR!+o$}DUp{|7Enzz& zgCX`s^>LT4uQTI-V^+=XYnX+CHyx|#YzNybF~ogfoOOluJfWVc)i#FxMZXx&>^CbV z*nNQfWN1|j;y~9xz#G`;O0{X}p2sX@-ESElgXJ>f@YrVt7v==M;}x(OSdpe*Su~YE zKt56~?Xwcra_@r|ILaPPGp1!H8#o=tGWhKd#M|2(Qsaxw#ZQh(UytsM({n4RYk5DN zVY@3W?S8cDqk$^_`=nzIiRu^5BiV52ZjGl3u}C!?W84bBx@qHL^Wgqoorn)8XA7SP z!Mu|7is=~FF(D)5R}o4d?-5zDPNr0qqtiBu@jUCGosKD6QUh^5$vi$-x$$}+frlh< zmtfsyb_Z@`y(^3J3`u8tvJKN zb0be5ik5fxKC}p3{aG9`uWyVqo%yUqgQoX7OtEZ<=pn(fv2spv$jZK++azsKW+oTjXYq7#n|f&Dv{tjmPh{I2+N3jKYT$|qit=1gbzBgrH_+VK2x zJ=!69RuK*Mb|_6jJvNN5yir2Y0nz+s^&@-?#+OY51%o7U7*Cz#-mF0gGn=K8L3SGx zzBG8uZWC>8p9spih0q=OoQksj>4Kr)j<%qfdLa#UQTJZ!o!OLNc7(F~izCYI+6$UH zg~gx6)P{I?({UXtXGt`dPK`ySVROB)QzICzDRzzl@lqAq^1@r%W+5+yn|VzE6McqL zdgZ4YiNth~eyW<_pdsa`=VjW_Qfk-FQ%Cp=?cOw39>`}ItxI76cJ!*UUXAA_l&;;} zvozTi5>K@1{V{|w3M5w(- zIHIEKf;B-_=L*mKkD{(a-QHk3>9=2Cw;uDlv;2Z=ZU6O*XD)mo_HVo?OoCwpG1Xn# z!II1zfr+EaEO|s?W^0ol9f!6JgySkQ<;UXY8Qsomr_~JD70xWg`C!_TOp}Aws@$*3 z$V8!7C2MVBs0WiO)AWST(Z7VqCNgR+4Gpw7EmaSTFSIh+&4|z6^P}Tk#H@JP&JfY9 zST}Y)izu z%xlKuq^rL5GT>kP?pYIUsqUPWTQL;}10 zzO%~M{*lDg?79zooEPuyT)!3%IqP#CkYPAmUdcb8<6M34ha)QL{F%?n!MO6ffMP*o zhIy5)36Ce-L{xsI=vS`+C817c-k8RS=_t2BSyJkhGuLz2xviXj;KeSzW$hI;Ce)4} ziK_7De$TT=CSOGDehx17mzBUb5X6SFF=9pnR>3{@K)fWlQ#q%{yuilPQc^_u^!sSk z$J_unG3};${Uni$cGOT}`3@`n;7Hg}_4EEP2wy12xbWtBI#tS2dhKl|7Xv+60ImoUutAvf0RZ|Tx-_fbY#+kNs7 zx>w(xF#YG_y3Fp)eWv+zd99(Nz+y=8DorDB7JmTs&GIePpyAgGS#(MlQT>6Ih6MiD zAmqKGGG!JPw@&ZR#r=7)V&a3Qvgs-DDOVe;K91DN6$IGvpGOO``7}+)-?5XCHDzJ( z?94|aU1c*PJZl|%EthtSu^^pw7u0p4sditFqxm^8(Yqf}1>Q-hr!go@eJnrNzAwE) zCGzGOPJ)A2ZIbdzvI$499@4p`2E0Q!x5GSceTVotUF;2&o&3t^mtNmOnW}FItV@r6 z;4^rvh(9OwY}_*3PCH^DYUh1*nm4H|&^L?;B588ly0}a&LcnQ0PX5V(QTjlyE)wv# zIlv;#x|SdOV!z;E!!uMd&p^7%YH=gRMY8dE=LK|aHZ&wcRxt_>%f=uyx^>M@NZxh% z0Afc)dXEzsh4gKhGDLMBbRmn%Do5Kyo1r@Xj#4U0{p%#9bt=^YI-qW9hH~ zq%usy6)5YJl1(nLWs84wB>pLc-u1nptCPUT2=dGB3;iTClBbZn@j3kV3?$EeY#g9= z8)PcTE;W_KeKV;Mfjv?~LjG}OpXf)h!nHq{xkfr_Y{ke}e6*uD*TUPEiB47xIi<+< zqC*x>%XY%_Dn?Is6!O+zzm?7ftcNdR_&Q#Nmfgao^RSO{z>wWS_^qV$a~;W z2)vcEza>R{?d|#$DbGSK#EKS|>ym^VpYUWm2?aw{!^-Rx9$E@eyO_DYLnSv~zv{RE+8Lxm+ABwNwmu&h|7@0kv0^)5#`$MIs(^ z;pb&OM3Zz(*nYi08|l-=grk;yT=M5YlqdJV)-IKjKw)LKM`=3~xj=bO7>Wcy@6!@z zQs3OVk`%P*eOA``g{xEf`Zkmf;Q;A}<%!4)hqaomqkl+P*j952y$(KjF=R5va3n}= z*!r&HdAQ-RN+;tb4<^pzRa1z0Ht;``C9_tGDUGE(5cSSY{ z%BJD_Q9pBpFLL}ywt9*22ZSK&e976*kZZmtiI(b9Z8H}0tMBO@3G z3f?Fa!#{md{*D`dykWQzurv2Vdnh`!0y6|1pvL#hr7mS<8T9;^^>i;3-2pRlCfbjk zER@ev?C+Bco5VY)5J7K~TUJ8-^z_yX7WdG0JULlxlLKl?mqsi`oKwE~>z+cvzT7!U zsXQyL`%}ydzEK^MXikSJ8G83xu3s~mmWH({0FzHzd!=CZe%q_tkRF5QFB5iqCC@uu zvss;dCRM(=oG74;sfLB*M5o&ov4_+tg#N*PuL>(3#`TYBJE0U=z4(A1GcO=as=O%w zW~BWOHeDrK!mX0|OiS+s_GXXXsvRGy)2R~r{0_cguK zp)aT@@FtrgtaL_BWbrh85U7n0JFtz-A3?IkTmPMYm0A6GW$_q%=O*U2-BZIzs}^iM zNoY|J*jtKx;_S$G@>S5Y)hfOw?-@D65JI&sZ`U$)`vR(`w^K`I{mRzf87$t|*6CnI zHSy-eJ3~W5PQlf^Z6KGt|Cw?v5R>6*KVrs!OFdIyfNl^~UgR}qv;uZ`5`^M>JcGsV zyo<<*m+oD!n=DGQ&BkF|tIf8bH!$4Wnol!b)>!d(!j3=A?@z{Usfjv|<|*1wq}>qf z)2ChzqFEW|Q+|w`J%#ubM+;G{g+q;y)!0h&Ns4PlHf2MFxn*N6e6fP)q`b4`1bfRm zQoD9!QMG|rhSyWPUw?C&{9Sq#Z0SLx86^$5>;Y)!QTZ(1h_*@Iy1g(x z$08L|KY~hFlAC|Ulj6;jUtevQ@Q3cLc;ckW6Ay`@jgypb#l3+k`rRH|&%B1o!~MSr z>z}5mh<0U1tb(`aynOr&Hkhm!?*yVW(fv|VPVx?~hJREN!#v4R|X1JVd5>TwqMRTP7k{ zZ(RMgP<~OMa(~cvMM|LZgkEx(BKOggn4Nu0e=EDESuE68+WA_iJ#y%~PQ+MJino7f zV=6&5&;F})hmk?_@ZcGSwg+K_ceuxI%YsMsF5PblBE{duPZro5)T23lel@jR19Eybq*L{diJI?-@g8vxx0&dF zEjioSbeeYsqTXR{_7V;jonBg6AITH<0GcDzKP_RE6!Fzw@-y0eTbrp2Y< zx$~3t5T`zxg;A%-q?kCaWwUh>!^OKvxCtG(rxB+b9Qa-Ue#C2_R|;lOOrmN6|PRwrl%`WohGcq$g|5yJ;XOWkoviYs=Uzv1zP z+t~&BW_RxyY!w#=yj#FYq=tWV3m&n@n)O=Yh`u4QjcF2HpCORmkW zm%ZtYx%Jn*96_D|AgT%SFB7Z}viNfQta;9{X(lsG*e&Z!&3t3T@l+h@KK@*SFIiBS zG}I(xswGmyNY0AmQo6QY4Jn`A0J5(WMFNp0@@ZaMPOf0Oev5((4u{rPRdW#NS8Oxs z{|Ik>FSp=nkh;?uZ zS>NAhb>(6XtulbLzYEf&A5|$8<`8~jsYvB8=jNeY9hcGHJo#9E{SM5Uqm;hV zl3Gm8D_i|JwJx@Y5{J0trpe;H&gSi|sVx0Fn0u^ZmcBJR;c}?$J}x#)bN13Mcp`LU zR31Opg3D_A=f7@h1e9T6SUf(ioc+O$8_`9lO22-0teH6>Qm*f`j@|LJq@x>Bq{2JCA z!c>UzGY5Mb5G(`WtUKzJ7Yr`ZjU-%0N=esQ5v^)vn;ckW%%h6SV`FLb5bW7Qccz+I zyrs7(Wlc0$u#AC1=1z6&ovL;XqR@(ZiWA#8MfSHcidG-6iifY|sv;W2%E(jzW_vQ^ zQR*skFOkwh6& z_74>pmeeasI>^GioD5j(=3Fu zt6_ST{Fv$1K5Ah>td=)RXcrpaXM+)xWHyw-!-LsKk z7B;`qaoql~L))_BZ=6r-nw#$Jyy)6^U958P{_bAOUW~@Y_-(s&22?7OsyHd|!3X>J zXWfSB!0gWsx&JtV(PyW|rGs9ZnLAE#v5L74l7S5aJPT9@>&}SNFSu?m)7` zAxFgv2c=pRq97c`Nlyp>%FRVfxre!J1OdA=!X!cm!@ z|E1Q*h6%?=FcH%Zv&y!lI55 zF_C_$4tqSpFW`>y+dd8c9J%?5`elSNTnb&A3zyt-`JAt={p>>xbdu zW4Is;t?6u!7yxOE@YM{7TC%KBaM3Uny-WEDuBB3awZsZCXj%K{EwQ$14TQod!C;nu zWA-2F^1Evb2K%V{*EozF4^h~|lRjaVDl2U%_o&`c7;!k6>YQG20y<}Aa*cX5Q15k^ z)0^T?93o8xYFwRFD^#-yBiQ9bo9Aymg+~fKHYSSTeF*qZ<%rpoGgDJ1k7{bS-cDe7 zE6tH?VXxhCryUuDeD^AyTafnH7#%8$Xo~N$u zi$*Q>`jI;#+xj8v6FRWjBy7w{)uv;2)5%ce+>w1ct_#jzS0!w78EE93K+5&BGoe-x zzq!owO+s7{J1Wv50cHztgyH(Go--b)m2%rL6CYND-|~~EdMNuxASLVS?PA;A5=FE6 zLnMNy>SSC;_RRcnie}uRX*5@4ujv0ME>rWEkjJS5a+2|4+{+KbQdAZi zVgUc>Wy+(gw3=5{29s&~p9t(mj`st5KBGiiS``(6Gp)(n@V zusPCtW^Ndx*3aa1&y-(B;kr)FD9}*GqYHtior_D)VHpvAvfx7wbLzD0@((%1RcDb( zd++TrqiA35dUOZ4ralUOd`iL@RjHnHD^4f(cOaiyg!j}z+XqkGqt_eRTRD6I)68HC z1J9efv0W3VUm^w{H7%#&n&RO4jMrvlai%ZR?1hwbKBsUF6&=(^< z8#FYH#Jt`?^52g%q&mDy2#684Y#cnr0l>FW+n<3tFcVV5{cQLU~T$Rmi36xUlAmS7mV8@G70eLvxNB%+GuJo@A( z^m&f&4vUAGbcV2!n8&`)c;p*z#cC|aR6SvV)%wP&c9VxxWBZ#>Qoya5^j%&K=G%e{ z`X}1uF;8pM!}U9wUPxSBQM7ver+(@pep*(u(u9T@@2{*fru~aTyth{qw(7;@q@67_ zsJta&kzY~!G;_4GQMBZUiw@G0#muOp^EDLNS&2G;pE|yu;!9xzwwGL++@QO)67u7_ zrtq}I64gndjsE5XU??YZ8Ygx$&Y}1pD&SiOBrk|A8mD~y^~K~BSpaAw zhdl|!*1El{smNDN7p^JfR$1ru2QlIGxZSt#t5@(^kA-XoXA3sQMSWw(!e@iTsfa5o zO3)+m`4+)Rw-s8l6^fsm9wWZ6M>uo0mp?HDB09%=(((J@bdPT(d)fk%ldAiGYNGCGt4eg zJj+klN=_$g+>>()YJ>j67QG-3@U z?j*F5NNb!bmrH`9L`0lSKEC1E$>9w`VUn+Naz4?iU+pqda2za}qm-MpsI$GwkC+j~ z3f75NbW1629$1AZIa$fEpNxp9T_;&xPrp zn!X=%I9jA5Ahz6V1)GmR$TT<;77j9zW=ahFAG{A-Fg5hA&hCUoXnp!8GD3ns(g^qT zzp}Uf<6z)}VV+BY`wJ-WN!6X5G3cqZXY4PXvJ?xlh~F8NKt=%pe1A+b5&eyr!I}~S zVZG@wba{qoCm3nV8MFL4zYFkUaiJC%n&w$s6b@KEecYFu}oy!rg{KJ{-Oq0$<&QnYTONQs#y1x<8-KiEx{R?T@>N)dol$MN3$% zABo0`a+EJ8bta>dBlU~f?HZso(4>&JKJ=NaZha(L-oqi(H4QlD3;&i*j&Bnf?KQV{ zH=!figjyqT^X)Jpx3)&ixEPr*_kioemU48)9ajgX6}-=V&HgQ_+G773$kk3~uCxOD zeEw|eyiq}QBXq9$V)2n!g48w7m*_nVRPrpPZh)=d}T) zGXnIXhfH+D{@Y#dntE=u697#Kc~EStX4Bt3(3On6A04GJN4(?hRb%_bT8Q+FnZWxs z4-aK3i=JnVkQ0Bm4}`|ydc*@VO5>F0C_Km;0tU>Sz-ke+e4QfKWF1NJhnhht>j79) zNyxqGZv?-+_$oUx8Ix5Tvu)>rE{{2Q8$U6L|9;xiZy{vcWR@2L64|U7# z#IXFYnKgkPnB)+C^_nxI`{I@!Jin$aIA{#)z=vR~O?NrJ40b3e|NC~FC}Ue*L%j6R zb3hk*XK?zea)>dkcVlZ zB3Pou+DopdzXmK4$B z!ro+am@&>KudRn<`1C2scypbs5T$cNObZ+Yo}?=1L%{Dj(Fl|8#x*=a7lXvJ3EH3Q zm%3$iL{?M>e|_#|(AAb>_c^6>EsD`R%8>TME-;~>`(WHR#af6pu|g_|OLf^y z!Dv!r!}LEpIFe>wO!D4r?HBRc%HrKG)Bo#jauVVM%8P2e)KYC%>j#} z>2(mmS^fWzI`lueMnpoOsdWsv7b)rr8;{7aG^Fb_L}x<3<1**~hV?{=1OV4SY3!jF5Ss>MP*1yyU}bFo#K!AE zjAy*DXNDK$cZD91U4{uTybFx}Hb@@?XpYTAzB++?;NL`|E z+nQgZFmRgZT$|x_@)SLJclBB?UVO>~_I{J;qPjNt*W?uu;C|WE6WJvF;T+WIXS}_3 zoBIJZrw-nBc`jL6x(=!Dz}_@}>7&li%eqV%f3`pbiOS$wz1TBhOz_Wp zA}bqKXFGUDVFFl}>885Y{Lkatz+X<)Gtcm^TQ~`jf@9~HwXa6j^|dGA!gQsMcrENA z{mOA4kTOuXv`$o@(!fX&9;{O%`}A>@|tVBRJD z`B95yq8aNDnn3;VsqAuPr(`1IG3AKNN#3Qm>pVDmnv#vM852O{lAH=(Jv>U%vd^2_ zD*DCAs*b*R6t-utj3cobq>S2Pj`cIgsi+j<^|Ew#k0C|M$ScftQL_4$O%RLm6y9OQ z@{C5f-*|bUFqd~q|G6EgSiGpzD5LhiiLpM<{P=fQql;l4gBw=0Za&@fXI@{bVf3E;9^D*E=Sj-xbJ)y@wm&Lm-S{sKSgctTNH>l$Zl8!`j#HNfYYmlKku~K&S zu)L|Lg|$A(qhq)t8Lkw@xR4)NDO*AsL+dN`ildz&QI~By!A*4c7B8e-j6n`AL~{uM zv7%J83wIM04yhvlm>20RijJqJ>6`LLESk~Pl5J@J3&+J{@UV%kw1f}d?+S-4fRS(B zl$XrHnE==xj>qY8P;qGi%GKfFf!N;7t#z!SEM0Gn@t0@l5h|*s;1?Mt`5})1LN%9= zAtM;crTkrVUtCA%*pS(K8sQuMNW3F?HQVZyo7N+i>D&4?u55sI;|TgjQ@c%e^+4+W zx0yDxb5F(6B=QPuAPaCb)|N-0@0}~YRjaV>*vPvkeCr4HsR^Set>Vn+5)E*_oKQ`j zSPB=`5Ec})u5R~tPnc@WH5)jdv&=)d%R@l*m;=9 zKOO`-LybRZ)QqK;oUT*byFAfl5a#PMIaIh`x40%^k8~zg^52NC2uDEtoc(q60jk=q;_872Tyf57xB z_;2Rt0TN8|VQHVB`&U3%&gY*UynyQdNg(@wyOiMkBaKwV59dAbBHV1L*)f~pRbd|t zwtbrOCnn@EF)`&5UQOx4h7i=6EZ1s*`ud7!A%2d00|vfwlm@;;M-6Fyn@Nl*2mR3AkYhX22=Y;V1p}wps{~X5Uj)Ze!JlyevLco5{`?5nsepd)_iMp#1h$bo`%VBMq;VUwKFy1a*edI^Alz2Ia;m}p>Q^i=#V0#dC8WUiR%6}U%V2#BupqU(G36G__RmbdU^mz`^klzEc9tV={@jG<0eWuqP ze<-cE3?)OXZEOy&!_w$d;&gRhRAVz!nBQcgOLT*@`kIL5^D51Q22aDVYw4aKY}qBS zWzPr2etbak$qWq$sPC@7S5y}A9QQzycD%HKkoI@%Sfky)m+g1y97tJ((o`aKS9ghVG#AV6T6SxQ=q(9}Y>Z^itDmx1Oc+NPoqni& z;89Om08l)s^}&cIxP4>yh+b3kc@eDk98T;JrBiNA1^ld4;-*_~R$nTfMDFa}u-*<- zfEw;^O(jE`E>`Z7DDY>7CYek<6S^Nl_6@hBMo2GjS=Asp9# zu!Y(G68FNkN`ngMdu5mLMzle7;gp6MfndaJZ@QtC-a*IPl5yBRfb z5^bbNKPm*L+10hVS2K@^KmCGJTm6%pTxxAYBR*d1=jUaEJRGIz8-r_;G|D(??mcTG zDy@%ORlwk>09oz`4JA3R2E~GiHN- z)RGC3&^Zo6qXt-Vyrqh)32GDl!o;6})JxC6i_V4U11|HN`PTfvgwoI^8~tsRvcxlC zqqX2X!%=IMSGc2lXB;;pl>9;yBV%kQ<2{FK;bS56{Eb#pRPb{H_FS@?`|A;Wq9a?F z0}(Qq)i`Z>u7Ez@@g^r+f2>Bh*KeA}YCiPTV5DrfF2j6x3GWxw5BApKFKJl6^A;CB zjn*9@jb@~7UJmMSNN~OxtT3Kh84g1{IlDSXOAJ!L=WnQt_V{3%8eeWMK6FIaRpaKM zb1~s4?Ha7zym2N@e?6s=YlLCioTtb-c^VpZvCTP?oK)IA(gP75DgCmZ0><^;HtYpV z8ph>D78Iye6yBu{`+>z~E*sY9lAWzFR@6Eg@r-%Ir@Mk_5bXIvckHl(sYytb(mzz1 zt^&wKlsYcN!iRI$c~6ai^45+vg-&K(?}exsW=T>mQsE>f<}x!LWM`en5MOj!i@bnX z1l`Rt63_4L?agbyaW1;p^VDWoki=}wPxp8x`_U)RMmm-Yl`D5wAgT-Bmr6Dz`dF?Zlu+-0c7KK+HtgQ%&(%erHMXm$Q+EWe_8s}AQ_ z5gvwj%da{YQUllWw+hI<6;pdAU<1?NJkb1}4M25z3G||U1=N$9x?kvRybmL2xPKFF zr@w^DXuW-kpgkFlv?3(1_nu|Kv@v#v`Jy1|;SQmI`3Un)>qByiXD&G!n;S? zj@4z;iXG&;`%rta%WEqiaNOz2TvEQ<9V&s90v;W3#@=8_HG!mftMU9LG-LkkR~2id z@_EK($$Xa$`}wqY=1oycd@J3p`eWchW;FKr%{3j*^wKiFIyZR#FwKQFv{6HG1k*bA z>4&<%RNw+p$cM>fZ(1SudgHJ!Y)HvF_TV2H=9Rs|I~))smeCI&bl9YtwF4;nSITni>E^B*gO zO#LL~!TyFz^!M611UK74sjhNdQ?(EF9|Ll?H19`qUF7xKk>>k>J%YOk~34tk> zmm===?6mjzca6|H3e(c7Q9~k>;C9!#$1?H5j88sXugNim?K5twulsjnWn}Sok|OBX z89$Tc%W%xhs@y}ozQ#nfXGwZ&Pg+I+Vd~{g@m&fHgd?8|!96u^KjwV2l0U_gP3j*h-aCx?S@QTIomHzMKPk-ipmc6Of8{XF&K zr6>I#rFtZ^)ip6O@pylY@JdeuCYZ%Iz$ujA=4V8u7{~e;awCEASH5sCE5Z*B=EA)q z00X-tC{3GnJ2&>S?r+UQy86i!Ufts75C76%Fk!ppbV=#P^5fhcAP`LP6+e@sx=D6G-qU%!R_ z03fKDFiugQPvrSso3{1idD6u#CGF=LB5yMupL0i`ytuaMz2z^PZY=1=e+t3aimrap z(|@`__oCZcLlO#<;ZlZLt#cUK`z1W%(l4eKc56IBU(*fSv=``raQ_b>_m-}xQR1{B z7MrN*^@BtWI7~&48IRn}Es+IPwUqFxS^LDQHBlmCS73&>4myYOC_k91?7@Q%6G}+) z0z&$!dPLcd0^|RyK;;!=KC~ydEqDhQ{jb2wC+tKOW=#Dsbp9D)nU#^Xg1?nn zm&+wIOnFLJG^Fz{K8+6f(uoVEy54YLXM;Rk{}J+s^Klu!Rg=(9Y-ylHt4aNDg)VQu z{#HpaNGsbAe+#03F>s3GPHtCigSDs%je=4CH#IH?Acvz5y1Dfs9D_W`p^U5O-%XoE zlyX2t-x=kdWQWOZeKX^YrBJF-ZhzZ(YO=7rFi?bL9IgR>;9n0dzP4%+wgfw;6vm^Dm<)y`id`?bsC_EIo|2@>fT@ifIV2g<`sA2gtm&JLbSsDqj zAQf1rbiqqrkzg0riXZW?mZ!hJPE3g1>QP;Nyh=t4${jxso%yAqo)~7!WRr~N*cP8w zyoh+tW%`$>3pxvxMiXTyudS=9ad2dDc%xyT&;$4LEk^o$yAnU)RAE?4SNR8afM6i@FBni`!(bH&=H~;E?(jh#ZY^s!$-xL@M3~#SM>-~v zbmTN-9eSO7R)0F|*#fbN)cq@u6(4H5X?v@}=#EimL?%SM#-Z-8d{7YfR1N5(cmk8c z{lpWNH?~0~!Rqe_!D(ew`3Yqc$w8CR8Xa(MkU6a4pyU4jA8+>9*n zL(&g;%)T*~GK|3Rqn3%r2b}|;+8_6#M;+IGCmu>fR&F|s)7^jt# z_rxj|@2nt!PdduBSMh5t3A-K%8E+t_YIvq~BKL{5@N$HMKY#XL003~*Xos$0eJ_gI z;g3?#$^_c2>l=!tj-TRbWZ(QPJg_6jIiPf|wJsod0f3A7gD!;#q%Leu55aY@szz1E z#LNjUMrdpHAGWI}YB;0}t)x6Wzc)ut{T_S8>+7bMlXL*2^)z(Fa<~wiC*n|)=p^4l zDZ6RlJBla2`#Eq)WO`_S!$4~=^JDE&rnmd8fg#r0@HEc&w__<;`c-;Lt=IiNo_EE~ z{_6r58sZ=C?CaaZO84_oO0?qI_a{|`^|gPzBlFchTVNb%_T9Wk;Y`e68&uO)XQaw` z>90#d&N|KS);SwR`u_694bzp66$K6(u)FxPyU-&Y=OFL84VwBO8z8eE$~Xa_MazNl z-;+yq2sHiIO7$?;XXP$Bwt2$aUeE4D-JR5!H#wA}0&IFEv}mza&tDfO;^LhwA883&sa*=XZwxciihDZ7b9R~w$vXhCx_S% z%(Ae=F1(+xiyyQg9mq&Aw8E+(Kr=+~C0=IoD*V&4Ld@QALwml#PjLWG18N0(3=u}_ zxpe&Ci`@(|iIcG27-wrnPb&1J*bjJkZNCMmO@_wNC+y~9xAQmi`EI35wrCL3zI=Ie z+5h%zRfvGQ2pxR@rECl`OJ*<3cJR9+lxVE(lWYwAh8r4ih(W~3x|KylO?}>Fi5VO4 zIKknM99Odv_vn$Kw34+hTfkid?l0r@GY&TDx6MxziJUyy(ABnDOS}H~^5;2q=SP{n zd+wnq&@@f_nO%NM2H05a;Y7oshs#j}u4uWxtie^h+r8FaAx{kazZc){j>^XmL6n`_U!|BFFrq>^3MK)k)36F9$JF{2om&dKQ9- z_-WI%24Nt{??8uF$mr|&fUHvOo}a30UDo5~#)hF`p4;Hg$Q@BywsyakX&JkCvvb9A z8&*JbsYGd3!=mp8A1MO0+2=~v;7iNQNvp%7eS%uUyf|!?Oit>eYciYaGEk}m3*(2A z7O(VZcdDyrQj@`w*c>&`hI0B(0p;)*Q+}CHSV;tyUFx!YH6r5U9nHl)`I3g4s)6f1 z^DYXUb45?t8SeYZmI~)P5qy{$p1~jhBvBsR^uzLN|JqqozMzj(t^KNKN$BK8kdvQP zE;D`D8B4_Tt$eV&NMUYn&xY~WZ+m~tj3upq^Aa85Qschw_cpTY)$)!za#>`2k@V9;5zVx)dkyL(DJ z|9*_61b?03(pt$83)ji=r`l=GG9-dJsn4{rg`AS6exnGy=^8{RwimeD$3nvYfOVNu z!+z=a4u>3jILT?vcJh1p83N0B9EYa;x1mMzkAN<&qq>jQOJCKxuEdU#wqWXuDLdVh zrwblt&9G8N`Os#&sdIN+N4y;F+19}1fuK>j`*yw74ZN$6QgffDkq zQt*S4&s+_O-ZCQ}kAE~p;C3uIhtzQxR>RZ9n zkq`k~5jsB-qcT-qKvHs3fcCA>L*fUoT!-VQ<`KDtc&cMWlqzBhNX2ruR83dZ*mI~Gi4wK3vOD$_W z4`)n$-LGTt-==Ex-r=$VZ*P{u&Q+o!b3cqfHNU>QcKh(^wDQ#uF zYx`jYRJLP8YlDF}E3X6mRrG$22`^7OMFy3sEACC8+Dm=5_Sl4If^1_Pcjmy`kBt{I z(M8%+0w~`SV&ac03=G{b;bVrNydq^mSJ(7lQ{PlKnAI zlLT;11)s;Qcd-m)Z{p9(zHSFMeFaMlHW-7Q{d?o!K&7{Dim;VPlsfz&+Ou{IoYFtkfl}7H41^q z|5|0X0pLf+uAiS!Un&r_cF!!nQyJGjRA(ONr~b9n$9b|C`qSAIm1D9?S;RHM@p7S& zkHW3IOha+P_~>H5JKlhg`8A#^x=!BwEzvyDCPz+;rc%Ow&OznL%eWhcZbJ#Tmxq@l zhU=COuZgsJ1LM5868IzyxkmVI&A8L}9x=1FzP9Oq|F$c+{+v~3U=W$Y=BOPsh>LJt zix79%VC)ONyo>;j1{>=rS7WT?bN`Y-3s=MYeZ1%P`=!sF%MzWjN^x1+nq?Qrl1S#owW`-~WFj4q19z9RUVQ*oV!OcRHXKjH z`^Z898tNZLa{hH%nTos5$8ORU-Jo*Tm4^95%J$TDY2(VDCg-D*jidebUD~Cc-cw_l zrQ2;FGD6#rdxC|rng6AN1>gLCuVBe+{D+s?3+mY(oz|GZ&kMOlAAQIo;0JMXt~v(P z;7A~PSQY*VSOCD^{tjVQs5pV^?7Du(n{P-skH^t)(eLNKt)NF0xRR^L&c8@Vu*Lek zO*3gB3cp*;z+idA2F3Vqd1W(h{r@w%l#{P9b!$^a|0MZYr05DvgH~M4xgQF1ls}LwFL34r-SL{4W%dn;1Up7zk0u`-b$E~@`E(Fw zv2s2m`r2}Hesr9Hn%B3V&;h;@eWraM4BQ}f${o!NRT88+Op_P!oB|6Xr69D`9kK?ss|y>tcF6rl5eC|$YI_4|*~6|jrX zh03>%nxzAOA7-C`byzLzyT1-Gm+L zHn&f&CXIMnWFx>{*q*LD?EgD?l&KB=%t^8LMEn0#a^>Mr?R~s7yvjbZhe7C~B)cKT zHkfK??2;u>jHRq&Z=~#5ip!;JGh~dihC;*`ZlkjAlWj!G8e!x;)P0|~+kM{WdH*|q z{N|jQ@A=I+pYLb+nj7~InIr`_8*$1N|8tu)83~y}DWsgZ8pChn=+#|sBJHwRSl!Mk z!QyFkOY+@bAJuvo2C!ik6c!?ZlU_Y$w>BVVeS80bA;O8a{3xTs9QW-AD1LNr?eUj> zzpL}{?(i`4*6m#|h8ufwQeD^(^$U3giCsBF5>^{HijE8QsRNpT5a*s#$c%et$!(rp z`86U=FO58TgoSx1W+h3h{bL^b+;GB{y%+kV#a#h~jlO=%{B2%4G-8c=lEU>EAWP`LrJ3r zJ@~?1D<8kZw(btYlC!z4oDTigrWLOYKSi1v5x%v4%BiuuWBobkAS9+<;pDK+Re?M# zY*^`PuIHbF+zO8ek(9G5T*NrDCdF2lmYSKZYsX{6<_-0T`3-}OgBEXw-}MfU zo`x(N3CHUf6qP>mgbEhrUso+y5-uyCn*ceSn-+hmkG4k$$J2mjp8waHzkptko1mEXYZmy9PfroB2-l zW61~kf=hRYL_=-g*?RxCch4(qWV8cKIPr;tk<;Y>s9Z*b%B}zM*;o3_epfO>T9l?j zF9YlkOhlM^Rre+DzD0n#LI2GcK5va`3yGW4`Dng)VBIYsy@ksf7m*!z>F$Pj>D}jU5$-H!y6aGthC`lO#Dp^8@9nmGz%9Ewxh^_rzdsUv9OnxMzylj+Ke4F07AGM?@P_*hBnp!kLf`XVng{BggNe+4^J!w=N_@Sho3^Fz(mRBus(Yg&k z%TpMyDo-2(dzE?#Yzf8gkdDQxp^v+#g->h=o&;@b(sji9``S zptuM*n4}{wV^fUh%It=aqf&ZooaQ^Z2gFxRnP&a?g+scYDXaRQW+~O7w%$(gV_i7L zmS}}Xy&X`Wn}_4XBy#RR5n6Y`MN=Kt-?8~9DKYN68Cw#ydj?a*7S0P36Q$7SF!0$3 zwRHHCKL_WCWp17`Pzk>WyFOG21L7`^dmzP3W$-2k49tQJ+LIf7SMp0=Q`m@(p z_Phhw1F+H~3@6q~uX}e_R4AT>pz|Lh1PLp?Hf;l4X8SlJ_p{Dk%*;XSnzRw?QDH4^ z2>Af8q4qMjyuCk>#(;-}QROFWqy}M5!8OwXlY0wRO>FNtbpIIeLD~=rkP4;W$9~`z zesM&U%|5KTz+6)dm?Y^2XfHmKERWKub!|2&&%^X)_MI`iRR-eJwLTzFo7N)7stkAc zV7Ka1IDA2EDanIw79+pIGl|#(Zl*;WAZU^t1=&hl&nv7WX?Tf3;{mD!PQYi6PUL=g zsCRvEmD_szUQ3zSt z*8j@fQROsX>=N;Aes6}dL1Wa{ZU^l~z~p$Farx^*$D$M*29C!2vPe?i^M3qYp8001 zrTwO6hwk2BwSg7A(77j~z=R5*7(fAf$lW>mXd16c{q-09D*Xy)gaa%;K+O%za2?bQ z)YBQjtWY)I$=8vteV#fVDU!CN)@F8SD6rMBEtcR>dqGI7(GS_4@dF7iC{-xEiJ@3r z(lhRLngRhW|-*?%91ojZw=*V z07@PHz0}wPM;u;(!QYEge+U*MchYP!L4FKSoLeIQ7jph}uj#K9a^2?okI-9i`7{{B z;=Xr3e_dP80K2nngRJI{H}jB-9}g5s5J|x7BmP}Zzeav?3$?6BfQ%(S(RoVV7l!Sl zAtPn^P0Y>tKZAeJBlcGaxsZ9u^uKb6=HGLPae|)oeQh~N&j%BZMUSc#Ogp;VdiSlF z`9*65{Iaug?QVRuKU!m}zW7cRzihn2XKwuqs(|GeP?al?86U#HL2(^VtYG);gT@A u_*XZG)q$8o_go6e`oInc#$np-{;R6Zn}I3FF$fsOdBE7W-j*NhZ009AkEGZ$P009Bz2m$fP816CnByVy>7W|@h z5LI({V{PMVVf5AkLfpv8$WGtE$dJUqmBhrs!G@cO$;Lw8%E8gn;@KN(OLS%~0tkr5 zjHXIz4u3y~cm!_a^08BS#A=oq)3bKm`^&Z>nv@7l%Ir&}T^J*Saur#9)G;ENmA8`^ zJa#+smbyNo7+$N|`O4hBo8~EsvgEtdOcgDP zrRLf*jY8O`$p!9sEI2`%uvpx0gsjDC-mSaVJCsKZB9@qB*S2SW31ed_cniDC_bCt| z4bM+?3nNGUZHv{psQDW&#<|>yX9r1za%_DnPwroZAXjc*?k#t_|-So}(@h+9By0`;5CMw%Q z#|%YPM3#azbPS1vt+378`P%0M%hL;zn=VV2ZiqT1?se^H=RZA$CgO{QCZjUYesYeE zYSS-TH|vp=dP(=lhQy8a;7H{ne8|{$&>+K(ULsmQGI-U8*8&0I10g9Q zsN|xvqYbY%J~=C(|-4OGOj28kV;0lehKJm;5i1@$I8!-nYt7dF&ta9e?E7Sfz+*v|hh{ z8~p^4@bNnV5;QodhhI{V*f$8j{`LEVShz%8(m#JggA>_;IHv#4Uug*SyaN8Y6fFm` zzwDo{LS;GlTw?v_&ao)WEkb{vf)+ITXkGR96CbX4&HeQT;a@KS`~TZRSJzc*t(OJ` zVsT%3Ud5I{{PXgesCLKnL3NC1Mleg>_q@7~{&^cAVx+#Zct*{$?Rx?^!pC%L4& zOKW*ImR7NQE`sk0Zn4I645l}Q!_v1RJbWOAT5fqakk|{(TKoe+0limgLQW24qpXaK ze{Fd+cBhY&vGImZlUpi}Gs?DRwVCL)`qxB^TSq3&GB9!Nfv9EL4NiVA$P&CyEr`2A zx5o?KSX=YkEDKCi=+HYuE#@_Y*IjP)(-+)?NQZMOhNf;=scG|CuWmyR3kmUkq(9V9 zS9f`ReSb10m%TMvqPfqQu_hitbi0x6 zo%QJxDO#W#+->IF0OwNw(9lwYvvmLh7Ks9Q0|@nyRaJS{&Ed?(#+T6_r)OqTxgE{! z?`~IjTm4{Xs%=QATavjQ>0J8;%I+?Hpguo3{PFEOqXla$K8FR|+Cqb~aGh42UE|H8 z=TEwEBsuL&Kc3vHI(S#O`kelp;&(dV9jQKn{;@^YbTWaBN zJUu+DbK0H#K*%HE?L;nV{&TXVOs7feZOL+tPza)RgTt2H@%lhj726A$NZ&L*&*Z8a z^Qpmw1ws^hBt+cj|21&<<04(}TP!<_eDx+b_S(72;|)o)7Rxyfh2y*H{dP^b$sWyU z-KO(J_tlb5pFVZ=h572^z#TG%7?+ZlyzK5N%au(LTLc@@Cohk>QM|I8!K9;CXUw^1QcnBP1rKy4(E~6 z<NZV!ditaIRaN0Y6iRDJ z1vb|s!=oCZ0EC0HqOxW(YgcBf7Cb(WFQSLlPD`HWgqY12D~K)&pWldIpY3KIY~`g# zTY+rwo~^yL_1!8F6v!3aQ8!Xq{4oh00BCrw15}V?f3aQN#kX$MZ|x~7)v6QX=pPw5Om$v-m%KiZqFSiblXbCP)N+4^Z>ENziX-g}PtEygJUKFl0G&DY8z7(hyUeNifWkdxxAa{P>rB3${TCAw$7rYZ# z$CxkIhs>7Y8gMHaf^5SzM`1rpZ0O7M-;`H?mE z)+OU?jivkTm7|+iXcW14+Z?y!_UiijA_$w+o|qUaS&hoK$fgrb{qcb)gdquVWPb~< zo&3>FVR^X?2)AAXU@QNLYBC_4ms-6-*`Q-hypWUMdwwH&LqXesgii>wZ?{ z!rnqQ^!{U2YkL+6lZp=Rwf3s(>*35=Rz+>ss+>5tgs;879|q`LT9|&{=ip9ZvettfZ$c*q* zsdh<83IFv@Wu5(on3$MQR$P31*S`PX+G6q;pqTYM;R;gD7T^Bfzm*w4fvOKk{a`K%c>jJilT={1NZu>%-TA-poUETA?_7;#-_Q^f z4b2z#^U}-+s@v5iZsBzG9i0&On;FTUU?u&HW13mYVRub%rS#K z5-;~L%C8A&qaaZqDps$Ij)@`d?CtAgJsAv#c{fgh zWsml2OjM70+;Zj8iSY4Ll9Q8v0Ub&&YRTAFUeLPrNcJ$nO8jNSA&OMoBIYFQlAQ#< z=F(sC>$++Rr}Zldi5D&h%K?Z_FH$MqU1C*OM2Q4mlW`gv8z)@Uh;j-1*EImhVwmDc zIwUePk+HK^choZWKGJ|Jkfd8D`IX{i9`~1xx3{<9uF zmvN>pjF#qE;JPG)JFNF+P3f_{dQOK2d4cQ(yFp zH_g2<)NdBu%fkKqJQwQsNJ-zF?-Ax)*PhE(NDAt&;2=`yhWVZdC$yR276W=p0Y3$=f){1!vJZd{x=pz=za zKn6ByjvC513^6y*$o0$uBMeduwSotL;-3e?o%F4xCH!OhJB^r|)Y%YM%9k$=9sRPM1LhcyXT zsD&X<(ycZf!<;m*w1h_B_q-BKgSkp)HI^C6b==*tcns-&fAQvV)$FW>-`)OvPxR8p zY_)@pR<+p&$L%j-A~J8Dt|k|S$?LpekghK{V_ryjw1@%d7 z@mj$9R5xeZkX?)7C#MUOsC~IrJJP6qN8j6jpw-Hza<9(UWeW|iDLiG`vvVjuxw+iB zxnYAlGMg-ZMOUO`>(gsI^h($Vhk(H5`YdX{Mc35YIweID)1Xb>x@F;LG>2FIJzqGU zYkwLqURKxcTtY09b?|==65ZERr6hSIL(o#5N3r<+RjS9==PftUNb2%2RB6V87T4GN z{a_6t704@s7WwpqnMXQ;i3QhYDkYKeCuge7xzr=sRcA8WP_8J=XcOUrF;|(Qq~n4U zUx(vm7?=r~K!DBe(_^KLf!c8-)XuT*)_!MOvMVJXenWC3u;Y|4cv7wu1Z-MPLRQ_6Ua`|LU#ZDGg>2Gxs~?0{YG@6!7VX& zRhrV-_Jsc4{O4=}TwFE>6K93VIcg>*l>SaUT+Bh8P` zS?Vp*@4LM0!*2do=wq#6kCKVhs}B~7jgK0Z6Ldcizc}#BeF1fI_zg-SDHe02-tkS% zkUu;ma|>OP>Zsna^5*6a+I2jR-radu zgU>{sQ*J1ki%S!y=e}%u`miH-6Rh3Jy($i2GZmd4^5>iF`8tYWewv$>d&YWObdRX` zn)gvrJUv@6DfpU|ZyonK>rZ_DPVVn=gXNGI69cKhKtr<}+GCP|$1c!0?mG&FxKVn4JB)^FAF9558R}KPQww zA2Qx}8jmvrLrN?r01*F4SSy!U`3pTg=ty?^iz5dIwB_{*{bgzV{I`>ujJdA}?QXB$ zrEsEp9uLf8(dQmxGw>)y`61Xd?Je2qS;!mo@xedS4k4pXcqacIFMo<>ieCYe!YnKa z9UBz&j~|f~`uq9-Hre=}<38p?ltfMLK}6;xo-s4GMr`Qr>2$s0%+!pamQjB(u-KZ0 zLRKpWH<+Y_`7s#Xx2{C9og~eVpl4#jv^#Q7wJf)?M4r{-3qNhG=~$I!?Y*`fbSovr zn@AtQ4tVlNDIGXCBVuBvkNomjBbn%vg$1nth^mTPy-bX!w!zGx<^tmo~ z0yYNWcoRPF-Zhc-tuU%NS1y9w|AY#P+Dbbnu?Cs~3RG{r{6LjWVWyyQ zj9|P^d4axoq$aOqWd{Zan;o_=bY;Xqntw!>`!~&#vwAs)E;=~Cy?(>hm*vi?HjMh3 z(Lm7~=N%Dt0g^HXp;@#^c!fX=PyT_rRac_vq2pp+y5Rt2l@ReJ{Oy+9yK$J;;S!gB zV_31A+4(-@c63T)WMde5iSfv5Xeu+rFRog-9XtGOX|i;>;d#|wXaYiFWJs$1uev^3 zh2neQAUEaXf9B_GXq{)&WqjrY?#+@vLHF-lj~!^tPL5ykD#%eB$z_bbtnm!ofGua> zB~f6Zb9ygojw4X@{&Khqh5M+dD$7P?NsIRW&El&~ROu07sDejXcu_|Mi5h5l5bLT` zKazUJ#_Cbz?%r{~3t_P~?sXTo=bx~5hd**u{LIRr;b;Ab1r+=cDu-d+>za-!*A^Ol zZ)G9-OdlJtV&3`QG>DHFIOGqp?xr=Y17A06f^}8Rj^K2E7 zEG(GY{8+~b9DylO3d_NuIp%v^plIPSkRRnt(-Rnn{obJns;}4r^G^n^S}f8m!@yYW7t~{m^RqJSvbJ6siWy!nR?~Fnxv=`5 zAjITzYsLJGA`vh5>n68}%j0hg&7P~haZRDvvUht8Ob;&#x_F+-95!kCVm6Z;1GaAh zNjV(j-9ZGs7{>CWm|6*$Y~nLCx!7OF=FSCJCG5YC@tnJgqaD+a9fM`Rwf4C1ENV{D z?dOiIvXv7ffQsco?c7^vCgr6uR0ZI7aWjxJK0olEm{LOFKHNIled6nCyFESgqsRJy zRi*zeecrQmXZjEmYN+&OEk8E^Ul^d(v2PzSX-&`MNNd8vUQ@}w{IP-^(|feWIJ03W zllIbOyClq@nuZ8Zp)xy%A-|%h#eBN%J+eCrjx})#kZd#?gp&V zrtR4~ROmPcb-j0qnKOzi?c=Ua&2w^}CG5#q*Qps_JrS(svhQNE)R-C^q+%{VkKm{J zN>WoZS$+#rWK?FUw)Fl|i}_z5)A)r_a{Yp#I#Wz+RUSkCE6UbF1Gy%b*A0X`$y{&H z4jYV-aCljwh659{AKTN#{{A&W!QX8He$t_9dO-Fil0?ZV-wv8f!1Hm;Td@Getb*WQ z^CT)_Zt@}5Zg`LLiqcBGFI17|bnmgQ%p}KT@YOnwkC8sqnc_!|OJPAtO zBi}2H^GF*JQJ%TUU!O0PRn^uG3^0bEOMlcwZ`=NZVvb(8eEtckAH(f*Qs?2yBvOUO zU^UGg=z3ar(9;uzMHid!gl6o=OK-2)xrUkUs3sDjCKubOSXxn*dNt$tM#iT<`>#cY zOBAWoZ*Hn|y(FFN?EGa;`;#oa?^7@L8mt)reB}Ph=Y72!|Ag8LDlYOThlQH)RB6^% z?SIXaR*M(J5%N(#Z#Mx+^$W+sO=H^F@XU(WGK}>JzLx+gnZOjh1??WluM`!S`O~=A z4^5x!S_Wb1FQl|G{(zL8#+X~Ga{I4|SCto=Kiz|UcVRJ{VKq^t8sOu2ve^s`jVp5~ ztFB!5;-zb}@KqSjcYe!RW-%SF&O0>}G!F-N0Q(~cS(K)~A;+Q;YRJ(E3q6)(a9naX@n9Yu zt?2Pr5}W--M@Qd`3vk)(P$^?2Dd~}>17E)uln)BkM7o45Q?|*=wAehvQVjiofuvAP zQ3&XTV7B;QYc3%>s)Q0!YgYTi;W^VQPemsY#J)DTlW+PVOmKiOhh5>K0l=KYdeO)7 z>ZtD!61I7$yRQuD{)t+(nOOUK$KqnTXtj8ecNmvg?sAC5ZadRiEia;@$uw%M`km5V z9FlW+iwytB&KCLnu3>R7tUEr`F&EOPW=@>=Hl-=w`gA+e>z13f6Cd(Tn+|j=z3R!q zAppFq5km^BW|%Kyi<$MD(UCn4T6y&KV_Zsnd612SBOZb~Rxh%U@^xo(H}cHP43IN2 z0&i|^07+%w6(E8q);U;if}BldN(V~`fBQ!7E0#K}L5$ArH=jO#e;c?FoWuLFom~(= zo}2{)&$Ao)f59W1T>zWz?`k(UyaAXpH8szWZ>R~qx!Jz3E#N2Hj0*`TKNN>rP`BuV z=3yPD9>u3=?*imas=EaRZ=1kkIV9ce&2{69sE;2F44>GyVI$0FnQe! z6KD|}rYo118=~jBy9*7ygM;tqKivap^md2{IW=>1a#G{17jz#t7uVg9^bsf=?d^GA zouX|jWm9sOym%szpX5Lq1(p1qDigKJmXr*Rb|pvVMJfK!6t!Nvq*E95evhGM%{LWy z`^gq^Y&t(ba)ZP6I4R(>zPKI_1I0o6bCyXnY|@X)#!{t@8;uE&)umK$zGh@Zkm{0o zPaXW85h7id>P?!~{D6SE1k?_qD+-zdqa~=RXQHkF(g_{do@WtvJM-r((yKcUHhdBICg#3x0rSDt<`4zv0==nl~Du5T<59wDym#wBbM{ zAu5>Hrfa=tP43SA9Wu->Mr3=QY=ABv4`Bbjvm706a;pTtfxQz(KezP|=RX40DYAyO;H89!>+>)^xAZk5)5IHhq2 z&t&#aCBVf2s;#rJ<4MioFB0wv_a?v@0Q@);#Gq3G{{;_&(WG1j6)S;Cq2W}8QTy$+ z>KI`!L!U3+{sIreh-&5A)9EBeLky$#PX=Zq@bFzqFIf(cclS|dGOY*W?pdsI4 z^M-{@qYZv%;4lN775F(9Ku9KMn-V&_Jv!k{<>R1H@wqFF4KNFtsh^=B&IKXEeD8{bi97?KJC@Y31Rt z4^(0Dq~HS?cY-uO$0e{{{cQNjRlC9ote}}szF4*gfc>dKda-Zy_tI26x7O}w=ih_-ez(DduNikiG z$p{Ib7t7qqs^s8&-J72i_JO%#;V*@R9?#72QYPzRX;G%~rgW&pGg;4M2<|d!3f19f zB%E-N4+Q+41RQH*F$vR6lx$N|J6J&%H!vCFR|{h*;)lX&D4AGS0&+;k>@rH^3Va~I zUTHB)9f`g5uw%Ugtzo5sACv*a8&2o z9rw*+byJ?^nbgn7j~_oEE&<*uJck6tQG#GIk={HIDO*p%p1(X+ml(|+a#bJug-r|o zU{jRb<01fAS-YUe+K*mXFH$$TIr?Pyz7&ca?(C#xuuuSmkaCd<5o_-Lk8jjDKV>Dr z&f;$29;srNt;c7=^IJw;;o9^32(UnjCg=OM%VXL`s(1`pq-unEj1MP=KSoY`NuDl_ zacmmF0~%qm%5*_0ZU^ABcM$?~q$%eIHujE=2&m}_&5b!CYa^dhJUkkAb}W+Fi)xLB z5ES5f2(G>~OeM0LV>)X~y!jn7Q@(0Yhl=cgA?&13zDQcYM1g?Gdy4BFEeXrg4 zrAR2?XsWcyC4^-4HCocm*<9(8_Y!gdQwsr;wzW`5fza+{+#=rlkgk;#Y+=mK-2;=e^PMH9ONXvQS)nv9LWRDv(z4bz`$xMa5l@&ww5w%>GK=;M6 zAcrD>;Hz}LmAl(FCom+^GAvAo{+2JpYGH(Fkr&?WF>_5UlTbvXO$5ctb&h8#2I@sG z)Kd@ztr^K$E}p)(mYbR_br9+tDnse8a&|pbGiD*;su-D^OrEz|-d$iIGr%hdd>PVI zK}AdJ8?M>0{jlJ%bvGfFy@QJ~WNkhW{EG^WRBl)nlv^-<)=SO)Q*^S6K0Hn$4!c*_ zwEV8oik}Uj;V1=#@9y@aq=L{T%W2e-qA^5k{Go9P5SUS%nx ztp$P*x8N|c6u8wei)CJY*con3sYS?r;hRk#C8p3X{Zbzv^+!poywoSh4|@W1GVCwl zf+z8@z|#H=j^wgeb0ViyvQ*GKn7fv6Fxr4~b%hm~-yuA;>1JKl7k-JU4O zVBz(b`9Q)rcy6Rl%1e4}lxkGl2?@P0CF49N<|n#c7Cc+>Hhz`JtaoAK-6VTL=Mv|6 z<)HQDKv4%4{s_jf%%|RYf3rX7-8_B9^XD92^AcaWK8#CeZ6GD^V``BFXmqqLIz}Ip zcTWlYD;UBBof|3Y+m%4Y-S`yWh8HCv_|SWRxR3;K5rYJQ`6k)* z%nCacO)kgRkpf=TM!Thxx10LvRttD4O>WA21X$V)&8IWQ!bvMHw+A>=Ztkx4q!Z2r z^cNfDBw)cXkLtTQlf{mT5?rm(?=CkEyzku&W~)Ht4gx9i;HZ!ozaerL3D$11_;p$u zJ4ok~B|rI`EckCYLjJC-%!_zok)y+e*`tpa^vURU zNPyVzi_#Hb}X>&EQb zf0>}iSRcsobFHn9=92-5E&y|SvPJ8HjGPKY6XQ5K6j1*4nckrnagug6kBq13j$}8O zrh#sH;3MvIle>FUoCNgWA}Ndl9ZsSatOSqcG<<0!{Z&LFn`B6wQIMU?NCCtW1tdhL z%O6r~1qxo7tIuveU2tmy@#*IR?~(C@@p3yjS4>asFp(yB+OzQ7?Hh!dGF{`)72SCr z=QGgBCWuffu!OhQ zZ2Xk(Z0(&b)DIP7RUKG!oF>9;&U0MC;8zu3h`@LlmXiM2<;4A{u|LJ8b|3@pU*tjq z={7~GOFz&l*j*v;w_LLO*2UMbS9?W_KM8gSq3nD!=j`I8*Z<^m=Ml~CUGO#?U}*%! z-}~wT3W~szP6+?KUe=e3)zwX7>U$5ryksoSu~Tj%C)>GV0Z&<#2uMJuHwfNMUA%fU ze-^of9cLV7@7+{;#SfC~tG{)wK$7`45|Oz-KhUO*xhTLK*x4;03?$q`hm#)p1B-g| zFA6+d`|{-EMoz^>hxJ{LO8{^XIYib{bOZPf{Aw@EZx?7$!9PghxP;UggzYx$Jd8dbhVw?C*a7^5FD_Hp>5s zFdjdomuaaN!vI~OK`k}922Bb20)PPxCXoFXQizMzlS-Hxt=aSb(Y~*FI&fn!nVB8# z{(OaGYSxv;Y5xp)OOUid<7DPsjQ`DE-E+mi<#74`EZsjtf)dx)*R=p@&CZ5XNQ$dQ zAEf2rP#MM})OO%N-&tQ-fjR|Dz2pAk-PI|i0VEJ{tVV`-I=?vY(=-A>ad2XyK!q{E z4|Ym6k@@T5;$&aZU7fuoj3u?T+Gx1^imTwsWhhY+%RO%f%ae)1n2vM#Db9#Q4u5@)0y{(zlnaTF_<&jDCm zG$u9WgH$kYLe+%(g+U6YrMWdT)D>m0K=cEf)d&Ff^Yhc+BIMFu;zI7Z9gw8Za?I__ zd?LM@Zo2+CTdke3zCIwlY!8=0#P@RW*(>KauJ?B=%)s0yOyOqdE%6@3e&a(x&N3z> z>FjKEWyZ@lUETWaZa7t`jrwcD!N-Ao?kHK}lLtid(SI7lPPpsltw2hN3a)GWBm_+o~;V-lB zDDwe_674Hk7-CS!e0@VlNg2ZX6b+49_H1ze1rYQq$4HSLy=3k4Qn81!iHW43jHwtf zv!RNH<+!;l%VgeKXWO>8h;0y?ogFlo>UrwKe_+_%4o#Nm zQ;4Dej8AKR*lXeVuuQs(bIqRSTNm&!hSuqkAJSK?!RF(_d`UV=Ztj9gBl!n#RKdLI z=9?=2m6UL~g3w2Yd>&~px#qDeMK3KBsg!(-M0=IoZ3y`-LcHDf2B^#MPhgOU_sVL6 zb)d^CwQ7nm{Bs8p>*dN~BP$)J+wi#-TG zfKcTkuEtaeQDXHD)}qTtsNPUz+p@Cx;3M#Da1f>|5Y1l+p^H-dgT=|2)mtOw5nuaz z?y|Y#jl4jVU6eIIx%>I@#eYa|YolsSYFk;m{h6)I>}7y7^J=f$f}Y&=Qj51xy50c$a6I>555mx7{DCr^noswvz(HpG8V@ct7sAYeH;H$t%J1u6(1a1L;u z^{7{hxw=h4VNLwOIq0Vx@KUk(acTVNkFCqJr8g{7WCq$fVsN1agywOfYb-UD@;($5 z6^%8zrYjYltt2bAN;R#p>1N@*4u4RQesk@kh4PMoek}a0WJ$;>Afse?r=f+Kun+M# zSG*lW+F5LBT9lH-n8>F?K#(gRrFdBMv-=_=X`pbhAA5{r2r2_-`+o?`U=#)T>(iey zcaJvbXUU8S*50@$Knx zeJ|kUM;j&Ff8!_tv&07@K+r=E{n%`zDeWfY<@rt^@yh<-#G+(!a<+8F@WT?i>?US#wZoZTR7WQZgq zcCN3i{vl^5{tecmFR^%2T9*Cq8nvJm$h)0N|EqN6;{Knd3qwx&2eL$3yh=ed;kl{l z;bAE6%XuyB)VB7#NLaa0Wg_1Co^Rj!1_yK1E8X1Bib>)k!vu((&+#hXhOd+s87jGZ zQRb6UCrnIIlvcZXEi`Pkz}F~TjbDfO5WR4gFngwY}(s?oS7O+`~3bPxgv$m@5`-@05i)b zvqcuGmLE-)gvB%BudjFUd3hYI_TWh51J3zv$Z^runD~5)ci5s2hP(_GFd;_0fBk;} zk_yZY9HLXqN~L6}x}RldW>O@ZG0~R4X@*RJBv?YRpmzYk{DDSJ55CQ}4?(5cOJr-* za&~ko#Sp1BoW>Z=5FG> z?^XU!cX!R`4HXzoPnBLo>1gv~!FT@txmoy68US8CQi-=q?o|J5^}YJTbv zA&x^(ZiemfP|76$3g+q3J>J1_iD`kID0*~dU}8N|PF>M!<;P={8@1E_G>^yYo(d(&pF}9L19sjp(5% zn7%F)!cq*tJ}LsFVG7%!{{rx=(o5)Up@>Bfls#u{*_t`luJ_AiI~r~~`&#g>lr#E0 zN?+w8*S&W#h2E&eYAn1I6p?%FLBBG`0|womA_1EVu-2a%XeCe36O4w%*VjnMTXd%n zRPWxc?|sD(89GuG8524USxMuCnlPdnkPe^sn=4X<6-yV&)`SkeiULNehb2yXDbL(8 z`V!d9lDSyR-Otb5=ymA$-lFYBtW=hVu;yZg5Jsksl~ zY%$@ZNgq`~bF@N`^oecNVLY>mU@uFFmAU$fbvg+QZ_W`pTcTYv!e2fEgHXKvXABbI zVZ*JAf-sb_ZdgYJuD3v2PvvWkwLSYeHIsF5pAX;>lg>Ql>jDTcfbAQzIXV2)r>F2T z2x&2V_hSo{FUk0`hIqi91=-6b&U~_;fZq!O^VP?o_i+z+dCm66Rhc$VD0-6Y(#piv z0nkK7k2j|Zeq8-5E68Tx$nz5EVB_R8X0}vNfGX(ko!$I7H{aETpb`8Tx}omN3qf8B ztn3A#A)(=yi$^#!>Z~j_eLCRwzI!n}s8Ov2s5egiHi+T)1l3#M8AF9`}!{z#^_t!1E+58E=(Y1scWY}`es;~hv;9V_|g+AX%Sy)T&%QO*ooN-KP zZIVCh%ZN}~$mbvsqPBr%|yfFKHROSBuQZ^Pr_$w_1~F}R6m?^5@|yNvR7W% z`AvQ(FU0(P*=7^tXVz1v$mzM_x?%B`@q)w!t%8=5AK+vV-V#C?PdUX!ZHI{bt3c|(Er@bGU5-vM4iZ8@cus;v8i-Ma zhk3%X6>;?)#r$tdl2CpvgHrHPlaQm&61mzbNI zBmV%Jx9>YiWa)Z*%=La;Mc|N=mXna`@t4ih8}97FYdQyFn$4bgl!mw_Tbc; zi^Xi!vuPrP_Q2~hb=FGPV;K3fqrw(9$L=8XyRdGHE1A!XGlEdZ^zZGpV?J`7?(SN) zc1cR2NB-E_bvoJ11re!l^8)c}u-`w;(~w{`L=T1kVD`t<7~!5o;Sr46 zO?-O^`|uUd4I2^P!eC{0ZVX^TwU4w(`7l$VKz?QxI{W}MsMQI{%$Da1G zu!v5EY zvt3Q;bU!_Ty<6sN5*L){mWPg6eqDW9<{W}SO>uQ_>ZeqyK4tMEvHZ_pnB4ENVolA_ z5Y|=Q&TEzj$L9nG7vBzxmsKELNg$)lx>`w}CUBm&(LaP1)x|B@8KnZCgQxH1x!!b1 za9zetx32671Yf9uP3B9Fp*1gq)tScIP4Z`#p>uyJ7V-gZYt33KkAr3I`iIy_$Ji7H zq^Ax7jOnv%Wl#nXaIVL?-qOEU(O9PDkenUM%Zq2a2WoUZ;EI6V_@U_?zdxPwQqu;c z8_hQWK%evIw=7#+X=y$uJJuxNyJ6(1%vr4d1ZA!>*%Tc_X&!%5)Oaf&Du*`EEateVZ-z zo;#hjY+d!iBcW9(T#K-$HXf0A1w2Imvy02;ZBf9NUaQNOh&!IC96P9fEl+Z@DhPZj z>qf|aL40(Gn8)bc`3?m)$2v07c4ugc37O+zc*MNiEC&AfSErR*RHj*8s}Ev^PK#b- z4qyd-H-^7kdT{JT7K2bpgKgqir%J>!{}AY#fSYmJ8a+Gw5#vyV^P2zt19`1e39bbi z(f@g^zY^*nFC{l-*yaBNx1&J6;rrD!Qj(q%Nlip+8QuW8-Fp9Rtrf0Qlx?snwtJVv zAGYViq+Y)Wb*b(cZSbe0c=Q89wyjI2`^+HrgGqQ4S%p%NnPITmxby=9MT(Q|NKPMkS*y)2CBzJLS707- zaCCfbvhpOJ2A&I$Q-#Mx;dMW!HxMJxU7MMifoOhPT=+?x^YX$4xHH(yRjh~7uz=~; zcv?3V7z^lds09^&Bd5sM|Am}-eUBqy>r+BQpNy*lM?#bP_0K8PAmr{jB$rfvZvqRC z5{+lDsHG{)`aVrfB?+pYXSOaUuu-fG`=o1N=VlTsJUbL1Lf*$cdlHxUFT~X5+FTxb zaU3v0cv8NJ@>zdI?nDDf+I5VVk&bAwodgt4KG=-ONY_hal~nFD(Dafb4L0BN9*9PE zX1FlPv`{+nknSm|zmz)YA9x1Erd)6#`ek&Nak=DWm`gO+xt(?z0N9b0fHS6tt|nCr zj*fg_6u4UoiP>#dKV(1$Vxz(ArXnVBm!Z1CaEai6KD3qAPb9L|$_Sh_1B?!~!WlSC zGrwRSIR?A`^eVwN02<#}$n|Vz1kHG7@z!y7_L!soCI!9c$c=!)2j{Dt6;1fqD(V7~o%Ry>qw6dyF>*jdnCm z&0L0J5q?V?k>z4V6OXja1#rzatu|5I)Eojk%6sLJQQY1P*rfSofKngLC!m;%)C@G_ z`@0Ds(l^`w$WWsUHbDfS#)j0uXOn|w^G%ltEtzyczL?UdUsjB4Jv=7jeysk4KCpNcu(pX{P)0GAo$5@4$q-x5qBQ#p7;2S2KWnh??cBw%Af{ zgA#XNR$6l&cKDlR5pKh?F3$DZ*J3+;aQFDMLe_s4t$Y#HT>R`LMik~s@%a_ho zJD9fqerr6oeA(Xr8u_D`AuH2r?yscdOUBwHj3jNAbJ&8>yW87r!1EGW7SsFV+o$hP z;EW_BeSn0o5@>|L(JRBlBNQ)06cj>@p`Z@pf0N1S{|lKM^ChL#2`wxJCkib1bbDZn zk?{ohZw#)&aLH%x7%2Cajh#aS*3XdUGz|VkxFvFVdy2Uj=-^w664`Ma0*8O6!^tVB zxECfQVfj#>;~&s3X`K+Tt1Yr(8vhR>1h}Wd!XplMajszO-Xi z-ja$3#48RS2Oru+DmMKt6FeYeZA8aS#dh!@J1Z0K>nLRCPe7+pvet+ zo}g>HzaQHJLT8%iMx{8B2m?dnTri&S_m!FDU~ym-(9Na=w@L4|Nn`TGp!0FrAFxIU zwD1Qi?K0)$6yCUZMFD-df$Od*Z1Q0yUMpb++oxP+yNN4RaCI3<%ncB zZF@X(?cu$~hp#0}ZYG5J{;C_?ig54cH6Z6d6)@LYz*~-Xi~;5rbb+8{m&ozI$>xWX zea^x}!sE``NIACM)%DEqWJ^T`%WSA@GF4+D-vy;tr6^z{!{g>+b-9)J#f$0oWg;Rg z`O3Eg{f9qb1-^r0bNMe_pTqS2=sMK}b*X*k$1o;3%fP?@E}4+i^WKY#PUfJZB1M-A z%%gIW_ik+(z=nMQZ*G+Ir-*BkZ&}EUVF`c5J3uh1hxFSMD2xVbt4C%PLmE214s?r_ z)Yts{jKwA%U-4{Xl*l0XRr&pui=se}EWFcR$z->uQ_*-2F1vI+r!@D&9WvcR$rkqg7eO%{q-4o&3aovYB;{T5Gk9(%A9pA5@JdRCcjg%$h&zsJ5agHg`M~B{y)av zGN7uq2^-yjq%;TuB3%MfQqs~O-4a{rl9p~zy1PSCO1eP=1SF*!q`N!Mz4dwD=l#xi zew_cX*IIYXTyxDeGYyXK3D;KJHL?CHwvv7T<3?caIA#&1Z;mO6GK%>xVi_nIBW!g( z;c9yI*BR%a6(S+GX#_o74=R05so;RPH(d=2SU@t{C+?eIj`9IA%3B~%3MaiTH5qim z!~H(>6GVI<5PEM}%oLpAKmNI^k$?q`fGRIV$ZIy1f#uGGp1!+4z5fuXx)dF4ZGEl2 zp6$)eKwCY%89doZoDTmNzG3-dvBQI7m{A~6nyMH!{MQ9o0`z&DO$hfbztO}+%#)h_ zF%P{BJw;ooS}$TtBi-xAZ>_DjSJg5+GWk7(i9CcV!D=rqDdIg9?3`=6gzWart-hk|F5nyeSLYdiH3ql9v;J}md7#(nfTiqDte$s1uFm-FJ9?T|C# z1af?yADJXPe*Dgna?eEIKoRin>=ZYZfoQ_>_aKAV`}FbNQryg_kZCM6G_LT z*HTvr4wilR4-G)|s7({Ou1~1z?zEO7(keR1xZg~elQ4~^ac%@H(Beq2`BJa=3iS>P zUH_ygZUEaa!Vi+0Xju=NXijxb?KJwOJh9s_Vg|~n9sZtSN9bu{nqbD5qN#*t+*dsZ zZXQCQQ@FgmEdr9nm0~vcy8C2Kj-JXM3N2{!OMd|on{ysM_>~hy)O?DUzJ>)*C^6>| zcCUVvk%|wL9oGz!z2I6X|OMug0`AXAXlv@bg z#~?f*N-q>q_kTbU@+!b^7y4@$vXWJ=56_)sWbpCl-79;3w=YDGgE}Hmk}x+sj5|JA zqRltIG_?y7oXEyO4g&Z|vdq^0ep+DM>AH}SI7DI61gmJQyfLd23 z;LpSrsyqsZ9YETO2WWRpj2D$i^cdSSh04Hhw_TI8dHI8U9F`M?BV@A|D z-~h%h)jqHK)$?B6h(1KLcX$;@m6lfYjWPD~XF_M^x-ilite*xyPCnWJIqgFU8cM0? zU$2bOB~1agv3x)T@<7i$!TAU(V*Q`RTJEo=f{*dl`U|z0evwL@{(;%2HuFMAfPwTY zdsiM9zblG<1VlhUd?u|a{q=3z15-JfV30CR;I{mTwz?VUc)V5y)b|f4%x8=5#`J1HFxr53`ZSznAo-^D&aifd-Z+aBF|{HqvN$dZWUnZ}U8aG+4QeKiaPT z)B~A=zbw}=gQGCbcgQFE7o7y_&uPvonQkk~vS8fWMwp9Q^X&h%G-KhFzc}^uV)?0d zWe2-`PB`<5Gy=YTjZ|)|=Z)b&IVfvA6E*rTi6Rz|Bds4H`fjF1JoBlBM!w6jpw9@N znSlF+wqr|d9Ao|`VA!xH8{bT6UnNe)cDB+w7V@gf|jF zF4r(@)7bx`Rjim4>>z(jbEfew&pEyXh@m)G%DSf;I71TyvCSv7$u&m=oFjL4bZE%G z?f0^D#pIowRO{)T{>x%j;-EM3pks!>^o{2ntbgs@f1{X|e%Qg=Dba82E#xv>OiB*4Z?){!5^yyLm*4lsOXfgP z_oU1PZK?JI>Czi|Kvv-tzXRHYY-b6$0@Q~oVzl>0Civu_waXbyB99Ob8f##YPLuwy z9`4`(p&Xa*@8_5zNDsKN-+$BIkbb#X_Vnn#%B@Yj*EF z?~1s2=CZ=H0Rs;+JuKLV3S5Az-j66Sfu ztD)AD(8fbIVZiABEgtw^2$rV);PW)_JQ!5>-dZREP|f83yLRFKNRLZA{FH+hIPqYw zlmI3(sOWB{Pog>36F3Uk1l(a$bIM!;%@sGLGQ!^-YG*2L%jAnh!X?dl7H{j8O{^v! zR|G5B_$x7Z>v`(y%a-lHNFriv?AbowQm@~65*aD%`XI;nAGx_qaa-U9wBga55B_I$ z(v=m}7gSvI3qYJ^y&w+?;x`08DIZLU9rftyM4Bpq6Po=8+SsIw%M?AXhtW%I}r;i|+ z@B(fPolb(^)gdM#A|WkJ4ygA)p_zz;fi_6DxjNU?H@y59pzw}LYJT|`bSR)Yd(57L z^hY4$&*{x3(oN*FvInB+}N^ag}NnJ*n8(k2GUrH}PnGwGUMCG81I8F!Sb_Jng& zaSe*}^#;c4+8iumeZo375z|=)nn1sAUqK|&>Uj(KH;4B#+j(#2sla@-Gpgg>4k-4O zOJYwvVfim+@5k^d^VMADnX0$r#FY9=Yl!; zmkEL7CZJG_YyKbA9g@7n{{P=U-JmN6EI)RA?U64p$mjIjV1beoRwfAifVF?=C@N#nNQnd$tpi8)3I66NrXBDY8{V(&y{FKqC?x z=*lO57aTT@@7ehQ->0L@SMp5lf0pr6A&1W5R4op{e@88(cs~)bbQ%>%uJsu-I04$c zcKrL701?lFtStvSmjfVvk5-#O9Fc>?s|BmJ6e`D#LtK#_a#aa)w{@`ue~8juqG2WSawG6^;nfU*odGM-k|!liHV^*Gcs z0UmFU4}Ra-#G8Rm9kI<#TV;Br-|uE$$rISfZ~mzas8M4DXiKP?g!4#oCSw{zu^>Ny zY5}5m+Y&ff0y2v)@>vcMFN!KN!LJGrP2@w$X%W8$AHN5>_J5OFZG_lXuZpMYD_K;* z1&oAG0JKs*)pUPK>()#yUNH>s;Ud@(f`g2-8)S};gY`uzGPv+#0BEDAsbpuz?!TXc zV~+TQlt;oQXVH0eeZA;qt9gSy%DH6PL2)i9M)(F=a^&TgHG_fyz&hkob#H7Sf*pg2 zC5{r=JhGnP9WNQn*j0cc%70iMoBJ0g+Ea{~i#b2^;1JPK4h*_{a8#XDXe;mwCyCU* z6VF>nhRa?0{*zqbFh0+q*POecsgZ6v-{R+iIyR&kW6 z9bn$USR1-WKvDVfLB-COsOistw%8kIOAP(Oec{Fhxy2u(@ZSKs9-!(to^B7b`*H?o zpL7ORnIeHbc9IfgbRb2^d-q$IDd+&%QL6O$O@<)p6j8a^1gJiD-5A#$ zKi4{OFcyJkgdAwXa+;IWD22>C9B7g0py>vz8N1FT#NNos}Zh2tOEl!8{Gnh~wL+t_YpM1H!>CIzZO^5gBFtAsQOF zc`La2i2iTjB$0vUfPqIZf=o!=4W>a1`=`1am-OFE&!0X=K(h3wJI4P>&yc@>{HYxL zPu=_f2m(RRm!A%voy{UKG;UDA<0Iw8zwAxp2iXq^@KkcIfEA^!0`!w`3s*c2GDSZK z(Ed~w`Xgl?-pH^@#9A3qb;HP;Ld$>1n+R_vKk%W~Z$O8WzrOoLda^CHGQvLsL-00$ z`Dz^Ox+;F?fPU;n8j~X}83}6vB(J;(gs*BB^hi0<;9b?rIKSb?K_g)N%~7?|JLFqX zL^B>JhK9T11EhgK@(9`;0p>V*K%&wA9OI9c#cRMvaZt)<9a^HrVSjT0r^sVVN&G|T ze;Jn`oQS7$E6dA9CMF}rTFnA(>XAmd88hu}vCe>N89k%7&5?H2o!U?wB7W-+laI{s zA^_A~Eta0(3)q%OG(MD|QIPWj#fplcK@o_|$DA)0L1aD|kj&DpIqG;zua^Ou6LDGX zpne=03Id&>*a7n$3yc?e8(9#}e=E!W$E^{||Nn7o%O#{*NQE{I^rm547LuVdn8yEO z{q!+iUDxmW`*gm0M3LaGiFbg8aOqFcin!QJSc2^L2_}~DJOzeTXYotCiOV{2cdZ2s zt&c?(0>lcW!lXnmug1Vp07z!aW6Z$u%AG3^y%)U*cRXZI{l6NE{_e>kKo5dmwE&Dn z(c)6&<%nrD1!s85yoDi@tIOMvlK@Q>CSTB60H%^?b_C>t{;w>5&L^*K>&Cs=M~CKM zWS$3TC#UnTugHhD+!Uaw=?u7e<6j7O1c~xieXiTkK^Xa~uFhD}?)2PCtKlO9lWH6> z4o$m-+TSGyWC+#Xy++1fy7avl;uFDHum0qu{uFNS3Lqf@L99gR0i7JR#6PuVdWw|5 ze=veJM@QcnGb2NNVK4QsfBYM%cRuM5*VB7iOvB4dl%3sAE8f>cGxLPcQm-X>!JCyq z_%S&aHmVejkWdB-In}|z&(pqAypfskI=4OCLZt}U%WZ>ZD;(fFR5Q8Nk9?nBxnp$x zKv>^H{nFJZAYf*){5F%{_%)Qi3$XOZ=^cUG)=%vmODo>BKe79bCp-U05%6RCX!Lm( zn4XSL9>eV~O5*Cx)mGELba$I{f|fCqzh4plPRy`g!^5)G{*Oclu&SrOs4pLdW`K51 zj52a^a;y~kH9y972=1rgJq5mxLf(1v3saNF`TD}Qc!z!?(>_nry&yeqiY!qI0q@-T zpLa&o`JgY}ZsfN^cw$+;Wze>Qb}<3HezyV$NyTu`X<`*LLK_y-7o!K#M$qoX0(5aQ zt*)(Itwx(~^SU^w-9aA($@>g818VE$?h0wpkg%DPdf;xZge){{;XoG^^m!W|m%15T zqlIE2S^UAM{s4bZn?~O}6A~g*k4i`YnAc;-VRCAFB(~JxvKr+P#Q*Pc0LHbKP_gh8 zjk#FtW0^0A@A4GgJdNH&(-jE1IfA|-S|V_QB9F8>?!^Oo)!*;Fd{#Q#sw{-|(rxJl zEKcl)k@gb@)DvC(xK95#J7ZHz6p>SxI={^v|L-zCWflteKVsRz*((8crrM+zEbggl=ag?R#Ab+>v(s5->-MRlHvBGoCFD0@-@0m{@{D)!Oor6;On5*wzrEB%x;(OQ66L$zhb@| z1L4eXS;8PyA(0}x>~`dY(zQ@D=ARX7rCzR$)LI0vTJxU{krLlnbKSIQU#U4CxZOR+ zx{sl1d2#29_y9hO29*520$n)SKZ{6qD^FQx`pdrHKKlxv0Kn0rZ?~RS0{{|gDP>(4=GYD}7tdG{voTT#Jg1SQJ zA!GGVxnD=0+XE8HR^{I$t5zRx+J@}kU(vN{JurS7hBLC<5Wc2C8D`SG2HeDM2#rXb!6Mk$yvZ`iIEvUJ^eVoCrfWms;}qbZd#a0b5bQHE_$JFHv1_cz+SQvpNQ=+ zOZzUzx!39Fs?J+-*8JnaLDAuPyhl8--@RUIiZ)!Zuk5jBr77FMN!jr%+SpQ2i^z9M zZpNA1>r}6SXP%!-TEvW;>C1cXg#9v&V|1UUU_!w{o@ zo>}EbA0-&V)QHPpSb>GD|Ext(uQgTHU%IgIV%gQLS!12lo};pk8NfIwM$v5-GiSh? z_mf>E5b<6ul_KKyVkgqy@kMAKFOd#YvF@_YFn;7ncG)s|Lwe+8np^kk3c}?lvt(a< zurGpx2%~vk7Ik+^xn4v@VtaXcVUdf?&c1)MF+cgiSGzQLh(5PmhARHYd;KMD+K8+3 zj7giM%vVh%09)uKZbpL$+0UJ;UzkjUO!fJXco2=DC9XCF1j zEUOnhc_Cv~JRF#7n-Ue(M%oV*)mb!HklrpcHxDT0O+I`6NxMJ4OyZjo2W~AsKFOZS zM7^AD7qc2_@BzsK;i#CHxP=ZUKS3LNxoPHStK-+6Ro{5)3)#*)NDW3 zJFgqd-0|t;2V3av?cECR9kG&=CnRLNI%=0~G3a7l>KtfqSI;c0we(v(CdEJ<_CpZJ zHzC+hu^1M0>(rkm?~j@fALD7*4Re4$oDxn=Tb|a=_yMVfhbWpZ!9SgQQu&gK%SRjh z?7o6EIUq;kqF!zv?GqZEq{C=J)u#C{dGCvHFa>pGgf$)>Bei&Vz zBdp8yKF^U5n@c}!^!Qv}_M9i!p6wSLBpB&}5%K_`bKEDy5jr;7QhW6FsJC`@E1One ztG${mPf)-)NE=Qj$ZKG#(IG`;(aJ2-KdWxmzPlnHxv%b#cb6eu?k6k3_u3X6pLb0v zRfg-vAP_~A#WG=AN&+DvE9QZL-|>F0A`>76BMeHUq+q)YJofF2LIOh*FSd724`TQi zGO=#&ra#XrD}M1OZCGJ5Wf<^835=ak0;lvr-vWib5IWc{>I02T=fiQW)13kuu)E2r zRiT7*WjYpooz)XJD6$jToaISmg7e@y{5q?gMN^y}l3X5g)~V{!wL+w)5fpT1`0_ah z_l~6&{vf5JtE^5Oyr$SUsLvA3p>&?SczrAXS!gRrT7DJmxZH^=yp*Ojp?=8*+z z9R2zXc)h67=8kT8nNq*#1+;k<`Wk z&kt=;Di1FPLt->^-1;RO&h(cy;W!26UC9Hc$s}T&POy)Vd59OH zjF12I;Oo>JH_6B(3gDb)NrSWe{VH}M za8nk~R^IBX4^B-LJmi4vf>H71tZog9b2S^d7@u-XaL(1AR+aGHoE0xD?+N}^N6`D8 zW6>2HOW6gyI`9~ExiCY^1XgM@5+~)Yh6dfCG;lTtLB$b0?|u-3Gt<_cYG3^LDVLho z{vOU*BDR+_$AZPqrk)A>-zsc9epFJ$&%Z1JR?&;~a#kRKsnYtzS&!aG9~N0XGngyF z#=paDgiwnQ`F$`xzJ0dyKBGh53K0T9fdemV9$0B#T00TaO85hK*#41QFT$STD1T%Y zc!Hg#FNLIa&R7+y$MLZJHo3PS0Cxqle+e9=>^X0a6de@ieo!8O-$@2e!ahV;39n%@ zR<@Q`+__Ct;`Pn4?)olC_#tu2QCc&WrvXUoDSVGAB}ECLpMcc1JhXC1J{%tp(MEyZb51ULlGOPf#A-pIK+cCa(DeVl=hea0d`Rd<#e;IJ!<%`as9 zp?R(fMONcR4*{YG2mFts*3(Mxmc;97-1;((<)_$Y;( zK|-1rV&9^~TvH-MGn}<@y-~oSYwKPgDId zwnr}Zouc%z#KZHQtVu}L;abf5!HSAch6uO*ICQYZ5PXIM4R5Hkc^UTDufxYxCw^Y^ z+RoOiZ6=bvSHUPp)Ozh2(acdbn)_n&j;E4d=pH=`>m1;V077XvNpvgeUoi<_p=y*y zjU-Cg7&7FqSod2(SkHxnEaKffTEsFe=vLRgerN7|hbjLkiLpX6^*cM_6qeF%6hqnP zZXH`D^_&=%q@s&O)}XalOYOS>wI){8C0V2=$9EA}9}RInN&$or@MD=>$Q>Ln#m5~> zwHg9xjRR+on?kk0eK*1a_w4uWxSuTZ8cu1GC=`#=3+|Qid0Kq8o>hjl zpaK)<|FJg=b41r|Tk_?F4Zz-+ui=4BjRDU7n|NanGrxc{12{St7wkt!&$)Z^zZio;s~EJ^?Q(7JD3AarQr zF={V~{9ZVgQ&DgC1_0m58@i;YqOQ#G!BIpR_{N6vWX%?3m%sDm(FSbdUy84mxt?s; zf}ufHW=f(Fc5m-kp3n8lG@Ln|36=`1yP)g5lJUHZXI8l89xuH!eN@*(01jdqxG}k} ze-?FbzZn6$Q0lBO$exldaI;k1grTsSc|^d7Rn9ZqbH0{12AuN?d1XCGTap7v+a;rG zEU@IQq|4)lluik|RG*&@^m~9CFM;Dm8DbnKIWuUdji3c)3%paK20#^tw>;RFaRrc` zA5P2^FFp__lKb_X0BT)Excju5IU)14X0dzpy$fN*T0y~?RK}sjUGwk3k~?)UNkgOL z%~+M$2*`Fskn){@p-``Rwepy?YtTtws_N=CgV7|YV^}jWGIG7(b+S1UU}kJ;%JcRc1PsCeGkfO1ypo|T z(J*4p;h`bTCTCl#7U_$VI2Ms3rD^ry(6hSU7wYexq}<0|P^a?BgN5XcI^Bq<1a9Rw z5gIiJ3vR0=0cums%}oawx)@+3J>h}in@5NOE7f%$E@S)gcfn=Ghqsf>rRO6E>6RY6 zSx;>SzHegsH6}+5z0IMX&+Akk*oZbTy^3gvicrdz$Uv-8&r-BwSJh3)8F7m9!R*YeG6Ogv zE@ow4OE@V7UWRMuH>|u*<=j3mN}hH~*paTg|1d((3xvdGdcmPL{43q@rlzL;pVn^W z71lbsy8{^_A|mpQ_vf2K0s}Ms2wC*L3b1xt-WbIwfKg;)BO?aktJMi-8X(`-$0nB! z`mh$V98Z0#s0@yG-&XZ{_s!7k{Fp1>Kqm?Ps=>vUcJGZ>7A*yxh*X zlt|Ntn7xcUXknHGLjM5xq7cG-%N>&NC_P&}B$X=3Mr1wfvV3Q)H%rSJPHR?#V^1%E zcY-tGV0pEnCNyQRHDuUy9T7tLypbUBYg=C*)BVpneq3B!cX#*66edhe%#0Qt<+$|p zyH+YzJGj(fqvv^ zdoi7Gu-Plw)8Fl|$G$!Gv8mGLSV&g8R`Vb(Hi)X+= z?FTv>lou7XPkpIC&oezA*2D2UB(6OX>h_&aK1c!3Q{gPx*yHt@dIDPqZ#_7P^Hl1? zB)AQms#__hRu6f_#Khds=bXp{-51rn+33&)pwiso;o-C#w75ah(b3(}q=N2=T52?9 z0;K0#W7`(DV-qd@3d#{jhrfhY*i?^R$UE9itA%BqBxqB>$s58}_6>L~vZ$om=GVEV z5f7bLVCE}i|MMK^b;rv!;^8^_l1|r3BC_<(tMC4_tT}yvSe5XGu-j6U6 z&~Km;oceFygd38gq7J27c(Z;WAY;OM1pp<(U@C8WX=}9Alc!JhN_BV@6co0G78Y8~ zM)DA^7K2wt5XAddFq8 z6AxRR!p>w1D|@)c{h_-dzwg3o^8m~V0P_uIP$V6pPYKyNuW10InxTZEwNPO)6=$=w#V|AdovuhGV}OPqLZeKaF_9xCSP+qSKIn9o~s7+UF38% zvP_PVeAv#f?rs2>Q5+K>5YA|qnO^zeGd}xTaAB?(?vdBlyGj`Dj)(QKoC%pSy#ddW ze|?{)I8$9K$g74pQygbIKQ-rI&KaazA{M_aGbZxgqcMl0QkHU{$K#?g$fKR@UXO** zq?72WB|jjT!~nGE9KZu?5jO}fod>;KW->DBlnIop@|(hO$DV>{?9{N#Y#yr*&ogEq z52Xdp*2*epxdgCGAzK@>P&fP@bVJ-a8;!;6xxT}$02b!^3GKRe1wG?4h06u@^ShAd z59+y+J>3tpr^PfI@|r__!@xN`kYRbVI@|tS18- z_kH?LE zD{F(T>V(|HE%wMrx$b``W7_E1d&p((_jwjRw@6jOT6|t(EZ{<3hw$Adt!}RZ>I*)1 zD~YvjS?*acos}U&SbWsG=z{Lzet=bN%}Oiq^7-34vhld9%KS?Ik9~bRQw(Ns4;}R^ z_-O9*5)JERCSCT>z(d8n|2#DNtp*e3r_5;8s{Gua7mV?bGqCSB zQ;wAzSmsp-N+}JbJ+AKnUR7Vc(v06WP|I3~`-#AGKM^1Z?OMb0Ph9ft?@I^wLE9wG z?YG7eKMneVVNefu~>WvFq%5PAST$&$HUXqN{^K&dz)U0|cc6N3! z(veRBQR?dY0)#K%x#!9ETP(8UQIIdeKZh=#B zxoDKu>ei1wxsh{qcmhIih;R^s7mf2`S>`bAa#?XL2`>-N&@9g5$5JDbmX=ITp=gBV z7Yi1iwGI=LQGt08k&%&rA>VuaNU+d48^p6U)~r7OCknPEx{%yi9LE?h>&*MTS z&PV-`SJSw0g#&_MZ*CX=_WrdS`Wxa+XW51t)}{9EO@PQu$S;dev;P9{2G3&IgF&~r zV-4%n=QFpg{SEc$yQA%xjZLKTpI+*Q=d?P!rWx-)DXkfGbKeX;AgDXr;}rS@&9DfJm_8WRd#7PN>K8`mQkNc(gps+VvRTUYI^qf&P!0v* z;rltKW>L=^vLAy8_~8X(+h>`(XWZB6_e*l)7!JGW@4Hoc@W$SZO?();7U099tB_F% zZLOGg47?fR9wdK7y{RP@`1>6Qwg3}GMe2T0Sp%LC%%5WFe_AhoXmv~Q@&(boX&0|xs)AzDly|_hPRk^vfm%SDxK!-x z8@uDeLVCzO>^?lhQ$oCHIy65wl3%mVor|?hYNZKT6ct1_pZi`<7t#aFOvq!&j1%@(aC&eTu{~>HXDG-&kGL z@jab*i1F?e(&+q`mc550jGLHQxY##w)W8a{$bn#c9fWNs4)+TnFEvZh8DZXsbTc|( z+zYng8#DM>MK0J&e!*5+oo^gB3qDCMg1?PZxqHJj!{s`PP&>#nR&Ng`>xlN*N(IuK z8kjfu)n6X`jsvq8e{?Oxwh-oM0!#!FuKLEtKbV=H*!n~u5bia6DclwEut$Z;s~=cK zy6rdDs(m|RmQOpi+z!kBk$v@&yJ7R=O+(Pnhc{2-j6Bq8USG|MS4-x#-oK1UtL-*# z8}KT-{*wqpK?8?E#YU{tP3bM2IY*p9sb*3-x_;_d15{pmBDy$5&TUyo_+=Z=gMm_Z z$2CnTwAS_1Tr#56!0Nf~OP9+dvtcJ6H2j-5ctFsAe1OO2f9@eEb;CKu-lGGU=tJU~o8RhqR%x$0mOzdT zum)?)71I{Um%piMVU(>19IzDllB&LnUw_jE5C!Ch#YErzbezVqzI{JDCu4qdAp#}~ z=lY%R3z$!g>omKrg_HJf8oS^0gQXO7(eHi1=izD(21XVb_9eoNM$6pXvamXDNMK5ejlmnOFrr%9QE{kp z8~YMh7;Lt`ZZchxLXaQBtWCgHY6(t&VR_=K1}cHtswzGuB`d=Q5N)@`rX=q@eo??j z3MT!6=ALS=v#L+wE{d`#d3jyHU^BTCt`fcGtI2W$P~OxZ8)GzGVblu(?Xj^jFtBrb zY3X|`9WAZ$HJDFpVQ&6htAd(_MqI>TD^hSA$WfK9!9eWbds$Ta%I5U+ryOEIf*x0_ z{pc7N$mowV^YX?^bsPDd_MW_SC{X$=K}<|+|3mI1t>yAdp5wP0QXD;>pRErzC8H$P zEEffw9wrr){p{Q1H?{pLGOvJ&T?8-5*QJAF>y*L6HS)-0{VNSvyr1wei)JiF!=$CL zwQoq!hH-SK;&T_gXQ5W!>QEa!U1df=^vwQPz%XnhFK*0JpcynjlLRwv<5ODmGQMn3 z{7kqH&n!p|he_#I!BD@QdEKHn)nEGT-#%xz9L~{Gj6@u9tl?^Mb90 z^4;ZNkU?ld&j(fD#e4VY`$;KU( z#EF2TrNGGI#UTc$c3+?E9XoY6Uc>P4V4(4_&$H67#d^vr4y1flr%Q8am_}JfY zTi>aH$ujR};%RB;E2?IpjWx6}PpMcBltDQ9>J`&M>$zs5V`;qlaV)-9RCnTQ((4z= zFAAN`OSe+-6tQgyc#VyXi;1M9qz(=b-&t1xiH7@?owS;(>(%|y`!S%9>rG%`aj^;( zF*bOaH!%!qyg4~J^VaWfuNketicT7Xk-&MLlV5-*Ab$LK$fqyiYjbBL$YVR~O%{HW z4Ek#0V&ZgcpMT$$gmGtEXFg|1yndaX(@Lqk&C1JScI`#xq?5|Mu6KP-A{BwwnJwRP zy~lTDE~ViS2Wl4Zp15l@G!;1b>)9JnYg|L?A@mu-0xM6kH+pE^V2+E{6%*e5e?dLXxlrx52*yX*_$9l@Xl<^ zP~65Ttyzd4>DhX>r0jI<{(h(Y`O~Kp){AE@ZW$K8vZEX>H5h1rRBE=$uwN(ePW!P; zF>+~ifIHswiFq9c{SZM7lJleVxc^HCtygn4X)LhlGSQ+#ebms&K@N&H0qaW-*3NLD2ICj6x%Fyp3~M zJ~%i4#^1%&RXO19?hd#R<{{|j))u(0#wK0^WhJ4lSJd}34tqnk_a{d3C3G;o!A9W6 zCP~|EfrXaeiKE=V?oa#EFf3;VA`_BSh`d%^`sS+FRnL~W*xyjqe~*mwB}I7-ou6oK zjBjX|RuIAn3Omh?Hs~6Ucrs<(pUj*3gPr?TK9cu#_hc%4($&PS0$Qk zVNVO*&loFYOsDhLm)kD8R-3DtI6Wflo%Rsvxl3x4jc_zsuGFx=(6B5;v2_eL;Fzmx zRH%Cd4x1`IESdnoKGkh7_u6ofG(Pn}p2*9{#MHjzICe>shEn17+Ns&|*5AQ}DAu9l z5`&|gJ0>=^3J}!s%-Ydz6!!)uCS9?;mBNNa@u1i?M>-~%(*kH$WBbYID-YZJkhj6? zutH@()n1qCH8%)*t!{4@<>snoy+Y*j%4EO$^6k$N;dCJt_&LV#iENL5iT|hHhc2ep z?d4e)V@Ks@_L2jZZ*^59=YL8V-NbEQDqeqbv3N+-pTyzV6D>X5Ed~?z3%Umc=ypEXeP2&_ERqLFlSlt~6~6&B#ZEYBAd znB~Fn5=Y~jT;#I+b=nIpmyPhq$URqomyoWEccX@SJkQZBLyGBge^mo zi=+ClhK>+iFoJh))LgI9fZ0HPkSL9Xki>_bn6m%Qktb5sYEOV&w|FpWwp4gc0)^d; z7MOCMshaSpyu6n)mPdx~*JcxVgc#^!W>o&ZY9Q&Zm-XcPLbgfQ#$Os?X93!BzMk`g z%plp98T<{3`Vnwu{VN|PMChB$z8HtjHCyO`c_EvzxJQoUNe?%*`fX8(Qg}86WRHWpMkg=U!$cI&Tl>&h@p}*VIS=ClGDLWKZ?L zML^||!27eN7;r;shy>I@?eNsfKCFe41OK!5%4^@~+e&?j#?|xNe&ff9O#p2g0C$`x^EPxS$VHg3J zUAAC5PNz+-RoC?%!PcE)-qkf%LI0-sQ>WCX@awb=1S|Qn)~xSIe9D9cqP;GB8%5PH3m<$+I+RvIxQ(>xRHf^N~p*r z0BfzeXUmT%IlO#>XUe=AK46OErY1e`t3$3d56CisAnyD#%&pMENWw4cWk<1Y5%7(X zP;MXsTpQ91&?CRiHF(zZ@Ir=Fn>PRVtxiFIY^C{$H)-8En{T{IrC@1Dxx zc$1K>c)<-Zw<&yS0IB}ma%N+SXj-a))@ax+n!iRHC>28YiHmBpA3oj%7cmwNFfBGz z&rqH*v_a#j$wZ+)t^~;OI!i!ZC>NNY{Z*F@8DWyVuNnYZ{^6MfYei)HS#}D6C0b)%N7npu3j%?pdTx?4D z77BZ=?*0}hg9GIXO&2Zh+_}+&Y_17prZb{|zEqum|D#<@br6#*+v^@%H5!dW&_6In zqx(c-$vxzQMVs+9QbTIBrcOztZ(r&WK86>#tirs&D`Vk-S&e3>ICNf->t&Cd8*QgV zERyA91!f8ZNF81HQqgG?#J!HgO^Bu}2zUbbuq>;>>L?%@Vw?ToC{_|;o4nY*@q!LSYN2nAz zME!St#8m&h%EC8GMfdNfK%evHImkGVRNuVn=;3B1!OviwhUJT3#G{B9Vq847?Gc6{ z9mEAifJWAx|;2eF*z;VISDy-{@n+#UF$SE(mk|TEeR^f*l~( zLi<6BvxXm0%HMfcPIcy+rk23$*c0%5$gP^9ximM~gWQW{!3sdB1GXQ=*^+1b%E*FE zL^AeU!js_p&vOF{0Lu!t%V#R{!v7bb&xEC6>r45ppbBh-^;<4_!GHIPsw40j*LacR zd$~=!7Bk>1)zzCq<|wzl&hw#N;_ zo0|u36?{QYN156LIwz+XGOry<-O?QD3<;dzk&>XE_^HaSp|(mB$GHYGY49g;UM8C2 z?a)JXuv%7s-h&<+#!N-uZH<>4`yrpd4G#;O7)a%P(-6js{mr+rreR7=D&o(!ma`q`zzT6H-q1^>rgJnKMonrsbwkR!@RoMHUT|Ke1;xE}6 zu-y$GbVT7uuo4Xpwo7?ome|lh+&R>G!|rkKiC}xj5JDqM3t&i*1V&hiHla#T>%I6{ zYTwT|SNpY40T(-}{357Vnw%PyNRLmV`PG?^iF??`I+@}m1n)(Dj1xrKx0TT zUYb_)`B zt6pF8dE-XMRCT-SR4cS$?dPYGnyw|qO~RJVG8Gg-W?kQqUaFYY)YvF(wb!il+4BYW zLQLw85J6H};O^2}bPL3CgwbD*%THz9m<=6pdT zSqOSQ$47{T6$8iwj^-YB3Pi^lK-dTgshlyW6>Cxm-T}PzNVa-`NSb14<^SX3#%7(T zeTyudT=w*(-hU-bUL`4$M{cs)E z`{d}DtN;tZ_BCO4;wt#5g39uIh4-7}92{TG$3U;sbcdU@{xC3{Ys9CCFuQK1qeFXz zBgtMeXQuYvYQBlWUMExaI_)73`M5vaUtD~4zB{wogQx9^Z?TPF@B=+^B5P$Na|3ifbA9dC=+vJiyCX#zb?A>O z+G(dJf*)qt9=lKX?slR?#BX|k!R@P)2Gf|Q z2@lL7^B0_=>6`FQbw4zJ@uCdDITqq$t~Mlf;jA;C?R>93Ca z=Zw9}6JWR%jlR?H-7QidFIhuEOG_z0shkGzWpXJ5GTfiZTR>a}8Xkh{a^4E`d;yfbyB4|ROws4Gh8^@(ltgL*)%yd>`KBjre zg!!eU_5Z2s%EO`V+ORj_eMM9hS<0S$->F1)M)ryb4MiktAt6g88B3Y$*-Il^LbiIz zE=w3?QZ$xf>}3C*!CQL2?>m3Z^}FVpIp=qtbDsOT@8>*cy>ESGQU^>$)Iv_B?4Zr& zTqn^wv0IIM+hCT7)5>}WVeYB9YzK>>nmJ0u-Z<_mownr`#vnPFV-eZZF{xjLmMxx{ zJXdfs7v&9N-ObMrK2x>EY09e}dv4{p{ed;?EnB0s%M!wmnp?CBIJw9{LQbZGDN~X!8vM^ASZ*GF}-o_w#g(oJylfp(y>3l*o37?F?}&M z-Y}7&!zVdhoW7^9FsSR}M+u2t*>>x`{e|}a2%YlIVggnXoljvEq85weGgxz;Mj?k4;T(T&S4u+j*qBmdKNE3f$`kU6ApS@S6 z2=vgGe&)la`?OrzKRz;OElQF-5a!B4c5+B^3y-@B+9H>zqVuV884~ebr z^K&^@LCOGGqZad4;J<&*_11dz1>QYU3nK!pN6d5gyLX6b29OX-ZJ|oQ68R-(O5k@^ zAFv#9pTuNfFftxvVX&5N1Otchx!jAflW{5gu(VVhk9jWj=Y`vCzYX1EzTu0$ z(}TihJ)KYx!OKf_-yWr3Q#}w5E8SyRUC^i=YNS2&U77^#DDF|FVOEa#Pn39u{*0?c z$iy^GFi~8Hk1y;qDha0va-fq^7u4(@va5nivVg{7kuNwRpB=$=UUCl~$XmLaQ>j7l z?%7XNHWs;jdWC&%razQZ=G9~KK#!C!}W z=A|MHOQ9Dmz)hTkU#hE2FFw=eD<5qT!~gMcY3mw}6Ke_L;p;LAQYQFiK|@c^NWdM@ zyz_DK04HD>c$~b=%qHvDo#MChNLQU2UI6HF)_Zw%nHr@Q=9DCD)T|WbyqsCk`Eg8b z;Cy}N$HZ*wj^$77n0@c3F1UfzlZ=ad>33`z5!w1wNltF=A$=IvL_}-!Weo82n#nql za0gYd+*cO9=%!+b101S1CEi2)`=!{C!tD)s7-gSZ7x(tQU0b1zGcw%r2x*uQTEc1k zJ^AmoN_VdP{O2Uvd#X6xu*0s>YhUR`1x&XfaEyqVVdLkD-JZ9re?|&fLtFy2+FH{k zFMB^dGqIJq8=SJ^S9F8g9N6MbuJ-(J&cZjX7Jqk)1tF`Vy!-FFshj0U{~D#XA%ktZh6M<7U@`qwEc3DX24m5Bog$(A{q7M{dPaD~s%% zS%eQIufbpXuN5cq$CNUwUP#W86*ZrV*0fV{cMyFQ3K*uV@^a@gye0y+u%c?Cc4Ljo z)8j0)s>y9kNerl;8jER2LaJ&{=RP&40sV zW%!6jx6m27zP^g#78Zms)|r+D$$nz}h8{zC4S9dC{Ggib%EH9oc(zLl96@UA58b>3 zj!2JbfW!qe2)jq3LNW5zdww+A(O+>ItUwim{B4(d&C{{>d-3_3B_S-b`U|6-sEVA7 zj|tcym79{3uD3)!^p~66n-!*&&kqY@aUcJ7{TZwnK#e@*8OO=VMaAEbQ_?}Kl2X^q z7&6|70PlIVPl_i}|9 zjA2wBzy_bf*PZ?IeJ?O~b5NRr%zj%H9d z$W;Y0HZ^LO;-!SF)^9{ps&}aZS0*7zUb~+~DRLwLG?N6ylB?ahZ{9F)FE4My#IpOv z^8w}X za^W+!)GfXzFR##KD5riSQrx!8M#h_d*kw2+OEzk}J6`q%U!~^%0ELlmUXq2D=gzf2 ztPyqSz@y&ZRzp~}<^n?0LtYx;SK{mv9o+HN_-;e5_rw!vH@RRu-Y0G?Oow;vknzx_ zD{Z5UXcH<+?(Rv!4m5M33spQl>E(GmJfsVx>@e4_&xn*o%&e@;jEoYIKKP>jv5`E_4N_MFDNf|W+a}_qvt&U2yrjq>_%Yv>0C$nJ z#mgqG#)G2V+CRGQv2eU0+?;_A$JPXeG_&a-ss8+JlYXq))`MGIIz%whKX12gqxVGO zlH7sDuv!1m<6h43=B9OGGfL7|9K>1_fax_)tFG1owmpNKS2#}2zwq$rZYzfC=qE(_ z;qy75OiD?0QPPe%TZ_%MohS*@5%@XuW=etFDC{4*eo-8N@CjU2xvzVNUa8)!rO3H4 z8}jvQPuw7s5~iTCI@r{}l!?Kp`zIzupcFad)wbPa?M4Pg^y7i&8V@}oy})>7@S&xQ z(+55}{MgMhn_BATvV|zE4GP9m61bo!{KHuDHyCcnYisV5Yt~;TjUG(r{vu!kr{JQR znwh#^USyNde-|=8vv6GYy4{I_3v7z7kfz7QF4x%c{%CC7%W3-vwQm4cp<~aH-r@ts znia9;%c9x!+ZgfRp-a=dP6%CIlve63uQJ|X=S3W9XeC~I$UZT05?Lqax{eh_)q6L_ zeC6j~SN3`J<)z9-Gx~+i-6Cs=1HLE(7fW3i#v-c3ia_yr{dl|2KXL^s-*>l9no;)`gu=PO3ky{Rx-qYOq z3E>yh1IWvP7*IG`9Uc)c?f9Y6PltCOMf^csWMCc?4QWY`f3mkVX{`dr3UvO__ovmJ zJJK(H+pqiU#j2p1KCQ62MU+8UI?-1QROd;F!P*jjk=A(S#C2LjJn>7yGlpN2UAr&# z^vKe}dwa7_(v|O%mpky<2}e+K;G$(uV;kY&K}E;h5iO4au>UDU zZx63zO;4uYo<*YNX{z7CC45`YC8N+--JjC{-qEzK&M`}`X~l$xr}j(F;wezA;WkU& z{_*GTgzlx9ARo=gf;qb;FT@#V{Bqnec4{WN0_Zs_1JoW;xTD0vI(?#VY-;XVd7X!n zxCTB?I303*G7&vMGF%CwEFQhzz@Tk^Amc66`6Pa_ug104;pyF&UpCV`&CFDc`(goi zk=Ae@W*oNi(NzXcr3y-1!!$20R@E1AjC_rYN#D0m_Dc7vuU~=O249lSW6!2>*k;g( zG_f4*9e|A$+{H8ylB8Ikbw(Ofyg2*u?Oe&%8vc%hg0hPjCUI;%dC3S7LAf6VAtC47 zi^|RQW!ho=l$NeF;ClM|?+Bsa&^&e87_zT_BmREdm-!XY(){DgqN8H=)?10&CyXG! zR3>ugDL)!Fm?6$2sb4gVwb|)30#j^&7$jjlhl@&j5}#T`BjVEw`#-;SCEZLpt|$Bg zue<-usMAxB&IOH+iC)$R1bG62H8itY?b4wGuP%4StkT4amAYA2=%ZAd8p{Nic8|1g zdNN&YLj@+K*HqH24S$W{Ebn96Rgj@kUXPcgsL?xZh+-e(ZpP=^3){XVqyp!Y;pHfI z&05-L$wD`rPd*_$oD7XsTZ42fepTj-jQ-Sk$S``0R_SWI;t%5^1-ZD~7j$BO>EwK$ z`F_JErtoPW;0N&))tCHQT5~Zw-PVjk%$xG&tTXjHP32fvHnnIif0V6l1@|DMx|UWY zF!Wx|LN$x^F$)A)0n5JipoKNzP1rn@{AJPe{R!UNsu zEOIViiAcP#5`QE~q+(q_QPE-D*AhIEgn%8UUi9vFy91U*4xBB+fX+HU7!W|wYfmG@ z5r}q3dY<9VpYG-sq@i?oQ)P<@5-|Tz5w|i^_dh`h7$2*$u0c3y8+P=ULtbC|&D!bDphQBGCa?KM1g?$;qw=Twq#g0ss9RbVbInm+Sj0s`4%NWTK*L)m zg*m09;q92utuZ&`8B`l(puxWlR>8mRPQR7+-GsH^hS{#{)EZW=v92fi>Hz_dmlr3s zsdVqzTH|vx3?LmLUwa(K_W6n!(aOa7{NKV zB$3i@HWLr7b_j}SLMGc>Ps1ovDOZ7(yOJB;0ab6lYIV=$-j=jj$Iz zoTuRKz_XtjftFC>sjUJ=15)skfq@c2ZT|H8hj~%7wpYwBUAELgfkNj>oH<3@|9_tw zIp=&Q{7BfWO3wK*GMBGn{T?Z=NI&r$2(9g|g-F`I5|;+$xwdt1{(BD|q;0~}BlzbPU?j)%dCo@F&wR@PjVc9luKisy5<4nx&1Taqn^TNW){%0z$;e=CV|Ov5RdQ~Jf82aP!!wZ=!7Bd^ zgs9E-?9Zjd{qrRKiPTd1V(wIFYie3s_7kBTsuQ*V-o$1zjxfs7_nRe3H!cfmDMhNX zZaq$U%79#a;xcVk&p}G+hGt+wUFg$N^5gmNuSaLL9tjT7gYHIZ*#g1X3jBE}l(O9} z!y&D$mf`?MLAO5Me)#s Ae*gdg literal 0 HcmV?d00001 diff --git a/localization/fr/builder/etc/builder.urm.png b/localization/fr/builder/etc/builder.urm.png new file mode 100644 index 0000000000000000000000000000000000000000..d77808d36097165cace8b972de6a97d260f70cc5 GIT binary patch literal 94868 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