From 12826404ff5eb761a1a262f161198851b0282fcb Mon Sep 17 00:00:00 2001 From: William Perron Date: Wed, 3 Jan 2024 18:00:18 -0500 Subject: [PATCH] update --- cmd/gcsinfo/main.go | 38 +++++++++++++++++++++++++++++++++----- go.mod | 5 +++-- go.sum | 25 +++++++------------------ otlp.protobuf | Bin 0 -> 96202 bytes trace.json | 1 + trace.protobuf | Bin 0 -> 90146 bytes 6 files changed, 44 insertions(+), 25 deletions(-) create mode 100644 otlp.protobuf create mode 100644 trace.json create mode 100644 trace.protobuf diff --git a/cmd/gcsinfo/main.go b/cmd/gcsinfo/main.go index d570a8c..c48390e 100644 --- a/cmd/gcsinfo/main.go +++ b/cmd/gcsinfo/main.go @@ -9,6 +9,7 @@ import ( "math" "os/signal" "syscall" + "time" "cloud.google.com/go/storage" "google.golang.org/api/iterator" @@ -22,6 +23,8 @@ func main() { ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGTERM, syscall.SIGINT) defer cancel() + flag.Parse() + client, err := storage.NewClient(ctx) if err != nil { log.Fatal(err) @@ -34,6 +37,8 @@ func main() { var minSize int64 = math.MaxInt64 var maxSize int64 sizes := &Int64Heap{} + var oldest time.Time + var youngest time.Time heap.Init(sizes) for { objAttrs, err := it.Next() @@ -49,14 +54,20 @@ func main() { totalSize += objAttrs.Size minSize = min(minSize, objAttrs.Size) maxSize = max(maxSize, objAttrs.Size) + if oldest.IsZero() || objAttrs.Created.Before(oldest) { + oldest = objAttrs.Created + } + if youngest.IsZero() || objAttrs.Created.After(youngest) { + youngest = objAttrs.Created + } } fmt.Printf("bucket: %s\n", *b) - fmt.Printf("total size: %d\n", totalSize) - fmt.Printf("min: %d\n", minSize) - fmt.Printf("max: %d\n", maxSize) - fmt.Printf("median: %d\n", sizes.At(sizes.Len()/2)) - fmt.Printf("mean: %d\n", totalSize/int64(sizes.Len())) + fmt.Printf("total size: %s\n", toHumanBytes(totalSize)) + fmt.Printf("min: %s\n", toHumanBytes(minSize)) + fmt.Printf("max: %s\n", toHumanBytes(maxSize)) + fmt.Printf("median: %s\n", toHumanBytes(sizes.At(sizes.Len()/2))) + fmt.Printf("mean: %s\n", toHumanBytes(totalSize/int64(sizes.Len()))) } func min(a, b int64) int64 { @@ -94,3 +105,20 @@ func (h *Int64Heap) Pop() any { *h = old[0 : n-1] return x } + +var prefixes = []string{"b", "Kib", "Mib", "Gib", "Tib", "Pib"} + +func toHumanBytes(i int64) string { + f := float64(i) + if f < 1024.0 { + return fmt.Sprintf("%4.2fb", f) + } + + for i := 1; i < len(prefixes); i++ { + f /= 1024 + if f < 1024.0 { + return fmt.Sprintf("%4.2f%s", f, prefixes[i]) + } + } + return fmt.Sprintf("%4.2f%s", f, prefixes[len(prefixes)-1]) +} diff --git a/go.mod b/go.mod index a4ff72b..3bddb18 100644 --- a/go.mod +++ b/go.mod @@ -3,10 +3,12 @@ module go.wperron.io/toolkit go 1.20 require ( + github.com/golang/protobuf v1.5.3 github.com/grafana/tempo v1.5.0 github.com/stretchr/testify v1.8.4 go.opentelemetry.io/otel/sdk v1.14.0 go.opentelemetry.io/proto/otlp v0.19.0 + google.golang.org/api v0.150.0 google.golang.org/protobuf v1.31.0 ) @@ -19,7 +21,6 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.4.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect @@ -36,12 +37,12 @@ require ( golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.150.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b // indirect google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect google.golang.org/grpc v1.59.0 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 2dec4f7..0ad46ce 100644 --- a/go.sum +++ b/go.sum @@ -83,7 +83,6 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -113,7 +112,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -129,9 +127,11 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -151,7 +151,6 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/grafana/tempo v1.5.0 h1:JSwulLVtXvUw2MyuUPcvRg3MJiwTUs5XWnbG6fOKatc= github.com/grafana/tempo v1.5.0/go.mod h1:IB52YU6zkGL+3t0eNrY8kAExx0lLa4LH20wGu3c4wD8= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -164,8 +163,9 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -279,8 +279,6 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -331,8 +329,6 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -342,8 +338,6 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -456,8 +450,6 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b h1:+YaDE2r2OG8t/z5qmsh7Y+XXwCbvadxxZ0YY6mTdrVA= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b h1:CIC2YMXmIhYw6evmhPxBKJ4fmLbOFtXQN/GV3XOZR8k= @@ -481,8 +473,6 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -498,13 +488,12 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/otlp.protobuf b/otlp.protobuf new file mode 100644 index 0000000000000000000000000000000000000000..246b269dd6bdd6406870736fe5619deca1d481bd GIT binary patch literal 96202 zcmeHw2b>$l^}l`gxeT_kWn-IjK?a+1Iq9}&SGzI}IhzA~xEE@IyxMXnpH7lh&UX$0 z0tVB;gkoC2U|J}qh89Qyp@fn`4WYyYh!a{U3C;ZA|7K@b((bLKyTf~T{@dn*E$xnW z=gphi}C6~XdwOt+8>Rx--nK*qlvg@Fsj7QW6*JEg1wERrsY&L znZfN2LLvMpuin@@ouL@kM^ipp@TSz(D1MZe4zd)_@ewXE!+Tttz=!#OFBXkw+kT9E z$dgfHYKxjlwfoabGZ~q2XrDwHS$jdBvvXe7BI$#Mcl%MU!5geDm8_UZS0m(wRg`)l!Lg z#z*_OfD+*~CCCZB<~1UdMt(H1SxEckST>zeQ)Gav(D)o7u|y*2)4N0a+LA2#0UCze zCld;3+tv5Aq2c)V@q}Vbwnn5jHmmuOv%b)$sG5|G;jS~R#0yM-_QlsQygxree%W7w z3H~TdlvG@bq48*V3WhozF5r34Px%FOAR4Qv$ylPj1!k3BjkiW&wD4!l3YZ5qSV zdC;(y_Vk*VKcy-lUY?4P{jdm{VrxDZM35F$CCEz=l~Wl(mI4CH1qGJYRGFo;Aj>g| z%5WUdcupCHZXAND7sGsBVb1hWXns7MNo8>lB>dt~XgQHs&mhXr1pI-ja$r%_5iF{{ zA6QhC0gI|mfJK#?U{TdIu&62v7SN&$SX31Qi>j`JMO6u~sOl_OK$pvaMb-BKi>fYy zMb-BNi>h7&i>jhvQPoMXsB!=cEP~$$EM6LbMqYes_>ng^eyzOn>)^WI{Nscno+1A_ z?}fvkTm4nA3MDdgk|An#Dn!k!T~2f&Kt~S#L!l+02-J++w1i+b&(>^0&0x`I(DC-A8h^ViGRYlc#xb@ zrHrbCrOdHohpxOL{iJ?*FEy?|3}0V89gV!}qp4Rde{#m-$N%oTC1Y3o`8&^$(-vOS z@KAW$f&y02>-wR`J$nqmJqF+&1CW@`yO#m@2ZU}Of@YL602is5Q0VX#E0*XcAS}H0 zn1CJEi+fB!pS;He+)3-jzG(tpUg2Z{u4{kc%C*@8zA3OPsQq(>;mn~JIJ`?1FJD0o z5O?s8Rq1A4ZSCb#bTe-sv{zFmlk|g|r759cUkPs7FxI%7mYcu>gH0veD&4>v*E3S8 zQO$U&(X?7A8LiF6jrFgp)EY)^ZDUGGHobO*g}2G*JfEgg>pp z|HNE17wdlTKQxRf_(3v}%6JBhe`r9%I5bl4Z5r0b*>qS2M*`eL(|#HWh0d2*Xhs~2~u&U-4s%c5)8(i5qw z^AoA0FF~J3Ro$LQ;2r4PMC$a?wWwR8+Y<@g4pz5eS0+-`PMSz1T`ZlSNG}d_g5a;@ zs~`CRODC)lYy$Jl;bgw0R9GRVGgO7xZ`Qa8It=$a<07vP!`;QzF$NxMF{w47yQ=}0 z8oCJTbJ5;9s%8PY!{9Lo-)AlI;r07+efOa@4+`FS*|eOfg_i{Uw0D`gwZJqSjP^C8 z3gcHen*=AODz$`lzcfZ0+3+NT|2v%4QsMkF!^uP<*3f{wdMAug@;9jxIN<$lVdDaJ z2^@%~a&nMkDV6c59H;sM46XSh5=HqKnc@VF7HE|YHq0te9(o7BmtgiN=TweJaGzDB$Q+Xw$_%dk$HcC1VLLDeB3PQG5`EU;l#=_^5BcehHitI}UnKh-f zndi}==$HRr=qUT>Rh6DE-(NFza=uh`WxjMtX?37@C(V~qO3QO$rIRYUuVw0|&tLQP zG^;8y6_kT2S~$~CMYo;x|A{JESV|R9$e(u*`v_Ekfu7e!zO`z^hm}tZ+wcOlQx#L4 zT`_gNJAU$ryt=~s&|0e8LP~FMsGPUwcT154{WK5eD#iO971;#`gCcwS7_@CLnr2fF zuy^e+=uSZm2X_o=s6jJ}1~ssLY8DA=$i}0vo{WF*um*S{I;nJ6!zy&V5!L{WlQ@(? zUCWr^4YZG9SI~hFMTZ#bSZ^!qhej~HNGo45?e}}NfEWx4G8f=ycxN5cFn@(T^Z~31 zYovl16k=JbeD9D47M8F@l`w4gbqIL?Gs;-28zB#Qu9i}5osD-;Z1E03UKA;YXTYoz z0xbN^GU$N9CHGh~21_fiMP#0jXaeVpuWnr@cg-;19jy&7nw%%j2`9ixu^JS`Iyl#ps~Oh@*n&K?vL;E@tdn?v%s& z;D!J~-S9m4&`|uUFgCY5phHS`1{TQhF3!s8Vw%mWFnqc!;ys29*(qU)HHa~-=A6BG8~2mLEs;D!&Ho) z(=ZA`K`^24bvTs9v+v!(5$xWR84_U4;(`m#(Mww6#@kt3cNoh>zK}+u;gigQa-p;Y}l>V+#`jI208(OCvo&53U z_9E=8Huv>f5+FnnQ(Lf}4r9?ZP!kBA^**7qZpPaWbdKN$-6i;SM}k+LSpWH7>X*|+ z2;N86R7)55B?u&LU#Et3um)II&%Nev?;LqAx=Y?$j^s71T>9Ai3lOx;k;Y@z{6ZLY@=<@Y z(r8jXGe@Jz!a^FCiC+*Jzdg5dqP`hZ4rQ-Ju8O7eEIsvr(3Sg)e9UJh(Ik9k(OLRI z#vt$cS)C;BKSO(gyb1H(i7(#gtA$qbavaQ&XUQB z$cDGi8@77Vk^x1?tFj9rF$iPQx^|GlSN4w(8fULNu5(iO(&O$TⅅPD8C=iWWM}h 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 Dv|rCK literal 0 HcmV?d00001