From 13c16b498c281a5ed330bf69383429681938387e Mon Sep 17 00:00:00 2001 From: liaochuntao Date: Tue, 25 Oct 2022 16:14:44 +0800 Subject: [PATCH] =?UTF-8?q?[ISSUE=20#102]=20=E4=BF=AE=E5=A4=8D=20circuitbr?= =?UTF-8?q?eaker=20=E7=86=94=E6=96=AD=E6=8C=87=E6=A0=87=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=20prometheus=20=E5=87=BA=E7=8E=B0=20nil=20=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=20panic=20(#104)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 添加就近路由支持文档 * rebase upstream/master * fix issue #102 * fix: change countervec to gaugevec * fix:fix review issue * 更新 * fix:修复route/nearby/consumer编译失败问题 * fix:调整限流规则demo的规则图片 --- examples/circuitbreaker/consumer/polaris.yaml | 2 +- examples/circuitbreaker/provider/polaris.yaml | 2 +- examples/quickstart/provider/main.go | 17 -------- examples/ratelimit/consumer/polaris.yaml | 2 +- .../image/create_service_ratelimit.png | Bin 58210 -> 100402 bytes examples/ratelimit/provider/polaris.yaml | 2 +- examples/route/dynamic/README-zh.md | 22 +++++----- examples/route/dynamic/README.md | 6 +-- examples/route/dynamic/consumer/main.go | 40 ++++++++++++++++++ examples/route/dynamic/provider/main.go | 32 +++++++------- examples/route/nearby/consumer/go.mod | 4 +- pkg/model/service.go | 2 +- pkg/model/stat.go | 25 +++++++++++ plugin/localregistry/inmemory/inmemory.go | 2 +- plugin/statreporter/prometheus/model.go | 4 +- .../prometheus/prometheus_handler.go | 9 ++-- 16 files changed, 110 insertions(+), 61 deletions(-) diff --git a/examples/circuitbreaker/consumer/polaris.yaml b/examples/circuitbreaker/consumer/polaris.yaml index 64f22499..95105396 100644 --- a/examples/circuitbreaker/consumer/polaris.yaml +++ b/examples/circuitbreaker/consumer/polaris.yaml @@ -1,7 +1,7 @@ global: serverConnector: addresses: - - 172.18.0.1:8091 + - 127.0.0.1:8091 statReporter: enable: true chain: diff --git a/examples/circuitbreaker/provider/polaris.yaml b/examples/circuitbreaker/provider/polaris.yaml index 64f22499..95105396 100644 --- a/examples/circuitbreaker/provider/polaris.yaml +++ b/examples/circuitbreaker/provider/polaris.yaml @@ -1,7 +1,7 @@ global: serverConnector: addresses: - - 172.18.0.1:8091 + - 127.0.0.1:8091 statReporter: enable: true chain: diff --git a/examples/quickstart/provider/main.go b/examples/quickstart/provider/main.go index 40088ba8..a74db138 100644 --- a/examples/quickstart/provider/main.go +++ b/examples/quickstart/provider/main.go @@ -27,7 +27,6 @@ import ( "os/signal" "strings" "syscall" - "time" "github.com/polarismesh/polaris-go" ) @@ -121,22 +120,6 @@ func (svr *PolarisProvider) deregisterService() { log.Printf("deregister successfully.") } -func (svr *PolarisProvider) doHeartbeat() { - log.Printf("start to invoke heartbeat operation") - ticker := time.NewTicker(time.Duration(5 * time.Second)) - for range ticker.C { - if !svr.isShutdown { - heartbeatRequest := &polaris.InstanceHeartbeatRequest{} - heartbeatRequest.Namespace = namespace - heartbeatRequest.Service = service - heartbeatRequest.Host = svr.host - heartbeatRequest.Port = svr.port - heartbeatRequest.ServiceToken = token - svr.provider.Heartbeat(heartbeatRequest) - } - } -} - func (svr *PolarisProvider) runMainLoop() { ch := make(chan os.Signal, 1) signal.Notify(ch, []os.Signal{ diff --git a/examples/ratelimit/consumer/polaris.yaml b/examples/ratelimit/consumer/polaris.yaml index ff54675d..95105396 100644 --- a/examples/ratelimit/consumer/polaris.yaml +++ b/examples/ratelimit/consumer/polaris.yaml @@ -1,7 +1,7 @@ global: serverConnector: addresses: - - 9.134.5.52:8091 + - 127.0.0.1:8091 statReporter: enable: true chain: diff --git a/examples/ratelimit/image/create_service_ratelimit.png b/examples/ratelimit/image/create_service_ratelimit.png index 9c6f680dce9389a51218a5870df360bfcf14c48d..b2b3e1cac8ed0604bace028541c26537f2081528 100644 GIT binary patch literal 100402 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

My3+pJ3t@u{N}(!tH8@3HxPR#mmD(G{?s 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 RW?z9ng9|3-i_bYm{})uOqh$a9 literal 58210 zcmeFZcT|(l+BQm40@4wsR|N@OdM^Q#A_NG6NEH!Kklv&hLy@LP?;sFSdR6H~kQS9xK?6FW}bPTxo7TnUH3%7b#9T9GLquq;gM_H zR@KMDgUsUL;Xj021mA?#f1L(@+_Hzk;2JO(JKWXjk-dWr9^Q?Y)|Qqu8vHl9t*k69 zyZiZgNnO44BO;>pEdxKdw6V9fbh5Xzzf3VTou#LmB}BC0%@PZOi?d#Hcyd?3T-}0Yvzw z(5Sc=`>g4(vc_XIk_gWMArya)Hu{F1GZ9k1IK>!JXH+~KA!ds9`nisR? zf~0q41qbi0pPpum)6-Az+!Q{_JUBhw=sZ0=H6s%{l^|>n*2Ej9w`4aVdqWRq_O6Yw z#-lrT@Sxx`1P?#l9*+oo!Ur!#@WR6*e1*g#2LIE5mue2dzkh|y<`Dk-GyX$dLuCV) zh6ecGz}nTu=Bb;Vllzj1S~a-TxIMzy-T02SjJ1=apw&aC2R4G=J^)g2J2%r0neMa;^^_ z$>^)9|EoLrOP!{keS-aXhyW2ZGWyf9D>VcDoyF4c+ZlM4A_s@OWc-#N?NKf7V^;qBmg>b(J zi3kb{{nxcYS2^6bGH`ou8;5(U_KskBz!(am;u3Oa?f-AT{P&3e(bM?9d)~Y$dGkNJ z{>M-MYga=z8&{Z|7Kc?cJc|Q9VOtb>2oX~#>O@Z|C zVA?A@JS990Rb_-X{^}3nhRb7;^AZ2~2QmqES@_J*VlR-j z!+YM5gaeMe38ezaF2j}ZFP!JiuB0VwINI^PY}NS(f$tL(5XItWd_27jIq!|ZUj*T2 znEc5wI^S)30Rm<{w+1-N^h_^CUUTe{b?=T08~iY#k&1^>$U?O)Wl_4u%u^yCl8MGEGWlOv2`(GRZ~`L&8J))<|AaOXuQ$A?9kUenV3il;}0MV}7l zUyPvi@`p)yGUC}VGZW($fo2}xKCgq>whmafIQ?rBs&Q~sx%${~NbTyKqoI^IjH%ZT z4<_xuErgVB+yQ+8Q}6Gn`W+G zu9LGi?N9rT>`gh%%ql#6U-Q)@LExR&#F|n)UG8WuEL^qw*JeAVE-|aO zB}HDJ>_&rqUy6uN+T&B-|ucm7^Di>m9mwpo&q&ywWQMT_F zAJ=YpG+p#y!5@rLHawUM+xbBhEBsjF)9%;%BcGX^GOn09w_dDrY{D)rqVI(gYf3_j zssGM@AYlShxWDrEcNw~uo$3}>_wH|tQ<*YKjyyY4p6{@QssV|Rz|il3eIi|Nb_QgH zxCJb>Q#lXRxPlA?%GDym11ZCvdVaGnI%=ZTe&B!Q-ouyMl?{34uu(0iDwfOT)Nj@3 zoFVjskvi<5zqoe#B`rdC3pI(A$)Qp3$q@BhC$p`gOxj)K#rae!KEK`;ar;KYRS+9F z`j^HYF2898qUsr;abEdaa=*!cRPWZEyFZXo;_lx^Aa}~6?WkF?LvaBJido^~EZ=p8 z1Vp2$)pNR@eOhgfS*03U6~ZxS*5!BO@Hr$qWiC-x^0?0C{0>?XJw5|us(K;b4J|Jj ze&5)Zv6b)}!6kk;#VnOW>hQ;*b4aFPuyPV$v{%i&t(ww*U6+$Y>zUqS{q8yC zxFdEHw|mbf(Xf)Mm81BR>IHi94WWRo7e`s;>qI(vPz@jagwoA#Tz0DQkt ze1K@~uDQ?Rmy?odzn%WbX1n%qN_223i|0hHsTC$%@yP1$SXn@##CPX*Ifm>XcAfk3 z>s*^*#8WgUF>7EDEQdDMi*>F%Wm@YzcCwH-_{s%ml!VLv4=+r4oA|hCLcq}io1`~6 zLYKqOt@XmyH;{K!eLKCj{O3t%IipTb)L@EW$Aq-?C zFgRW^KHijQy<5E#%v;!^{rurqA)hcvsy3Y-c4AcRv<@qMnMX|35QP+)L6X+1BK+NHt;ZO-N zbG}@bX}&f(Z5SQ%(!!3C@TJh6{Tpc0zicPeEjh!N3~lEvrV<()(|9GSkBOftGfMAV>7~o z%g(T5cXd*fSO>yD?H$F@o6;=xhc;XMBq|0@iqD);Z0P;q8w5&iI(J-jJac+%LGg^* ze11pkokRnj6{?FZP_9h&^y1r`>LGQeMYKpZ-HBt>^x;NxVCiUwZOEZ;$BSRm??toq zlGO4UDaVQ-%!bHf?~FNAN|N*73!x_C6UjbniE~Nb2q$^^Gz`#L+MiY{wHPHFj49NF znaSyFIN4jRiAW%isGzy9Mk#HoF?G}g^&I`u_4=xQi7ABmybt5MXUZsUWX+sUzK9%k zq9%k9zWW@H2+gpj8~E3tDb6Z0Z;P2odi~??(t17%eYG%Bb|PmAg@ai+Q)(*~0$#+8 z4?xLP-3m?R{$cs|f%PO2m0|&*tx?$vVYSvQu z^cN$ksDn9G82m2M|9a7)TJ!l(Z<5o}&?m5F%9u)wxAv_#5nZibuKlD3<+2fa0v7L791@>lkwg98sIwIcS`? zgP300IsWd3UgYRFaJc(~$Ps1Pad?%3O<`wiBLsfAT}|!xOmiT`6jjokTQA&LF9tc+ z0(qrZ5dKRSVL$KIZTmWi?o`5?g=|P|ER8-S%BHK<^5|e|3tUPatAH^{^H2gajSa3HuhDQ;rQ7X~qib~o#-Uw6-_oSylRZ@po(idn6ez+EHKkrgp zO~szGO&lCT&lsVEXO()3)#n-|&*k_j(;X@`C^+B+paZ%T>5GH^-Y##4X}Z_2juj#?LC`m^6za|n;Y0s<%+m$7zHW59IiWme0s1D=hm4F$?o(sZ331YyEJpM zSLYg!^zqi^W5O>BJlVXL&7ICVvDu7}ZCE7jA{CCH&af6c#wi$Y*v$P|$t_w34 z>HP9UR!6&E0+TA#bilbjkWAEmz)$6x-$q`Cty6yS80Hsy_r7Dzk@SNb63}g`(cEX` z*%pj*T+kn?%RDDP;D%oc&tt^fllTi z|C<)sqN+{O{ih$UqjiHK7O7QosqaSQP>)&IA?|SSZ?DzOaJMm&0Vx^|dB2B+Q$%iF zg2~YF?Fx@lz-Xx-NCP);#}5JF_~ZQbp6wz>G>ZLlOpA^{j0aal>yr*46^+hcg1}<9 z1&|WJCa9NZ<4Dyyp@P8Pdr{Dc5b23c`>JRq3aIFO*JXb`ey20TPLG`Tshh?k9khkY zJI@S+N0EgP4tf=t!fyb_{HY^)wdpT4iu?w$26GW zg|9%a9seC~9>|6v_wq`r24t|Vnx|ZF^_EC>CLPHi?gkVKmldBNN*EOUyi21l8%BGV z6*pRJ`4wfjYNi42e}~ElZ0KT2LAQQ!qZ2RHdL;T%E~5gIcMQD<=czB(8})-2NBp^Z zlsD~|KmBmed8Jo-T__BGaV}C<@wj?OQAK!+k!6=i3(|EtoDF!u&xgP8WM{ndG<6?R zBY#vd5&)dd50#oWQsJABK(b)f7A^uY1eAkbnT`>8n){6+Q5(W72mER2*Ra94RNJgC zR#9>r+@7d;3u}kSfM#H>FC+{Pp=D&vK z#9u=_BGhL?d)W1qk(RVp#Oqvsu>8N2bqjHunopSM?&`>Gb;!xiK~{nJei6k@*7fJl zh%V+Zk3gqMZ!r*YVpY!%rQR9`fkSocMJBP7S5|R$&8Np3ZYkkPlEIYT$dqF!nwn#wQ{vP@++-&nBals*+UYv1sFSLr`YK1o+-YhV3$1WxpwNuFQQ;w@16jbWj zTek$^e+VJQXKRCsA)%bhO1pF+5=UxW@vZJc%}1`K^DYC@n4jSgeBlfOL~G>A2RYzH zZd+_AAXA_e;V|!Dt5M@Loq2eHbdTM@EZ= zS*~U`2=Eu={tSZnI5WIn=4U+2l|4L&3UC&FF~ZX66rZ>RS|^8vqXgAD^XOldNC_A^+l4*1BQmX>e)ju_A%}nx zUtHnp5mQkm?OOGSPOsG);QMpTaQEG1j^dxWw-`wMlk;b%E7nU{Eemo)wPXdUhb&#b zO5GkLZWxS`Y80@P0tbTnuCexVsKj{XL0~At8gP z_sUZs&Tv!0OjyVD&*2l?K(yuL^^X}@WWq>0fkHNcG_E%8Py3wA$Ey=TAfkg1KdR3h zM0(6OBYLidL8A;Mp4QJHnK`ZKZy={Qq=cPkTbS!DQP<72_|tRWdFvDx!KK5T$pR7H zsX!h(Zj!r-+Rt`>8L~c#uqqDNNuPQ1q^wbb*al)Qd~}6_p^qeMbQrY_^Pn-MkXg=Q zmf@sVI|!e90lAd{x?_1El5}SCJ`Cm&N*4u+32=^RvlEdslnGfqFKkYR?Km!L`ujK_ z`czFkcblbvk4*1MB78pJ>kE!gs6AJZ=IQ*gs0HPo(?#V=Zz%hGZlmk-$@Ke5zaG`1 zLG*%NA&Sai2+2-2=5pX*fWMp@&Z?R2)Z}9onP73<9hN`b&*Js{rD8sr_~&DyAa4q! zDVOkP8CCj6+t&@7i%brXq-sFQj^C|dPnr8z6kh4g&hRBR~3 zxnM$~&>~f}oSqdD6g;ND;cBBqlud#$+-7ad8uxlesJVar_~g~ZiXS~s zu*ojw@pq*N^C{W*L8RZk_Y?XVS-;8p!*0nrEiSlxvSZorjMsHZ*P32<+?t+(RHBA) zQQypy(RE{j@yi3VjoqD7qGR&&ZuGliy)0BrW%%wkj6OQ(5(hVdw83K$IXY!pm4{^S z#Gn0HzD)OcywAA74ck%t{pc80g|S@zf4b z^wS?eesEiiEbhvR{`<2()6;sZ6G^S0ShQ&S!>wstI@HJfwCFr;(w{Ro2_~#YRZwwNNvdE1 z!UJasWxv=C8Jg3{k0L42%~rtPJh`=uEM_3GTJ9){x=3da;_bwgYZf%?5%5dOByE>~ z-26H1wsEff?zQ;Vo2X(Kk3!-d$j$Qi_njKWjTYxV*pW5D=%~JNr#rkl{phukRdl?f z8<@7iqusHI&})3&Ba#?n*{^a*0O7O$u${^u2+DqWFxLl*$j#Ne5FW)A#tF$$6<(YT zrPL`(grZmL7h=gn==F|mD|w!LX3^6NFP7rxArNZNMPTOqt!_i*?om!tvgUszv!WFw ziQlB(pd7o8x^g+Dd@M&f)O9zjzRX)g{K`^M9(hUSgMM7>EdgRw=I*F+8V(v2LqyKo zE9H?nlw(hf%OJvZ*>&50LCP!LbJ_>jq#qs=K1e&q@HK8$8<7Mp zCC)ZV`eGYGYD`9_&Q;&OlL>OEKF1=D>ZKWjc@(%Dbm_CA0^Nw5gmbqT9^O}Oi4kU{ zb35SQc1qdJr@mHo9yml;9)b&y@bUsrPwtfNCd)#p@xYBM+mJiPRu7WUO*h;Z7)rur6SNk_feo%zbRk729q!1cWe>Jy$cN zExs(m4<{p6UFIYZ)7G*J?NJqLyWXkpjoeSsQW0!G_f>5)9WH$lp7l5N7&EMr+)x(d zN1BmS6N0nk9jv8%NS?cIYH=xs@jc08~O5_U)m)xJ#rNTVa;|#Ca6C!HRi0)xxxc& zGByP{#l7`U8%ua(3Jq5X4A#EY@RgB{DI5s?x>HE?QVRkDd%H#LflE;H34X);T=g{x7vX|`)NTrS> z=Y;99Qj}V8)~KCftk|Z*z|?oG2K(#eaD&b3j;BUBlENEW3O5V;C0yYrbGY(8&Y6+} zzu1c^%gT;7M3h=8;sPx{{mqBBOHr-XWIW;p>f)ILnX*NtW}lWc-dN49ZuK zg%BX*-b!eXcV4x~SOP!Ov544}kpSQvO2462<}B`q zKeq*cWIM2=WbIAbW-k_BBa&SLW;D_(=_C*=6{PE0*?sevy!VYB-E$9z_teYt#~|H&!HvDBVr4!cE4`RkEJTG!G76@!MW0Ji z+^w3!v*h^eRgX?sO&;})2gXnpJ%q(v*#Y{R$~_VPtyhnQ5t!B(v|w%quQ<|i!R@{u z+L~3{r(}#Vn=k~{;1zRxKYy4CmbS%k-!{`@`vK~2dovI85K%ktiP~ED*b>^wboKF@(1S3iCv(`)vi{^3v$`9RMCUB&=OZ%Nn_L zwoDjlQG3VFK#m)GxC=0xtZ%iBA1yJM?7%D;_vQH0gDi8bS*DFYFqb}xdRXHcj|XgR zayWtkcJA?hBHN!RoC;9-3y|*}PkPeY)bC5OJFgiJ@oI-yWIeTk_wi0fdg@_QXjMtw znTOanK>*?r!|8S1wFPm}+NdXGK*^1Ax9r=;T8ZuXfBZH)$%>Zw{T_Qj+%<$rds6x( zwg{1qK0I5ZX*|Ma7oF4Ue%0K;1w{aPrcAu5f^lTd5t_O8v2wHRQW3et1iRPfv`ZI@ zJ>V^9y?bA&8718RuB<5yN0O)pnVTfaQ8b7K-})a$Rv-V})%tGk)VMp03w^KR;Nc=1 z0927M_4r-Mw!hpyNG#m<`{kFJIm`Iu{YzO6spUWDz!OmxpPw%i?qFDO4=+#J0J7?l zYpZkNY*{c#_l~B+^-uO7d-(QN9P5YnL^ifd0@d(4a{T+iFVo5P-@Er~vdY$n39WK( z@3lnFSz5&2CzZ~0ka!GBWhE0|A>P6XYEuqHOA3c62HQ(CV9yfVX zQaoi++wZ5yLxrw=hNCGEzYK90Md_^o=aNOzcfak zSq#fOJYtuLyTcQuO?%&-tl+Z8b94t{}vd_)Ru*QPc;9voP#|r;CT;9L!DWXh7)k`J~e+@(l!72~M}l zGadcIW<%q!Qr^`aG+J+n+5Ch9H@F)VX8d**vDVK7NxmB)os4z9cX>IW^!+I6eAFb~9?QZ}Ks*D+RZTYsH z>qNN~)|hywd`*DW`X2E2-MU{|L*4giUOi+Q*h&OcA_;N`y7v8GIZ3m1NWrkEdSB7>&;| z(DZEk3lHsF+U=zs!Uw?@u0&|;Oy2X|X!KH;XpfD~qyexD3EEr=`+5RH*6g!}Cx)4qr_|HH{f}@~_HT#X}#t{%7Wxty( z_n!t-GFJ?5t0wfdTK=nvS6YIp@2+?FyD&taPF$g_pCiMQp@TdcrdCS4z!oyppbh8>;K$DghJ0*eTfp^4Omn3P-0 z;jP!3;%Lh;zLJI!ld*2A&#~SL#cwKN%4&ue`!*F07;y&7off2}jm-i*8BhCgYM+;HfT;6!G2IQm zf`*bHf?a+pxDA z{Xue4%MKyS9@O5-Bx7q|kuWbqXNTiTnTmuH%4g8^#?gA3GyloWBar25lVhH+E%E?7 zCJY-X;$cpE&|wOajoN+w704^;UHeN+!Q5@INT}~Fx5*W{C;&2a*noeMXqy)JNa9@4 z*YRYT1*T142VsLwfhx^Hr{yiYrrCeZvouQ{6RMCQe}8gfsWRFw!>0G>b%*WL9W@q; z+ZA!%AdBgGBVoWa{mlISCPGEE>?PI$=;P;rN$n>;%EFzbHHn#o$yzsf_TzXzp`|9N zpg>?%er|mAJ1umjm~t72FA#B{o2kJH>d+@Vz9eT}qBn%JvX!1yvW_v#G zB`+)PhwK!Dna5HvNY-#wz#t?n>%qZ;B@8^+ucyAUjks8 zRezr-319B zuG#kt#9Fg_IbE)p6 z#7hULAj{8JX2X?^=-ID*@l0W(aUXU4%1<1U=TeB!Vmf?|W4oZ$!|{55_VL#qhTT|M zjq$&wmAv)`n7JSVUID<$z=B`ig*~1?j^t|c-OatWIpAf*m`hIq6{)uT-Zgj~ackCB zjHS7AfPgjMMS?!DkFy@uof&EvwrT$z?M6H7Gxz-JwntOGC^LVe0Li-CW(y&<4!?Jf z-SEkt0QSofPPYrwLf{qLI-K*1@ZBI!pyrnrIG9H)nKbFD?EJDHebV9)5U3q@c!#B6 zi^<_)!SlluRwY|=0p!}|WF0N%^tyN%m%zu;lhO@Fjk!Hw_=hwhrW<5Ee1~Of_CUNu zD&ulj`6R`Td=?%>SC4d7zn6oK$=Yo22{{u@m1fh>VAh`UiuSp_ajDyAYvwSFB{d5H zGub>bL{=~WkE)X6OLMQ_r=Kjew&ZZ$U?0fjphjP1N>Y`}%C*@XT3Kn<1*OZjn92;F zrPS~uK1rDXX?nGsaJ;xP1JAz5MyJP_8Y<^-e-gQE9in3x;H+wWUkme8i*d?jkJw>q zMTy;8!}|WfHi_{t#L(m|zrleb&RD4tL~9J}PeZC{Ep2_xCm{{x{zZDntAHTzg?LYT zlg+mO<{!S9eyrg12RDqIz??S4-pB;9Dsc9b!XdGWJki=@Tsf;dBUQYu*+El38%xvC z5OCSI57v|xYkD?TeN@gA&}byylwNF6G=pg2QIvFPtEUIfdzs1ZrPTgNW3w*3#Y>Rv z;6ySyIPXo|yOeUt@G||!^g%8jwN8o5jXgP`E<<|8_$p7wvlS{pJL~%gw}?AarC1yL zZub6klpTBi$$dqiqV1~fQi|l%)7Vs1!zy}{q&4X-y|k$bwsN5e&ClN-VYf0HKJ>cC z;I_!4E3>j97cSbN6;J&HFH_AVTX!oJe;=Gcx*nx%tYkD)<9spe8_bs?)#-UmGBz*Q zH6n0vuU)Fr4`SzoZFC#~O}1F^ID81nLQ9+=HB$40*S$TCSjJjfxcLir`cIes6^Lc{ z6?{e+dtNhLF0-CicGmobq&?tfB)?m9PS?4}XuDMjvnIYOE2pC1ep&U4e^$7?RA}G7 zv>&mZdxI-g#K5>6^Y=K*>-!?n2(7MCn-pG|2QOj<%qaG55sN6ge>L+mBa~9RR>lYR zt~jYP@~&79`&FiyY_IPwU8WwDIP@d;hCllH%w)da7i2s+tW&=x+W%tji&&GUBDcM( zGj$}3oe1fgg5U>KNhz-I-OCiwdIB)imk|WBct)2^Yqm$&RBXj-aPX&AJPwatb0zwC%mlI5GkW=6D`RJ0%TG z{uYdLDMpJzu7c~GgSPI6z6bfV95e-;I@UcM^0@dU2l0BYDE}XaGTxQ`l@6SusVY-p zHi(dh*d8ULE}jAC`Z8V_`Zq;;TxvUF2#;Q?6uxT1C8uTmKA1TGh|FWF@E^$9gjY$N z2+A{vGNl!OUh8la#47a1b7fR?Rx?-gSkl58hEuf`d`0JW1CIYLw#c`C9Oeva_Xs)g zJAK63BQ}!i3<$LaS@OQy&g(%DqU|_JotzvUaqU0lED4vK`@*gycGv4*_^0;g_gx5H zI`qC65fO-4Q`jlLvm`}6QvQS6yI`3da+x@1LTT$^k)~o(C~bUP z?GMi>aj90`_5FVvY!9{;jvDm9^HAxdmK^FP4gpO==7F#nLbcWRQty&P@gVcg>=8mI zo$6R?=;9#Ow}blD&+rta{_fEP`@NoR-fXr4$q#X#TcHD$F;@~8TE1q()CdUZi+B&~omazh2`Ob)%l#alJCoBn*)e;) zb#PyG%~--Q}c}Ga~1x znWCMrf>S-^tby-6S6CWd6sH`a`opMFIKxAXufIr8yNG-3Z@okg=vv2`lsa4Q*>t09 z@oOVHX`@jSy(Gs7>|#A}mw}W|B5iD%!H+`khWwhYk>A+k%^IAlQN!7`KY)SHT%0?y z2hb4hkf zx=Ggp*0mozyVAMthv)ruDa#^twF{cazSNJ*4tXLhy$b;Y%Zsbu z=m|5sQez)K&NyaD4)Zm>3bk;}+?bKm=~5!o>TLK&v%Svpo{wZMkAyxA~#}NuE$mR+uYZxA=F$DB_rvwhHPGD$|RBe?hKnQH1H2zkkszgfd6x) zrAy8PyzLO0hTO+LaipF&y(*&Gx6~%KGEH7r!*`b+4$W_+JVy7(Y2PZ)WIQB(zX8CR zNtByanL>2G|M-LW!k8ouL?P54iU_it%@%{#ItUuhm zp4&ekz>Z81KnB&v`H;K>vv`qw&jY}^XTimJ8$K~^J3GIg2x zShP6d6G#%tlWdjiTFKy)DSU%~xfd75i4smZH^t!`(?@=kMJ5bW+I-(e4~sg-L7sD_ zMk#&x>JrJ!Zi2+FAK^txtsmpdUq`RSD13e8v-0LTOAmv=%QPMlMvhc(8k#-10fx#g zDMbim22p$C1%s{27A#cMF8y&vFcS+=zdzrD?&89v-_~IETlxfBJTulrTIm^WCtQ(t z7xz*L#ax_`jxtl&9!G!U3T>Id7gP6Yk25AaYty=-Vh-N5RqVVWLKJyu_5?`G}NpHQe`R+0N>*M7Tzq+ojaOCrcXHe2f)9JI40 zC@*{hDRSM#Y#mk9L+kS*E^teAs+4u;Y#+p~G#?j;<5Hae;~NByUsQ7W91Z`~1Z2nv zrAq4DaB(DV`u^v)_dyG`=W7Wr25L0l2N}G`+BrAC*a%RgkEamG|M;Z;dVv2!%S^%k ze&OMJ`jOP=Z#oL|jxh?mSEBY=U@(|MB(zy6^|<@mkXje2c_f5ep+?es6Aix33LbSeubM zetUC$$uU7^rl3SQ0~tT9|6lqtC6WkdKng#RO5t{JWc?xIkH={ReW zAwa;VpmXz1*i-H|a(CSUC z<5c0^S~HW(*9G9+>14`!WjUBNoPj}>-!7HMFOwMHRk~De5Rr4Ixi9nz zHEV<7v->sS4Z8n}c!L>Ka%wm4*!w}D)7tdef-?1HziO~QyLvwfjBwdlpk|70xsoBtnB&? zU0j*m8vw}^`5k&SADZQjysSOi?!{~lL{M|}#JSnLE2-7Q)giBcKjV!CY=*M^T zzV1_*g=o=XfbTJS`J54Zgf)U3g_R=;zsc?NCE%(^M?pmOXCv_RQ|lYEkM3XQ;y}T6 zj^8Pg>1hg%^SQkSO3|;?{&2|7Ujz8@3V=kuNRqr99fpMBP|COW>rU@ns1vdN{05-C zzEMKK#}fe7O&pNl|E>xzn3xEsV3DczHu`3p?LUkIem0n-oGqULrrHP&^aAD4`Dcd- zFqM_JkxuT0ToUZIO1W^=w7m6Zl%yv}Ke&V3Z6PRyl{nrESJVbcOoy$xM;505-rqh+ z@&AJk*sJ;j0>n3fe=3VcD>T`nv+Q%9U(xiFIIFY=H2Z@6nZV`-zrD%Tse5eZ#JS(W zDpC{xCFzUyxPoWV<`#gGXIT6Mn5g7Vv#~|)e_5**ZQho0gOV~o*ukUunPbJ@@wN8~ z=Dw7SwLIIk%lLRfoZEjsl4p467F*_BP>rmL zSqB*RtCNk>6CoCt4r;6uSS4qWdR91vDS;H&OK3NqEoEYs*UPi=2eY9gfL5GX&k~5k ztwJ$dNbo@LG6Gz^v&qAkYTGmUaSCa5HQyD$nFPK2w6Qt3;&N%cZ5+@zxNwolA>I?z zE>?pbRRmr_r?_(;Rsf#)v_+%)0Z6Uh31@b_4GuL3A{^eFYu~AyIH85SEdT;{TS>8w zwIAbz#8;w=3x*>7z=;8gjpgYe_2$-@J%6mXMa&l>g~)HEA#`Yu*CK#|TA8JX?{-1S z=$j{{AGpbJY*qVuo%+aL95GrK-GJzRd-UQE)S|HQOnb39-8ozo3QYYRC&Y4%Uwp5Z zDBf5i@Vl-JbE%s~I=H}g)8EBpi-BC`EFAe;7w|(L1{}ZFJv}+zsXhVQyva8hSBMuG z&lc0dJe6<4bb2zGEVi4OzP1M{Rc7Xk(oB9&%=2Vj6gBnR>Rh>{_*ZZ2`Y9MvgD1mT zWvt7@4Wo9|Y;@U8ytY9(^y2ls-@r{z@g(qzo1giMD43uG#k`HOS@Nr;|aKB1l~?7-OBzqy3Y|0)DQm*dy8_{Z*WLKR^5n8ps}9M^R;DA zr|5R!vJ4shUFRvsx)==_tINgdYS#A^K`9xA{rXrpDo6D3DC!SbJcXc8Q&IQscGtwdz*svW85b_g00bvJqp*VbZC1NQiDO0Q6+T&gy@;r%VT#!Rk=Q=oVum5f zG;k+Lw;zs>A#tO9@y(ke=ED?Cn&PFqrCXLCclGCl>L;TL2r;1@0I2^<6BI$_sCx!Zy zho)Z>K4T)syM0wB_Izg!&CQ9Se0tL1$C9lq1T~1h3f`O+FFqylo6rY(&tC<;C?Utx zJS@T1>EgX~exx)le~_n+)};EpZfggi7*3byBI*|%TP@98p{5(@(cIKx`tULPW!YVsB`}Ick2nWXjLWb) z{s(j6Z+-XIBL``w#fo`_`wRiyLUuJCT^@VL<<~9;C|`ZO88%7x>L(vsOCxG>w@e8y zl67y01mByM6y%cAq9c>>Cz-j~ak=iE5rJ{TRmApO7sm`++FyS04=M^MC6-I3K#xXh znmh0uNP@DtTZ!UH71L}PwN6hiXIv)oBG4m7a zF|cm-@RjwIh0gFM#`M4tn)wx!kIa+$n^02x9Kjk;-{DeF(R_5$p%7#L!cg_?jn7U3 zU!VIkDHrv84v1UaGS%*~jrhEAtxr0o+gD>^8_=Gf1d#FVmG!kB(iz^~3B_q%6M>e! zc+IAaYSo;y1!izKgvGmLO!S$vJCoUBCLpvV<+2Ew6aF)LPyw7xZdNU)eiMw3R&V{2 z%~A5Fb&t$4ZUHw9q#bpHqxV3%y36pN40mCkl9^FU>&sun*?!v^+{b|1wPW+W5Evz? z{1>5Z?(@UJQyJMU^#g((Ys{_`A}(f%A$63@0E(RD0KMtF(kgJ>icVAPdQH z&(k+t0}q1ErOHa5CH}2>ODve9xQ?2pV5G)rrYZ85qdU=#iT4l1gH}qY(Fecu9#Nc! zhxObdHC&L&PgO4xZPhO(^;rKdZB&~}D5mnpy+K`#8A^UuW&RySFP=4&uaIANw;Z;=RtLkv-n4(e@7-#*6^v#!l|Ve>e5jk!7p zN{6q8bSxN2UL&8$pVXBuhBYG*aky$Pf5;7kqdJ~7Aj+I|OFmq$~&bRv6^4U|WZ zIIev;Y`1UJw}?$h-^( zBY~EYnTO$C!OeRWTj>#NqUc?9dp2}@klfYWyL&=JeD@S$G;N8pCW^Mx-fpTFh<}ay z5NeMrY>=wx@475f_-%XoT~&LPiR`TJ9civG;f3T&eV z*cvHW7fz-Q$J%OsIv7wqz567ie}G|0R3-o6F{n39HrfS?XMp9Y%O`IMZdzRR%7=wl zqF8B5ZSizoat~#DPZ>pNseXK4iWawvLYbcK?C!eU5* zpMB3{4)TUR+#UeHMklVBk}D9vGeln(wZR=o!gPI zb}~aN6J3o`4&<2!L>`a}L%e8A5E_1T!zSe>0Ui#(UoYpG?I?eZljjFKI{1Y8;Dq_s z#{b3MTZcutwtK^hAULEtpfu5%U3h8c#CmQJNRB%~3fn<0m8=@L-7Ye)g0ITJB)sqdv4O5~L zMUz-^KIUnto?py`XI3ie+b=h`aL%!WaO?j!!c?>jSrQ zd`Mbdt-%TNz-;#7+6>>ryCgv2+JD~6{qnD*UHa>Y!KVYQZi@H31GvMO?~SllzPQXa zFeD{>@!ai%1^DuL^4_~im6J{1jwkz9(0?l^(_8H6_DIrG6S8g;UpbPLPC zx$SH+IyqkW>F^&FiIDgFF_<9zJ%9N7YQ4uriIs2Osk+odF&(Jx#1aqjOy{Q^mRq>c z4Y&(RC!g27z)5_zn?_dh)INiisXs9yoS*igSV*|K&TI61Zj3&Utt>9B>gj|t7N)pl z20)@pA6>D&zPwcUmPZ0;HCEkA(^%ibpWvV$oB~DpmQ3L5Fw&Q#eyFz83D&>i@UxP8 z=;u@6!wE!T+a{2|XdF>&IruZci21?AXJHi%bTzA3CE#|uZ}!O=x?A4#IuT}*Ft*p! zKdMvuJM-#9^8EW{5es65g5rSK44cLBNd{hkMUdKC8xaQk05PM~pOJ5|%%oOd>JR39 zBj{O(N~dlQQlbfzFaceX1_ZoV0FT)?ha!0G)hZOTMq)ePglx8XK+MwHS^y@4eP+Gyk&%CI12i0orxv{na&wAF| zM?M3XKFOwjR%@dj<^WzG8^M2~4jlRGk+~x1q~9T-EsQAI*i=VAGbpD_K?`T5T*RpE z8ZuDlu8#4u#rTVW7~hnZSU)+w2i5AT%(V7k#PsZ8rgs z91G$;A{dbNPd0sC9zhM5>4X9^oD107ScfJj@G6(j&*%g?SA7O)P9MNJHx-pe`fVDkJ-cLL5mtV01+%2D`oKK3)TE|a~%v9F)*)UEf z9l-M&BNE0Hc|Atd{+3xx`pOEZ{-foq0m=UB{>e0zm)~3f9cElRGlcIYst9wSAffAptQH8`V= zm5lu2&>nSdRwY5(uKZIBDH>d+xpiPEJdDEM2bg`u#HRy@;9SF1p)_xA3a40htQ-C%V521Gei~U zqKj+J`}*YY+X`S6ouc^qe^yK=Tzonjp47)#1VvMAS2riW2C& z@4)9?5MFr}@SP&7ed-of!!$x0dSqzth}3316)_sLXi;^6h4mC+?Ml?S|3L(MMO#)W^}7#(+(<`MG2uJ z320lDf&zkh{kSLlA7fD#wpI%eQQ}sop{iqCGhaOx6&fPaVj?r)60H76A7P}VO;2ml zSx(24q}lbevO#S;Xxq@}rKxoK=ZWvTj}%^{E0+ZXXcAWL71C*wJ?ZttH>*9>n;vP{CU`}aS%&*AX@J>p z=mkYjWaL&Cp=M~Og;^ns97Q|(8?l$o&Ca-HWs2sO0=qCF9~#WPluu9NCM6DR(!6RQ z{pG*)QF6B^n~qlNJZfqP!nBJGnv5Z0Mulsogibfm`4DT0dr2gaS$_8e39~o@d zy2A~eXa<|cU(?}mk404|S$NE8uCAslt@u#l5DW#AW`^YO$_T+iGrk*YuVYU{T1^@iuq@#1nh~zm_tO=9A z4zP=q(o<2_*5L3%AS2H7z(~@B2D$oGA(uKVT^egjESG9bk+wai%oee+1r+@6S#8>T zIH|PtP2n``JYu%LqmLd1FxekeH`oooh7$ z2PQWFVA~&FGeb=$yHv8haiAwo@q1T+q>k!1-6}z!K>R@V)TA)+DNLu_8msn6*uvuy ze}$R6lNLi=uWJXnC?>*ys0@pq^hpesuACU+)H76!ueS?j} z3BWbrm3Yb4#u4u2W-0kxAvXPC3_Y<0r2MZI(G?(><{1n9W8{56mdO>MPy3J)5T`pZ zE3i>O+8ntxRW~~v6VoZ$NgoGOe*LlM@R%>i2>g3V+F$+BOPLJB%c0@G0_se+kK5Zh zN!E$v#`WT39ODVwWMO!?mrnvZS2(`|=B>kqTVBARWY-bTHw3=va%-uM#Cz?d?s-{y zRr=0RLFF}$A(GWxA=M3 zB9L8fps__h74fE@Z5a*nKDH&7*CJbaWRCv3e|e^j_ujKk&heXOm@Y zb(=*W&9w#!$Vj8Zr(OHi82nshKWgNXju+OtWkLsb4wPl$VMsc#OT~Ph7RPuAb-#Xfp8d5wxM~E&03h8= z1A=p6au+Ri0zg@s8d#sjOsv>)UVi~@9}n5jvK+=o7EjbORIAG$-=u#KMt%G9z2ii~ zcr1?M_ekkNJ3kWxm-jy+0cA=D(@$e~96&g^19e(-cS-@)s<2@my?Y+kArKS1jNpXK zX4u8x=n_HEF-Dbu0^#AA%DQ)_`xfV;``UmRzqXrr69`70`0(kqBGuvQU| zU0&R2rbooQmB96m<&|&g=YlC3HzSPw*G=%OYCeC*ON6P#A zO>h-TmH<*KcNy}3JZn=?W9d`itREnD<9VYVLeJX#RK{BO4Q0KuDI2?D6y6e^8r7|p z)~b|P@o<_@u9z{pE<_()_Xx;_I3(~lp4a?{2>J5*|M7JepmIHWHSNT|1>xg-Elf~S zA<%*B*eomlt?Xz0*fOa9GU|SE8?UqpJ!$e7&iAf&B=M^hEa=m@_K|V49P-$YpY*)b zAo;Rd%l*CA4zfwTlFq__0DZgqhc!S>!`mCZHFnaGb4;H|){uw?KPO9dDT6JgN z8P`9NRdAS~B}?4#q3LKSkFC#(+c^sj_-gJa6Ex^606_w*F@RhqVPpHK<3EzqBPA^W z6J&?~GNA1rPp{uUzS>0#uVu_WypT8Jr$VzGK2td+Ml5_$c+v;8mARk%{;4R}GtyeU zjVh~=F-yjcL*j4b$bXBh;#*OJ?S7DLg^>8_o zfXL~VRML<~Q#2szpWgKMJNNRT08HUl@1cSFtAD#DEpillHP=*4pJ)PYsWpfzduI$MP6T!!0Ebwl$zW%88}jozWW>p{%$p32fZtvn17 z8?8lCIuhHWa9R2N$}UUwWFyMeiv2RHtKpyiyxy;;cNyTuO>rx9|MmL|`TPRC-4~N_ z5=pfZ|C`Fp1)PYJ#X1({ZkQHx)3&y zhhW}fr}ifbxZm|Z*1{R#-+kzRzrg7a0eutu0(Zeb-I@RXivWWou>Rwg{%?L?=_7Co z5bY&H|NRaB@nI4mjwbO%#5ni=1}OgH2l?06`yQ|| zu1Nm%&;G?C{6GC(0K&b8d?tUIBcjxDFFfs^*45u^A9ElyNA*GKpWkP_dtC$n;v)YS z_l^B7V(0#V#(%A*`cFF+ID-B+w5fQ}xp1#VlLa@loYF4d4>q}nsTruVro!setU`3k#`TKQUq34$6r%{)h!-&S5*xvck z%7)JI3%07azl)r|JuQ6_VCf#Ry3?ilqN+eZ%7}_ALyAce)^erU2o=yV6gNx)h6~s7 z7ID5wAbqcLT+^bfkIjCqC);+w?`~X1&JbKOmr39jh*|rvegnv;`1T~<>#n@^ne0GXKLY#jqRreU5O&<7hr(JV{3(RGQB40p0;0i?sLmTb0>O01J9)&nE%I&I@dkGr0?|lO3LZ1kdf#8G69;y88OhN_Y>H9zUpe)UGe(9oL!I`LxX=+{eq|0XYN3FBN>v7r3|88 zZ9ayW*jAeYXB-C`UI z8BWCAHeEH}MSFJmBy4mPLd>~i!h1BRGekf4Sm@q;RJ^}?@o`53k+x`57>5B1K%iO` z?S<$0xk-UinL&J9YN~Y?iJhfotq7?k$@_O_d|o#Vdu0AjV4NV_1!~hb?|-6R0z$Py zqaL;D*;_MewsMEfYRj~CU%s0H)tX|fA2Ux*>;PH8N?ELbq$GImlNxR89&b>aC_Wvu z^5(jk1I-ZpLfJOU{T#&M{C%NRI))a?$2>YsdvQFFz~5u;;+*{jU242od$WX{l8@DB z18gyzB^_T9R*8!y*8PRX3RnRL7J%=ZrZ18GkXgD6k1eR*1PDp32e$;BRP?sL;lb73 z{l$>PkHO097hi2TWx(%7W)Kt<6dN0Bp2TTWEuVylFTVDEfYVE$CnHBsxZNL&Pq#Di zmgYp`DX>2)PPUPOM*EnR#lHM618`Z<^nl?zhk9z6&X2U}EX_)S84(>U`n|Tuix*Ne| z1rUa#NcZ!WEtWx-U`H0*vOZV_zf1Z?ZTi)pLX3Ew?Q&0Yu~_(H6E1SC*?P9_ypfjp zvKJKvgTnjX-@f26?YT|=ehd8yn=6>#l(_fvlg4!m~n2TUjKM2`bQ%tmtL^O(U!r;_vV%PQ;HX+5PXO$Xd+ zwhA7Hjfc0IWN(L_Z{zz^TlLJv%HoH2$Iv}PVMh>TWynarlBEhTyUz6v)!Bzb^2Km* z$1qM`dp6}juXCWA?sY?4FPc{Mf7^OF>#dsl}^YFp3j)T;xnCJw& zG+KmzS|NkkKO7t|+;oi9pT;>qy<4HEo_71U+x7R3_Gv(M9%evj!0%2%h>wfTiCm_a08M9wb+!ln8_wo<67w{{eTNKc3D}6MtsOdAy^sgTl?A(u#*J=H$ zIfIr{8A?)hI;6Dn3>%FjQ@Kh8O1F6*7y53<9Xg>L^CXOj-9ndc7iw6obgz=P3~_)4LJ1GyV};7B5D66r!Z6UBj7(AS&n|b|Q&Z}N zr-I9wLQy+G{o0FkRbN!_B#J8EY4tx4sKcGMamO$Tg9)mv(Gh_z)*9HrM?r|QHI2>1 zRo2l5q8<%K)5F=a^ckkgNdg|4g>{N?jM|MWV~UQWLmmbLuu9!OeYi=bE8QpY2ahsJ ziH?aS)|f7inW~9hb{}5@+PJX30gd~wt6N@!4TcKDf}ZF*jv=7ihXVpt!$#fT)KsZO zi-N%cLwVcVK`N@Mmft?=Q^1g($c2DV6R*koswjg?4K#)yZ+23E_0=+_g0Cl^_) z1|TUsp+H%!DDbKNt9V^&72 zntT!m=E(Uqtjs{1cV^ZhMc3;%o78qem{RT)9h!I3<%yQ;RgnX9)K@Np0=o)#TqB}y+;H*?>_SfEAqo_Zz|NDo|J*-tff_?RYsN9Nt9a6~{TQ6|lyf!QTeeH^-ph!6BvRd2egW%Me`pzie)4 zW=4RRx=DI}#mWeSj^IEFS!A`w{TEeQ<`dRwcv#AjQuwZHV3Z+;t?qaZE6uzaxChDm zWo63Atb358ajPPrgj!U`CSt=HaUqqYe39bz;Xop3ouRdIwjT?cJak-OAn%^^X7(wR zHCWSc1?yd3JPSXnWv1bmV~Qw|H%8rGs-R@y=A&QBUni3|bfb#ZOU$5zDN-NLc<8MF_hI0!C~;U1{cA4OSnPl9_%^yOP(f>S^_@ zt@|qQ?<)-8#@!yGh-1D?kL4#y^SF@45M8b*qWwhTw)K8-EO&rKtx3d1b?mu67cH#V zQqoN;&D6zuk=UR8&G3kPQB-DJ+p}71e+ybj-t#st&0?hh#BA@;xbl#CnSnq1X{iDm zxKjxeeilp(3Z&ns6(q{w{{qWV9!tu5HSUXsDPjcnw*x=aY;cxVXKE7Z_C3cGc|{C0 z2$BG*4Uv2A)&?oZTMBl>T3?}A1rsnB9RBL7D$=Skw)lZ>Rj?P*Cg)EIB22OUDV#3VO{^3f7}ORo?o`Oi0_h1K!8TMh z`o7uEHi~wfIxDM1(OOhH3jr&6JS~+Ejn_de!`(`}6|ShE2zw4z|Af(-t;=2XfM7x8 zGl}~z(TYdIWnw;Lp6_285dA@s4*UwW6vb(!D4AA%xiq)Uqb$9SZ;zge^rZ5sh4raT z8jgN{oUyHPyfM~ZEzf_(;(j(b_>iXBV8*YF6_iaKs$3~GLnp~)2oy^k@4lxG?nvMN zY-(CRCrPr7Z*3g75b~?wMTq8Gal`$e;*?nM6VV~1NQtzig6h2K2-+3X(L*Kq(GM0U zg&O0Nbmhw==KkQS_2AgCJmr^_Mm)oGLzQMojzrR8#V*W=^;P=$WYPQ4Ky4Q=1B)f=3UQE*fEfgUZ(&naVo+y9X%?+1~I5{z3Xv9{-RDG55 z#4|jFcb9lP0x|v$Y5Q6b%%t-I^}}et`O%v4I09;6F;?z?@e^<~4P=OX7U3BBzIU0l z(V7rO9L>j8`Knhf<|V(EE6s9@-PM9sJC)pX^3<9$BSfldj@-KK_0ZKyPprnQtA=ns zyNxiMe7ohy2|7<=f6q)dVupH|q zh_;ctPp1Qo-o5))P1E}=N1m|y-M&E*-#H8j2hq`S$tjFEQ3}nGrJ|aCgZquz@-M-# zFU!jdNxx1ti`v;Z>I+aPDYwqF)Ej7V0!kKcG(9er_X*Kc7j%6M#Yn`YxC7hTD%O(^j6fq;41iEx?Oc z{zQcsegky7wpTgwNdel_r9+#0?V^_y{w&7Mvf21_vB(?kinbS;()S7dc|Qc$RBokz ztPeaS;&lvV&@TU0XTOb@B3moVJtS+YmWWRT9Gwgm41|i?f>RnTbh&Cg1wBjLRey1H%~5ND&mv z7UcuI4T;=xj>Xn!nJNZ1P3RNss(|4#T)w^Z_%uFV`>p56OA}$$KX$c!@)z5$)jhY8 zt@58VjKP31N>n@>P%W^d##P?Jug-_hEh>+K`G`O()R64YT6ok={xMhJCY6Gs?@B;} z@?8@stVK8xS%*Ldi00|eY`X*Er%IW@BegpF{6Sxf#Wu9+T~F<{{WIJ@JH@`sr%MfY zRu+DESes7-?%P_zIR0V>#0V6) zhuB1h3_oa1EbS2K=)|b%ExAhK#Si-Omuo3?35!X;WyzKb17zigMT%+DNr{E(ne+(g zV!7I8%51s8)9PhhTj-ZB?{EoXX4kjvuXz+2ggv`P>h_I!PJ4TMCl9k6m6fZ~eNUcx zSxrk?Q(JEr9#H@MB;6S@{DT zP(q$4sI~_q`hr;B#r&Unhb+N$@|{@WE5}p z&_Dj-|MMmO==S~3o%j=s>;LmT(Z142@^4uH|F-M?dAI#vyFc9cyzkH-LPEmx6jk-u z)L3I6xR1$}zbM_KGXj`;y?s=@kG#gu85tR|0xI+RYeUT(c zU=rDsz-CkN+u9e%h6Vvkpi{}+T?xkLtx?oA>9_0MO&I0=hI?)^n|PfNqMM4ePZS*B zWmQp8adb|#v(8=G4L1>b$a_iJIjCx|R>q*!@0Om#Yp(jtD8U{)! zC{(9;5*Y%}Pc3mrB&77vrTE3AMfN3F`d zYR|>#>hxDq3Hs$jY@(fmog>35pt$fI18hI$2{*OYv#uxKU*h_^0M^SNj-f1uo|OXv z*Q1_9yc|f`3?G21&;n3J`3!HmlCQmhV*0Ff8<;6*i7R-dw^d<`L;7Y?;A+7GAR^k! zw*^-NA1!quV_@3W(NqeRWc;o>w!2FcUaQ+RTYa256$E`+(|}&humosV0}g|Aod(l) ztrom@3$^PV?|jx8jjqSrg{-&wz=%xqEAz5-%znWMoI^W?bEMr>+u^`;PG1szjoV&{ z*Q`F!(pOAZZN?XC545!TV{UB}6z?sKVvfkhF=BUxl2TY_&a*1|@7{%)n}iTBRswV9 zI~n>CuXgHhIJ|E70Hn6IFOhph;CkyRv7qPMt?bQ-Q~g$7w3FTu#c3aOvdWJ>Cr1EG zt=X4YRS3{Ayd>~+LVzqP({|tYSF8PiZ!v~&5H8p~I*1UwVZLH8o37M2>rb=)`F@cX zU~K5VSIu^R`Ehaiqrk7zA+-E16h&GaxLY z8bIvVCM^nqFbGmxy-A77>+X^&yH$@0ey!7ar-(6xHuBaH7O|c5=x=!_J)37z($ZBT z&=%#v9PRp(MfA&~O8X>Ur{X|)O)X;FVsx1{U0OH>=2f6%IX7X(cF4*W7Z5%F?b~M3apHwj=?U<)bBPm_P^EOu@2O(tXSjqP`5~|U znqHUdU``b}v(A2c>++9gV`QAWb^Y-#rJ`){!%oNd^O#%Qf^$G(g@G*J_pu_Rr{l%E zBIco;+9Sd@&XLD%CuWxeUUQEYljs~+u1iLsr12v7dfO&9aIX&)w|JS|UZLlju($U}hUJC{QTpclKv6Ba2Z!~{bDjMd zsp94viIJP;tDknbig_=(tM{VjcSok^P*)tU00HXouf8M;z~?V*S=Qt=aN;)Iv^_uH zbY1NgKknkNJJ&97yQRu|wy;Bq$D-F#qn`wvAc<|%ak`FW=tbjhrtkEtCpxpT@bX5k z&Sbbgj5iJ)%mg%rfGV*F-?Z7MJ;Wi2M4I#RE6x+5$u8rkbO8Wb+i5NU%e!(JWrvaS zc3Rh-Q{B#mey`TG0;I2}Q;3*?!rPh$?ezi{o>yFJ={sbxTKcCm9x#j(xn!sC z7?TLjsk$|#cCY@{+{2S59zx)9wi32?@v~<@-fJXt0MsKUI`B~>40M$j+&6Be)n1Qii?1X|S0p=SH;$4+r&|0VKpYFwM?`sfn!+er=X)*I!!} z*TyxZlqb8Iffp?zb74(Bbjh5w?p1)_He}M6c~7O1boZYNhksQ}c(=^aDitz6%K@<= zjNwY5wAA!E<&*6!6@^ltU+8mgUP~UD>r_dI3L;+r1+D;QT)u%YDt8b=iOr_UjW8zu zdTmpAe)vo4(!;YvipB0%C?4J*ZkOs+;64r++4mznzcwNu+r$?}Ktp~)dL0)VON218 z-x%eFWDQ2Fy=)-r-(WA07hHJlijN-lkuN@dgTCGkn7%Or{_4DzfxdNfNe-%qQHU(X z#Oaog+`cz191cRcZ_|8Ce)+x^Hv^?NKR20RoNi4Js>^*kb7)u)wol%NZ!dGu%}#Uy zjMHA~bi6r#);T^E69i;4YmFH9iL6kfnWlPfNY`&{Scu%qbw5AI=$5Ik-Y&G5xEAGl z=L37dy;*42MhV{&v%dnOY^QK`J^Zxo`W(oPTsV?*V;$B8hj!|3g#n(<6a!`ELyy%E z6@d0Ndk#2%wFp1nJax}AuwPb|)LMU&y`5Y!P>S3=gH7rXuQ`K^@_r5r+BC7F3Rf~g zpDFLHFDVLO#_$>No(56sct~cHA;u6>d#iy{%QVqesp#K~`;&K04-!kw;Q?XW!NB0T zfdvmTs!6B$>#bJwof?4cH0B?;p{KD0WBcO(gJx&1<=|#4&U*oC;X@+jYv%KODPKocvw7&QFC}17C=T_<=+adT?*e z)&9#1rvfNO!WRZD#%kH3l2y^7;g8gWWJP2lDoA%AdB-`-2rPJuxD9dpnQFSz4a|xA$(iai)p9v)Oyola?!EBcGdrU zV%`?sxPM`BlfvE8PU)mk@vE=hom8}kNK(W?d=P=7q`HGRIS{T#&*^phq%+eBEu#%b=FB01tF zR%g|V*Ioc&Ix=3sLgOBst93zS`IGw!sx1W;XI z>&rm#RBhMbxE1}d9_T(jk!$Jz|L)b^+jVaBU(gi57Q^GV)K}Bay7!g*G?aDV&2`wj zzwcviG4EhS3^9f@a4?NFPeHkC$S(#1g&r9F={<3YvqIZmfU%Urrw4#?JP{Pc^Wm8Z z*sI{sQ2Qi)lUQ^|gjUhKr=?oY%c?PDb@9cBymE;FQJhB^A18g>MHWN!+XMWCB2k18 zo_0q=U4AVAnzwmq5x%ruzm(L)V+?ql=9v5l0NKat-p9%|a`W~~4n~B|Nbds%9?5G8 zPv?@kIb$lfY%+gS;JHPBTXXe96NP3JzThXZJ?*g7aLDvYyAv>vtrU4NhE+|dKtU;8 zJ4A|nH+iH^Tl?d=17-Sg3f6nt#P{#~zQXD9_=ofv3 zeztMaNnGMqpYyOO%~0g|BAyo&8<6=$+{Q4}i2!9$d~DNB;c>*d43Ayc9*ZN}m!SbA zzO~yvrlf!WBRkG5y+A)NDl=HlBV3@3)=f4Wun5hD$#mI}A(CbmD3j<)8mJ)VQAl6{ z49QLy?LObhWc1Yd1bS7I3fku>GPcXBkb$isNwVtKX|7b28^LNoKn81j7Q*AZm`~h@ z!gZ3z;qk-`mNA;yXcKK>>eXh+_@LG&nr~TpQn?B#BI@$I%C^G#U)F9c(v*3b_z$xi zNI$32q1mz(A-DhwcLD#keY4))z9e~ohlMUeFM4ObB9Yx9fI$CFVl$~$G|M*Xx%CC0 zCH)~sp=!r_Kg_%?-ST>$s9kIeYTsJb%s-i?$(7;u~xF++VM2}>uu$gI0lZ8rYCYO=$rDW4^}j5*%--v}(XOBBh?rt2;$WYKSEtM@Y4sUQt0W|hTt|0869iN-CS&}C@a|UtV|si{5IDe-L(2*| zJfB`oB{6TW()Un%l^A+-gqJ+H4|lmJb2~pUqV$Gua-DxsZC`KPrc6BBKQoL7z#DdY z@NgtEVmlgIRrO6?W z3qP5=s}fRFZRMtx9Y5C?fz|rP|5HET;ntqJB;C431o=vXN_eLt*$cvjF>UMS>;B1~ z0690Dc5S#-HKBvu%I4w07%W-@UUwk(6mrga@HL<0_ zih-)*8>jpRblhmZGu7g&UHqU-2m6Q>7*aIw_U4qoRTdhdGNY40CLb4mc~cNId2?w3 zZ66W zlG@Y3MQdDNtOHsgEr;97f^ky>8KlU(O36rObHgR()q}rf0w$4Yj#p^a-gIhvdcgUf z@g!Ug+L08abDk4_i&2s;zMYQX^lF~j}+$+neC_)4>uRPTAOUX~@>(L7nMcnI8 zMKB%FZJiwF%XHs>VqL+`0%+g-&CTf`N;f^-D7bl>RZ-BWq~RjKW4~iH$DFACGH@Hv z$t6u= ztgN?P`UjcPzd!jV_9z9RqF zKw6)@ms;*5D(++I(U(mAEZ`mPj*nE_T8S%;eEuF1VI=FVKr6+p?47$S{>%>{hE8Iu zXIhnWB0z*Vc#2(R4k$K#wOu-l${a;Bb5^g^n$@a!hLt`ojceVQ0kL^?G%fI@d zPlp5{z<;o2=-IEKJ7PVHgAwy~R76%ERF$m~lLX)*oLjQD`Nv3%5+XQID12OZXhmDS zcyhR_#(T@?@JRnlNJHaDKaPi&;LY+O3e0AXcu!u4{)q zRGn=)j|e#cY6iFAOX&k#zDb4C$j`J!>uzcDPPdQ}v8+{*7|qIEx(1b=Q?khmz`?y8 zI0WDFx!lF#31ZZQ}Rj+_`wVse3WMou*r$<_CRt>|5hvPI>P zA5x+NslIxMV0M>-zuZQfwRoQKSJ1(VO94kcM`5mvfqCx9_2~nVcv|z*td_U{5#u3& zV~y=r@E-5V^3x+0jw4bv{7loenam6m>46Q&xf8inxJ4f~kYlA;B5>rZYlG`m%@Lq9 z9HKM324qrJU@~nHYiZ}0J7volgFv*Ua2aKwJLai;pt`V*C@3zIpYsjz`CB^ViU|YE z;|(X*0pvW^A#wCL0s!WD6wKz(P~K;6F*!kE+iK9FcFMoJV zLbFMr!9x*aLVof~$T?n7(y_QSeS&I!w1?~t2%!>A0?+Pa*`vNQpJ?)=KLMdb@wU} zic_*e<$qYcb5$w?kSb9MO3j-wnC`>qwThEm=FXb=6V57o72XPXIL~zIhq#IXZcc)x zpz+(i_EXVgxW?S{8Zg?iI+j5*z^<+nd25=tGIb}!xc7RR>gL)2SET{4O7BG7cxq#~jv}DE?%}t) zz#wk+s*GTAR~;=Ebt#4opml96mGUWHP4!}_o<5$?wsLYYB7zPA%<a?wcI}FK-glcR6XzfvpvRd{l zQqlW-q>^5O_-jD{z9IXf;UJ``SWy@FT~v{XCU@YCiv9sa@SARzXi%mIUg;jl29*z z@Qu|EwC+h3Afi6CJ)ZXx90W!x%F?^T%}GM|Z8K@9opDd@_n4o29IC^Zg@0BTTYcz+OnDrXQ`hd3Tg~5a&EnC31M$N^R-7$4Ui^j zI60B?m`r>oKqKaGMjSQaaMMMHlYgwO158<*#~Jf;r1FloBfs$E*xPNSWy?2E2?!hn z=PAD`X$bIzg7jxyd$yZqyBs?SO{QKwJ3TgMEAeZ#LEtQNr!gN{dTbAbXd2Esw>xCK zQL?}VuaF>XtZE#{qLhWC=KW3A_)^^u-UFynA%#4fpzFkW!3C5pTyRnBv|*;XqKe-= z7GG|p+-HtQKE~}RW%fX8CDWAn54wU|cAu@4CyqZipjBd4P$G8oWUFn7FycV(FvJ@% z(feQOjyL=xEYwPZp?05QH?^TJAkxC3_%IdK5k9OpFCg?ZE3M&CL9g0z*V`M%Ae9R7 z-}lpK1(%O6SRZhKK+DHGb&6{BIV8Dt?Oi}h3RNYAiq?y&WyBUkRdq*IIQLgKC%2Q@ zXTH*v?~6368e)1)%G4x=t`f-3)T`~yj#%bTU);bO5Fgh9&(2O1F$w4~1UClK1P21J z$iT?JentE@M~JtzGM1WS#^7mXr5BzgOBvMH@c{Vr^J~`we9&{N*~Bq(YRwbL`2uKx z^-IaHQXpoQ#?RFr$Mqp_ST8cTkzvQ~ui}wP4#=qG3AY9ml4xG7t|cgAriAGP(Qv=w zo@Q(4*&dc* z&YDl>FZt#0t@0w%Y2U10K+UA_KOYcrr>!)M_gFNY+zthjPx{Yo$l@E0y2@;~{S34O zOx7~W=9{^t(D#B~Vb}b6Su%=|2QwfP4k6 znDgdP3`WmI$&2a}R_Tq{@sAYHci^HWj}Fs9&<|wPhm^(`s`LQd1k=}sO?NCAhx>^6 zjvr*V9Ar*R+4dMr_n8tny#M#rv=$mj`@Wp8Ok8yYqt;25uKaj-KUZuvU$=_SvFGbiMZqrVtAMz%eljeVeYBFS=-Liof=}(_iHm%mxden;blZ!~^TNy$!=&Npz=9Ih z{^oquk9-?<)4|!2lSdLQw+WykRFjH~`x22qa+8T-yI}pFtnfH9gjxUuWc`$rQY$3m zE7URwCNSJ&hl8g1lg=gYLoYDu@F{{RUnMx8jf4oG3vr728TSsoI_Y-us>aC)A2f7# zwTWYjVn`M>f573d0Gv~yeQIOrX`SI^qBz`aeoufl!~)&9C(G3G6Q(|O`iJJUTY!-< z>r3RsEm%v;%y2slhN0Ab-9;?W99}C3!8r9yl2^8S5)c0*kDx0iax> zsUGSdn-`{Xlrr%UAI<9j_AZ63Aua-Ai4)DPxXXTy9H)FW1Dd8zR z8a=T^ZN?zwb&c`)@Xs$LCyQ!kKU+Cq zAJ2Kpbb0;!kt?ch)weO`cnpQbBUoQqNtN^NUcoSYY3Oq{0!&bd1S(v|5|D{;0f1v?ICf2CJZI!fm(75C~^>T;<%3lD%-9TxBd#8v6n6AF0Su zn#G>bU9uYQk5FJmUZU?dlQ)G-86W(?7Qnpoum$1HuSq&qWvbkR13@f4CV*BTqg({j z2AVY(Ch`Kv8ZB}-rDa6WW^xF3h#-?yD8IrZyPM{!Y1`@E6uzx}Q;9b0iLanuXCH)a zgM)QBhC3B_ykQjmS`kM-`4;!o;OgvshQF%L>I-5tg%9Bof>mNJVuW6y% z^U^`iJqnqx_zkcUN7+ot#HLYFWPD*GhxBp!^K83B<8HYlX4!kmb=@Yo^I7Cramvy=cr|{5Eiov>|i*VAe6u zSLl=$q)hfmbam`@ict(}L)ODE)|nqKS`g8T5|NFcqfN1S*;KL1FGJG-CyNK#LDK8J z`QR{7T{ycrq*$kob@2$GDd)TTCyoxUS`8X`o0oP#1Z5>Y*yNY@9CvDwj^FZ6p?u_q z%9%UZ&+{%{IXk`*y2w?&Sw#Ma#*L|nH(Vu`>79d)Ju(WSmiIJkA#Ylp?;d~rI0gi% zO|8#pw_#pP@hw+vlsX)%3C&Fov0BHbhkuadTB$yM7nnz1h!G(Kxzlr}Z9VAjXw%Qa z8RJo&VOpYReKdKvgZSOB(jfg>8R5a10G+t;=`D;b6!*jL;v@$Ma^MiOc5 z%8hgSzg))dh>lkzdmPD-i5Wo|JQz7H5}lz6=+P}V^XFJyaRgwFC0x_PyTxSPSy#u% z&A+V19dj%eRtQ27XURpIkt)E|5FZ$wJ3qztY6)^v1u+wRsBOgBKKbC}{yG;mb3_R@ zM^1aYs^KSiQY6d!>JD|g`0QYrzIwTD{roa1!3k0i?%FgS6X$iI#Y9Cpv@c0+JfrP) zhlc|ul^?Tl)h_9NhzV3pd7)w}txS^7+c7IbW^2B-Y%6#>?fe~dt^RT&22Rj9mwDV^ zK=R~}oE~BF-NW78efNvWOx(tcS-Jfl`uneIGX;09_+1Aa6(PZVoqjPbH%6NC2CxCq z_2*sXdCPOw_BzoRzJ;3k^l<6U6fby)22t&D!v0$m9hmpM!=%Yg4cd}nBRvHwOMW|L z(s821m-^&X8#5211p^P9E}l1;OPc0)?Ap+e#$eIVpvz4SJIrNMl|o$kP|baau8eQi z^G;Fwz!{d>3HZYh$r~EPDmw;Ic8XDo?MQ#47yCWcp}9}qjXr;ed7-5OHh}&@Rtfj! zExj(+et5t0uGs9+tfy1L?#knXnzUMfe^CZe+8}yYHcRP+xs}kPKV+p^`dySt*G5+? zy@=WsBboI+zEe&O58W<<8E7|UXN4Fzic~MqICbtF4!<@@wmR{}jpefzcv={DQ_(wyiSHFbKw*3>KC)v&Bdh_`eyWzX$(!i}-)t z%zqSi*5Mux56A7>x7FM@MvI;(l}=%+0I1Y<WMkk$l(_kcd9+Tzunn()#+f4vR=Aza4QOt4%Z?UM8v6f@`&w0;FndYb%N$ zZcvugpR32yP79EnNSoR)NS6A|QdMhfcnIxIF`c_*{!rC!PzbF6x{u}k(%7=7S+V!t z6cp^`{s7R%$j=qG3$R@47h)*cwA*pC4g@x{$^?K3w}Humo}?sox-xdVx(){yv2DRr z@bxZNO*mI#<7^P_TQsHMMDV6wcxPn89*2*~_1t66q~U|NYzqJ^@G8F z;XwhU$a#0X8ip!LkB*D51|{rL;Qg$B={U2{cJH1+r8A7(r#Ho1j+Wc(71FxD4bakU z;A0Wf_}7Uf{x>vTfFc|2T zt{7F+*w}ct`q`AC@Xyz`8%pX~X#hr+bOq$}OUd+gs8Xl+%OlJq=4&J2pIo?;vMBPMvrt%oYIG1v?TJI*1H01pn@(Gcp+?m*i#a zt^SP};;(UE7Q;fBX3Ym$10?`n=QfoP!tXueX;a%JW_pOLEsk{pWrn4(mz5YCA<{u^ zDWT-Bjf%~73Qk4O&te5bmxTC3z`?_OJmS-*PX%25KD<4>z4iOaYsvNU06FS5v;~lU zmcR>z7qWvoGRR?93A-xBPWTKclUy4BfY?~kor5S9(eUNs zAjdh{OS-$$fef;kMZsbOAX3q1T{8z@?qV3G43!(pQ}2w;4_pC>AG3DVhrk$qS7iJS z!aOi^+!MG5F=1S44{f*L5PqQQU{K}yZrEW$rDi*{|5d%}X$eK*AJuWl8OyFYE34?a zrAWmXP72b#dIKpL^S$6HdiPdhhTfisu+@(e0~_H|QY3JobP|VF%Eq>xC+mIu_>;%y z$2k0q$LuHVA=z<&>;w){tTBBE4E}f; zYpW$dIq+7=NhGYA3LIzNQ0ixeG#GpAh}8#>(wX5P2$pPH-7O3OWA9kIq@^TMLuiW$ zBmqUU7{GA?e3X;LTF^t>=9063MZE63Gkkn+No{a_rE<9hK$_|RLr$pkO0qX~y=n`c zw`2*%bChbpZF-JL^t$6~t9bk~H8|*Q9QqaaX@i(^n0U&W`!)l4-2TR?h0pribcwD* zOjz{p)Fi18JMW!po=t_2{j@+@*Cmv!3K1u(=Gcb_l*%k>FLs8vc zq30@>$EXaaJxCZK9zm>&pZ;VDw7%P2xRu8$V9l4FvaL-6-%Ks^+TUJ1f*zDL=HT_` zX)-NVc1Ekeza799Qge7eZf-afq?C-I>x@1v(#*Ay#RZjOde^AvWD_Mp*v;X=bK2$ z?1(4VubH8mNW(fldll|l-1CwSFxJUT-+`KLGpSLbSrd5;%knoN$Jt3LlZTR1*C8$0 z>M4GpZ7||aH-Z5&F&1#`UbvHu!4x9G+EqBi*BCK{JHtCDJ~fy@Ab3silN%dzebgMo zLC1(M?gGSo^CsMf!eEt28R*0?QU|c;m%N^f%PYsWkrQK`*7Hr>L79&JDyt2IRR@{3 z??RGaSp^RXfTKOv*W|XpoLxaFlU-wx*Q#H80)$oqON)2BwTBe`@sLC7D0Yv)*O(ekc3DPn=m3Rn#M?tSt$Ls{>%FWzQhX_b9@ zmENla5gQx*6Q2Rc=C?jaKOY2YB%;;z%6qdDc5Z`w&0!O2_q*L0o<>%0B@6iZ!m-l* z7Vy2T$?NCaMb>902Fg~52C{o=oa=ng>gka!BzP)nf0W16?2iN%cHks{G85e+AlqYI zhdU2ujcd;)Qa%c9?n&3XN$16>S>gD3nO@Wb?Xgl#;is%onQ!TJ`lzn*ah3s9rIp=7 zpQ;cH)9=hF$~x@b8713P6reK)u?16#`YH29c_~Yag$cS9H$?g(o_WgmopCj3SuBsm zW0LkP^jr97Uyja$(jeB^zbN$StXxxUkz`T!l!h7xnQ5YU6da?&hcb5S9o=90-=%Cj4HJR(gbA&taPj>X_9Cz0}Cfn!_-2HEmnJB2)90^ zhmHX&GC8>Uf_+P0JKJJbaEPP;&HL(f%?^E}ZJbVTt02Gqh;5okLh44gadia*WMFap zHg*kxWXQK~-zMZ7XD6Q}qhFMW6B{VhWWu$cw%6opbqaz=a~D(;R7-Ktd0aPNcrsk7 z;TB}y?PpNtQgPPDeMe+5%`miE!KLMsT*a?+e5TL#rO%Jyr2IP zI^SnzhLUA}j?_oEO#iK_4#{{RW0gRE6P_ivXuPudA+UgZO zF67$?=7Ec)rKq=q#0LSe`ZpcZf_eWc@2-r95?WGbuxPV?!Q6`~5`1of0VE(>6SBAM zNuu8#Rtde;SD(9zw#(3I$kr`P%|=AZmYpFjVW=huo6d>rjOO@@7!JuD3XRbK3R$>h z69(uyDfOXZ$9m=f%#za7Te;#jizr}y)sU6iF%kB_YG>rROV+D28?CL6xW*IV8+xxv zQ;^IQ0{F264erD+!c+Dbje;hdGg442ff9K^ai>sA&F*@kt3;J zN0bw?fFVBLTMD$jMLXPWP;cvGt!4}Z=$6qa^joLCi;a!7k-r01PODStgq17-m5^N5 zwV&N~W-IU)@595%_phsD(M8DyU1m(x^Tt-9p^!X7R8HG$g7XD}Il{inir+v&DRtih zs;X#luYE~qqHM6HKS=S1jK~j4hVUM-O~uW-Y6nA;rgTKFP9H_?{Ilu>9VBfTII(u} zYd2do!jY;L5Bu+Ur;*Yw{gSt!c$n}e-oRN>XC~o)^#|*1;o;~ef{QVUt#mIle z(!bxu-!tlWGv)84ciQ>EMFEaDP$2l@e`g55ol0S#Tm}P$Fx0dR1E^lns08d-8X%Gf z`PXPI6D{L+_f9K$M|@)yiUTfg05mlUY_Ij@?Eqi`_>$_@JGOwllFnTNAX6Tlwu5 zhq$8?5)xp>o2IK{5~lY=IXWUDB5cR%@T0+hI5j4ac)hYBa$TnZAg`ipJQhPB!C3+n zw68XN)2Ec+Bfe2!Kp0GA!PVMI3p+lnM17PPH2^$dghfc4c9rW>Hobe@xU?T=WEBGW zTD{(k4ztQc!RHwO1<($lb5mXL7aXdQ64j#ys{TBHxB0 zO|!FEGQ9q@|1p~^;6Kj~I;KTHzGzZ^PImvtJbohJ0qcR?5gcclR;wcM@EBkU(h^$z zAjv}x?cF_f|D|r35?56N@})RIOdP?jnl2JWO;*tkNUZv$wlK|1)k46Ywh$KZw*_P~ z)6B$emmH(YP!`v;LemC!8^Fl^kf)z+O+3nM$zxhiXi(_sM!djlGay1}+ZO=`5bxH(HVbksQYrRtBnUenJ*K)W|DZg{W zr_SyYxOq7_ErTqOk~NbiRdJ)J**`F_c23%|ZB2xwsVt=e39fl6`yP=`JpBzq90&lv zRQVDIXz*^~&`Ml+C1)lQ*_kMWNkA1Nlw$Itr#Z5kL-v~h(cSFYwYli<@JBL-d|uei z0z==pm!!+|!eN$@5cfMO2_F`UEa^^tP9q;O!lmO`iJFRv&xkv-E{FJWTc1k@Qjq(A znfI)u>e-Y^H#?@ttr#5k#kK_*85#KzL3+hd|1Ka2yYW#qN1X+f4$BLj94{bidej}D zAm1JrE%j5Iz5ei_<^=S=7`5a(>a%#Ar7%p@QXjhwrW9uR0McY2pWWZr7(}s{l@=PB zm{l);)7JAnbGEUA?Ml5+_uE@C!P4(jhWmg-BEkZpuU+(50awqo6zvCw@Iyi@EZLfmh@Ym_AqRF&*Y+^)C^Q0{dm*PBX-QlRexxL!RODj2}KKE{=4 z@#6u@9&KwclRf~kHc0;%0$-ec4t`NTeZDda64eY?P-eZ@+^wFThX}{Hd)VE~x4@X;~&~F`Zk!b1Pqdh_=Y*7mPcwcr-f zKp0BWk}0OC^2q?M!@X&C>M^q?0pap}LV~STww1Ay1@eh4`Z174Lq41OhWaDl;(cVv zO%oMlSkHF1{Mww?4u;Fqb^(#`lWkUdf!(B({gqdS8)L!%3@u&k;yOAxlUk~N?p%|y zL^8{J?~C}?k(qGy6tmoCoust)PUc?xa}<4zaDxN|ghre|pUw9I-?F5*Ypgwv%T@V+ z)X$7NTvi$NRf(v{!9L-ni*4OJi4t~K!Mg)h&%S6*J+lP?+X4#J`>i+y0$KsP5&$}j zXPx|%nT}%5|M-6Lo94p^*yPts8KuBWR)BaVyT zAjHNR(}1GZn$FT)qoT*DIC^+ahZb@2#IZrCW421HP!m{17NCLfn&Y7`i$8301QZL0 z4mLL(X@wl+v+|xdUXs%XQCiXgdUW8n4Li24vQ~{DFUrjF{eLReZ5AVd^= zd0AUF4-_td;6N&>>c7~Ah=TuwDPwAiJ(N{c3PEvxx}rjo7lbbDQrmLdZyT69nBZEk zuV23s`_e$r3i9$prc`utQV@spH0VIq1?I_y)6Q}6M=m7nCN*v6sp?R}Om#;moc{j( zvAb*}%sx_9A8Oa>CV!l^jeWEL`rbziWj+-D{-EFg1ips6ZjWtLw3F_X`N~)=r#RkB z?F*9or~Csv-`XP3?XO)Qp7?+8Al1hX@uftazE?0gLjq#_aH12HZ}s?iZI^j=!$v2TdB9m_=uy0eDEa* z@h`ct?$&Lt#3jY0%yjdps;Mo^Xn%1W^}r_dCVT83J+F0oF|F!@hfhFAOnyWBKmVZa zjE|pCluSVJyNiDPeb!@ev7(sA-=B;d*8iKM;Tzf?UkX`2=tw;I6^i?aqX<>!1_U8q z?=fxsXU?4NT|V-?NLzM?F^hGVFiz;ic>=y+WRi z-=7SY-+wzALebvmE&e^2|7pNWv>t7tLpTnzx-Q-L{<>~*?KX{|{!Tcasu9`B?^iu| zn@#5~EV@`L%v5>JB=u37^D?cf_iz~obl#TdvmP3|_x4AHl(s#3;Lf0;fniw3I}Ja$ zpg#KYX`;k^RS=8sliQ#BZQ%Lm6w1xd?N@xXZ7} zQ9zBW_v^c~IBR_e&qM4yP>(u>6x7zxkx(DF(TI6Udj&4;d;3x|S^y{VL|%uny1p{| z(cJjYg1G(zFzR(<3=CQApimQecSkKL!5v88@)-a40km?oH%0&;?YGm!l7S$Qlui*; z0hIEq))j^JCf^q;R39Jh&kY#Zs{q3n6>v~jDf{tE2^_K>wlZDsDg$yqbG*PRpv1f- z)V2zASY{+I(Dnd8P27bscB2Yjka+Q5q!;;Yk#~sQQmXdY$#Y}iO7d7PcU)__k_pCO z5Oti!z@nvj_ETb2_6iM*Nz=xW1|ZnovHP|An9X%Iwt1M#5}!^cE%nhYBlo#QzX_?p zBL%G6vhLCn;JfjKbRP0sbbf$%xXhz+bP{()D9@KL`)CfSeA})9hSzhTcOegu9_;X! zx&*eZ5sau1o8zNHmLspjtwAe*D6s-i4XdF7Q<<%_OD9CdNaGvY{%*kNvKRDdW49Mk z??p#LG}7wZoCb|zILjv^95Jx6CtbcXor&>4tzxM!=M@IZVyPs}O?Dy6H zeJ~yL_R>LXXi$$ZRVq>$#WWlLc8v5$n)HgY;1#$c=PQjMV}&ZyMdy*BG=d$lp zcI|X4YsQ3*cmb$Fz00VVfYKk-8#2x-BZ<*mCP`b>FAlM`3VBC|`b-}YPlEMEg$x1u67k}I6bJHsv})Q`%6 zW4a9*x&6j9&vQTz`b6SmR?RwauC$Oc1i}I+kvJOAr5jNK^hd>u2s4VV9?-^G&yB}f z6oGTF1uRXvf27*u8-1PN(LT)Z*iOiGRa}AKzR5K8#L)UthGFO%1OzCXXhOqs)&~O7f2LMRy(`lpSDu!GOIisr3 zNy+=7?w$sz%fc@DIWIqtnD@sMk0&@j4AYm>-+59@a38_9IhUE7{b;;N`kIPYD5`xD@Bf9r1ie*PUq&A0gm)}<60!)(Zr~C%!{oY1M8*i zA2F8(-0h{Dgbv@{%_thu) zx47>=pKj;1`|+8b``QzD=yk!KAInIl-{%{?{FJlbQ>4BW54#Rv%Ae2t0lh?}i3@q4 zI-`}@QDE8-cVV>gtXcYdFkPTILzBX7%-7a8 z!14-2)6Aq0^HJhu5%(=!bqFL1Vi*)907ORGDZ9Shz8cAO6H?h_Ns%*U2+Wj`E&{tk z)UmH+80QyqzK|iieUHxkk-l7hPb8gHf+{D*ak&R+rl^j*@I(;pF ze`m#{XVdtV4Jf8Z4!chL=?&O%fP%n>syPU`%Rt;Vv8VK(GRc2N-6gdf+6cj|KFwYb z8sqIM<}x;i%)_4KV1PbeVR!5F838h}-A4nQ^#X$3V(-j?HC z-tUB_UeJCsHjGQ9{4xE5RkPB0NfAs5rNQH^uHcm{e~tm8PWFZfjC=rKh`c*GbwT4BjG3u_LaOXKO961N1ekm9 zg2lJE_q?W2Rm7!cwVtFGw{zY2zUHN^qcg~^{`8;_y>k1)CYaRF^gIAwO7y=5YM}`u zAV0NjN<_mj4GYAK7p~sV`cpGVyk)gmHoX_S&8BetU{W=P!-G47!P^)>OC8={D1>Wj zVm?2e`Gm1QZgFg(JB|cIC6gW&QI8Ch`rU!dZTk|oW#eNC}Eu>Q#7>>d&)dZF6 zOxZEZTv__dVsCxwTkqRzJVjVnWbFa)^eb{`k7Us-A~abtzgQg_p?xVMR>;X(O2vA6 zWu#h|1l_2@b=j}ba1c~Gi)hVr11JOv<;kaYrn2`wUO8#;aT5J}>J*t09L!v}F3VB| ztoa_ZjVj0UbI=JpvsbS*(^`Q7_gv~5PDN0rYYz}}U45hv);V=^wrGqlUnZ0@^80t{ zu5U5ydJ#y${l(%15w)}?eF*gQC#^K;zl_tww+)Q?8m zX9#mtuQUze&Ts;uW!-LCBr4cm` z?SV)y#}+yEgw5w43s5~$e6IJNjEdCl6V5IFIHX3g0H5dBnU35O_U*r7B09(iPgPj( zQij9{ArdzP>ahd__oLiK+T%`9ocWkYtOe>a=vG7JmnU9snNbJkXZ+r|j&tP9vX9nx zFE#Nh(em4=5Zss1u#!H-y#Yk?4TAfM>Qog&Qm4Ay5|s2(vw8pg{r3OQH^2;r)Y6RX zgn;e%lG}G7 V@)!2BKk&dm1sPT8Jjq9X{{!PQe|!J{ diff --git a/examples/ratelimit/provider/polaris.yaml b/examples/ratelimit/provider/polaris.yaml index 32646672..80fc30b5 100644 --- a/examples/ratelimit/provider/polaris.yaml +++ b/examples/ratelimit/provider/polaris.yaml @@ -1,7 +1,7 @@ global: serverConnector: addresses: - - 9.134.5.52:8091 + - 127.0.0.1:8091 statReporter: enable: true chain: diff --git a/examples/route/dynamic/README-zh.md b/examples/route/dynamic/README-zh.md index 0d6478f4..05b17831 100644 --- a/examples/route/dynamic/README-zh.md +++ b/examples/route/dynamic/README-zh.md @@ -58,16 +58,16 @@ global: ``` # linux/mac运行命令 -./provider --metadata="env=dev" > provider-20000.log 2>&1 & -./provider --metadata="env=test" > provider-20001.log 2>&1 & -./provider --metadata="env=pre" > provider-20002.log 2>&1 & -./provider --metadata="env=prod" > provider-20003.log 2>&1 & +./provider --port="20000" --metadata="env=dev" > provider-20000.log 2>&1 & +./provider --port="20001" --metadata="env=test" > provider-20001.log 2>&1 & +./provider --port="20002" --metadata="env=pre" > provider-20002.log 2>&1 & +./provider --port="20003" --metadata="env=prod" > provider-20003.log 2>&1 & # windows运行命令 -./provider.exe --metadata="env=dev" > provider-20000.log -./provider.exe --metadata="env=test" > provider-20001.log -./provider.exe --metadata="env=pre" > provider-20002.log -./provider.exe --metadata="env=prod" > provider-20003.log +./provider.exe --port="20000" --metadata="env=dev" > provider-20000.log +./provider.exe --port="20001" --metadata="env=test" > provider-20001.log +./provider.exe --port="20002" --metadata="env=pre" > provider-20002.log +./provider.exe --port="20003" --metadata="env=prod" > provider-20003.log ``` 运行构建出的**consumer**可执行文件 @@ -76,10 +76,10 @@ global: ``` # linux/mac运行命令 -./consumer --selfNamespace={selfName} --selfService=EchoConsumer +./consumer # windows运行命令 -./consumer.exe --selfNamespace={selfName} --selfService=EchoConsumer +./consumer.exe ``` ### 验证 @@ -87,7 +87,7 @@ global: 通过设置请求头参数***env***的值,实现路由到不同的服务实例 ``` -curl -H 'env: pre' http://127.0.0.1:18080/echo +curl http://127.0.0.1:18080/echo?env=pre Hello, I'm RouteEchoServer Provider, My metadata's : env=pre, host : x.x.x.x:x ``` \ No newline at end of file diff --git a/examples/route/dynamic/README.md b/examples/route/dynamic/README.md index 23beffce..f0dc5684 100644 --- a/examples/route/dynamic/README.md +++ b/examples/route/dynamic/README.md @@ -76,10 +76,10 @@ Run the built **consumer** executable ``` # linux/mac -./consumer --selfNamespace={selfName} --selfService=EchoConsumer +./consumer # windows -./consumer.exe --selfNamespace={selfName} --selfService=EchoConsumer +./consumer.exe ``` ### Verify @@ -87,7 +87,7 @@ Run the built **consumer** executable Realize the route to different service instances by setting the value of the request header **env** ``` -curl -H 'env: pre' http://127.0.0.1:18080/echo +curl http://127.0.0.1:18080/echo?env=pre Hello, I'm RouteEchoServer Provider, My metadata's : env=pre, host : x.x.x.x:x ``` \ No newline at end of file diff --git a/examples/route/dynamic/consumer/main.go b/examples/route/dynamic/consumer/main.go index 5f964f33..20282dbe 100644 --- a/examples/route/dynamic/consumer/main.go +++ b/examples/route/dynamic/consumer/main.go @@ -23,6 +23,7 @@ import ( "fmt" "io/ioutil" "log" + "net" "net/http" "strings" "time" @@ -37,6 +38,7 @@ var ( selfNamespace string selfService string port int64 + token string ) func initArgs() { @@ -45,18 +47,42 @@ func initArgs() { flag.StringVar(&selfNamespace, "selfNamespace", "default", "selfNamespace") flag.StringVar(&selfService, "selfService", "", "selfService") flag.Int64Var(&port, "port", 18080, "port") + flag.StringVar(&token, "token", "", "token") } // PolarisConsumer . type PolarisConsumer struct { consumer polaris.ConsumerAPI router polaris.RouterAPI + provider polaris.ProviderAPI namespace string service string } // Run . func (svr *PolarisConsumer) Run() { + if selfService != "" && selfNamespace != "" { + tmpHost, err := getLocalHost(svr.provider.SDKContext().GetConfig().GetGlobal().GetServerConnector().GetAddresses()[0]) + if nil != err { + panic(fmt.Errorf("error occur while fetching localhost: %v", err)) + } + req := &polaris.InstanceRegisterRequest{} + req.Namespace = selfNamespace + req.Service = selfService + log.Printf("start to invoke register operation") + registerRequest := &polaris.InstanceRegisterRequest{} + registerRequest.Service = service + registerRequest.Namespace = namespace + registerRequest.Host = tmpHost + registerRequest.Port = int(port) + registerRequest.ServiceToken = token + resp, err := svr.provider.RegisterInstance(registerRequest) + if nil != err { + log.Fatalf("fail to register instance, err is %v", err) + } + log.Printf("register response: instanceId %s", resp.InstanceID) + } + svr.runWebServer() } @@ -155,6 +181,7 @@ func main() { svr := &PolarisConsumer{ consumer: polaris.NewConsumerAPIByContext(sdkCtx), router: polaris.NewRouterAPIByContext(sdkCtx), + provider: polaris.NewProviderAPIByContext(sdkCtx), namespace: namespace, service: service, } @@ -177,3 +204,16 @@ func convertQuery(rawQuery string) map[string]string { } return meta } + +func getLocalHost(serverAddr string) (string, error) { + conn, err := net.Dial("tcp", serverAddr) + if nil != err { + return "", err + } + localAddr := conn.LocalAddr().String() + colonIdx := strings.LastIndex(localAddr, ":") + if colonIdx > 0 { + return localAddr[:colonIdx], nil + } + return localAddr, nil +} diff --git a/examples/route/dynamic/provider/main.go b/examples/route/dynamic/provider/main.go index 13a752aa..c53b0256 100644 --- a/examples/route/dynamic/provider/main.go +++ b/examples/route/dynamic/provider/main.go @@ -89,6 +89,22 @@ func (svr *PolarisProvider) Run() { runMainLoop() } +func (svr *PolarisProvider) registerService() { + log.Printf("start to invoke register operation") + registerRequest := &polaris.InstanceRegisterRequest{} + registerRequest.Service = service + registerRequest.Namespace = namespace + registerRequest.Host = host + registerRequest.Port = svr.port + registerRequest.ServiceToken = token + registerRequest.Metadata = convertMetadatas() + resp, err := svr.provider.RegisterInstance(registerRequest) + if nil != err { + log.Fatalf("fail to register instance, err is %v", err) + } + log.Printf("register response: instanceId %s", resp.InstanceID) +} + func (svr *PolarisProvider) runWebServer() { http.HandleFunc("/echo", func(rw http.ResponseWriter, r *http.Request) { rw.WriteHeader(http.StatusOK) @@ -112,22 +128,6 @@ func (svr *PolarisProvider) runWebServer() { } -func (svr *PolarisProvider) registerService() { - log.Printf("start to invoke register operation") - registerRequest := &polaris.InstanceRegisterRequest{} - registerRequest.Service = service - registerRequest.Namespace = namespace - registerRequest.Host = host - registerRequest.Port = svr.port - registerRequest.ServiceToken = token - registerRequest.Metadata = convertMetadatas() - resp, err := svr.provider.RegisterInstance(registerRequest) - if nil != err { - log.Fatalf("fail to register instance, err is %v", err) - } - log.Printf("register response: instanceId %s", resp.InstanceID) -} - func runMainLoop() { ch := make(chan os.Signal, 1) signal.Notify(ch, []os.Signal{ diff --git a/examples/route/nearby/consumer/go.mod b/examples/route/nearby/consumer/go.mod index 16ae2ea7..430488d2 100644 --- a/examples/route/nearby/consumer/go.mod +++ b/examples/route/nearby/consumer/go.mod @@ -4,6 +4,8 @@ go 1.17 require github.com/polarismesh/polaris-go v1.2.0-beta.3 +replace github.com/polarismesh/polaris-go => ../../../../ + require ( github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect @@ -32,5 +34,3 @@ require ( google.golang.org/protobuf v1.28.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) - -replace github.com/polarismesh/polaris-go => ../../../../ diff --git a/pkg/model/service.go b/pkg/model/service.go index c4446ba3..60226154 100644 --- a/pkg/model/service.go +++ b/pkg/model/service.go @@ -775,7 +775,7 @@ type CircuitBreakGauge struct { CBStatus CircuitBreakerStatus } -// GetCircuitBreakerStatus 获取变化前的熔断状态 +// GetCircuitBreakerStatus 获取当前实例熔断状态 func (cbg *CircuitBreakGauge) GetCircuitBreakerStatus() CircuitBreakerStatus { return cbg.CBStatus } diff --git a/pkg/model/stat.go b/pkg/model/stat.go index 13ce9343..a80500f5 100644 --- a/pkg/model/stat.go +++ b/pkg/model/stat.go @@ -64,6 +64,31 @@ const ( RouteStat ) +func DescMetricType(t MetricType) string { + switch t { + case SDKAPIStat: + return "SDKAPIStat" + case ServiceStat: + return "ServiceStat" + case InstanceStat: + return "InstanceStat" + case SDKCfgStat: + return "SDKCfgStat" + case CircuitBreakStat: + return "CircuitBreakStat" + case PluginAPIStat: + return "PluginAPIStat" + case LoadBalanceStat: + return "LoadBalanceStat" + case RateLimitStat: + return "RateLimitStat" + case RouteStat: + return "RouteStat" + default: + return "Unknown" + } +} + var metricTypes = HashSet{} // ValidMetircType 检测是不是合法的统计类型. diff --git a/plugin/localregistry/inmemory/inmemory.go b/plugin/localregistry/inmemory/inmemory.go index 22871305..6ffae1ab 100644 --- a/plugin/localregistry/inmemory/inmemory.go +++ b/plugin/localregistry/inmemory/inmemory.go @@ -575,7 +575,7 @@ func (g *LocalCache) UpdateInstances(svcUpdateReq *localregistry.ServiceUpdateRe cbStatusUpdated = false } err := g.engine.SyncReportStat(model.CircuitBreakStat, - &model.CircuitBreakGauge{ChangeInstance: updateInstance, CBStatus: preCBStatus}) + &model.CircuitBreakGauge{ChangeInstance: updateInstance, CBStatus: nextCBStatus}) if err != nil { log.GetBaseLogger().Errorf("fail to report circuitbreak change, error %v", err) } diff --git a/plugin/statreporter/prometheus/model.go b/plugin/statreporter/prometheus/model.go index c07949c1..84aadefb 100644 --- a/plugin/statreporter/prometheus/model.go +++ b/plugin/statreporter/prometheus/model.go @@ -161,14 +161,14 @@ var ( CircuitBreakerOpen = metricDesc{ Name: MetricsNameCircuitBreakerOpen, Help: "total of opened circuit breaker", - MetricType: TypeForCounterVec, + MetricType: TypeForGaugeVec, LabelNames: GetLabels(CircuitBreakerGaugeLabelOrder), } CircuitBreakerHalfOpen = metricDesc{ Name: MetricsNameCircuitBreakerHalfOpen, Help: "total of half-open circuit breaker", - MetricType: TypeForCounterVec, + MetricType: TypeForGaugeVec, LabelNames: GetLabels(CircuitBreakerGaugeLabelOrder), } ) diff --git a/plugin/statreporter/prometheus/prometheus_handler.go b/plugin/statreporter/prometheus/prometheus_handler.go index 5a44eb39..fe76b0ce 100644 --- a/plugin/statreporter/prometheus/prometheus_handler.go +++ b/plugin/statreporter/prometheus/prometheus_handler.go @@ -223,21 +223,22 @@ func (p *PrometheusHandler) handleRateLimitGauge(metricsType model.MetricType, v func (p *PrometheusHandler) handleCircuitBreakGauge(metricsType model.MetricType, val *model.CircuitBreakGauge) { labels := p.convertCircuitBreakGaugeToLabels(val) - open := p.metricVecCaches[MetricsNameCircuitBreakerOpen].(*prometheus.CounterVec) + open := p.metricVecCaches[MetricsNameCircuitBreakerOpen].(*prometheus.GaugeVec) + // 计算完之后的熔断状态 status := val.GetCircuitBreakerStatus().GetStatus() if status == model.Open { open.With(labels).Inc() } else { - open.With(labels).Add(-1) + open.With(labels).Dec() } - halfOpen := p.metricVecCaches[MetricsNameCircuitBreakerHalfOpen].(*prometheus.CounterVec) + halfOpen := p.metricVecCaches[MetricsNameCircuitBreakerHalfOpen].(*prometheus.GaugeVec) if status == model.HalfOpen { halfOpen.With(labels).Inc() } else { - halfOpen.With(labels).Add(-1) + halfOpen.With(labels).Dec() } }