From c7b7ae0731b597e0bed06711ef548e56896d9ab3 Mon Sep 17 00:00:00 2001 From: Ruben Vargas Date: Tue, 28 Nov 2023 18:39:58 -0600 Subject: [PATCH] Add some docs about deploy tempo Gateway and use it with Grafana (#3135) * Add some docs about deploy tempo Gateway and use it with Grafana Signed-off-by: Ruben Vargas * add title Signed-off-by: Ruben Vargas * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * change frontend-query to query-frontend Signed-off-by: Ruben Vargas * Rephrase the URL setting Signed-off-by: Ruben Vargas * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Use Datasource in all the reference words Signed-off-by: Ruben Vargas * More improvments0 Signed-off-by: Ruben Vargas * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> * Update docs/sources/tempo/operations/grafana_datasource.md --------- Signed-off-by: Ruben Vargas Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> --- .../tempo/operations/grafana_datasource.md | 77 ++++++++++++++++++ .../operations/grafana_datasource_tempo.png | Bin 0 -> 28097 bytes .../grafana_datasource_tempo_headers.png | Bin 0 -> 17742 bytes 3 files changed, 77 insertions(+) create mode 100644 docs/sources/tempo/operations/grafana_datasource.md create mode 100644 docs/sources/tempo/operations/grafana_datasource_tempo.png create mode 100644 docs/sources/tempo/operations/grafana_datasource_tempo_headers.png diff --git a/docs/sources/tempo/operations/grafana_datasource.md b/docs/sources/tempo/operations/grafana_datasource.md new file mode 100644 index 00000000000..21cc6b2ec70 --- /dev/null +++ b/docs/sources/tempo/operations/grafana_datasource.md @@ -0,0 +1,77 @@ +--- +title: Grafana Tempo data source +description: Use the Tempo Operator to deploy Tempo and use it as a data source with Grafana +aliases: + - /docs/tempo/latest/gateway + - /docs/tempo/operations/gateway +weight: 15 +--- + +# Grafana Tempo data source + +You can configure the `TempoStack` to send data to Grafana and configure the Tempo data source. + +You can choose to either use Tempo Operator's gateway or not: + +* If the `TempoStack` is deployed using the gateway, you'll need to provide authentication information to Grafana, along with the URL of the tenant from which you expect to see the traces. + +* If the gateway is not used, then you need to make sure Grafana can access the `query-frontend` endpoints. + +For more information, refer to the [Tempo data source for Grafana](/docs/grafana/latest/datasources/tempo/), + +## Use with gateway + +The gateway, an optional component deployed as part of Tempo Operator, provides secure access to Tempo's distributor (for example, for pushing spans) and query-frontend (for example, for querying traces) via consulting an OAuth/OIDC endpoint for the request subject. + +The OIDC configuration expects `clientID` and `clientSecret`. They should be provided via a Kubernetes secret that the `TempoStack` admin provides upfront. + +The gateway exposes all Tempo query endpoints, so you can use the endpoint as a Tempo data source for Grafana. + +If Grafana is configured with some OAuth provider, such as generic OAuth, the `TempoStack` with the gateway should be deployed using the same `clientID` and `clientSecret`: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: oidc-test +stringData: + clientID: + clientSecret: +type: Opaque +``` + +Then deploy `TempoStack` with gateway enabled: + +```yaml +spec: + template: + gateway: + enabled: true + tenants: + mode: static + authentication: + - tenantName: test-oidc + tenantId: test-oidc + oidc: + issuerURL: http://dex:30556/dex + redirectURL: http://tempo-foo-gateway:8080/oidc/test-oidc/callback + usernameClaim: email + secret: + name: oidc-test +``` + +Set the data source URL parameter to `http://:/api/traces/v1/{tenant}/tempo/`, where `{tenant}` is the name of the tenant. + +To use it as a data source, set the Authentication Method to **Forward Oauth Identify** using the same `clientID` and `clientSecret` for gateway and for the OAuth configuration. This will forward the `access_token` to the gateway so it can authenticate the client. + +

Tempo data source configured for the gateway forwarding OAuth access token

+ +If you prefer to set the Bearer token directly and not use the **Forward Oauth Identify**, you can add it to the "Authorization" Header. + +

Tempo data source configured for the gateway using Bearer token

+ +## Without the gateway + +If you are not using the gateway, make sure your Grafana can access to the query-frontend endpoints, you can do this by creating an ingress or a route in OpenShift. + +Once you have the endpoint, you can set it as `URL` when you create the Tempo data source. \ No newline at end of file diff --git a/docs/sources/tempo/operations/grafana_datasource_tempo.png b/docs/sources/tempo/operations/grafana_datasource_tempo.png new file mode 100644 index 0000000000000000000000000000000000000000..156fa070d0e6996b9672ad923d626a0b4a670b3f GIT binary patch literal 28097 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

OjV3rFEY||2gs7ZA+jHXG`VUaxkHH)KT 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 literal 0 HcmV?d00001 diff --git a/docs/sources/tempo/operations/grafana_datasource_tempo_headers.png b/docs/sources/tempo/operations/grafana_datasource_tempo_headers.png new file mode 100644 index 0000000000000000000000000000000000000000..273c1a74a32a01f7237ff4076bafe725e0eb048f GIT binary patch literal 17742 zcmeHucT`l%((fPw3IZw_6c7}YG~^sqvJ#Y>(=gX#0)gO4ONl8!AlKr+ z_rx2R;HO7z-6iY@cYbx|Lrr`Vvl*{m2RU^i@8%F`Rx( zqAfEDVd5w9Lc?2PMEOHg+3KZU(+F1w{R3A7tdg6&vgZ6o3{|}i=dK5z-GhhbVkFDl z#1V7{g7qbIYPSXSZ+8qHPFJrU9%fxp|3JU<{Z<}XE$@xxG5_$v&%}j`PZO%*m!EGQ z7TvD#RaW;dInQ_qfuOxJ6%~CYEh_qt^?+5xdxQ!}HM}D9l~)w+CB_o)=QT7*SpP;7 zT#PNAcH7KX<-Uy0DV8jG7$J#dUGdCJkHKJFle#LF>a*MDXts{F3J#%nw_aj18@SuJ zQY}^6mu(3@HBpH%I(P_?E$xzFc(S;gX)w)*c_-z=1164+=kG(RLS4dhpRslrcY!|e>N+b!$^s=WhrOc?(~o8>Lif# zZ&Dy()b4Cgkr0%l@#~u*BT0QQSS|u}ktE`?Q^XIKBB(JxwI_vv=P73~BWe z@lFYZIAr|tr^k}oNHG>)Eh1JsrZ1Sd1#4JWKGTK89~8rN6dvE)ui@>MytO=zp@G|S zBJ31Dbn~`5X3l;va_G8|h_tms(efSEB3vykXHGbN*#w$I;;qro+E1h&5eC+tk$EUm zlGb2g4po&G_t>673{6#5C}w7ElR{q~R`gV!RW2QFB^;i6LagiTest|RsRF%oF$Mai zCM&}av$kZ>H?%f@v$$B=0L6nq1VvnI^kL?32WkVjv8k01%~mCnhT7Cnh(?u5mQ~h9 z6mDWFg|LGwBIJ}{2y+;pA&rPIwxA0?7{C(lpik{$X<=p0?;=F=dt83-9d#K>L;bsp zgSilmn(QlTQENLmH75%v3oEm@i>VVkjW9N~pq-%+zk-;=pF@DZglJ409BlZZP-kan z7H19?Ydd2o8y_DZl$9OI&dv;aFx$IYIq17ETiMg1hWKL)F}OX<&eX=i)Y^&~HKx9S zwWEU&4Gn0g{>S_*ZDeKtIlPtqpHcwwfV$}0K-pMWp_Z1=zusZ*AnpVP`Ex@5+dJ%) zz%hj?!0oLa?O_ef7^f zP$DokwY2$t7ZCQ}dODaI{YzMXn;WX-_j3L^5perI$NgLHf2{p?XV6PlmS4;o=7^e} zw3rYL>iPVJ)-Y2;{@-6YIXMjUVFp~xTzqT>%$#r|Ze~6nR!(LEc3vYmD?2Nj5eNHU zhLX0jchI+j!BInj!C6efID9-jtn7w{oXqTOM!d|N24G7KSowIF4Gehn4S9JC*bTY) z{xXETohi^teT%=&3N@4=7)l>z#A5`9b1}n=_*j`a*C62a{a&cMjak%!9TWK%G4e_-}U#UKTeb)-1d*Z{`k|v z^!HJsrv7~>fZ+dFg1x>I-0=52!B~GZ!A$h6jN!m~{Hd=0xNiEtQ3WmzpbXsXY|Joj zb|Yp^7#lmYJ});rGanZpJF5{Nw?2&Z58?fDbbD(f2WNdd_%mZ5M<6Spp1);9{rLAr zJ^A}woK4`UT>t`OW@BUiuL6VqxnL;DX8dEtg3$jW6T#md{$ganeScg7#tYa&=s%6& zpE3jU{r~y-b1(jXK7yM1KM(o0bI9#Kx0?i&zfQ zvf@}vIJh{EXzW*riy#nch_u){NoRM$rmL2n;U7GA6{OG6ScItUL^J}tu zYJGjZdt%ARi3jtFp^jJ#^~ph}P=4zVK95HT?|=_R91ZG&%`J{L*bY1ZM@#D)D-=@ej7uDH4c_e&4+D%&OqwyhD(rrRQyHPr=*GqLT8rQ6=I^X)7 zUG`$@oHuL?zrRgKzRr&F)7;d=~|C^ z)v+67tawA}$`jqysXcs1u%NIoFaOECj|u!6USeYLjYHj$2uBL`!>=u^U0wS9iwFD} zs6}2C>v8a%#2+|8!hz;;i`V-!@61RM#yD8K*z`!PUOWj7w4<1(eL4L;o>mykbD52mYF%? zXv%9XjC~-7sNE;IMIjl%92OpayinT2q<+c)sjGWXwKwF~d1lB>yIGwi18Y@n?HNuw*{h*>!1i`2MNoaVHd2e?Dwg8i z`T4oDv@DBb!q?L2rf*xwU->s-H}FO3IOLIf36a*rCFpaMlszQ6-Nq9z{5+#c1|5Vx z!(iqhq;`DVPgMuuqg{D9|JC+rXK_52?aLMQScxhAo9b$z-0E}Ul@(JNcXuZ1YL19X zziGdO1nqo1ht*8$eEZ=f!QBxP;l#5C4O`^TkTk>T{QUfVRj!PQZl3H^JtvSie$9d( zkX{giB+`~Sd0}tx)fw-8PN6E0zBOj7Z|;SQ$Ev{b$!VrRPO>?Bf$Nsgk^Ry3nN=$u z=`BpN!7R}vor{yhN{k;lXKP_i>m%j&--IlAwmMIr%Ph1j`v(LVEr0se8N(BoJCE)YR15XXt(k)f%|ht}!TP8r_dfn%)9RT~8~gfiC-Idz(OwiFoad ze9*i%?KOc$v6;EHkvYt*&B3MjDZ$L}wCC*Tm0Kw00Y!oHv=z7Y)KdqU&)qtA?t~)A zOoY$Q!@*W?nAR&|^IH4raR@ONt5IWpiVJts#u0`sIs{V+d`z!xET4b4yVpUv!bpCs z-QAHZ_kdy5As_DQ>U;J&S%O)|Ys0d{YO;08qf)(KpXBt2@iLlDQ*+#43m3ED(fG0L z4oxKUS@8&aVUw0wxzqYYH#+{5Xh)>w4fBy`vMtX>AaxdwGGZ{N=OkFMuXr1HVT=0) zXiLj%M`;B)`I?8ZUD45x4Gg{o1corHeo0?e^i}lM-AkEUbI$ z_g^sU>J3uc?d=}J7PhJ`HaTn5Sd%6Ghn>@lX6A0`JIhdGy87}Us0cqaIh(5s`y~y)^G0}7>^_z-PTCWIoPXo zx{yXl@Q28|$7U#BOQ+CCa@!*F?KLUNDRfwY7MYE{|0??a*A~@NwT9-Z{dy&S$5jop z(M0!IvS#6ZQcuszch^;uW!DZH<9j(P{Qad|A3kjE_tHChd95oDy}K8-*~@wAsF%v{ zxJZ9a19+0Mqs`aHCntAENLoI|^k;k7np`v&A7d#QwR2n*)=ZbJ%kXO2bBN$yK5q}_<(Bt!!`Zc z^zFBG1`gvdO@BJOzcjUGH}&?0vL&~q(}>Lv;c(M`^a^W}7wnj)PlV4Nx9xB7+@PmV zrKnKs?q>PuwI2{y(ziBf{uEh*{!(UZGLuRlmmdFD! zOI~Ry(h9yYl}#cW$9dJV+T7EVq`|c|!Flre$8%rok8UpYvfA`8O84tM9};=8x-s!9 z<|^hjRa~KRxrzdx-Rd+3RAp10=}oF=38Bmf0UR*8hKr~U!*G+9?FLIAk*b8 zEge-=;-Kx^+)2~LYlvGR3GQQZ$db9 z-ObI7hNb~nA%%|;w3t3`@iqhqG*T%K4-eNTOXIpUxgoE3ii9o4idvdReZkR+yu4h4 zqi2j2i<(ZC5LgjS@J4-ZELcE>hK0GeA*QB;_cupFUPQP{zkCTFj1}<@7RIebPo^|D zn$qU99=m32OacaOO6gidVR9GFOQCpkW{_YlPf{MX)c+M11b>vGus?L!*`(8 zg00ZFho!`7TxsM)K%l=;)yv!4TUu87*T@cS)W_QW)lqz?JQU3T$>Ya)DTA5AZ|3Li zf%T-kcX0y}5**hEMP9U)+b=EmR`W=P+^@;FV9H+qv2%F%Rkf$)SY?-%i#cN2>niA7 zqYK1rFhevoSliao@evDm5{pL7mzfSY|KItPpZHsg=kejma?+4 zyF`v3A~GYxBND`ce%!ou%V?)(8lBalm9@S>{!@6k{iu7pTU9$hJ-_4f^M<{p#^#{4 z7gJjAm+Q1_rp@iv37CJVzuOlZ~Z7osuZA)s!2#lSb{HS&Fgt4y!xm53~ z6NC~I6Ws-m8t#TnFN|G%ZNS>z!_iwQ&`krX{`2SQ`R-Z>}Nth?i;<<^@t5-L?Hb;zvc+k9kGDAPz?g{%L5;fBOVlAAC^x(FD^VS#mo(hnR z&FnlIFx3I07MJ4}kT=$kL=cC|K7NwoeH?u#4;&WWa}i;DbAd4Q>S>;9ov+;VG?E>J zQ0^y#sq^!O9AB>V$bGr=mvThXl{4|)zJ2C?*ras}lj8KCItZI+f-OeIVQVT5S`#lR zA%U47;7I$J_1(5VK~ssowY7X^q@{X|!OeVIW0R?@N1(M3lXB>*CI!X&TQz|jURL_k zmqOREd|6FqUI|}V;Hj&}K&~IFF822<&CbrYr-kC%ogcrx+e7y=?X_ZtuhLTZ36(x~ z-14;ZtAMk6s-X$Pd9!!Rgj*hzXt_e*rmT>^3GMK|g zvZBnj$Ik?diK1X1zeB}p4Oz@7CjmCL*G;=Utx{m*!t%Xfw`h*7hCN*amSIDYmyB-G z7M7M|?8hwJ)|0hgMX}O|6%v30+1Z)EPgCm+7p^|tn>^ADkB)vCH?%>@Y4aGT+v{zl zQe<)q-rUU0(?N!}Oq!Q*2OTBGN5bdZbI(x=Nr$N-j#hg@0+Fzz!~{-@pV1l0==sIP z4NXlE)n`tyd^MJ~r5C}frjCQ(Z8^NXGk4m~N26tofVi^oRinhDA%9L%y=Y!B*42yaCWs_$ z8FmcG-V-cJ8Y^D4IhzrPK5ARvg zh<$Wi;PZ&Q&V;T+P33Ic1x&eU<-xl4_0umND!D!v|!R>4Knfr7^k19;I2yxXCrz}-8x zci$Wzs{v`g0q1{Wg5gtKoR6_M6e5Fx!OPG4y0-y^4v4SLg~-TOqPvW4y(x8m1R2WF zbd>&bQ;(BeeS0vqu{oixsfj4L*QBd5tv2J?{K7(k^%W&VPBMXpefMFp`Gq6%@LO~@ zwzw`sBct2)bmUOzR{foCAY7iPN{o-U*xlV7DL(7Dd*rb-rOl+9e?73tJ2R7!Z|P`o zYATVO%Pik%2{T_>w0nlllvUR=J$BZLf*Y|VIsx>QmXG7#I?3gV(+laM~SA=n&)PK zudC%)RpOT~dfL%6GM%g|y}VvdT&rD`{R~VX{$>Mi!q}@I(3}*wx$WM{;OU zLpjey*YdrtD8W(C%U8peG{?nUGmc_8^93kvc4o#uCGR_B^6p z85$=qBU8lnlWF5vJLiImx$p9&CG5xN^s0+_-8$P(j*)ZTz&V7uUiz7+Z)6o&Zj4sq zB=`D*XSH-&4&Y|%ZlctQk(Fp>L3zZBQrJCjBuiBq=#ke>Yf7>Y0gNj4O`Fo2{4Z}> zTf?)|OR*s&BqRu@EuY+65!01)0JPSWq+A-M1%;|fe|oXv;o+e+f?1O%EH17ASnK`@ zWzExr@*w|K8=zLwa&mI{8#>Y5S=yB>zz`Z5!42}*v=oF(v5BOlWuKHV@$r%IlwuDZ zmAjS?4bz3+q!_O!o#@KGmM$(Fhj=Y4j&ZD-Vje}w%f}ZU7W>hs8Xc1Yy}P@6esM9( zy0bJVE;8~1F#8ZKZEX-?Fh{B)G{%Ui{4z&-!rFCK4<{z1DoxzT$b6IOh$a}c?y{zS zf2dfOeQl}xQG`Zhpt4QoQyid*wvFgprhU^GcKF)elpSy3sz^ z6j4UwXw4qe+TK}IWBp3xV-I?~%UTa-j+f8sxcK2|QHXkDC z894|-0^3#dztQ)S$Rt9e(6uzYe>^%q9yNB^WrR~wQX)R&{Mb3Byq<_5(NdF$5uuSgc(}h`a9LI!>q-6SQB0E8#T}ozr-6&v%j3q7B(D?c7?g?c zcl7E`se8qXy|S_*-mn+4hi1}OMh3iNZFBScs&heXZ0tNWrsLC7HoHcX`1trIk6FW# zl2m60(m+&gVPj`kB22k#0Kx)Z0lquLL)YKTe7T*WoY@u--qOx=20W$7a1L#7upBQh zZ(o&ZU>{?DGbWfuu^HEmEOI5@YX+QmDLuVe65RA)FrU&=d|dK(7s@ppy=CPUy5am0K+a`8LO` z&&at=-X$f80F1$%JszGAA>LPB2wybkB;VORY_6-j^CnpmKdFZi^04qK?|y>GV8(`W>7C@>*0%7LmA-NT zCnqOf0Rem9t3gQ4V5|GWOtmHW{(~%im^^m0PUrGixqxH{(bPlLvGTB}sK8#6?{XUzBO@a}L6~rh z^aZoE>5_u!H`q5DN5>!fJ`zuV71tk4*?W~!&Z&&;RBD|e^KjqHf3{c3zUyx+E`RU- zebdn@$MSY14G~vckzb3e@0%=G9KV+pIjN{5O?;Q;h)>YAad7x9dL{>aWm+dpQ$?3^ zu}(5gsf`5qK{>f#N4FmliegqeC03h6SI%5yMP`GM)o#w}Ud1F4pGf5|5c&>VLxEpv z_2d$Q8;6D>xBbH(CJ9J_h#d&g?>%lkiup_QsBCR-ZyX#9681Rl2b`Q;L7_TQUp8N$ z2u-11VS9i7n|$siDsBn@e}Mr0oIKL=@OmztW#-GM*wdS#kK??kSO{ z?j?nB_}%PhTR^$8@7pGfIZ8`QFRqV@&CbG5c*}YVjni!49S9By2np-Ewa1~8!|z=9 z9oJv9;Az{~IXo1iP5A!3@ZqC`1&0CC)nRj~kj?7!d#`*iunuPzRo)WN2ZNY7fR8{N z^j{wNilav@{2;Nj^A_NB(siooK&4S*QwwkrEg&)y_Q3q~>9)L)$|BcjPhY!^!2QV6WaUA<$QO1b^GOW2)6T8{%rV6{q{hKwnvB8+7s-4via4@0g-gr7Ohz2U?k^7o zPF6Ytu2{}Y16!!#AO+^v?Seq$dp3|46tJ5P6=49+1USP`fI0`#wMl?Ao1L3uX=^d$ zjyQ9PP^me7S6085a|Br(G_MW5ubED)FjuhD*yK3;IO`_x{8A!bJXVz@_eU!%34n!B zOr-^29=LYwLry@o`JR||TB(h9>9Nwm6R^uqTW)BWvg~O^`3tocsOL^Er z#x%e@@I*!slkKlh`4M+%+O8kpdHy^jAGYKqW26|ubt-f`q2Yo0ctz+1W_)!A zF$#$NZPtpu`L{-7sOF*#J~zvA7=>Q79)cSs#Twh}dhE0Uuq1>Ub6*mNe|Av8QW1Oc zUGwAV+&dz<-Cw;Qt8d>eyc5moDRauu~N)c2JZdGO<;h)tg=bO@}wb{*({h`wHDalEL zHl8OsXO!^H30Cvcv;=16-!crcjTQKZ=LKImjIE@^uw-9dZxSB}7z z{^FUv!*f8Eirh7ki`^!yi8zNubN+e){Ob1)Y9%2pI*h}9G9sL9mpFju+CGSy?*CzbWYBT{-aWPLljn#7z$q@Zh@A2QitWn>!qBypXBVt0 z**bNAKaOFu=f}cZPu3hx%!tnXV!9uvw$weTc08#%!REmG_3Htz-TY5k_3lFHfX+Cc zvx)_;nOYsZdn1_yv%1s*0s#Cw_og^%0xSX7o&w|n@WG=M9)%3jVwbjiOCCWeB^1(XdxY$SsP0WH1*4IfLr%4g}%RYsL99Vdpa}D^@ zk62iSDkdYDHNt@d>q+#8<}$~W45l=int-nK77E#%2#A$hPS@i=1#zEF*Oc0#!kimv zG8PuMbXkr+2T=_FT3mD*wbQN2g-7f(k?73ruSlV${7u}vufIR~YUQ5FT5Mcg{US3( z%=QRDSw%%?M8r)L^~398BLc!ru;DgW9x%XkVE~sjXs)_*z@w`b)^jXL)ndWTww4?N z0UJpQlnmZ}vX=#j%Uj4b9bkERT}(uh-1+^0FXV^N*ad(LWZUd9m%B#o{3CMPNJ2$jobj4P#1$;7f+3I zp%5YVoA@CgAcFi>G?YY)yStgtJfjT;1aXWvBctvcu&q1o=FkGSo}9SNT8H%!U%=ae zptL~0ft=rIU12kQzq3>3^kC}+fCJE~ZBE*)%0ji%FV93>=eks5I8B)-DJefPvNNA7 z(}tV$e&fom;`g-;nUFVlE@&-(1tBqxLP~s%<)o*jO~8_vR=9uUFZB59|(kS4OI&uO@?)= zEI~O_)n+LH{djR48go8hsI+f~KJ;sAPm&5A;{hrTS3uy5Q7#vpj|RV>FS2omQOs`YEAWlV z)@akp=h5IkdQlj2gzT)yaD+|_Khx8J~B`5@L%*M zW8e9dGchA$P>~}9*oonI{`;pF~nk`EcoK=C@eA(yLOl8rR#Q` z?LdyQpXGSzXN^t9CvzZf9jz*7bx|*vH{PsRqg)-z?imdVFgxH;^Yj!JaI#8uTyx6O zM#jZK*p_FN`cOe(37lamJIOSui_7i$g#NF+|dzd)TP0? zHP;i!e6+t`0r%;u@vtr&@<~pn6+#?7A-0K#m;wu4TWgQV{8?m*vldcY&}TlBWr_O` zZLD!*#Ogz;*f8nC(1WR{3fHtO2e{~M<5rcQ_Vj3!u8fKi3_bR%)Wh-+iCBxjue|D;b7%d3^EPGIs!LP{`DlKmO!cnDl$rnu@yo%Qb1_%K+Y_M7s z6?nDWDuslvWi8{IziE8;j!_OD8~aHZrS9fF0CUkYfYP#jTmRCrprD{V!E>i*jtB{b zO^eMhIyK~uPI&1-)6<_!xVG3ZD5X6G09D4#l0Twbq_Ec@e`an&6lm`zC3oLxc~+JT z9_2(&_0a?h#yXfxqlz>>3rxqU11ztWZ}0>^hKT{1Ml8nay{2KHkQ0N#pQGLY_AX$6lB<4FNE%l8rx?pu97%xjD?E_ z)-3kRFXh?J@f*N;W;QkyH|=yY+1rEQ>@g!1mK@Ib6liK6w0SH`qHXOR8$kLO#M!2!--@{`8&VDc_?H^z-mtZ`{VG|iBY5Nmz08*MpJZC} z;`ak4AT%kdXRMg<1XK#-JoZ>!gWjQ_5Os3mwqNvgX=~LpT>2frs?pgsFnbN7MHE+SrOKb7f|y*1iU5D)71qZi_2v{ed`xle!kV1>S>@w*g@3v{b7^t-oT#el4D%wcm!V?5Gg#+zA_yRY1y=Wuhf=~n~RO+4&hC1^gQmrE)j zH6#g8qQC#KIRfDF0H+Q9Fcl< zz_ITul%yK6R`cnNw$>Ito5OcGu9GyG&Y=bMI=_wsU{M$6RE%D!p4FIw2lIufwc%0> z-$8gX@Ccq?FBC>33B1Rf+tjD^4-S|GC0rnxTn1lb1pH!ZV&ZXWKP^ptx%EIEGNA@> z@IfJI`ISaRlY#!BloQeC|IVbqr_g zHdN5yuLKJc)$KubF6DZO7`=>}P6T40RacCU`C2j+1E<}Kmi??dI(dYJHwzXj$Q(8Y zf?8X*LA?eJ^0Fl;t`&=_O4MQB)Tk@5t~E57ObEf$5qZ&^5=c3{e|gsLdb+Y?I-En` zj9ZzlHJ)_Qd-jo>>wT0?><185p5d>zZe!9+s-rXDcwb0oSQbGswq*<2NUs`nkDoKvF^|ZL}vjgv(A%11#_E8pqO$R46G~xhiS!Q(m*T2nH z6xnCqv&W_2H0WzgeR)nx10sKe=FXKmW1qaONFM)k|d(H~%| z)l28Of#A)|IigoOSmXe^hH8eT{1pE`RE_+J)+RdZQko22uPkcJ`B%61!=2SNVOa5W-;d6 zy`T34=%LE~ty~J9;$-9|(u zMrwS_&bEwMa|5K{e3bJ3YVT3TQ2FZ=S&t~y%cEw;>F&t}$%13Q>8qWK%9u4Bzztcw z)w4g&y90u*+1Q2Q8f{4k%K0Vd(OqTu@E%00$i$uIbQ}FHg>p?UvYw6slxcWu6XX#7f#Auor3khHTbpCDba5)U|> z&I`k#M<<_+69NyGr{d~-HfyJ$ZvggoFI@()jP}i^4VXdE+z0ok;xEZXt&rg}U(Diz zKNvQ5mI6rpO^p&o8DoIkuu^puJ$z#Ymw}bm!9fP=KVSb<0V}~J$U!o zKaOKfzD-CF${aqgt2!wJ>0$^-2JLM}OPWrUku{&Ymu!u+FX_5JmyqCp#Y>bFo*@3h z3>%<@rG%rDeAkZVj!omj6lT)1ZI`NQ_Yn{sa2Uzab8$7rPE~7KzsD;Nd?8%Z7$2}W z?yFm1c@}9msOY*@V`bv8NyYUZ)HH$$q|RND$ld-~@u3Ut-42GDt6!QRQ>%#7LARoq zP!xItxD&_2B+^lf=^7N@x-njw2VZNhPv4jDlKmk7>SD$it?%5vT^sLOsFrU>HrFio zI8xGes9bHBMJSrrlilrb-4H}QsHvf<^Tvvw2WIowHKL!NjvE+t#s`OlK;?yYwDPGf zL5%X^(_f#XEvRuGra{#TYZ79InBH(||k9^>kGF9)H>N=_tUjcZTxVl04W# zv@5R+pI$u!G(80bP{}%8j{JZNis5p@#HqRbxG1Z+TW_CB$f!BjESs*DPqXE<&D|n@ zuX5dUY;26(eMAbC<`48bNlcNA-J4mq6+iq+5>6*$)Y82n<8|Z+>a}Bb*E={(C$h8- zloBg)HMl;d=gQFo&IQ0UP^(2W;dbhwZ=M8EGgNS@aY;MaLoE@wCSBTrqG^( zz-I?Ux$QXe`KYP_JA3=+?GaGG-Co$;RAMnHB_qQLR)H}C;LZNZU=rp*LskdG^L#~M z?Xk{}7d0QrPpCIHDM8hn?eP5uK8IrnRktVp8<6>X#9K!0eCvL9$%ZB`nP+^1AHD(1 zyaR+HftJ%2`P=Q8J&Jk^dIzy0CL>?&pj=23RfkD`g%CiSY@5AUz}a7$nJBkE-)c&~ zj)6%)!vzidOQSy)6L^xgtu!$C(fJmbuwGLl8YmTkDLGyk)O z)DfnwOG(Q0%7412QNik4vt5~M<9w8d$$=^@lKX*$fe9uKsw0pR82D6AD9a+i=>;j` zSy20ZkxcpR#X^P>PCDKjA0LnWgKx>nS-Cw4FR#^(w#9%_k89U5@(^8ALk{6>jiAVO z1r#k~`g|RrW@T9Ye4v0g2EHjg()H9T+7Gh?1A>}1 zoTr^97k5Ev?$xWj7?6AhY+xXBCF?iWon6Mk8V`EN`$9(}9<~)E=fa27Jh!>EKYKp6n6J^JGABDgVlAA*S)E(_NSRqpQ)ixd1h@? zN&h_y9r^oXj?EU_d$U)G`7HJ}HuC^`{}4R`MgUMzdBw#)^wnU8>!a$V{_nY1BIQx1 zA7q?H3LFWxs#K4wUWyJ zIX5U?0XF6u49(a8_NM;z49Ef9rJ{1~S{32p@jE`|1^IejkJHbNu1mq%*~zJJV9i#A z+1b7G-UkH)3HkJz2qNVO0Q>pD64b+^UXb7bihK9oz4|3x&w8-6fj=xkVc<~qn7*-q z4=8XCk9QAlp%-l8!9h0G)rF#6U=nL01=qCJE&9|~2eajY1Ibg<`)MiK9v@aS0^S19 z2Sy4-s#PAXf3u7`1Ul6X%y~hM{ifF4jWMVBl1rb_B3GfdCvEV>O4km|_xKcbS2~D< zT;$2M!qLvj28o%Onbyc`irf|3<6o)1f`_ehsNz)TEtb_`d|2y@z=_SFo0!=9D0TUT z^fO)0i%^z?%Dvgos_Lg_xyQ%H?7LG~Bl-4mj{6#@L*aV0TG=~Z${7C~skL1MUy}gk zOh3zP6+xcP_43CREsJm@TQb$xmrI*f&b|8{U}r}B3a1_cIfuxfi%3kJK}1+|#GXB? zBid+aSMG>8`6ckqm+RL`n_}AQYC7v`q2iIbAY%6eGC&L&4|w1!lv?@NEyMxzRH&Hv z5J=t@M$c+{ZU{i%_C7~=PT5B|DEoU-Xw>t?G<;F;sPk(1XAS|dJ|PQ?k&(X-L8_eO zE_h94ZhpP9KRnf@XFC)SW${NME|S?=K;JOgk5zA$oKNDHf}(9;v8q`xDz{S^a`(IK zL%r$`1do6}zm&BaGj+g-L1mCih5y}mcuJ-6Ou-ugj*g1V?Oq=;Gvf}na)G^;TFF`c zy4l;Cnyx572r7IBzn>d}vRF{)l1T$Z-To`%QtJn*v|7sae=tz{^IfC%xhpi`(AqhN UM(I=VRun{9Tuv