From b6493d0bdb1a78a71bfb343295cd63cc48792b61 Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Fri, 4 Dec 2020 10:24:37 -0600 Subject: [PATCH] update docs for hybrid ratelimiter --- devdocs/devguide/hybrid_ratelimiter.png | Bin 0 -> 70586 bytes devdocs/devguide/hybrid_ratelimiter.svg | 2186 +++++++++++++++++++++++ 2 files changed, 2186 insertions(+) create mode 100644 devdocs/devguide/hybrid_ratelimiter.png create mode 100644 devdocs/devguide/hybrid_ratelimiter.svg diff --git a/devdocs/devguide/hybrid_ratelimiter.png b/devdocs/devguide/hybrid_ratelimiter.png new file mode 100644 index 0000000000000000000000000000000000000000..68107623c56eacd22a22156d1718796241823485 GIT binary patch literal 70586 zcmZU*2RPRM9zT4Oii(VsNM&SaWF#p^;&jLrO+S8`)%q zDC__FcFy@f&-FZA*SXH`*6lk!g=m7=O)?KRG9^d19*Dx+t(09Py+=DgILQ=lL<>dYo(!p$DiRpKYv6E0HIWBPDxd2X=Sw1qx=F*!V(%--I9Y;3Id^=nEN32V=q z8kve4-`=B+uvO~_e;}W*Sk_-O~$5>A#!2YX>l!T zzQ6+g=euXVzhrP^a-`q8m+IWPb7eMPcE5lB{(`2af|1d|0>c`?k{Eh=`XZM_%kahX z7=mu`fGbyi{rc5EIOzTQ_1Of;TjcFYC*+^so)R{1+eaeBziaADKQq@~w<+NM{dDv8 zq??Y8zAs+5mN)0+<@rQM?-?2%7P0yuKJoOJvSO>cp|ytDJM^}mxsPphg<>FP3* zX2-j@e|~$u2g4yND@&UG{&M@?y?Z}?{AjegJV(2y@NZ&zRu<(RAp->m2eIz%?*8d% z8XFs%)}#|Gr%s*X;p40C^VrZITuMtzBj-M!q;U2uB_&%?MMYDFQp7{wegFO;zu%eA{R2%8Sk5Xddj$n;Qw-Thb>+&H0*RTv8h_0FNssj% ztgNg8x@7^*`B*O0`rcUzUGLwA#m2VGAKQI@Ge19n-jzxkK0dw+T3U^5iN`yi-?7D* zYTa!;Wa`aXPkG18>5sVVKnix;1( zu|q^0#xCF{={8>~C@CprL-(HuOHOVt`&8p0LrzZKQD`WW@#KlTni|cvZQIVCKkr{v zb*wGn*rpRFP88_~=v=un__5fewYsm`t>JYzNBE;h6mD*Au4{i8H*MKbJNz~}Rw6t+ zTv$}JVd_g|YHsfRg#`z!7SDHPy~`)kd4lL4OKGRk(a|kVJhdNf!vkJh_gI|hnO$6L zd=`SE( zDW$Az*HPQ=#5&)#YnRi0tA(-7*R8FuP^XG9mV8R<_%G};?}7qBlF{d~>to&74A`_G z#U{;1rm!4ut^BqrAXB&ME%43A;H+F0sil-@_JvP zPNBienD`f6YIQM>*`-of(6{ z3dbA;em=gNgH6g)KS`a@`~M^z+-YkCpY-`l@q5#lwdWF_f>8PTVEF z>oD~>(s}wv<9&tAOe)|mbTB^)~|9bbr=-XeaXnk$Z=I)t~!86wC$^|d;4~~ zfq_9!(;t*a>yJfb+68*2+}%&22+d7>IT{liOSbGDcT!Z8f%W+9q0fewF73|0Qdwa4 zHF@I%Z%`V=0G3L*W#7Sq!1bWKJb`W7x93_5@$h)!?J;Br`T4h_qP~h2GR*n9m6w}) zD+dP$tz6FPz7sBwa;HL{9Q0K(FxVdz6(w!5I-2b9^z(;1vkx9U(tPlF?Q7_xN4q#V zIr|3&>O|F8SXgM~jLgmbKYrBl@$>U)yvl}glK0zT9KwN{T)%$3NGFfaEh;jyXR;h! zm+G9iQd+{!$z*=E?c29YyDVfWGcxVoy#;Ntz=qi19jWrS7RJ=~opfbFFEme@>`dSK zy~ZOHi(>m2W4Gbb^tU-o4WE{|zSdIGhozWr&m83~EG)`xu;gf2SnfC8-;<7w-}?LM zQ^}Ey#>U3ZVv{q{9_tBKeYi%~ry!mnOEG2@dM$PJdk-Jd7Z|(@Dk(XVDR;TZi0tCU zi$zXzS6x?rQ&&}0eSGG~zyG9b0J`lj=?_K54ZbLFNuGfW+-YbjOrmBx z3|_kU{`hg#b$xa3lk>^DTe|PQSY2D{LmTmrh+s%dPgmE|3-0dLq}Z~B{ltlvADSmS zQa5?d^a_)uJbfA?bW89`#SU!zR}($CbC_;aLG+~`7ztAK&La;WJtBJAo40S(b#wy6 ztv=j5q)xhd>sDRO#`=A1RPT3Y9ET2V7Bz3%^(mGVl$Q0`Qdmh-PLBLbg-t`Y#*>5G z+|7EnQy=nK1ofVJZr>v)tFO;`_)3LOW#v(HxL1xYv*uqaZT(YI*_wj)dZ(qaXJu!z zadJ{zy?PaO4&7Y(bGem2%3WGUhJudJeDvo^+fe)lF~9oH9PSZcz)x_=?(tnu9z3A- z+p*V6#H2~~;>D8BUmPsowzN=frP)^-&T%FsKmWn*!@4P`P_3`%gMxxSmRs!!VLk4L zAIhSMDk&*xsVNCzI3l>uH$CFjz{77v_5b+!v)#8S1ptz;z(0TgW_I7^Ekiq{*u1&! z)2G-OvSJ+p&O?V%^`GC?OP4^;MAPuWq>fEYT&lXHec=M>)~#D*7M)(7E?vAxj<$+F z1y-Jb8LwZz_Kb^T?j0gW6@T5{?vEAGI|pQ>uBqu0b@<99mZOF1_k)5iT)s?o`t)g1 zAAjBZ_ZNBi`RyB?9xdZ~XUW6zNzM_O(8ot>S-04q@g+XpXcY92gxZ13a8k5L-+BRlJTeSJ~M{7_4Q zbuL`Gv_&HR-HQYJ058s-J14*Ldnz>}g95K0B2sL*@)+&zQEjcPN`hpuVsfFoyL&eE z^ov-`$PQ}iTgetsQl8z1tx%&f@?v$>#kp~tr_yxKiS<|?pI1T~s_0Edrlzl?qaHr| zaV$kiODob!;a8zqS{gRiS?1PpJ;3N7OKS^yJY8CrRGQKwd`_DP;8G|4B8MYR0R@UD zCxrRy7{1E9zb#)2o9&>FEFc$vjzwo$qwSdj4NVQj2%gjG!FU;>1OJ&HC4d~@#oY9_ z<4N}WHuc$_=<4oP001^NG9qbcXpH!`NuL(qx=@*r7FShi+xLS&du}Td2Gy>CSS?9Y zrq`}@rk&o-!^3k>M&^LE1PiJIF{*%}`(@mNInIQTmfb_=fT;TW`#m?-mujThea*7Z4D58dYw+ z4dakymQ_?liyi?u)UQh+tEY!LyC7TRzSdD?Z$36TDS!U_PG)9iX>FPxt-?`paY3jC z{eU`7zlNxQ?1`3|Amg#W)V#fEcA!DTendq_S9ja|wTrIALhA1~^6~K@mXVp6nefr0 z{x4si7->)539MJJ8112{s~hy{mBOpW#({6o?+{3io`J#G(sJ9~yLWdSIQgQpU4Ofd@^j0b=Djr_mQ%XuymX?+sy}bl(@|>B!rmd+-jKx!jarz4DPvmGDPoF*e zQCPE1-*_(nC{|O>UTjEjlrst2@4;SPW17-z|0JCmz3}INFw2Y|+X7 zs=0X(WmWQKKMBahPd!~RRlCsOW0gJk-``Vjd)>4D@(Kzz4K(=Q>aQi+v0s|$+@2nORg+REt)B6A)&3dD&?AP2|lxcbYxc=MT`;Y%d?0oQ#*V%zp7A z0bSz5?V~|y3jN<--hK7@bpW{WSpbUH* zQ?aY#vQP_4Fs$rcT#BTy-&0>AJT}&}yN$zvIR5>dmsg2Id-(8SyU7oS)%|;{Pb(_Y zqdXr0Bjj?%Vtt5Lq6hRS0X+sKy_{}>+8B=Yv{s=HnplMewpYeoT0~s@5Oz;SUS2S* z+*wV{T@2@M-@g6LP=~cgBJh37Zk`+}Wz@{aj}PIc4hjl}pkuR3NbJV)-Q{S3G4Tc9 zCng+Ao8$0d>Wx3`9!2hJe=W~!(O5l0SqEa=KQiLyvHoZ4-QPd&`S?(L{r1h+#KgP8 z=F1N(Jz{|X+FeXH$;`+Qj^6Hm8ts+1$jx6vN_x+4Q)B<5Rh|ZY4Gs>*DgoTuu5P=Vta`U3=9ywq3g-{)a>j)a57_*F0H5$hH^aC;HOe^oo5cblx!c1j5jGh zVAh&Ck-ckUXmqpz?Gs2{&ccERw3Ptt*lSxoR_C@7b?tgrrq**!6Guw6gFfAs2dJs3 zt^2B3Q&Ur&=6-C>%g?7{Wb{>v;2Hq5&?&cM{7`5Z`sU3WT~=)!qAqa_L1HK>FFy_V z_;+b0w71Z(p{Yr++gR%yO55?fnHRxF3 zRXfYs{;i_`ESo(9VO3YB!$s$6Hr9x8m`0PU=ts@sS5zcSAa;Ot07UfEimV1pyYJO* z_fzHluL2L=bZ~ezKiW=A7^v3(NaFRe_%)mmk+HS=H{xg@hK=MIc4Rgr5uC|qidaeDW4rL zo>Q`hNyxx3aGpGwgmnzXrMRq&6AhpIzHdkyx&(&ssKV*fzNCX~ZEbQjj=p^lBO+oI zEX~cEgFk0X2p&4*8xs=~2B9m-9@S1gl7EId7f*xkb$1f6*)>fJ3AjH{lN%OeynQ~C`kn6SzTSdiQP@?0xT@) zB@r<(Q^mI*{QUj5LUg&3>lP(&*$dP}PFXo8aBkyIEU8U_byR76DyFMa44M zvsF)MN(ZMhRV%Qj$jyFPm3Rr&?o=@)A6k_-F)CC)IW&u#e;3BNO6`Ks7`(i_0jmPh z&<0ok%xis?c3q~$hi1IvXqe~+pe$T3!KZwb~# zTu*nZ^u{--k6*rQlspItp=nE&*$LQ$Mq%>j*D&zXz2s!W{J->+E>h9-=&}?eW-g>5 z6y`LV?3Pc(CR@p5A3b{XdSz+mG;4^g^_PkVq=O)%oQH;2&S<&1N*7mFaszlN=;5J%^%*`xpOD+wdt=_7$1jpgQ&Ld?p^2(KKJi$ zH#Ie-g<^E{=uwC{_XW7nX{*mEDP`LQO`)ed&Gz35V7GL^n%#;DfIVe`U7kjB#t1;; z)@=VNK2KS?iY1R9H|fe$9s5|E zo+Y1q^vszvgenOrOF)3qQc>umd?ik(R?9cuMje*64f_7Vxs)>Px(h*PSdQM1J#~ug z`}gm}ohjKQ@BS9Rq&Bo(nm741gh!ygZ9$Dvu`=6h=#h$nA_OUvT|%N#_isFkUzEK4 zlL^#O*!H{h*JqB~=jP_v1AT#23kl%$^P@;oI~eA6tUmf1vgA=oNg-&Uc8Sk+bIMWL zGvAr|Tn^x#c;PQ&1)w1zSAe-Fy0}QS548|PolWtQ47Q|BwQH5^3i@^fmQL~QDP5=^ zwOw5dkZ9>FlIyuZrBEgXbc#s-6;2?f+^Aj<8` z%)-*p-29|XBeCbhf7D=8Sqw^OH9^2y|3p5jB=vdz+G$<^>#c?>D~+*iBJM2~n&GjR|9zhQ~lBqIVGx z3%uw$Km2wNVC*gu0r(&XYF@X8(gUKc_c3+u9pE?db1W2ZNCHQWT+FJByjid&p!bv( zbwqAbTSrVxOxUQ_Q}^4Xu8s~*nUF|%WI{qPU_K!uTYP&ao+Rze-m$JDuv;xrYO}Vs zHblcgZ0{Hd;~>KWLqk5XqUI74&Vd~4?2v5aH@B(0^DCkhR6dzoo%g)M@H84n`P0Kx|_Df7u)EmQusojcum05qfn6kEo zf`SmR0c^3{ju!#oKroX>S4G2;N9_cr-fU|-W0=HlYfV26P7)C}$2+=S?~3%3U9H>W0jf1>m#r?RzGWuN3t66p@(o4Q=)mp2EPIUCgqKG*JZqBMMri9Ot}d+d7zUJQQ?;32aXD%L#->VT zY@Fvq7`WApe!L27-3UD(V=yKX@CG9P&53Sa=nCYDii#MvJ-U6^7>gAq%{04q@4l2R zcMM7h`9EdLCv1!O#mZE!^C74bOb)L z19~ue{p|2EF?}H+ifDm3u1Xv}lxq^vevhP&$;rtX+1j?NoP-+b5g@SJ*xt_W>WKD! zX(!{s+c<@6m$`)n1r!-* z*7I*42l~;lzA0s9>?!YTdMHgsaB-9sFEm$y!-r$1xYZJj_Sd*9ZUZzhD*Z(4cK}~h zleRLq#R*3I@-}Q!roDTO(GT<(6bLc}f&c8;v$g$o-l+uzAt@;bNwomfB3EBg{+C^2 z_7t#SNC)}&i0eWE@XXESCww5II&u=>!(mRI8l1DUJAx_i0LrtlvTEq;ELPr(EvW}& zL_t_{uqyBl-rx=c5FuN~zX6+;-T20g77y-9=R|Ll)emQ}x{bB9!oKj? z%WySN9y&TYh^o;s()AeYwG<|z8E=}QR_eYNIh|nf=$urXCk>c2ehmdYcmTka4)cX>uJK#>Ni5t|& zqc^^Kf~`y4nGOaEPD5cOdCtz>gs-p(%=Tl24GW5_7q3PpiKJU*aSsX|If+XxApo4m z1YaUmw_jfwjP*ltNx3ug9naK=c0VvY?289knCRIKAynl#EDjU2NJ7fP-}-ObN+Syn zPe=zqMP#JiyLV$n*BN@OZI+{i;nmuAbZx_G48zoutKCYf4hRU~ z2HU2z(KVE}>|m0mWP8=n;0H$%B?n-^*b7D#VD!)Pe(3tQzr_Q@$c zRQEuD%KhDk;jH_hT{2+jF)AmcJCsKyC+|FP-~g!{lY{l`4O!-v&2jft$x8)#fj~Mv z{1R%vq#;m=T0AaBzgS&$C3yw~Dd#UmK6+%z*V>m~^?FkAH;lOfNN~%rW1&5hk?!5Q z2fI@(-$Y$YYuK4z866xpan&^0npXYLlcpr;do!CBBxkfi^xK6FzB>(48Ws_;3G+NM zqu4Pvu9x%S_RRMO2?+_h+9*eg6A-42u!9^!0_{IvGBiAZm5erY!{Lcdt_Ipf{|fIr z!|9d^ybX)@URmcND%7TKlA2h z#uKPJN%uAHzX6k;T=mB@`hfIp%DVEe;Zsvm*1n14w{nbFhL8bMl!k(WqW06Ly+Cgk zpcsi)b3(zhm=E21mbYC0M|fGEzNe?h7s&1Q&yV*|^W-7xpxu5fyUyUUH2r|^W=C3M zA;LGo)}h_MzpeF-9xK)~L3RO0Xgr#_2=7Tzqs-dBAB{HlL^oC+Ei0GBAoU5_#} z7Xl+gW+22J@XuRg9c(nt zHcKWy1bBD|%0fm0C(&eNroUeqFb|(Fr?xhw^I|y4KrcBAL$o1 zVPRS<0zc>qSWZSTbWzj?#=D+;e0qxmMvo8Vbm%!Em6@bIbD1L&5(V!okrW|%$6ir0 zxJLAlf*PS=3WKDLxa44d05tD8PJS?ktIH%|%>>R&1qeV$8^@w@a`=cQ2FuVKZC|8rs-V*&}J zYC3w?!u4NJ>ob*V55Bi`_^?f=i(>GpG;J_hw2ErH2z2`_PPWV~5+#ftlb!4;upFTMQ}8 zq;R``KQfY$OqR&s6rGHVFEp%qh}Fmd>;4E>=`Rqi)CK;4D|%30&w@HovH3W;xI9F| zpIcmh5D1Gg@WF#aXg9Ckyvb2(PN{rK`3V|fvE$?=BtgReNOWsXAz%Y73*JtiHulQo zXA2PW(mZvWtel*yYkwCBf&ldctDYL_2i)E6<7(=InpO2lZH2rV+S>k*bKnQUj`J7P ze`d74`Uk;{J&qRTTyPgPJ@88?rV#|ZR#0aToYg#`+UTS_Ju^z?RMvtmD{sx4{tZdOfOM7QBD zvpt^n%B*w%TiLUQ*b9~p$Y!-ZR9oysGgC}fIVQ?TWwj-0B(IpO3nd$B*v?ju_;m1Q z7}2EV^~#IAd#f$)bE!{MN!q`3Z95NCRZp?_NzfoK3xHN!1p>n2{lw8cZPpz?WMqWPs6t@PP zQM0|mfNJpigCyApfFX!b3|y!!SgrTm1~&GprfHT-MjRk{{pXQUw8&X)KI%NohGI;b zooWyf7M`uFq+guu-3g&-=$wb@X?fL5l>e}Y59Q3vxU8+MbMk_^y04j;dC`(mO7UWXs8vsfM}hc1HOhdPVs%B4aA{t}@zrlU9Zksx~cnEOtSj&9Y~ z?sZv2gf7EW%6-*|$j*_3Z~ah6kaoUE@JD#_!hm*=_&H!%STQS|O2=Ktkrq6wqOwc( zUrSrNH7;&^-J(VF;>CyAy9wr5XtH_Bma82pr-&#G`KC>T83+llp|y1f3>89L^_*ew z*l?rN|{Jekq$mI%|XbDh&TLQph8t{0*Q2Lqh4K{)Fym5jIZ4N{Az<2PGq*W zwn_FT5D(-~TyXU|f`XZ~GX0Y+vTYg6!zub(EW>o-#}9H6B@K<@ zjT<)-L&D?Z?*o4uBcVnjA(lg!9fx(xYEcD?f%Y9HKOmonmiKFAXRW`?*X=Ad+@Nl!RYtYa0qGIZ_4X0wl8*1_-cA>x`_4k%dJ7d}(Zu0qE6w z?Ka<@MP8m7fj}1n7=F_`ouQ-m8(?J%9O%=mTl!#~(UKH2G$Ih~2!Dl^XmHK$FEq0N z&Zq-e=XRcA_e9w)R$H0*QW*+WBn)G3_60^rz_VvAkrmJyOws6C zO}1{`$}S{y9*ry329$)06i`?wRGJTU7>qRT&r(ia9w)1m!$JFz)&Z$%2)dnJUAeb@ z0#m(u`}RK3=$lpobd{C2#U8cYFWTv*pg_^bow7j}|BeeXeMU-(Clt2`bi)W>?u(Z$ z5mL3%hx{vNQ0*x`)TFqrE{97>Nj*e&rI(|0-dH~|4!4laCk#sS5#xFvm!(tODNiOI z!xe|=v6&=bSgkjv#nX%$nqxix`*(r;<|d(pH)1gA2qgr6E<|_z2##8uo6GJ}7=+<> z)6Onu{>T;VE^kc1{8Qipk|z?2!e7v#ItuiUo4ss?YJe&xk3NHXcg-CXn#czrbi};K zx@(sYT6Zeeb*o-6bz((@gsZFT>_iX$qv&YSC6R4GppaauaX#oO^2j+t=OShvNs?Qm zZLE2QHT!`U$se2wle+yg0QB6N;C6EHGN0<|$hf$;;5yZV+*p>|!XyBGxmeic1m8d} z^jP6a^Q*suw@IxObjWEgw$2BeXAp7w3g);+y5Iny|;I+<@Yv+=z zer(en{HvNlkppi4p`lH)FSju+9=&AHlNBAU?X6269H9c|skHhfTqaoTJNj3S&Y%>1 zaO#7vKQ=y|3eMv=T_f0%i{T-8Lg4EMq}6hlY~OeT^5cyuBKX(?msg18N+3PT({Yjz z_W+Lb5J|>z(kZ^`dzMe^)YW1gc;fy*gUaX56~l2INxE%}s(3X4+2PL4PWJ!QeRR8z z&+in%eqe%XL!>Z?Oe;W%_~$2h2M9Hzmwj;s(Mk1fUIgl2|a`BX4c-XK>feUd{^7uEk}cC=}>bdDYg|_Eprt4JAYg`=P7oD_}LAApIP0 zF%kY9waNo;Cg3&hw;jnxB0>7pWswgl&RC7I9>~j{*s;JWgaOJX?>8%6k*N%2673Y4 zG}lLKiI9EAyg=W@1FyX&1ajmL5C~(zAQ2u&l%PIL6CZn;Aj?_8CqZ_b)HnKe_-ol= zOP}VS(jdPd5yyqKC*T#p3`tF@7GYJW5Djpt2*?gORQtVRbv>x8aXcLQjJ7b9*KhGl@%hWL1=%3B9yK%M%@Wx1?(yiGA>X# z(H|r+@sWKp#`NyFfMzBvA<=}JK-4^l6)*xc!F1A9l9G*Rs+b0@i7;k-8>td% zm{h^6$D{Usb;LXL(TKrvVt`IU!OhKmuZf9{j*NjJqHq0hb5qliLYUMvi0j=$I^pZr zuglEm;rl{k(@CG)z+`5Z(LW~jS4MC@Vg%gv}j zFm)kX$obQ-#$0h+PL!SWGGKU|rKp0=j3lTc>6mA{+_VXvXBjRpw$ z=FOW%iX0k_NH}=`DO^SWaa#K;j`tD1{ZnVhK1o_EDCs5VzYDz8u7B7caXv%Mv;JI` z{dvVVS;iv-X~2UA50cPUh*ihV&fY&d%02th(hKF&awz!0gImLI7-7S(p(`WHB9}<= zN(P5AhK3AKO+WzH0uQE>I{bi>x0|;m+{5NTf}0>KKzhVeA~QQ|d5*FUIALIF>hPnF z@R$05EY6>A=WBiXvhR3ZWuQEc5h2)9h`dH&DJxcM>To9!6l?R}kZ5Dd{H8!_!CN*ZF(>DRoB?)7P|wEf1mTson54Ya5#?t}xrzYRM<5 z0n72IwQt^RgJGm)b}DV+Jj^3h9YTF0x&hMd>|$cOP^f)D7eSkd;F%d&&}TkD!I7%> zZ)RYX3Y)X;N7@ynNe;h^oVrngTlL)~nvL}pTkop1ko3#k>d++!A1q$NhTf%beSIAT zeRqqPmS)#A7;un#<)H(h-JXWYm7C|%83u8vHCg5WVyav3H`d39n8XN?KQaRQA3%X2 zvUw2O5!h+_Y9oT=wv)4Sj|HEi!Gx&pIua*@#Y9B9upfzwplqHYB6Haq+`zP10}1tO zr%Kh*NJMl84U%vkE!=i9G9o&CKUO6nZMo&uD+(x;av*OAwE1EqUPV=BPkymsE@be+ z6IwnbFKR?XAt+K4!QD@3Ti*pjVp2thuPqr8Elf>KZLF_G zCJ9>-=oG#wIRGu;OX}z_fhkU`9NCxco^+EUXqeLZ^MyUd$cVKdCJ_i*X733XF+x(u?&CrL z)A;iX_q8|zb^^qQ;Q&W+8pfm75WbgS`GYV53*EiN{U}?a};*gYl z`sNMW>P1aW3drb)D?npV<^+H$vh6zwP3Q-94XN5Au&lDO8GRb{bNk`L`7VpgG6nzRY=0k~|p67AaC+s{B6 zg%%U@iWgaP{K0z>Zmq}qAMRcOUFeoXR29;Y52lUCJHlDME^L@JR_5WziK7bkxcskLAa0&MwW-4C=xa6?G!snEK3k+3c?YwlJ15|P`6fFX=iMyLoK zbd{;P*;&S!RWw`ndm=9>`U9Pwkb<&V;eKpGd`a zcHV;|tD3TFbDV zM?c#aKe+ziA6#ct#;=rha{k@En63DqPYcAS1WN~iuJZ2~8l0F@J)oLaGk^|&2Bxc( zj`1PTeZCwb=5dm73Lfc#J!43Ic2wFLVghjx@|IZO2U(jOb%}V@+zZI3n|X0{GDE*= zdU)uZrRIb8|DNhkic*>1`ufUD-=%cK#E}vz+lDl|CD(*BnHzQjj#mBId(L|lWdX6^ zA21!Hlb7b_y~D%lbObJy-nB*GJTvZ2o5Du`f{?(r6xky8c0l5M+TS{LY#%As>u> z&HJ7S*L?vO@&Qr9L5vUpI!-b|0EFVdh{{3)NswCj72OOg@+4+c1nD<~ z$TyKrx~~QRZ$SAVS~666y|*WEB$WkP5wXA#J0uD@I0*y}DkzpY6+&3ffY|pCa{_ur zuN>=ovJ+||am1oWf{Sa*XnS%qDpqQGx;Ku6Y93=$rL2SXO&n!I)lbL1XMzT{1m~fAgLBv^$IevuyAm3WqvjR9N7bB2#F+f`Y|jk%w;g<8nW{aEN~pC zBt(?bKGe%%Fms~05r_+CBM|8gflaygOPl~o&^-tb2HGdW<2yiI(Tu%l>&uS2EbySg z`faSuc)%sDN0@++$xyOIZIGn;R}zmMBeZf@2h9n`?9pQby}Z1nUN+YZ6XEx`;+J=q z=%H$*E=>*$oN5Y%q~gvSWa$FP{u&&hs)C4*1Fn_0t=u-lK`(ZEp9^-`)e4*MFJd9R z(?W(q8v@lnh%$C9NeE^XpcWg>MwwO&kBrbeIyw@$bh9gP?#_blC_!&7JuEC7MmmV= z_B4Hmrj(YKrvegFZ%w=qnJgNU3MJbR9B|+tKjhcKu4_OGL$XJ1eR*)_MFRshN;bmR zS5Q$2#=7;q9t|BE(dVkG<;Z>#ri4Uh+%GWH>mMR{NRUj4WI6$?bdw>8{;yim$6zXm zgD4Oau2mrXX$(2T3497?HDae=fD+*g%sD#UzC4{`FXw5DKX4%WUevW#Np1=h0)2$ z`)F1iLPCW~FGF$2FA9kX7o6ftufU-WbhX3wHjlhT-+snoz&6-K%F4@og*}fG>wv;y z1-}z0J^~@|xgq%(HHlNKQ&s!lzBc>aL-D^Xz-tl-dXC55TnI?LCb%eU4&uNIDJ&)? z0G^^|)%u@7D|n1MF;qrZuU;HpPLy)2$BwTxD`n&7f4jKvek14{XKw`#>#ZI6exQdp zkT`oKAn>zt^cf2w!4ME0iZu)@S_?x=4UXJ5fioZx$=*?o;-brW$Z9?OFicyCc>Qa4 zv0x%i+yG24V~xWl40~kLElF=LD0<{rYy~E3(zB!5n*!W@8?S18ii(J65SS)% z%fNH6x#aX#H`G$rS8?S-u{JW`Vtz3(I+0Gt3J03oe?SGVtFQOUO*YK7KlC|M72t@e z+i_`&Ibwf=m5MMOUxzyp;RF;mg0D+H<)4-{Lgd%brS-mG+kj>hN0kbcXD~F-W&3sA zlyUlx2>7O_bEv4Q5*iz%Z4#+V5J2$~qppp@nKSk$+7ML5T!~zN&pA?#lm{D_0=TWp zbA*RRoZCF0`s8wc!3W^OIh9|i`Fd4(716)r*2L9mjP+QCHB)5_Y|#O73W*~W7*##3 zkDy0}V1C9(Js=3Xi9{T!+E|_6Nt`QpoO+n9@kEV)zeEfHyKNH*2aah#Yy}KnFkw|* zQ)~smIU*pigDB&GJD|bD8Gf)A#I)#0M!>p2JOoiho7hYu65J4u3Ai3Xfr^OJtGftE z7p^w3`e44?{PXJ?BA1~;#p}Ubog3$&grg)7cyaTGW?%**6BGH~187%;glP>Tn1ZfC zB)9+o;Pl^IoX|q|*bmi~IAH=diS4o-p*hP?ao9ch=M4xlkEKfTgmw({o(}eX0V*Iw zXQECbtvP#W9rI#>%pb88ftt`>Zo#qu93)#_|KmFM<1`2~qAA2dQ(<9YA_j2l$1AE4 zNocpt0HDR@?fVHN4grTaFbT2`GTaoc< zGl+`nS|g$RUn)`U7EiS5WkE!MfLHN6av)GKU9spj0l~ovXbo^pb9Ve_dH3!#8ljZK zSgkex;lqvK%^gsY3j+5N9U&%$5>~0$mi!>W^gMpUfuwK9BhQXh6?_r4{F} zbkwGHiXLF<0@Iawdzr!Dk~PSBAZC`DFR-5LUcVlTwn0<_|J1^aW%B5#&&qdacqEtWpW%@{0&@jIlFaX@OhjQu?agKV+2|nAA2*%sZ<2=v%k+1il5Z2-lzx zAlvb?s;Z2Rl#6ow>id^3{}*YF6L1&C7qT@4z2)jIhY3)8J^eqRcx`R%Kfu@Lzc3gl zQTvC7Pyf3W7Z$By)_HN||J*o~tFtfb+1c@3*r)= z>~by`xzL4@$0|bchZJ_y*qjEiqod)PBOu zX2PNEw&=+Dqjx`ybbk^xdq?wgTA@);mNVnn=+f4~*L0dcYBwdUIO;zym`j*(u3kDd z+_2VtbnlO6ouJ`dPO8r?u=xl})2Fq}7T;K?>~oJ0)TCtF5$t1eWO2O9KUceO!XX_Y zqSiQZ{szZXkVe?4UZ{{b-xN8<1gZ|XF0FJ5>K{S|PtF9&QHEzL1#m?mwA|;ml&E&} z8ES2^YPpFh*j=`N}CCd8#VMMB+M-|`(7i9s8eNk2xg*kG>;GM zWiNp@iR8Dw5&sHIHc*M*q@0l6Q&KJHc}ucP&FvMaBm`oF)4WX!hlnoU_p#VUyfaR1 z-CA9~1#FwWw3gdriAakl{^1KXT5>`hA00h|H!dnJR+{~eEl3{5afT*wiiUQ~ zV9*{RH9&JB9}W0Q`ug&2G|mwS1CNrnG4lB+KTgAtlL#d#Qn?XDdhuc*tsIloxPnHi z-SC?%O}>}Y^B_ZF7&)L-QLtc0C1g%W?TTA=*M9yS2f;x-MV5>>caHIxTUx?DF0fwL z(h@jRv#}o;|4W4i?+D4#(Xp|oN2^dA?-6i_Ep8iMlHTg)e_Dj->nkk1e10~w! z+Y_WIF@I`BZa^GPPEMSX4qsDFZ8|97+SP@ZyZ))<5MEcc*V&hrog-XLjPX6Y!u(JR zlJxm)5)Tv`@VnTy>-_^JGBPqRKg@|B{rDJDOxVKXe;A z!M{8}jdFjk?A&G;UAj*KYc*dH+c z`T0L5uOY=iLO0YIP=bf=s6hd%%WA_V90lFMS454IEX4nIE@LxT@Q z2R>pqbQZ(vr<*?l*k}#68u1J6zx|sbK3_j0hYN`+Ku|j7II#cI!-pnRglt-vXeQ%|_e;i;c z9N2BdZ0V&G{PO){O16heHv58M9vl1fkjxYnBrSHu8yrY`(EaM;UWS2`i_dn2@8GNb znJ>a6LZckb?sGQNVvzFjxem5byjfe||K7|I=jf}Xv@se{oU(jbJ5n z{P)AbJ-e~o{taeT(OKf_xZPRq|BdF*1aTMZEiY59e*AJFjXnM1s{3~SbM@c-=y!$v zdfb7dvPH%1Lss=v;X6`|ZPl|ib#!%jF^cBQ5BxfcDw$aJniv~rI~;Q{?qGX%_nk!M z?*rcX-ugjHoi%DtcGVme8#??z%Drt!t0u$gfSjpBBmd{{cP+m64ca3GPiKhAY(ziG zjbsRYIQ*%6F5&&~nC~fni}|D}os&~XGYb;sv)^3na-1%zOfBQni~er1C3ErxW_qDH zr9Ch%CazzCj4zLF)9XlErfRO%j}#A8xi}zW&Qg?`PqP`h^YU5Si}d0-Uot-c^fwz)?P$v<{19# zny=+J75ci;wC}p!n5blVFe$eZ%$iZ@hQ)9p$!F~D`?UYwoQtYcVXXAO9|Z9s1}|x^ z>G9Gb{k<@mInif~J0s&iH{Rjx zV?odPu1jfa5XeP>wK{Nk`i&_EsAntvAPS>wQDSQ9RD-Q>x(=8 zeYF-}jR?%9I-&Tx3ojt3bK3WrRt6@Fauez``Qa6Z?%V0N^etu%Y~j<7LLqT5OLHKL zRbRc)U3%%zze~tod!r`y(}u^^Tdu=GEU2d=?atO|{pSt8uGe(l`D)ZSA*_(fmg=*m zM$39VAmHZj1K&?MsFYn5&uIF4`0b|>6LE9(Q)==-PzLG~i z*|gc{d1C1n-*ZoFda^_N*^X4t{fX5hz1bcm_A`Cm))#$xSfWgGgs1wfBt^M|u6@gt z$@-LMk(p~45G;qODf+}@>}B(77lN-BMl zZ}g>RGP@^_Dfg&Ac$;Q`X&5addt`}jOp{|KeWsji915okyD^{7KsYLNJEw}T@IF-N z3_2{w~&G&I~$*Z6oRD#@p0YVwOdN4p@}uZJqU3LP&!>opGsCsI(JZgMpLAm5Ro zf`%17edT9PGSbaEl2e_WxSCf6j@i`P(kIDrVki>@l7F+D<8B`=wEx1RQxfogIO91h zzXaWH34yo%Sw2r_{Z7kiw*M~pqUPYRnNS+=uedg$=O ztd zB_`?P@oR5pzZRRPW6ZKmXW1rJejYM(665HQA&n*o#>B?Y{j6iKV{CnUvC#49kX=v6 zOZSl@edTLG+UE_7%#1@6^SLlvx87zlEdQnUP`T_0_|yG8T~Eqox92^LGhvly-Dy_W zgzj^6LF+?xR@#%fQO08tm|(!> z0_8NLvZ(#rt9o|Ns}0qnikBv}Hex?#_kOFHZ0rTex?j(EHo6(G>P^C`x7L__2Ii8@?<# z8a&5HhfXigI)_$(GG8BcY@L23vlLRaIBiU`ocKhsRH}8KRP6ESlWy&O)zrsP>qair z9=d(vSlxiAn-xzhisUs$Q*5RvSsmh{sjhxKa5Va|!%gv>Gt0AX&8M<@CQLV+O}8}Oe`L1! z{+qS#a3t@hGR;7{JVSTS#kV`pdTt9>-f|#~l>hfOCl=~duc}mK?VAtG$?5eX$FMFkWPk(5?MR2u1S0qF)Qm2T+<=@g{9yGy#eyL*rIy!-p5 z2Wzc6W{jG1o)@>t)Fi*RkDu1!<)_yxR>)eYwXGS*W%AFu$HzLo{k(3~8BRD;*z^Cs zu)TVwno5R57v^)|ktGz1>z_P_9tR%(v-0 zOSg4zT2#S#+$Xt|yEqTSBSOj;tEy33rdJw{OVXV>vpwS1XC*;ON=_Opbw*#>km--# zshYLE9VYA!ud_K*CUP;eCBnhP%sz~9j$__2C)(p!ZdFpgXp!pm!8}gQQU151q0F0 z&=DMaW}#_fAg*ub)l-I~?&2rrXWq4)Qd+Kj__ehwF{Iq_l1JB2W)@~>mGe?B2g`&( zYt`P-hva^ynu}e*llz1Z&fD!{RSKvpra03vOBq!@{E^ev(Gi^8;3!+{2wEN8G|7)! z+mOFTx>b#R>rss1vET{j?s@7Ats$O(S6A2XcdUK<-}BaOo5y=RbU$!NrhT*DGW55U z8-8f0sryOP>Yk=)W08DUnp{ZFi>QMs)@#)(9C#uP==uDT!hSW$TN;|i?)l!YTBoN! z?hOX~L_xuuq9A$TQ=aO6EUcuA&i!-dmXii${zUhS7e(4s$0~alwFTs3UHK_L61>yJ?DafFTiid)uVk_0nPXLa z=-1QlKWZ?kO&kwqEUa+NN%vJVz3P88$>YM7NlA}fyOQ_7O_-Y#yTM@zZ=1rMviHApwdv0n^2v^A_TE0ohx>KnF-xfCI!8V{Y=aU zw=|PqMniKp&0`c|IAlBAVPobIsN{e0B>9&7q_Zf*&2|e!b-|x3@8Do1+vnME<#B8b zli*3?eF=<={+;aS=XI&ELac5j!x}@B*FRQbb4+=w79+{IGHu)#G4Z(Qlve0eym%L# zbS9j^c}O_umzl)0fKSjF>Pi)Kb2n`DxLvE;o#&#lviK%W&Oi8A3<59F4rsCP9GTnc zWIYUVJQ3+9l$tAxb?@_7+^VrsWtIxKw0-UH(`T9z8AxvE$%Wa|jQsC5HD&D8IEIM7 za~Mc-(F3=dIb6ivYD1xA)mo1*^T7nXRzKIBhNAzqz(^t`%6Sa2y`9X_Kl|$64);B- zxB{Zy(GKPczN7n>`SVXQZ;gby+1{#R3uD}I{}t-u3#IR}ED;tKy;44Q_$zx;=wvh2 zkub&9F2!DMm33el_US56%H8a9gC9x}bRRh7b!hjVQd?|WNVAm4{NqZF7v4L2f$gdf zM{0eJvJ<7UIg59QO&!$_4rVZ=t%eF9_@=o{o-}O3era!k*O`9R0yF8=E4JoB8|rWV z*U?WVjt}PNq~rFSTCvig4U8_dpYU<)XnxW3_`oJX_wP>@Ig3HFXt;QM>k&(Y{m~&B zg{-#e&9hZCx7%AW)OQHA@wCsy$U4B;XHHa@Ct2GNkNQKSj8^HqILUK3INe5#wXEpd z@XULzp58&rpI#k;dSH9g4zaEI+Nh#vclRo{3DcC2W7KTbQfXn!tYY>9Zh4dCfqYAa z38g_N9sU~P0X*&x4srR#(Ia|GQGaq0N`G=km?rh>XY}VVs^8oC^wxHYmQ41mq-(~F zN#Ol+JYxL1)NDPeZ0%>#S&t^2NhS8ErZ z?zowHyAX4JVYA)Cx6rZGUh!aot=NhE`lHqSbJ|bcaSd93zhrpun5A;XGUo15mgZNI zN=bpqAy}C>d;&kbd&~3IE6Zs+C7WEKLTrMEoQae;6wQ3R>-`HC_fAVt(!N#N1g<|Tesbr(P|pyV>Q_Lw2{kpYCWeT(5RKrV!b_&aocg?$9Ik$ zleKS$O`gazHX4oL{MN?@oj<)9)cEMfX6UI3m@)bpOs?YzE(?sk2Xu9wYtAJWZK%Z@ z#Y7C2In#3$Z@KoqGmS3Et25p)TJS@jvv?1j=xDxnv#`1KOLhg^U;0%@VGr5$f-6X}$0}VctCTD+33aI3J zs{ZASfB#I~L9MjmKM`?OrA_TfF_mh0@zOw{6m5h3O1yHr*xTz4Eqrrxv@i%y58Gg- z5K@~>&Qlx_`RlAHLUQuv`K7{w%LldsPa|USy5}tx+cT{&6nmomMaq|)!k%!O2JxF} zB5@UObgq!oy*hJwqEM~Fv88-8dm?KYb=gP;d*F~qtDM+uO0ZcoXM9#8^=ZT?g=#5g z_8WH-ko5#kEbFQ2cY--{hZoZ6o6ym>BQmXu8RzJ_6xQE&78=fZO=}ehp zy`HmU-We4E5r~Es*+p-)eF*kHBc;$bN=w~@no4g$k*hZWj{+u!Eqqi})fx2WkdA7lkB5haqi!z%96z4qkpsBI2WZDzMo6aC!+K9Zk!KgeF ze;O|2=t-p*j@Hi@-&&5sT*p0j<+m{rgyejP7C#KsdGMNf70C7+H+svab+Vmw_I9A&+H@akGIHWuW41tcp;_Z z*lFU6&$l@eLX0b-mkAcLZQ`+oOTUX8?AJ%G{i@MR`?EVW0us1>=@Vu3>)V~JKZF@O zsxXn3Ax_220;Rp+_LlJgjvp8aFUfXWC?Uofw|*%kzWPB!5=q%6C(W*Zz%Ddv zcZN@^mEqhPHC~tRy6#>Woi4gx4#S^U?Cdm5&mQ$F8UN9ybWlvyGKR6iX?=X>0^2nG z)0G@Vz5N*`nBTCC?oY(2af;>Tx>_IS>$ZMPyE#XtGIa$aSkg~DYv-6^Y;I*w{2_Y5 zFHb!!-9M($5qvdY>xjBFXVtf%E{uOvH%!AG8_o9BH!Abt&Gt+~z!d4)==szWLXmO@ zEfbUa>30(YIpVOgNf(;klc-&3U4rg;%Y1v@oGv^M`FpB6K^Tvr*?KHddJjb+G&hpW z9~pE@7E8iwKGb3^k7!xa)y-Bg6TZ$9<#vZ?!1?P^Wu@-s3&edG1eMXJ(jx&^ zXO`V4-*CP*w^8wHX=}HJZ)I~@IO2$`m<$IL78Iqy*kw@QisN{TTx2jUdlCJ|pIrUu zIsmQHxuxr$-+3|ryFYT4y({efulgPP(@NF8lJl88jyq@9nLji&7%AX}`reuDHEfX( zU7K1`)l}(wMto>v|eCejuRT!VTLd4Q-xawH8zWJ=fVUUo!}lQdCws#Ivtm6 zJY9r}jV(S-Z_B^jadc2dBr%r!+`TOaF-g$&ml^Azppx9L59d<9kU8#_*W)Ed(YlSktBW4N{KB`9& z3ur=-nK_iw)9O*@YH!<9FVN|sA=``_(19CgiIOLETgXdS+)Bi?7dL7#TN>xAAsY`b zXSq&F(z8zOy#IJgw*%L@XYHq~L394Rd{1r2w&y=)w4X#3LPoGiV%)?n_7X2UZVQ#he`Ingul(x2^Ex- z`?ddlw~D*yXve&~n)n)RV|=t$k0|i7y7JPVFP&0BB{sHiwsehaC)nHa)Z!8sYCrtE z3b35`XX=pKH=S$}IL#a7Dkn4Zp%_U~OV99}>jkV9KV^D08^Q+bPAJo-c(7NaJ^!)wJuX42s|qQo zVzv=GQhbvx@WHEPh|DOwDmh^jmNQRMI|znEF>XZ3DoePtXD3{3vc>^*%V9WGklI05 zrXXFCQ{)`mq&q|p$9j6C-1JFw2|Z3-GA&=xs!Z6Gr>)t-u`c2=Is~-0{r#$kw!n>q z=FB%i*|T^@{o;hVW2nPBZwB*r;HL1N@G*QOn18qA9_gSj_&crx16Gpdmr+7dB#fcC z%cA){HuuQ-F`&WihHbPVW|6+w!rOV(mTkGvDgByKmSkAt>N4z*a%q$;)6-VlBu&u*Oj^pzJMtlYre8WoZ6orTeP8dPXz+1(gMx)Q}^igJxyV|2C= zX`|9Mp<$ffr;2G( zg+sO1Pu)kACh~PxNZ5_e@I)}_)BKcwlkm#Cb^0puL3Z?^_kIvEnYN0uJX-fXS=pI#({!PyrrLqnXp?JH&d;lEf8*q4pdt`kL6 z-!A{Xh4o46udKs0E|az_)+h4GuWYxc5j9^gAD^aw{}}3Hd&C(Xr^|Q?m&IUbaWEJl z35#k(gs?h-HJ(R0V*0+CkQ!V^o{cj2bW0+!M13mTVTLK7hjAj2E1x8Zl}7V?n-5t$ z6C8jlroHc?M4<_5E~fGDpJKHW!yFX(q@xN6s^EF=7S_R=b2)Gn!^YRH(koT^3ZMSkqxv%$r?#bVrqCB%3hwO9q&Yq(c!!>#(Gexv;n@`rKARJeKbkc&QgFQV%0GISnM!IbntD>VwVh z?jCPEkHg0;J5P(7snRH=ZlC;}KAW$yrcJAwgJ;^;{6)t7FS^(LDQ77k?9Y_T7Ybri zD=Uw!!mUKO`t1&<{<9=4vgzNnmtV%UK$!m8@|rlgCJN;Z)Xtwtb-B8#RWh+N4+r?O zI344>9_1`Bo_cO%yje6+x-i?g5Lvy_D>N(5B9(AsUa<@0_^kZ20Vb&^o$o%(N?>Y=i`#n9jU65Xrt zrO;=~Z)>>emTjVT5dZn^X9oF> zBx9YMRP8SgTjUywYqX`W6$44qvYVS^3hbsL!OP_AW+*TUUO9@I@)%aWax^lnc1knA zb57PRe5p`k!EViOo37^j*=VXfyq&+Re}YT^QXDbC$?|?|)XLP=NyLhw4t8y~l7yhn zYq{`>n;uy@0<}sLz}5Ks7svG&Qu{_M&6aFT9+ba-Gi$iN@>~#l0H*thM0Lw>iyF60 zcR{uOzY309OP$hQ$(7aRH?!CPTE)NFk<8bNqEq2NQd)VO#JE+PB6h&2pgcj7an+iC zK+Iu5BP6u*jS37IVV6oLSjt`dRsRra8y|dz`pm))-$&KS+?-)6&SPhe@q>%SKOEnV z{=KJ|te}NO#;EV^?$m^Y-u$c$G(odI+D1mA{SDOCC7CjGn_FZdML2lccs_&{5`VX@ zPGX{>;Nc%8q`D8G=Z$yI%_Bz8)(GU!NPQPq*#g)r&XO~G?-W=r0(BDpTVPBKokB0M zSlPCYGhTTar!yU#`I@_2GGE2oovyPY1@G#6)qBW#-X7^#|F;4fdf3}jY&27iY)DV4 zVz~%=&thqNDYOi=TYruj@{d~kh9Xu#U(((a8!qps##`yr+kAvr3iN@vi(0*Cs}b_z zDrdaPI)NXK@AXyksIia5@5)E8ee!Y^w5aGWV>~R}Hs<4k?ZN{-U=542Ig%j55suJe zT8v$#b>!645AH$CM_8!;0IR6;w#k&iV-QJ+^FZYWiz& zz|WwZu$##g^;X7;Rr!SC5s$!d7`_1IQ^Al~=_&m$8v>mirXSdQv!agCGaZt9+m{vD zR9E~kdmmu&uS_JQEgZa_JNU#>kg=+NJz5qukHweVd!ijxZdE=&jS)l*E2Q-%bU<8?^X89Sq4@}fFuO^8a51Uk>4Kfd$yTbB;wM4^^6rlA8_5DG z%j?mUa#b-t{Ce_4y5ib zHe;f=9^L%fPVvE%I1%cODs&_`p!HuGZK>6lZ!1&X$v_ zU=0!mbFWhF9G~7x3EKzW2(Y$4*bplGOcdR3MS9Gurq`2tQ3d64uf<==D#3t|L3~D% z0Kq&?0^dTDyRU+>l2oMy+NSXgZ_Vc1px&gzVdS@+D~%fa6TY`pR5FYk$aSu?5*YWe z6GgqXCaWA01|t}y^FrKg|t#ZOWInqX|@H-BxtUg=sT0)`h1 ze@lx~lRi8j2v+*@WpLZc??RWcCm^6Jft7vm7HyNq%D6H2nZfmAl>%LDc&!Jq0x75% z{W@MV{^5DjoSim_F4xuWVKFyUrn#{^-_FS}EiFr4sJ@ZyEkH7wEcP_7?V{dXejj(z ztyU9kDW7NVth^bPZCJ9UGn0>3WH9;bzO>%#qDHS96>56|JyF8Z!#a0E4zrh^@7#Rn zK)k56rQTfhRFp}h(0y{e#-Fl=3fCuu9pTS<(q;y}5cqUa#G4-lMsX@Pu=t~S-r5`N z+F2blcmzumGxFVY^$QN86I^{&1|O7Iw=xQKNZ!cEJS8p7o&7z+h~hdkyB_SjEXLiJ zVd5*e^7@+ve@y93GsKPgh56}1L+4gTgWUC~`|n$*sG>!kTCkJU6huzF{kV%pU^-@M@1dTty`VA{jN@J9UZVmnro$FBDQk-fz} z6XTdxLel=~n59Yqr>3S!k9Y0JuSzA=aM3uygLCVn>$5iv(ofax1QF}kRL@qiJOj5{ zl6BBjVpYrSmRKusj1U#K%hz9WZ5;JSmAOugo6baNpRY(oRoUOQ=)9mq)D2WSw=cPl zB;xwwjyLonixr3I{%mX8JMTt>rkA*0oizOKcHosxZ}>a!z!!XPVH3hW(M!SR3fXeV z3ldKBv#mG{v?Na$b!>gGIFtTam=TMg{bDHtI z2u%3JA3@rA!{NTZ#5-7x{jS96h?$!XYoUsv1ZVGO4! z&kAF_#`Vo`-+G~~ykM^?kNZQ*md{Z6sL{u(3}5XJxlsIT#Rb(ejbRBF{RoaqXt6() z|1>rOT@`p7w7Fb92jM?RdM=q_grUac?BQ)Ne0faJlUJz{>@X*Qbjsr#yop;}Qjn74 zU>;|jF!ZMzNBt!Er0tccdQoWoROLXmm`D!8i_h|Q4+viTN)R~PH#^vN+CJs^t#oD) z8U1vpcc6bdJ_&6<{k?sH&eyL#LdkRWA?bD(JSi4q%79lBrh zMiZaS=Ge!x0$Hi-A*0cKS}4s8V@Q6#=Jh ztckydGc=A@>cSk+$hzJ5AGOCUUWcTcIYaWmvXe04eZeI}e$anHeY|_ylBMw01k{Zq zndeE*ZMWNEm$HeE4j8^LoW=3dhkt(RQX?Z1&l=YG?e9ilvr2`zZzd)Yi*CJE&DNAF zvMLvilBrflgoU12AftiGT5DXHS&#u{1hc`mfRM`(bv1WU7?T+KP9ExA$r3AS89IU! zM-$ZD%O$+&TQzA0u5R>PQ8CJrS%RG6v7CPYi)j~zbs-`XwW^lrWtJUH&II$DwJ*ErWsc6&VJ>wdPBb_KQjFBBw5=7!mYKckzpCCD z>y&qM_cW}vfiD&&qskHHds>ojZUP;w;iCSXlT%7y*5}-N6A>>$nFv1ZbJcOwm%yGf zH;?M(x!Olv%c0~*P@#A*)haTx0{b z2T!B_UrL6JFD*@{Q-R|gKk~{Qj~JGC=nPM!G99rPRe2kWV~Cy~&G5~W@ztP9OSA9@ zhf8=$&<2YL$mlQi#`zkH5DgTGiz#t@t=l^wI;~POR$|Raw>--6&VQx0A)kL$N43rW z?Pqc|`3sVNOUC-dwv;sv_=+1sSVcH;UU?FpCHOrFfg85l5AHwwRGH>~mZN5Dl#^4W zE!TTZIe|kqKi$|`M)W+igz}R2LE5}F1#eAnf+1mFcITrmiE5qx{sgHPocOIzN$|W+NFfY)c9C|a%N{}Y@C&Vdzd44O%7@&_=t%4) zs`c$Go@>MA-)&;r6ridU?i%+(Y~$Z8E!Py`a%M_0!>?KbF)diuCAwgB=U-FbB}x&T z`-w4a2q9;6Ru~@7-ZMTHY3XrxDI3i>9Cw2+++7#WkwWi3==rGMX3ioM<7QqdrHo>8 zK`FObUb=SWhJnoNG@!M=Y=3fc<;!0EUwS}z)kNviO>LWd$zx|1(Ux(ihIIdl|3>k@ zfbN7+ri1I!XsRcb^HNjp0%$&SD>n~rMr!^+bhhw#Y1G?0TDv=bt4)NZFD+|`kWOyFfG8H+Z^swm(+oZNg_-Y(*c|M<7R5;A-GioP{O7T|becie(1ah8vf_2eu2vq1tCcljs`ICIekzG3=(N;0vIvOh z&0D?88KvsSb({8s-ZxwF;FP`X=8jpl&BhPb^PTZ8(5ox%U9S@3;Yn9mtwy9=c^A>b zVi^W^fMm5 zz=S@RF2VR}(M$Vm^XXe?2Mbj*tFN?JXL?WF|L&SWbLKkn@;v@|txaRGyf3>|qRD^N zRqGj;rnn_QOot)0_ZD3up61z8w-Hkm#o7gRIg@Ko#9z4B;cvzlID0EI%CGI`9+3Fc z^qZeh@_squ=T@k6T0uVv>)+)47V8pdmwLwY^6FBtzy>uB6_x+B&>y+M--f1eA#@HR zqG=Bg^SN`Z{h^FJz(;003(uLVoATVDn61@1kYk)Ki&{>2d*|Jg*6t>Br(p-A8JyM5 zfg=}fLt}rJI#LuA)F@tOR@6%C;ed;iU8xGk3vwt4sBl`CwXPtCb=dv2?^jVNXjW^_ z=+`HHb>z~eR`dCSZ2CiQJj;Bi+9l7|vd0N8St_=jA`V7!E%mz-{$+l~@VY|#(&1&A zp+IAgnTARAS%OPyPpUBds=c<8$kK8KTP=1k>BEGaBa3~sO;iDxK`Y|J7u_2p%_o-_ zxm#l`)lVGkmv$s-DO(Ir3bh91oUgReNQo|e0!R29t6*`YpXUpsYERaSiO_SqPic>B ziv54}NmB6G3(Hs?qPGeO3hjf^MPL9%pjX|>9=JK`o%Xj9@vV#zvP`BFTkPDVq|T=m zlsy67c^{s;edKPT-;#Vbov=^ zr(lDY*L+7Q&kaj=lE7GV;rub}|IO%cD67}MezbOx__+?ycQ6>{71Ef|zOp_2&`iRh zS}LXIHxgwTYTA!YZ!57clkF+izV8Rou%75g{byIsk>9n)=+3-m6y8#X4{4@mHL&g?qZK$CKPuo_}MAqS(GXl_p}GJ3Yf3e|6;& z*_JltaHicN!NX(ookf|0sYt$5aOD!x55hlcy|tYYk`)S4G|nu)QU_^J&5V25)zo=X zc~j`!Bt6_RPM;NX&7lcE*pR{Y_0jR)6sf9a?}aAvYrpHAUtjD5ZwU!u+*Cm7o|LS8 zsAv%l%ep$(Df#$qA*7{bjG~mBeh|EESS2^#CDeEm5wO@BhY88dZJQ0hRClxplS!1> zc3+~LiG1HrGxw6D4|>}+!b5y0QZtq_EAJEvr)q5{xV*BSdrW|UJ687PI z!`$(S@mYOS+EP@EM5Z&MXMF2wRqsoXQBYj%<~Bb3m@G$rru2yarQ?;|6%8&ey2Do4 z#&rIa?wq52@q&pRt>bv7wW+BOep>{4^M=%(09t<0-#+I*P~uY=b~UuEvTjj@z)hOy z<-y^S2wW80uA7Iup}KVTP{Jm~i5>Yur2&iLD@&4Mdij4hp5Cxs$?WKu+>wI6d93{h zJpL;dHnBlY_cmcLP?W{GJI-+zgnA6uFnT1xx=j zW;3gi(&Q_LH~F1|8`FFAPpmI5(QL@~lRm`At(|&*ZW$k7u4jjwbIbiLbV$*~IqAC9 zdVP8J$lv^ehGaV_Kfh_~H7e70KSl%gwVk7Dy?8iP70b^k;V=XRzdK{?cciT14bg)d z^@9r!vBMk9$Eh(zU7?*-7>W36g3TX>^5oEZmyOL|evagL`}V)sb;jwPcLN%-S@(8V zmb!D=0mqY3r$yp3i*oZl*h{jtHF`OrvgKS+Y*O!yNo4S^`XvF6ux1MLJfx#Vro(P; zr?_48&+jdi=b8RAmQbteo6bGxt#LIPua3Z+;E>AI!Fa^3fG&3WiF>-4lN2d1fq$gt z<*SY5p2w9Tc(M~V^XX^4#QckfPR{r*^geuWCgBUMkfqbq(Qy+>P83h4=u$6_PVm4H z3xT%&`V{dBSu#NhAF%XBG+!nqB`fl2)9DK14?Y|$(B$2w9BU15_1wd;Ym`^5`K>sm z6d4m`&0juIH^l+HDvi3KM?ck8)PLGiE;fx5t=Kwll20r^Tb$kX^F6Y6X48qH|6lGwFRK zOvrb%63If%`~R|)IK}wnufEC_-Q<1FY@3Vq-}P!^jS}(7`6wXcC<9S1+QG6WWQvsJ z5sjRrPFzJ-i`P6NDR8h>(u5 z>daruCjI*qzT)%XWm-znsO=oSVyuW#g@n z1*fvy*Un-^!S&OZn>}QZ+9BGp1W|-KJF^-wqN7KNh z9x4ZR+Z!SmU;NKXY;g*>o2SPY)KYNK7NW0 zsv7zb(Y5(>E05RMgc_SYzCKRPA~a*pGg)w$V5`J+4Nvgmnp)d30a+HeIL47UC} zY4n^Ie~PpVIA8a{|1Dl~qiTHlDqJg0{w#J!_4|qbppV5i^@A(Np$Y3bDCR%_`O0Kh z9;}eE%M1@y!E4wYz&E#%8&`C5bJ5H1WTtYoACG}Ocx*JnRbNK8)FGLw5_M|=bFsa9 z{yCm?3Fqio!EURqgfpFLj{eVAEV*S-yu`z#s^Eqj)m!D3`}B zBt&;^z5XlLa)-yt4I-$%0?lgtYJSEyl{h!?U_c}amm1x0Q5G8>?;+!P+|wC16@gBY z7_q1ARc%`|MNdDkT82tS2oixn3MX7QqhPx^QznfS+A!3_avLt%_jecHHgS*OrOYp{ zwvRP2$NZ0zlMW^0;KUoOZ}UB?u9R}JPBic8?#fUuW=^BA7=}k=M~t6TJ&vqiM%Ef= z#rqFPI()>Gk1Euu+>jtV#aJ8iU$4aUmq`5#A7!0f!FoCP=>P7%Dn%z&*$+!d3!@5( zul_3Q2?)I7bXZb~?t%kZq7Zk43{;TD@z_#@)R2cROOSj!J$&dX9xpz~3AJZ9oZ$Gm zJeYbQ2XP2TnJp*p#HltRb!)4D&InF<&k-H3s_(cJ!}bMC806}(5)qPXiAhyJ2tU+0-xdm66m{ z#h=nP35TWN2;b8vzDlXoioVkpoU`a*f70Lm`uN#z?*x^9^77H?m*>c`BD$-gWpwXN z;Qi!si;WU3P(EaS2^VC5#TZIbj&wW9N^FPc)9x)C4wL#kK19+L_oxJEpq+z_8-D!| zRV{nkJf$xLceb?n3(mUlXd>toy-KQr489fo%Gt+Tl$vd76<((b3#*e!Ri6w_x1T|!bAOVO5SiZI733mQ@Dd6?A&5plaFijG?8C@u2RE~)i zcpoTKeko&QTKlVtTer~*O)eN= z!-as3*~63csJ7kULH`!(#6P5LA3ZxhOZ*w$6IZbj zp8K?FNB+=c=C%kX=GJl7qr5gLMp?re4X5!zRGd%HUErp@n6x2TV zNeJVY;HK~)?3zjJ>D>>OWGnov=A^2KVHH3$l9#er>5mmB90sF-RF-Z`K~buwS}=U4${iP@ zz4jZ`XHWs~lJj3bI2U`Qe7q@-7*brpa107Gu9EHNRv?ju-y(Lj#4nolv_RxBD<;Xr zQML15f009rBVD+F=zLx@AXtb(W7yxwY3hXESm_|bbkx6MidIs$N@Uc@uxPVL=IBxeNZ)SFNQ!u}P8b500DH($R>ucRU z+!xA8x1b~GRE0cbhpS&B|9H!wQ0(yv^&xxRe~<{(8x%?Gh6wTKoyg-P{y~W zaKIO~{oCvl(0`mjR)vf4e02R&>)|L!$6Wi7SDDlhR%n>ZkkDRNEu;-l-$~>^oD#mv z^ol)AY{BCc?bhFgSxv;;OZf%I*zVrN44hr_l^2eHS_BnD4fvsuOI~r?&K||QsiNeO zLG&*(>{ALtj;*zcgP;!aLXV@sQBW~|_h8FH#>FLeE02087w+MN>4zKT4n3vwNMyu# zapsBIe^*8HLfadm;~msDkUkMEFC)hJDFoo|ZQsuWquL;xM@-l~i~(=B%ZoVnhftzQ z?Zg#u{E4{M8*}7y`-D8ZwUs>RKQA0Oa`zZjnf>a6#cMr;*=s_FF%|Tq{EICO6gnuL z2;n^>NJR|b6U5)^6(eI<%03Wret?DRlu`Hha5%}xF)W(bn&GE*#1rW(XW6G2$m)xp zS&3~hmP^%Yzg(qtJ6`Fkzc=)j%akN_|NSbsMu7JtjKAq>j{%|FNAY zx2XOjGt(dq8wsE<2sBM$p>zelrbdO$RtNAO5Nr=D5>`oQ^?UJP2_A=F+`T&wd}z#%u#pG zkDvf(1nev6vd3^H9nq>5z)RNzycpuTZ-d2UyhKe9EPB{yE6f3B4@2ND3`wAts8Z{! z3Wk{J8RGiybCind-c7kN!n{R%p0IL++EAcpvE7El%doAVR2 zM_{EBS26spS{wwiH^BMI#jk~jz5t?1F#H2<5af84D|c!{_AcB%-c?ps238vkCNGB0 zNAHS2Ii<*SCLV;pfN`I&c>+isKG_3_NTwfvW8jp%zdI1whE$H6I0vqZOpbS7w zv;uZ{zps6QaalpHqba{viP>#_hlW31$4?#n7nnu1GRbfYo$57Kln| z6R`jxS^>>RIB(nx%6{L0xPXW+6+PaTz5~K)qHq}9y@$-OpUIOoL83x3v8YUa_VVh= z+|2BkvWDA7YS%46DyK@=>h@lU83=FJz0*#f@6D~vk*>Esr<^<__&(k;HtiLRapJUd(NGMMenZZ zC-sum)i^rjJrd~~6#G=PBd1o1ThCz4j}fb_!coseJW1B-#H zx-wYW+-xgl`fs2o zBw?rY8|;6=KeaNp0@%Zmg|St4G@Fcjuuwa&yMgJ8H827&5d_`%9;Jz=cpMvPio|D* z0Lp`gjggX2LHaiztpAy^A(${AIFgv%2U6)NDJgFN&kbZxf)WJT2N+02MMaOOsbv?8 z0liBGsQ9pwPWS-GWYHX^YU#b13=_G4f_hU0gshK1_yJ9V;+-eFya+U7-Pv_{zK%=shsH&$ zs0+{``2b1cs%57$A|S!TLx^L&1=tV}I|1VN4)_-U7-}oQz`^kZaUq04gO1KEfWhAb zg((otAsm$h1#Zw|$0Z~4OK?8N0PGw>L>2)f10i65#r`-33aTJblmH2aiHeE}l5Yq+ zcbW4Q*F+kK5D+tIyeThZVP;0ipaPMspmTes76OiVk_2FBu49N#qwY}N>6_1SwqCv6=pc=ElRZ}Q2dUy>GW&~Xpl%zI! zGGN04ke7vk+6&562;GfMKolZS$G}}iP>M|Q%E}<|eTd+f118%akS_@Ks{%*?gI+U& z*C+zFdL%g@Z(}(MQkBK2A_Q)*U>WSeX0)ljFYUji&JErb%!5V%mt`in(Cu5mW zIt20)G1|bi1M!~@0XWB|2=sIT#dg37Yeq~=Odyz#AhXNa1NvAdyl_7dghWCj1C4TW zas*K93GiTnX^P;~!s{ReSrOcFB!qG-f+n@jD=-~Uf| zeY6aiZjYIsBQ-Kbf?fuwK%#;!z%dKJSzdyTMris1kJ-`MPb>** zaAZK?k9pIHU?0P4!$?5-4wN7Sc@R{i2u?pg28tawH#eyG%!9eMCNY%;;FUW z>cw&AqQA|}+djgFQLu#b(6*#X-!wUoN(>(E`G$HOeUuW)^~Hp;Av>e2Ba7k1w8@bG}9EjDnT zt+pp0(n`eVgj`@07Z-QF2nh{!3lEob@8l26-mKUH?~w=qzTFwHvPeh<1_tWnPoDE? z14EhN@cc;i$MH5BIVJz{zcU-;M=$e!tCd`oXJp*+vr<$tIg1{uZS38N>YE^+WnIZ$ zsCDK=qL(K-%`#?XgOP=qAfMb2@b5*oK&wBg{D!rNuyEbVLAGd(?$G3ltm^wb7e(*k zLpcvX32T5>EP|Wte03x*8p(tVs?%;T5@Bd(t8f7EZD53s)Lc2_B?;I-r0YeS5 zv3nh;aL+Ki-Hali`1x}lzY9(3%ggxsnp#r8KU4S35_Zon9!r(@I z{Twlu4swNUj8_;vHZaQ%bHtpTspN8BBav>j6Z7Z;SG6(QQ6l2y4DgQdi9PDm#9SJN zzuf(H6zdT}>vU@zOt5x;gSw_63mQBL;xUo_I!#~zzPY|};r8Z5W&TZ=(`^u1^m2C6 zL);fM;fc^Hrw3m-jzXR;G_*YO=1rKsdrcZNEM1W(#7pM;i=S?xq16uz6g04d zCuj!MKmgx*up9GDvEvdEc>>NU5qN@Z6?#QnWZ3B71DX&(X-djo#*v|+_dwMJ|BklJ z_9suO0HIR@0s$cR>;c~4F7Mkq9|C%WCjk+fA#=Bx1mM^qB1Zry|4d1F`tKiIUNA`o zirB}G_0}_2W!4+_RbnGxJ8f-HXlOv&NP>y4Pk{K(P?@!whh$^{zkYqZwC^H+p_HM0 zUgS^AnZ@7Ym;XUV2Ib#S*k6+?(WaJ~Mt>I<`VsZhZ2ijx((fV>wvTwPP`{0fzi$or z1GDIR5TnSfy)Kcc7}j62dPXCK8+3LPi$)d;X`3>1qx5jF@+vBKgC_ z!a^(A=(ym-w-zW-5(jRCCw)MR?63?EuYqrgvF|jkc zjCslg(De)7QT88h-V_9xX#^(`;A3vkD+onFgqQ(nbd1%rKnuFVyaLQOG6*Li5Q2bG zM5sN1kN^Ugj5%}yP-Z4j?L9p|e++7I;20Y~uLYEk(ZJ@F!~v&jU~ur2{k{&5^CdCJ zqauWGq1WW}lDYY5LDT_~1-KSA@3+Ic8J8P>zMS92$Fj^9Dx1rH{;}o4H(?-)U+p1JXVzXtwTct9~oqD7#{PaQpTP#JeM-8voTj zNOu@AqOlVgP0^nG#hq;Gf_*REQcR+`6&sfBb)qG2}4t8efT}WT_gzmV2~0P6&E8!#{l7t&|}=)-PM>_U0Vd_rhx`Gj#bQ@&Kux{~kA%jLQjQjd9dfQIph0C)TfN8g;d~yX>tpqOF zEhvcH&#x$7fA1DZCu5wQxuc9o>FSbxx!bmbLETUHuY}}JC#OXvpg|F?nvahHG?s*9 zWbi>K2qA%3f=I_e@C`y>1XLNA&bJ{s^8}|^R{|1zbqjlRRU?)FSDoFn(+4rq2~$Y4 zfH}Vh(iK&prVYOH^k_sKE$uo4FtorxtY6sM-5g^9`6ICE9Dou;NK%xTOm&oOjTO>D zL%ORoHZ(Mt?aen^barmL%F4?VDe!$e)Q41f9>Si@m0)n;wzen2{GBi#5ehZnS9145 zpJt9{$!3GTBkJ+W*};nTOigu}S^gaD=VzqN(Z7EA93JBI4H{y@bZlyk2>1w;=K8A( zsGihjWDvhlUf1ZIZvI=m<@Nph3b3l*+Sr&ZIbFLrxVyhEvuC*z#}$>NTxtVp^;>cA zwZ+HN)6Rbjn9-3SoPrQ{ppas0tQ=sc?^k-#hH6S7ask5wy6upOXp;8C)~Ib;b8Tw%aFcqgZOPg-aCSSMTZoUenpkd<_%Tl@Qpv1lv;% z9W*ECKYFwM1MegmCdp=W7x!0W3Dl+l(3qS&j&1^k;FCInGNHS|rVIKY6SFv&wGLSiH2*f>7v;wzj68tUkE);bs?3Q$9G}Rz|_VFhAUx!BQ?IdnYlG ziHo<8WPi|6%k)CM1SgQP79>yc0o2)FYAO%b_MNgaYV|kq#x6xhVs5!zzAZn$Kr^e; zhv3NXQA~!!HJGgxeEPc%qQd_|>y|9c=NG>r)g6-`Fxhn7jXmwe+?mnS^1rYG$)~@l ziF9~`$Alp+D(I@JVo#}4wfpDyQ1WJ~9^N`(L+?*=CkYN7$aiYx`7y#_a*7JwLd^2* z;rD^TKIyc3&5`-otNO19L9`4!iusr&?YBcF&#*8~E?W|GYir%e$km}$+c$i3n-E@a z10*tcC`^YhArMI38keVgLmbyFkd7omRt#|391Fr^NT{`d$ZpMCh?B_;)gNLmt7iZg zM|j^jZrcXXUICo#18e;m24EKhAn-Sgq1C?n6uAx1q<+BfXW2C0j90@I@bjkt7~F`; z_^7xzOis?IuOq#k^bqs^3c6o~|0^sE{$}vQ@M19C*sb~<4&>SBdq%LGW_#>pqR^f8v{6m?Cj|dl6@}=yv zvu{xS_yI~jAW^`NR0r7&!YaT&+AvCF`I*K2$P! zzae|97`!g^;Li`>5F;A>6y)6KbA;CH6aDcTnIP@w1cv^73bk*6Y9J5*dUFVhF;uxe zKllS8$Iq?S|J}dq!zs3I{slWg&MGTJ#w*~QO;VOkSXO_bdCqJX=%05Pk_XELiFL3&-*q_Ne9rON7785-Ah<4@ICBTIMu3Ry!*x%f&Gu)oK31{O*aMg< zP0(0lx&Vd+I9MXxAt|$N2mU2A57cG;p{may8BKj7d$WdbYdYN|UoF5(!ffYUEfy?6 zLL{7245gT_KfZ=$NeYnQQ0zQ;aP5+yFC;|hu(Lce4)XR&v`rB&lOZ|SNV$1wJZX2B zJ$$oEg^7+Go1LtGhy2QL?%->YL;@e&`A2qkc1Gjl6e(}-PYwJxJa5FsDagnjev6Sl zK}szRy}UZ%w>x1ZpQPTdp6dW znTv1U87ei!16?gueZ%a=fr1yz%msZAHrR0Y##guG#--P-MEtfkbh<~Z;a^pSVrMt` zM))ocHa4$@rqrG>-_CUE!seLE?~G@j{mENYKqmL{QmArCXcuqWJv6vgrh?67#q^`J zl+wtUdw%hgY0=kIbnZ&VGP61UrlzNFCGt2uur{zHdbv*zRtX@328ngcBGa3-An%iH zG!QGr1-tz#+{7d3$;I68pH{nTo(CNr`@}3Q$SREJV9EflstHxmRxo;rnVCPq7nC`i zz#c*Cx%q)owY2R^H7RN(5y1F2AWCVF%x4K;WY+nU;y@Y3o$$rKxz$}3KIblIBn-$7 z=9YXpn3(jDp>vVytS9LvPib)>8v7L$g@t6MZi(wcQH`Rlt*TPBOS#-Vg^Xl(`0O5w zo>5CX-v6WS&7*RB-*@4sA`OZn5=BYUq-Y>ik|;&9B$`C?JkX%htVtRq(xh3V21$dW zNF>ekBx#V46qS8kzWevbUhjU_``c^(^{(|DJ|CXve(w9auj?F+<2cWAKveX-JfbTr z>vRe~XKF~$)%TKFo++V+WbK>YxZUkLB_U`o^F_!t=^%i}^1=g-D7IkiPbJ0oJYmIPRTwH7D z>#wy@e6jB`$G&dA@nc+u$>qnlZ^%&79?N~{cic33T{jr7D>G}4(c8(vVSE@vYA}e5 z4JJm$zuTNcw^VKu6Z?u`Fh2M1d-PTPq~qgrqjOte4cYuf5eXRf zRm-Ehy!Zmb-GCqCw#My^G?**9EAL`CBaFEJLax+>Xex`>U0v)L9fh%f83NI_7*rBv zs9(PHc=+&HU{%$oloVEUHK&uQUUkS-*symOUpkNI?7%Mkqy`?m+|2dXX0I4`No`!L$UQ%i3q3X6qi;g~bjXt!>!d3(%Ji+{P>dDE*ld5A>-Zg8LUcdfoWH>uV*Ww+_Z$x|dit#QoqyXhl8qR7`E>fObo>1>Hr6*Y z&*DC~=vgkAn0RC5`*QA}DC3{`Ya|t;U0YBeoBKE?l!?-GsMz=~x*(f8I`7V2UoVZ5 zmp{j0ZEP$MzOAb1bnIY->$t@q?nJds>u&(P0p68kd-CLl(TQto-o`5pO%J9;j8q^v zqa>xK26rYNncBc#X|shh!4EtAj~@o79sfAKnFnJ?Z{Bo3RD1$Q*$G;g?R0UDZXCJ1V@{oS|mSuUq_1MQK*4Csv_3PnRfOtxFZ{aAd>E2&8ZJB@Z z_}Sk}Z@aoM0y{IQpnwj~Zq_2ti7Cmr{FUBkVajs%N)@M@6TOm&6}ho`RP@R_c7j}N z-|kgxYa4o-_4)1zkC`7oJ0GoZ_PRD5`!(}rc>GtWCqGcUxSG~Wb3aQ843h-`9BWOu zD2?$4v&v6~;tf*M7!1u0pQ2;*45_WE8k6?yJ-VeHtjO+by3_VP%j>V}yJjMIKh|b;=z(ta3|+_5?Kf_uYWm zF4=$FcU@L@jl+*Fc7soZ*n85AW~t zghOYJVyhwdLy{g49L$9WzIFRMm;3yE|FE#t(yo#@bIT=GS-!s21~nm@ZS8)&+u%~5 z1|*^I^3Sgry~(I&3uiSoS04+QzY!n54^b56m@^~ca>4<%?qSDJfDNe)T_$s%KfFlK&8JjTx-9j@%+R76|- za1{dsDnS0ODYmp-iz~qaJa25=hIS8Tg9GfJKIMv<-4fQ&yavbfvc^Yp>{I8@xo3{X>*5B zU)ZnErD*&T3+pa*{GP(eXazJLT+dBD{@?t|+wWUfj)2+0Idk5^NN!UDVVr+X zj%8RcV~hfj*8+=n0V5r9K@MTioOb0BvPyzZyRrdEPiNy#U%C3^!7}_m9~aAl?sd0_ z+4%qOUuNEtxxPe)=f*3E_XZTk368lUvu=l~cS(r^NJ9nAda2|3ZB!mP3m!7^$ByCk zm{V(LXpj(|2mk(j{Ks*8#9!clc|-J`(!VeP(0NOP6q@?4K_aKR;&>}E5($lFrL`;& zI{+K`Wna7)!H%rcIa3}eUu!T~mCex9-EY5mbs z`CaNViR&;FHk4gVKCZo*5!Z$Vc>#P$f%E1o%)}nXNL`GK$tjb;_?(*n@si>8es-KN zIUB1G5)yKJTkvNxDh$MZ?TyuplerN9N>cF=Oo+=Xli{eqi`Rc*M};XvDa^+&0bgE) z9~3FOyxYP*PoZ4jCTivK{m4ivv`yq&-U2RA;uYN(L<%ODMEG;yj7bS-BA>rf$A8{E zEbIFDJvV?e$&&_Qk-$#?DpDc0Q4i$VC!zYl>W|w^U+nJ1ng4_RtP%CVTL$wP!2)iu z=r7t5@-9(!uhU&e@O=R4mA3OmVfS z6j_wSfUc2@#Ot*HV=XFejvl3=4By5O@y*QJ4#+7L2jed40Hk74=?x%woo=4sOEIp) zw{E!2qLR!reDPukz*5P~kMo@mqcXwUVnB81nsr=57>LKzkq;Z7^GH{HiZjNe0#k#? zq;W$q;TThBeM^Rhnws#wPzy+%^ir5Ru#FkRB*K7f)z#IdJ`We$c_REprh01p$LL_y zmH151j?~oD99Fk~08a)?Nr$~)4ZeMJ2WBf{Di)|`CZ>*zii$&+&OmSfjc@rv`Rgs< zQvvA?kB+wPSoRMH;K5Mi{g<1}Zmn?K<4aUXd-#wHHMi<}Qh4-tZ-Eg_Uw?lVgY^wE z^$)|H`>MUF2mUb7(a9m;(N0!fk4!CI!g2^)W`NOTWi`g38n>hz$4SWgRmG8t3;G1) zDB=P=97P;y0>$Q*nHI%aXOk(r)G3MCE#N!bEoH&~2V~+yyO^}YB!3EQOyX^HaCG#o zuJ)?bPSx^fO)|<>M{cC{x1C=*IgLMf#lZ6{{`~g7pXb8xGBwzgDQ#XP5l7IPn3ZqQ zhUvN4YPAA6ic=<{TeXuvIzq01V>jhgq2+&FUTJPW&Uc)w*Y$*dm)WZd*srCf#aWMB zjlhEVO&tIhm`f&|tJs-){)G1Dzv`^ZwP$3PwKB*^`ORQVaKF@(sd%Vpt%rFzEf}4O zp(dJazrCUrs?|Eltv=l6d@c-kC!qQ7UvKaS>m=ooM^VzAB&!jvm6n(N?~99z>TJKa zD5tPx=2$r4t?53#%!Kc2IIELe;t>#Fz*Gun_AQGKqTgoyDIpgh1D2t1PU82-OUC4m zU*EsW+t`TUE6T>k#=1|PCeCW7nrdhI`C(MJVwDs||1D%&6hC4}IOuqp^TfP0F!A90 zTtz9XE^jQ1@0+xUI4x^{PvGCe)Y{E3-y58}sy2UCN2d;!S|>DoR(oM0BN5ZM&Q1}S zL1QcI2bp=V)}DzC2F#X5N$Is)P^gEkUoPHd?l$1TU_$Wt7N_F=edB!Xze|OOe{aVy zmmC6}@UsMnl7~@XFZuT+j$JJl7>{iN5r#w_*%7tbs{cNwW1WL_%TYY>n*-mi>#uOl zAz#>KkSa;O|IxAyqge%t-J%sN>S0) z%1ZL(T)uy=NhDf3wW_L$t%_^YCPi&CCNGuNf%kS{PmUsH zv|KPEyY20Jmg-H|WVn)ZRCxbZk{@yOKfCt0<~uG( z=6R71?Z@;+V9*R&sTi3Y6cm&s5Z$(gInWp2R7?)pa)FQ-XyE%!ZTY(};}pgtFjw(S z_IsS^-~;=<9|0d*gZO84Hin^g8e-<~Nbq@vv!loS&b5Sbz@416SI+xYUzzikQNP zQ97H!Be6N399)a+5MJvg*sQ{<-;DL2U5&(+uq8$U293gBd0P3TC;!&0sgaQzV4{!~ zo^Ipz+|M7(V2+)FdC9a0ltd=gUb#N9dT7&KO`o-wOs52!IiY7Jtj@}I8|3)mBS#=W zP~c=(e5bxznFBzQ4>Tzk7;|?irx^ISNPbwKNxh57Kis_J#O5D})Bca*rvFyN#d9i! z=zTDN35pEC?Dg^YVH|+`ti>$M&CdKx*%-+|&i_jw_7UbOr8iY4;pj-rewn9NDWIUnXaqs1+L5a1%FWS+QuIX&~3xf(P; zif(RC$rVZDfZ4%_ACmw_vT$*QWBwcF-d>u$de|>8Fl6rQz0>3Wo7n8(SCQcKhYypG z1s?rCw0H0SO4Nyt#WaiOm2=SRrT==y$=~q?r7u zMo3+DLc9X47xkM~{Kb;W`4S6%xap%RDv$asA#e$bh{(75yGptG3%cV(A3A;~HZ}m7 zi`m5`hR#vD0~GIP&z=dCt&4sTqok~yJv%oAW-6yI(b3USFf?BUFd?LFz_HXOBu|ck z67WVi;xp)|uFe8J2S2x4HGb8hLlq8h5F`>g$FHx0XL~xyOOA`#Yp5JQ`wl5fy zlSiNn!&pr}NC@z<4S{jPEn0OIP(i{$WNgo#9fs11uOJWOyK9Od-V@R*rXv%V@pp(H zr@wrmqF_MSklg{y3iXFT4zZo6(`Pk`-1X}+P=6*tu7;{ZAW=0SV`??aNUjqcOs`jL zMy0K-jq#V!r|MzK$TUOT1Kwo|hUEGA`%_WgB^+727J4QxI@_vzzDqLWcmSNFjXY&?M-YhVu5qRe>BUQ zeE<0RiQ7*BaM2i`PAFy?3g{jH+$ZK;Gjemopsb69c3YVN$OD-|2!S4Q@Bqw4rYj~h zVj*uO?*;b*4H}seJbkorV1Nr23;gZbnqfQq2fR5$(%h+!7^q5EIHabp8XJxARMVwM z4KavsHD+dk3L|4%j|HsFnh)7Yg^5pv=B<1naO720ncUpm-nX{aVb-c0jz46r+lZ7g zGV(cG(&~gC$ecyIl!D@7FuQ(o_h4{RAwU5)9}pkUfp#T! z5NG|H|4OFBLPSZ1MPt(tUcCY(RGY~-N2nH)$(PQa-78gk35**VP>I>Aconml4(8Fn zH~E2hBQHZVbDX`ClY+4^57cotutPBkc^FAz9o8S_3dZxY;o|o(j6Ziy>pfR=i5`>R z{0zL7*~m9w?&p2DrwkT zYE9%b&`Afv?fW#3r`iryjlB!EhIzwnoN#d1M>bGxt^8UJaWX{PYAa0Dwj*vE;S`Bp z3QddCRqj$#J`YqLs%X9d)#PEWh~*Dg$KP>c9v}x6^6Iyd)wtmTFr_#d1-*bS4$S@h zNj4As0004MlGH<#T|FYDb_RU==7u&6dwa3EF$c?vcyA<%`zdkQZFk&NPn-xWEGc0_ z+r2SmTFQn^o9abIzd;^XUsvaQ0W@#T()Txe*Vc(P!M;NSx92i!0$V*PCZMJ4hr-=w z3}TB=WPFbi`T2}NVTA7@uQFl}pl4>jOcBL--DKuE*|vw4@&g!#^59<_1a_!}=dTzT z7~l`*znu4R!BtJ5fCB!EQ_Ak{?(Sm>4~eg17VSpeDh#xwr8wfnD3_hx3hxt|muHh; zm9y`V%e3JpA>CQ+UQ7+Ygq*rj7%urRjd%G~4C)DO9^ViB>zItDtE;QxsZ$}#ix@?@ zmcl11n~3{c9J^x>hulpJUMfd404nNWs+z-Yb0-ZKk*cyo&B=#i3B$#8vP(6PcivpS zHu54k6tUHhm1TDymkSjxrjXp`xcv!*D*7=j;rta~JeNUBQ(I%lyrvkEeKRcCIFMgf zR#xMHnUD32joJF{0QeO(H6J%Vu`t2p>n3dIDJyq290H?}5ev@)mlBS+$5Pc`{&qp1 zrKF@}XjPR=-T04gQ!nTr%bSZIKJ){uU>sqD*TO07WJtzhi>gelWaZ|*MciIk%Z{vb z3kA#tlO_^an+jBUu$U!6P7ax{D1uEB_5dSV)NEjJ&TKrVifl6+YV%IA(oZGwUF&X3^cWX%j6YBO}5FI-#=1kL!S?L2CqI1vO=Q;#2d_&n+an zp?(8nJp7;10?1Ukp^EMC6h3f(U057&#DbN8Pgm6AsEX2EpRVT{o=(c{qs=lIAq9F^%*sG z2>vJoy@^wSAss__W6IaH=6U{Vq4tEVntL*!Wh8FPO$ zDR**}_MAJdMOl8#g_Nu}Ch<_Flr)HA>Ns-z#|^~=1)@;+8xgx35fS*G5(JASuBr?Z zz0_QVsgVfHW5;MHnE94D20Z<^2q=^zRNXKRKQPlcfRqsmT!nM0Phb}8Wd6Y zc`Hm!9)&rwy4TdCf}#NJErE!f@Dd<*H5ly*Mv!J!(D}duBBHH(FFxZhI}8mPR&rWq zZS-KX_Xp41=^^Jo^VY;{lR68G%k7qgk~33%3G0F2xK7HM@+Y>fT`UZU-|x8hDaRRc zLV%Le3teHS#iNadM;Odl!hK<(rmNti_GRYeAY!E(8A&t$_#$}2!k4l^i#e|BkiX}D zJ9L-{wmdbov0(<$wC$k7!w=kTY!iLu`w{DraLZ>53HNar`dcb~U6=r@5s-^Mr@i7$tnH{FVI}N~psVRqiHBd{@C5c}Vc4bge zR7~#^riXV~1I!P5+LBGyT$fBRFD`xo#Bw$5qSgrvX2)pk11{5XH8m$u(}9Z`LqtdY z<;amEtHbX?`cF-9F@Q{69^awG3R7@p~LMC48g?%$-VzzD@I6ojj2uZ8-D(}oaaQq!~WC#*ETe7PE$ zDNzvhqAkC3k1vy<*Qi+`KZ^)}7RW9z z9X5cfUYDB0v5(%2`Q-tKl%-#S7!}LDudD|SPiQ*bCW)XGtd4@3t&Qn z9f#8=U^z_Q-9M=N#EzTjSUnc(if#HiLN*E4qLN}3Qb`PV zA=*ns?$l-F>sxv&-K9`D6KK=_)Ck!Plv_vb>_leJbdp;n$L~vd#_fzX<_n3y!6bLDe=4 ziwDn8kIC$Xm)~;W1SVttF#ACVUR;dGI5F#ZJ&Hw~e;t*$rFbqle5+JmA0+_ZLgwc{I#^U z7PhN6NgzMR@pnd0hQpzfQ#m{|e!3GGS3TCn{@ciLkA+#P>({T7V~t|PrU4E} zi@gyB)}iMFLSNLlJV)$T2!x~b21WVnxq))W-2+vgAxTL)T<$-|UM2&jv2#aoY>_6} z+1ahXT5S-n^ciqpd2jj2YuLqmq}X58)Fjm|+hPM#SMS9rZSW%nvN-*m@ID2PA0NZ6 zK_=0CuIGuq2+5zB&6f0`bp~az7F95-R;}8BP#p1OJq}|RbRxIo4m$D?c^}Nv4p=}y z1;qHRnz`WO>e_&3`!?AwNb&@t1jP2f{O=Lri7PnzQAr#S z4gyt3^2DhkxQ?(o(>=m!e*URQQ3&=X_!X+ky;hGOC5d!M>06u{exfh5svU%zu~R4Q#1BQer045;`#6L z!2c~g^S?tc2Tv#Wg`ESLfK=88i;WC?2lxj#G+Skoy5{SmWeR{j~VR||bEj>m0T)eJZEmE ze=9y`=iqR|$LDDO>fd3OAH3`VVjZ~lo%i&E!+Y#Rf!&FUi5-PAH8eJ+MwktJPep1pzW*${X-+FxgmC=zyN1mKa8q7NsFT5#*qOhu00v$q@uc2~qZbmdf)y0-%Lw zfBt+4AYwI&_>f%{@ zXSR#%y1=?u5^vKOED-XO^GpgbX5(>9AlZhOFVo^F5K76x zazc54a>M*-(@U3zVBe<2zJQ-5C5lKzNY<{8L>Fa8hzr;j;<&G8ODW&Z?~~!C_&h2ydrKBEUL`GHw#e?39^2g-!d|_3K5X0}=gefc=@6 zn!bEwQ2pTBj~^yTsr(04fPmixI@N*kD62cDCHEA6C(_JGed#ZYyyaS7mThLUh&Tl=*Q3V*rWmW zuT9Iaq4(Lf{ZYt^_IgTg1YIa7By} zG{%ZVSZy%`7sjZjsGRGD97G5DRNqC&r@OP&6cq!IOr7>!c|N=7@d<%4T0v+ zaQ_ju2EhbP;?0vL-{Z4A)-(Q zq{?M5*V7YHDAfA|XTuXRZi!;%kMNnH5DdC6kthc9g@r%Fk>^37Pgq!%*WVQtE2~E* zO;~lTqdvR3Cz=6{>Bzefa@3cW1gx-bkeoKyRxi^6B95$=1ei_48A$w&1Iw|SpFRhk zVTY)w+CzJmVc1$yB~KU>U>=bBZ9{ddaa*SPv^SGFsZ4^;BzYl9z;L?&Xi2?*frLg> z&^z3vk)>q_fet|_%zpd!92H6mGI}_6n_vnS03(t@0&jCF_v)=+fI9d@B$+Yiqda-ir8LN)^Ek-~A{5po_Lhe2@;WUnCUuc?t!d2o0O5Q8{rX92tg#sDK+Gpimjr>Minlb5bsAxQ&* ziGZ}Uw9LBf^>^O9#2K*%n*4ccY9}x6DpD^8xc%R^5XlT78pFTJ0~|$xFB;=6Q2`cH z57gm?As{}6tQe)Hzn@bxUFE2~ePPhfob7|!tYJYx1TsbG5do+VU!A1@-AiH4(E}rN zz-^A7l)NMK1At-#+&+alM9T<`6Hs?X3lS0#j38(({Iy={GWf8o3$xrH^lzZDd2YIU z!r z=NhH3ft3|4Ga|rsk-}xfm7?O}8=ZAaih#zEfCuR?0Y_tn&hbp%I=Om&ray#DP=`Xn zP5U4k_tex(F}JWFc|QV4!<_r5R11+7`tFa68}$++Af?dC^hRRhc0>fclLZ#0IDVu( z0pK4JhlXyK!|f;0f60J=s12_ zJy1ag7~#35MA_{Wf{g+}Q+vTee*!KPK|hI#u~F8oS+fS_mE4IJ5?fM8hY+3?HnFe5 zbsbWU6y{U>Xgx4HKOcayOjK`^@=EnUt&FNgUOj#NP@JI08Fro?9#xCxnQ&9Sh{kCs zScMy~#lZ)7s3}+~;vGrOi`?c(d3mt(!+f4yyZlLsJMt#Pf%UhzkKIa05S}cc^G0iu zAuJLIhz8leON6IU51i8`Y|)uBXAtfq7o#~~H{_jpEPMZ;2P*(!31V1gtOhMs|4w@y zwc7*+7_mJHG6cbwHI@+nj;b`fnZAQ83SGqja7?hY(?j`1k%NQM@bdaq9$Uc9T%DiZ za=9r^-KYXLMG735wq0m-f>i7NK}TBbK(YiNJ@LC65Lh&z`hY?~bAn@Xa&qO8I6VaB z##`@wKTQAS-su!bBS>{Af_{WEi*GN`HCHTA*eb*p9QqB0VDPE z0`ppP6$B++NBv<@jv_ZYzD>P99)|-7LNITEA>b?g-X?lsZz{Ga{!KlA^6( z@AJfzzj6JguaO^r{P8uI>5NNSPtSezVsq5E&ppTHMc(rA#Cz_|2REagzz!Z%`D(N# zcbEg)u0d{SWNdr`dakzDhrW@n5|$m0s3@RLwj$pmvI@8&MpSht7Z-0t=nV#eBfNNq zHRR>O^y6kV>{cjCO<+0WnU#b)@(m(zdPZ^41%UeH10%pf6o3&u)YtU%Bs(W3&KE}Qp7Cwb+uTvFlDLB$rnt&;dL{WE=_Jj|@e!yDs} z(4eEk%eRs{*VBEp>E&Y$M%#n%butTbzUmzpa3%mwC?W;}a+*J3*QSV0A#0eod1KQ8 z*Y`zPlN?W^oIs3&DF8bOcB6JPQ`WGXH*52&R~Qic!l1PG1aHhfhA?MkVRRkBh?8j= z8#iwjj7H$mB6sO)AU?@~%?%o=2Jo2#XSf~$Nc&?K5I%1_-Ou1JKYvO~6%Sentc^0Z z#pW-hu_)KKIpUlqrVMaRY(0|#YqTmrYIE4KICFoVslWSQnd`u)yF)R0B1?T-w_6 zYtU<5u)+=eY*}7ZWTZMxWTn^j-xIsB1f&+#x~I6s=|H;(FiM=yIz(scIy&?9G!m3s z%4tHu*+=n`aZnjS4gyj>*E+0qC`;=mmfR2xjvyL+)b@5A;17!(MU%}o->VN)}cay*2r z4zSssAPEdSe`=?>`ye#x=zg6b@e;J6aUnabZT|kzxr^iIAOZ$c-2B5sji|eKVq(m- z1J_yKN=%FZphr#V^vTV`VAFaaj)kUgHU%l9DED)z-OH=C)MiCAy*-Eyti}!KyVC2_ zx57z3(l2L4s)P1ez9)IzrlesvB-VHTNq+QbEnej+wE>e75zC(9JutAM*OwNQIg7C( z?Q&XQBVe;Pz>$D$L>qtva{r*TnIK#7foBIkJD{u6u|a>UnJVip9z^=R=pAFNXcd2Ry20_u?~Hr=uezDfsoS-yAM=L9l>URNfI9X#EFdB zB4D$b&tFZ-bidg2^^Hs}u*a*jLsUo&{?vPNBsO=(d&YP0wh$s0)GKK5d~K-|?J}Ul zL&%zmq|v{6<0@*Zdv?hjudn<6URY@B<|=Po%PGAP87XqqY`ZlX!iOZS39$_>SB`(9 z@!aQ@c;<}yxVSikq3gFwT6u$n^UrWCF-=UDP!dN_L?JqXWVOs;GmF^i0S~r>0n`1j zwYFocAyK8K1Tbw)$6s9}@hqTo`1gwwd!(#6+|+vU%9u5>HiA++ju=jY^K=-JU=Aeq zF%JgVLSE`UKGPb{3wo9zX=&s5pT^eK4KRQHj~_qo+q+tFF6lRTY|@trZG090ui@w` zzB>ICA&$MWV;|;69mLXoxHWX3USX3X6y+;=EE&A#1}CuJ{;Z z3WMOIUnL9(3ksSj700752$$UAk@bTanpmB!k}AVrIVBeWnInfWL{ws7J?@G0oJQ{Y`6%Tyl)B3S4=S6+0&tXXadUBz>~z;n zhav?Y{yFw>drv6L;jCAg=w46)3BmnBwmRCpo{ z(cOt5V>_H?!*Y@OZXY>sqU`XqM&5QVsh zHCzSfZ8cbR!R9WMM5GA^(zKGYLHKJ_&&!jGuzhLu@bDmEpj6rfB={R|pHn4$s{pwR zmQ9E3t&($dlLn33-XjT27^rl6kD_zSP5RHK{gVb?Y07SVkLF;K;zIR6t2Y8|50NJ!N9RO1a1iU7q^YrfZH*LxSqm3&4DJUby&U;^s@ zquwJ-+@p(?926MZtMCOh{MFinfY{+WRs(G&4iA7jrExbCxELl})en#dwh|322-F6& zEZlG&=#xUEI?z6ep#|6sSNibqFmgH?fLrA*=!(XOEl31sm2N-fflWV&OO)}viKQAs zT2fF{REt#TeW~^NnMHE#{))}Oh-!eL`J==RDIjuNuG#P3HCij0C~RL_@qmHA(1~!R zV#`ZBIpO4pwx**a_Ry4;p59Gt`<+mjAn0b_cPU7};SILsP5^mC&5A~DA_i4!fzFXG zUBEBt)~gx0-+Zl@cgG zC}W)Rmoi2k$a;mtBhPF$#|G@{?}wyv4KymyM$iE-dx6yJ$y3Dm^uRaCEu)JA0es7L zavreTLE?-;-B8lRWUEy8z33%mXZjARpz?qVxavuPC$C=m&e%yJZvqqG9daW$0)|D1 zDs;dU=p6l4Hh8@b!2tLeAKV854MXUmiJs@k&USuTq<7I=ruq8ix3}J2zj31<^npfinN z@sh{S_Ot9*0raI>jffQ>@mj9K?6OO<$DFGxn*;@VGEg&Oj20vO!on{R#(-^IowOvR zgmvjODFHKu?f1fU&~r`XNk5#o6r5ACW6yTtSdh?DP}wAQx%ThDTRW$_B=mRJ4b z3(&+6s{`32X&Zze$9*IrhS6(fER#pv-kf>!g|XPT#ii`L^dd>?p7oTcZa=g8(0W$q z7Rpq9{l$@?ryRLDE0@;?9`aR7OXT+-KgvyE3wBvrS|S-yP?&qU*HU`Qol-4p%C3tDyF^>qAbn{ht&)-5@p)y1fN zw?W&I{-EY@O*qUlA^aufJ&HiNS4H*%q=P9c0^=KEjKeW!_bU2 zcOTGovHUOMITf6e7{RCq4^G39%#B9KI=q4LL+y7QUfywqu|ZDCC0LJNi>xe4X&M4T zLLXQ53JLK-8}fTNaQhQe(vTC}x4?^x)YM~W1jx;k0;5$_R+a(aR1-?Yv-O>wcM#G| zbU*%{zXbgT9p&dl>xsO+he}bI(B|7-&9DHX^8?NAoGq-0op85pvql%mRo;-R@RoT1 z^IqkRm^>)xGcx>D-q5RzHRfKdj0aMQTtE2yeCrw6$hc=91de>N2DU3eCy9&;KmH!OfO%)otnBcjO$4Jc}W;r zYB{9XL$PV;>9?Ub%DqrAFZ@;K?Z~&Qypbmbv^$#7T~23-HKu=2zy0n_bdaKjy@Ipk z0dIha=rh{r5F!Y{fa4f~-dWt;p8JjaMMZ~J&}YaGEG&|j=z+*(RX`nqpo-u0-}?X+ zD)cmP9YOltxMX93n{pvn>c&G%%Sbv2ng&!(PN8oP3s1I&5L6-c215q2lLNF->s9wa9w_ z1F=rmD z#4lFeMaR=RxmkmwXOb8h7s_Pli z$Wci@t-S_SFGv%!r6muPqNe~g)eb*a`h|aM0Jy!(*_@A__d=dZUhU)+U=0>UOSH5< z#bPG)c4N`~kqv;Qqxe(-DQ_UH@Nk9u2khm?4!~%?esCu%r}y9Hcb>c2J9PdWtJ_aH zy&daGK>g&}4?f5Na{63Q3Z)pvu}f;pBHZ&}Pu@O2;Wdbrk19B1grY8Q%uRb=Ja_Lq zfhdJVkE+`7FVoX&kr|OyM5wN9@dp3{5dq`>%9V}-vmgqMa+)KiU#i}9cW*%lQ6d8G zDY0x2u7)@Z>}q$Z4&$>oGEDrkkL^L_ppr!Unp-2lZPbesoOw95@{No&;y`5h(T74d z!_@(e@t!KYc*p$ZUiEG*FWU+({zDf?OB(8hL0VDUfy4I?UtVCO?F=RQ!LN+;PmnNg07egF@L`fd{y_7?P1%)!n)*M1enc zXnWGq$?FJj8TNN}_4JIuYV^fjGVP7GGHU|9xgOM+^;cA(c*BlutZ?PN-5nb!v3x%x^w|lrJram0bkRB6Uf*9#uN<0jRy1-g@TC z8Ms(r38vw6Z z`9*LaPaVc?);c0u-neCp5){$Vw{P?O(nozRx|8r*%R>4K$E}DQTEBA~cEjHRyF3F) zzuko3cr!5Arh!Mz#pD8F$?(%TSw#-+A3Ua(~bp4 zSN=k>5A!4Z)cseU{GA1~yJT3mE(3>pk4HUVBrSdYN5!7qrT6aNS5X-2U6`t40W-kA zZ{O{d)YNirJ+}5mSWNO2u*-sncW(;W0}E+$HRRC>xxeI#@mie$Pe4vYP;P~Vh4p>E zIq(PB&3n{tpr`3(^s8%Z{0yhMk&7#Dz5DS$CsO`eSAbOe7*I`8;@&6~J-zt8d0pIw z)8OvNlb?~Tkk2~F#wRA8DK9T)cmp@aR%)x7Gr4|q?h`(Ndux|)z4ak4_1ElxATLdd zxwNco+|9328HnTzM@!DduQ7iFkbr~QcrC2y;@RHOp_8{Je)`Uu!nXSVBZC?0XLLBvexPxu+c$){R}MV)oQ zO;Y5H^mo^3?M6w8({vY$f*&9+Aa9>I&5pCKUU41O>u$4Lo63yLVNGH)8Wc$tf6`G2 zbpdg_s)o6%IH3bpf!6g?(-x)^wQZ&dTz$b(AZ9*fXws%UUq|XYv>$x*&N@=e7Yur1 zJJLDQ#}gVq2~K9sz}ErZ&#n)i4#+xrjG8vW- zNk?v*-?p`>0;p}E)PU;jvSu!c2KI^qjTEq_s8NY*bUb2lsJrsimY?w;uqY(!(vv+} zDge~{Ttha;(5FuU$Vho`NR0T3fBBbwZ7miEo}8Gl*HqHJd^!B-ComEKq;{d(cFKg> zu`rSQudM)fBxd$OR%CDMzb)Cido8_|4g zT$;KD2?b=Y1m_rnnhpS@q9?E#N{y=8yUd7_ytVj2s_5+nm1n9IZTp`1fYCrbW1Omv z0Szig!-2$uSEh%m?t{|-2@B{xv8&BMMfqsJO~A5IRfYby#!iufg3@ys2R8sB#MS>Y5Tpz+D}2&gj{m9+V!OS4<6(V z2U!q25iI~HK5~?Q@O|pO+*2u(0#K&lJb3`n!$AP6x43iXPJ`;F>8U9g9Y&@TbJt<3 z8-UwUQ9$q>b8sjM*r`zsREtn`u+;Fdchl>x*+OkXWS}rB3kVniboMCmvNpv_FarBP zkgVml)7?5bMo9~S>>pDS{0-yoIl@m?!U;yeGC}Z9i^#ac>A+VuqMn;*T>}+GoP?!L z0@p^A2m~RQqv4nJ7p^$6HT60eB_N~zayx1eB3vBb{hKtyBe4dt>QFns$7K`*qxjWi z7H^c5NfCw5moLj5e`GCk5QY$oj-3wKgLwiUvM{T%e!~)08h&V(cz>Xv#`icKc*2vAUsr7Q7FJ0(l!iQZpc-|k^;LD zx9MXiJlJLfkK_rv?0#HY%zi|HGL~VFqb#wlRj=YjGYA)Z9C_8ep{X+NqOsAWy|7&w?M2#Vk# zVk#20Yd(gFW8N;a7FL*aw??|r=5(?>9gH55Bf!9N*uDiQFTvM^i=~69$9!W>+Yh}&?%i%Q6cK|sTa}S(A^VhRS+GL zkOuUw$ey@0;Lgmxq8U|@GzKei70i=;Y0u5+b*x48A-49^7&!kYumM6Mh1wRty zAmIU{XbLY2IExNAy%Ac=4-FZ*?4QvimI%mBn#r!`VpzAEE&8{$|pTEHroD=BIf4UH(PX zqKJ=0Q8|H|J=V&teGWJ=!bo3$b5O|)AqO~)U|yVa(~p}tQltjitgC>V2-eZX#BA&W zVW8eudwD?(R|C;4BCRzM4XsYPO@d@QB53ywBDrJkHU};AjUqD#fB=HCCcxZ@?Vb-O z3bM5mlv3mtCrVL7D34VGWDJ#EdptKiqyKv+QLlwi5WYsfHC>em zNkHxZmep%D((VD>EOzPDdSF@bDdgi|e6(DFoFi zX_Xy&Z~ql$xUqGBiV#x{0Y0e*l`hWNvGqc^1KD$QjEug(bx;f+0&Rtbv`|T=rjpj> z;aYzpYJnW{8#WO^DiIg7IO$^i5F-+?wNQbRVHMy>kHU%`^3T}?wWr<6(lv;_7!Z&V zwGIRqnt~bDI1(JBk{;(5VYV?^&JZoj*2a`wiV<97#tgK-WDEp~v5w_FGk>NlMCK^~ zUAzeuN-F3wA~XTADZv@v)7EVZ5Wmh2c8v&-;V%eN3y=gV$cGc?x#zX~b2FyGtcLj^ z(Kbqe0S{U!%L1FeAQMz_OF_RdOOYwmu-8+#$*OCme>!08U8$1QM^pDGfa)`^w5TLV zvjGx=T>ir==S37EKDtn`2_#eoKQfM$dvigm&RhNX=!hxX+vif6m+@g9tS9&I@LZ<^%SB$&?5l!ViOVbEUQ)2W7S>a!D+NNt1F~VX z2N+lqY0{ymr&m&%Mh|LDNKlY)?0fF0ynXxD9EJ<>HbvvYCp|rlZ{DPWJ^*dAIaq-w zuM*+Vdw2^ajjZCHo(~&i6$D+Nl;r@({O#)Dna8g7_Q{AwHQ;wjN}XX;zW@B025aJI zP46!s4?!n7eiiHW{`=wth+lE=HsuM-iOsu#TVt!TBpkkW8z@mG&Y8x~vGMU%Bo$^r z48$?asHn8`)8uM7AZl}U>tx%4Kkli!{keB+Y>X`BM;B=dl-i+?@j=tA>IA)(@|iRF zP6-h4IAPGhZ@^U(*r9yMYW!tPzrOU|A$3L*oIa9AKXCm8oV0f7h-o}EVZ(tcW#xv&lYSI9slyPR$U{Y1 z`-4RNKsf;h8ChAa#qR{YG$!~cbVh_Ml$XCz%Nc^5LaY{oZ!)OD42n(F%7+{To&V56op|VvuY64 z%_5KVUrxpmBIVuqkra$`cn_%X^&Op^5DdOBwoh}*v+XV#TXdI|1I6Y>L_3$8AA~_I zzXXj5DWJrDn*H3e6QVI9fwKKV)iC<){X?Y<(B(42viaeZ;t`qy){AaKRV@TEB$y-O z14LA$28AdL0SV!jGPMGwkR-y%kgj4F{KJUaCcFe~ntbmTS}5)Q>Ac}^VSz}Pi&oa8 zR2|$JS!YlgAaJTmL{JP&ej8ciEXM30MB93HiDTa8SuKh|q2VA6xSp6I!XT&)P_f9U zC|{&^CwW=v{N?eklku3u`=h*VFyeukN(sqN$aoqMPgMM}6+h-CG+|~4yo@aY(uamJ zGu;4ShJsfC_VKar{&Wq(^CI1chX3CASWE;$rcQ>&Ex)v_xd7Yg2oKM1|4%W8^(U3RuY-bPXUfq=0RdhP@mX}!43kI&a-2JKS+-(Nrg zQ*{+Usb{{^WfzV@I==G@s%R3eEx(onrw8ev^W_VvO+$WRVH=orNJ}{dVJQlQun%%) zuCfd7N6lDC$KX?EOOTn5t-l=UOgc(~A~LAlNRc@j8(3KTW-WunCN23dTukF_9R1d{ zmnL0t4rRc2>FrMJP40$}bi_0Jw8&4#|9{-@|Me69Uti#cYcA&PtOX_nmGilC0L4Bh z_!?ui+3TD2-#=7Q)lQ)OPV|VsaQE&pZFaAo1$}BHG2*W@b!g>3u$4TC48#|9Ya1Kh% zz(7^wRJ9|k1c($48LyS4|N0F+GzJ28L-9sdrE_iBVj=-Ol&C4>Ai{ZTb87$FJ3Y&o zanv`6G(PA1@AlgYh%H|&S7Nf>Wae#hCvB53a9ybTqaAng<#RHOplz%-j z1$9b;s!Ofx{GQvH$;sR#uLk}}kpn(QGjMg#>lVt>8e}rOFQ2@ zFM|XDp^o;LTaNQgAGC?2RumvoUlFp7QRK${At8*Y0>A@uX_k@pq)h@fB$oMbIXzF7o6Wc~*#G5^cT zK%P*84jWKkh)PJTPHg`4@(R{nU^n7iGA;_me61O0Ab{~D_XKwbr>gbz9kd>W5HOdY z`=zD+MQI}iV&Gt8DJEz@fU~K6RR*dqutRKlwwMZ+tfo8WvYOgQxm8lzAL6xfsbywTh%}IqAY;?qvH`I=%fxvLc$-R5kdlW;hzFg zP>q0>7{T5^e5wdhJJPM}w2Oth`b;c3k5JSFeD-)uPbqlkWEI$EG*!=xbKA+;9Wu9?>Bt^ilY?iqo`84cg*;fn<; z^B%n^6u9KLW1osO^d5mQ;K^vA!7gsL9*?D!eS#;FAZiF-F~5KgpnA?hjexAJ#OFbb znuLtM{cIMAJvAOf1pFIY=@sf%CS{1|;8UtTD!-*_u$_7QDe#0)T3({>&VLbJ^)5m-J04?nqavwq65T$z45X1$K0F~;T(}l-ayqV zIA*qvbC84+6?2wWqwt-6l`fn}_!^1d(iV^7pQJZv^;cZ{BPk^XIw82P4rwT)XD3jZ z`wd)nN7pa8RQLTz1B{|gWa-({H<6k+>?&Yrq|4nX)SnGFMIq43jbeji zb_=PB04u!~ydtVX37;0ve9vgW9cElbxD~n;LI6OtM^E4ph~Y^R1(i8bi9;gWCew7& zD6Y{6?$Cl8CKi_%LZtcvBo&|?W~j9wWGGnGC|W{yk0Z#)Vh?CkX!uC;3DRwb)H1`0 zm`e)<7+ri0U)p92M>V=K)0P!QyAuw03mkF!CPxQ{krkbvI;!xr>niwgHC+VAFsoh^ z3M3Qa+nDM^^G(P-h?$s}kY=o{Mxtvqsa&M*{P(={|GUqcJF)@l7E+L3-wUAf1+?5G zC7myYKr94dQVNt*U#!LAH=`FQq$#R_>ZS<4Ns5hqC&9_^gISj~*B@By4b=E#r_JDG z7y(D?`-^Ca&^j0&nxo%|5+*TJ0Vu}+MG$yaS!s_|5Gd2sMg&bjJt)`O2R5a0k)c%J zCL{0M`PETG2(qf>`Cg8oY&WRIy-+Do54pHtu}<3o#aKJA1UwoKMFhhc&hLIkAF##wI)(6x|5bsUE`_=DeSb|BrG>uxvYMi^6N%A zB~hAH%&09QWoZ%#Ibs@CxH4H->!Qr4lrVF@q$pa~^V4^&o{(z=vFzN7EhzN!Z6H7{CLLVN1AH zGL`Bss284$_5-mh?RV|DaKy42psbP@p#XAG+KJX1C$QEeM5|)hk^tN3=ta;bUf#$l z3)i_1mkJ*@^T7qL+?gz&$rF408U`5H!}$h0CL)~{>02bq*YJU@Eu{a*V1?=389KKD zzFd9$9S!Y2$=3i~doyLU=Vws8*$IwB(`jJgk+Az8D({HLcz~KnAd&28uJ%PNd7?yG zmlOGGv@B#mjb~LHtLoJU+$Ay-AW8YoCZk_L5)z6#4jaLx!otLnQJq{+A@5>X+(^llk{Z!(I?0W3hB5mjdu>~nKDJaZ zpy>G0;YV+1YpC6O0@m?jsNV$;Qt{N8QIPK zj!s{a%7Dp5kSM7ku?afOc?L+SEiqD0Da4q!v+dC%JGO}Vd?V$Wv#$0miVRkA#Ly1F z9k87RUctm>F?u^I?=hO$AdO2fF{exI!jgEuG;F=H8Ns3P!iDK8moms!Q_!^x6p5HV z1(c`!y_%8?aZ8cr#6mmXM0Y{K{)3GSO(F^hZHebsk5!LDc^p9? z4t>_Hn|NQt$(ordDdDe`hnSiTq(OGMwQK(bfpYA%-m*+w)}-dT1+wly<4jv2G~-Y*eR{?KY_;Xo2a@>yYnlX&tS9UNj! z^rlU-mzqz?kjM)0CGm`l3Ihlx#h(rKbG%5NJHM8vQq_hdbv^bvLxg|UVVLzZ^sa`4 zO*neJ=PARaZ@zJ2+e9tlx$zYH7S-YoNeU4iepY#mSc)3IDg|A#LLL(xeS=+|@6_J)S9i{ZW0TwGFL^h|z0jCyJVW4qQ_Q24Lm%>JR z3-6gV{;e2r)wp8lzXDULmgcA5nz50kqv;1#Wq<_unBj-#*WC=EeN`(8oi=txOs@@Tu) zTE%&_Xuv)8N+Xty!M*k3PK#o{Eh=V8XYD!lU~BvH08CPKuC+>g!`c9-X_lFyA>I#C zA|vq4&LFr|ao{6uTwCNhj;7RLwq~(i47|@4O4ylBCticWqrILUXje!^MBp+mWi-^! zB?$6A>zG&O zOw?WbUl8S{uRSk{nwz9FK!Xx$7tn|hNs>5-ObE4yMAinpFO!09(+GN6-4joNbY#Nv z-Ac!Z93dgvddU)xjaPC6Np8G5KQ_!f{;2br_qQjN2X{ijjg<;^Jn-qeyjd=1RJQHh zs$QLYd;Yw6LZ=P%q4*#>Yap2rSQ)$3WA3uxRnUp)millCgLG`9XWGpT4(>6c{nD)Q zOJ3|}m5CmP<}PBQg@hyDq`~&A!M9=0-bV8z+`a*gXm4w;hU|h_b1yp6p=R z2`0qttMVW6n+J0%EBwbfrLIde`_V`3;K0NN-QFW6U6Y250V_G6^9{CzNGLv*HJbE@ z@jCBZ-D%ypCfhQyq^+Z)=H)AX&1I@HVX5_;%yp5@_Ed zIw)8WHwn)c=k)xUhWu4Dw&V>Say1gdGeHyqq7^DfUW`03#wWHrM813mh+AYi-|Zvg@8_6?6!RXJ>T)=_7?dyxIf{37{XaU5Pk z>7K@1M+r|xIR(-bEn_Uful zt#MBuZeIMwyjsgjz#8;`1kWmuz&jw&cvEN0RF(CZVIkMw+JuJqlp<1Gmr zfydrHkP@CztI~$!?sQMVq3brmNYecZ$D?WBLmTnwOytHcbB&N?z;tNV+=xtHwtv{Q zr5G&v+{KGWtmGHCCsDv~;s9Qufe=-CZAJcBlj^u(w!7xc`_V%1K%HRuV1{tpd-Z?q zkC*}33K*O!C`1ChrxsmU&ZVo6^L3}r8}E|-RQkLO%IdkyAsi|ae)&V}Si)4oBrWoI z%+=ntu=qszOV)w;eu4<5xCqZa!$BpjLfe_du&*Cx5yW}|i()T;z^t|| zWZh}GrFT6Z7&r)uDd0kOh?e6n%UhH`x~GAgL0=2o3QtC%w?V9tzQdS@mF*=5G<#^_ zH8WmDX;23NpcFM!Yp=|PCqH0gng*BhBVQplIXS0bHLdmrU*AKFSVo3s==Z3pK^~Re z8Ph_R%>?sd3g4PovLZjP)Qqtf7`Di6qfr*x7!&J~d%2&kcrA3GVIti$T-Y|bJq$js zCwp21-Hv2SI63fuaDK5msP2V3nJ)6fc5}p$!#qO5P$dL3jPzQwW(naYXHI-DTkD}P z)_}d#=BzhAqHm#%;8Jit5M}S7n?X1HkMw7&j!qv-A5LmWIpSTE)`D4w)+(NnyG>mj z&Pkn2MHIj+Tfv~dVf*%+6Yox?+d0UJ{}C#jX80#QL&R(1iV@3(S6}DqAFR8D<>6Rd zoGOV$)Tp^|W0Y77x8=Ov#QPRCMrcI1A!6JsE&>%7*N+my)*v=eJ+%IMU7a>kunJUR z4@u6uwR~g(0jc)R&ev%PS}4M3uFzR2)V&zFgy{ftavs67fTYv+xVaGf&Q`QHg1b@ z>b*^()bzh^nlSVkoudV7dxmc?k_s_auvn`Xa)}xI)F;`UXt&*Xij9noqk)v?dIcjE zhzNR6wDSC+2#={^ttxk#i*XvIAi+y0UYH<%1WCeKo;k zmcIUKI!h?JRjQwd({#Q|#*m1Y_A2~%!FgtY8}(Lbxs8pDQ-R3qc=n3(f#>GY|L{p! ze=Iz)wG7po_JJlFfI_6nCm1 z44#l16|XnWu(hkp*j!2M*~!~{*9$DQwCrprYNemA?+3h9DqYsjcJL`%01VG(-`CL@ zgF&vro?|E7C@()q39!N2=U7wYU3MT@GFrXJMph8i?aBKa&ir~6gV()|yFBi|6({YU zGnc;pU^8vna^^&mO^P*rg~p-k_U+@$WJR~mgEjANDIcp`%@Pg?4UNNOL!Yb&4$k1F z)w0=S@?XW%gcB#~>e8Kx9VP=`*a%G-A!f&+4HzT7jH)h+p%Tucm8q+(6{GzYXh&Q% zo&iQ;i)d_Wip$RK)_dUe;Y$GzKNkPGdB*z6qean2JkPya5#g@W5buNi5Iro z7HIQQS&Um55B{>v4YKZ~Gr!J=Rntsyv`WmX$W+eomv?!rx|@)*R%d*HWm8Vq3n5^K zYre!Syj-zXcgNQ3th}q;n-@-rA@fk!>Zlv}j@$p + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + active pool + + waiting + pool + + burst + pool + + overflow + + refill + + consume + + + backfill + 1 + 2 + 3 + 4 + + + + + + + microbatch + + + + + + + + iteration + + + + + + + + + + microbatch + + + + + + + + iteration + + + + + + + + + + + microbatch + + + + + + + + iteration + + + + + + + individual consumers (threads) + + + + + + + + iteration + /time + + + + + + + + + + + burst pool is sized according to burst rate + + + + + + + + + + + token filler thread + + + + + + + + + + token pool + +