This is an automated email from the ASF dual-hosted git repository.
alexstocks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
The following commit(s) were added to refs/heads/develop by this push:
new c11a12be6 Fix security vulnerabilities reported by Dependabot (#3244)
c11a12be6 is described below
commit c11a12be6af68485aaad475d0040a0f227931459
Author: Xuetao Li <[email protected]>
AuthorDate: Sat Mar 14 18:10:36 2026 +0800
Fix security vulnerabilities reported by Dependabot (#3244)
* Fix security alerts https://github.com/apache/dubbo-go/security/dependabot
---------
Co-authored-by: Copilot Autofix powered by AI
<[email protected]>
---
Makefile | 4 ++--
global/config_test.go | 33 ++++++++++++++++++++++-----------
go.mod | 22 +++++++++++-----------
go.sum | 40 ++++++++++++++++++++--------------------
4 files changed, 55 insertions(+), 44 deletions(-)
diff --git a/Makefile b/Makefile
index a9e47cda4..94f0ebaec 100644
--- a/Makefile
+++ b/Makefile
@@ -37,8 +37,8 @@ help:
# Run unit tests
test: clean
- go test ./... -coverprofile=coverage.txt -covermode=atomic
- cd $(CLI_DIR) && go test ./...
+ GOTOOLCHAIN=go1.25.0+auto go test ./... -coverprofile=coverage.txt
-covermode=atomic
+ cd $(CLI_DIR) && GOTOOLCHAIN=go1.25.0+auto go test ./...
fmt: install-imports-formatter
# replace interface{} with any
diff --git a/global/config_test.go b/global/config_test.go
index 46f1293bb..f9b547b6f 100644
--- a/global/config_test.go
+++ b/global/config_test.go
@@ -710,9 +710,10 @@ func TestRegistryConfigClone(t *testing.T) {
assert.Equal(t, reg.UseAsMetaReport, cloned.UseAsMetaReport)
assert.Equal(t, reg.UseAsConfigCenter, cloned.UseAsConfigCenter)
assert.NotSame(t, reg, cloned)
- assert.NotSame(t, reg.Params, cloned.Params)
assert.Equal(t, "value1", cloned.Params["key1"])
assert.Equal(t, "value2", cloned.Params["key2"])
+ cloned.Params["key1"] = "changed"
+ assert.Equal(t, "value1", reg.Params["key1"])
})
t.Run("clone_nil_registry_config", func(t *testing.T) {
@@ -736,7 +737,8 @@ func TestRegistryConfigClone(t *testing.T) {
cloned := reg.Clone()
assert.NotNil(t, cloned)
assert.Empty(t, cloned.Params)
- assert.NotSame(t, reg.Params, cloned.Params)
+ cloned.Params["new"] = "value"
+ assert.Empty(t, reg.Params)
})
}
@@ -801,7 +803,8 @@ func TestCloneRegistriesConfig(t *testing.T) {
cloned := CloneRegistriesConfig(regs)
assert.NotNil(t, cloned)
assert.Empty(t, cloned)
- assert.NotSame(t, regs, cloned)
+ cloned["reg"] = &RegistryConfig{Protocol: "nacos"}
+ assert.Empty(t, regs)
})
t.Run("clone_single_registry", func(t *testing.T) {
@@ -866,14 +869,16 @@ func TestRouterConfigClone(t *testing.T) {
assert.Equal(t, router.ScriptType, cloned.ScriptType)
assert.Equal(t, router.Script, cloned.Script)
assert.NotSame(t, router, cloned)
- assert.NotSame(t, router.Conditions, cloned.Conditions)
- assert.NotSame(t, router.Tags, cloned.Tags)
assert.Len(t, cloned.Conditions, 2)
assert.Len(t, cloned.Tags, 2)
assert.Equal(t, "tag1", cloned.Tags[0].Name)
assert.Equal(t, "tag2", cloned.Tags[1].Name)
assert.Len(t, cloned.Tags[0].Addresses, 2)
assert.Len(t, cloned.Tags[1].Addresses, 1)
+ cloned.Conditions[0] = "changed"
+ assert.Equal(t, "condition1", router.Conditions[0])
+ cloned.Tags[0].Name = "changed"
+ assert.Equal(t, "tag1", router.Tags[0].Name)
})
t.Run("clone_nil_router_config", func(t *testing.T) {
@@ -1217,9 +1222,10 @@ func TestConsumerConfigClone(t *testing.T) {
assert.Equal(t, consumer.Check, cloned.Check)
assert.Equal(t, consumer.AdaptiveService,
cloned.AdaptiveService)
assert.NotSame(t, consumer, cloned)
- assert.NotSame(t, consumer.References, cloned.References)
assert.Len(t, cloned.References, 2)
assert.Equal(t, "com.test.Service1",
cloned.References["ref1"].InterfaceName)
+ cloned.References["ref1"] = &ReferenceConfig{InterfaceName:
"changed"}
+ assert.Equal(t, "com.test.Service1",
consumer.References["ref1"].InterfaceName)
})
t.Run("clone_nil_consumer_config", func(t *testing.T) {
@@ -1350,10 +1356,11 @@ func TestServiceConfigClone(t *testing.T) {
assert.Equal(t, service.Group, cloned.Group)
assert.Equal(t, service.Version, cloned.Version)
assert.NotSame(t, service, cloned)
- assert.NotSame(t, service.Params, cloned.Params)
assert.Equal(t, "value", cloned.Params["key"])
assert.Len(t, cloned.ProtocolIDs, 1)
assert.Len(t, cloned.RegistryIDs, 1)
+ cloned.Params["key"] = "changed"
+ assert.Equal(t, "value", service.Params["key"])
})
t.Run("clone_nil_service_config", func(t *testing.T) {
@@ -1384,8 +1391,10 @@ func TestServiceConfigClone(t *testing.T) {
cloned := service.Clone()
assert.Len(t, cloned.RCProtocolsMap, 2)
assert.Len(t, cloned.RCRegistriesMap, 2)
- assert.NotSame(t, service.RCProtocolsMap, cloned.RCProtocolsMap)
- assert.NotSame(t, service.RCRegistriesMap,
cloned.RCRegistriesMap)
+ cloned.RCProtocolsMap["proto1"] = &ProtocolConfig{Name:
"changed"}
+ assert.Equal(t, "tri", service.RCProtocolsMap["proto1"].Name)
+ cloned.RCRegistriesMap["reg1"] = &RegistryConfig{Protocol:
"changed"}
+ assert.Equal(t, "zookeeper",
service.RCRegistriesMap["reg1"].Protocol)
})
}
@@ -1509,7 +1518,8 @@ func TestProviderConfigClone(t *testing.T) {
assert.Equal(t, provider.Filter, cloned.Filter)
assert.Equal(t, provider.Register, cloned.Register)
assert.NotSame(t, provider, cloned)
- assert.NotSame(t, provider.Services, cloned.Services)
+ cloned.Services["service1"] = &ServiceConfig{Interface:
"changed"}
+ assert.Equal(t, "com.test.Service1",
provider.Services["service1"].Interface)
// Verify RegistryIDs is a true deep copy by mutating the clone
assert.Len(t, cloned.RegistryIDs, len(provider.RegistryIDs))
@@ -1719,7 +1729,8 @@ func TestCustomConfigClone(t *testing.T) {
assert.NotNil(t, cloned)
assert.NotSame(t, custom, cloned)
if custom.ConfigMap != nil {
- assert.NotSame(t, custom.ConfigMap, cloned.ConfigMap)
+ cloned.ConfigMap["key1"] = "changed"
+ assert.Equal(t, "value1", custom.ConfigMap["key1"])
}
})
diff --git a/go.mod b/go.mod
index 4c2746e16..52f843f50 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module dubbo.apache.org/dubbo-go/v3
-go 1.24.0
+go 1.25.0
require (
github.com/RoaringBitmap/roaring v1.2.3
@@ -45,9 +45,9 @@ require (
github.com/prometheus/client_golang v1.19.1
github.com/prometheus/common v0.48.0
github.com/quic-go/quic-go v0.52.0
- github.com/sirupsen/logrus v1.8.1
+ github.com/sirupsen/logrus v1.9.4
github.com/spf13/viper v1.8.1
- github.com/stretchr/testify v1.9.0
+ github.com/stretchr/testify v1.10.0
github.com/ugorji/go/codec v1.2.6
go.etcd.io/etcd/api/v3 v3.5.7
go.etcd.io/etcd/client/v3 v3.5.7
@@ -63,8 +63,8 @@ require (
go.opentelemetry.io/otel/trace v1.21.0
go.uber.org/atomic v1.10.0
go.uber.org/zap v1.21.0
- golang.org/x/net v0.28.0
- golang.org/x/sync v0.8.0
+ golang.org/x/net v0.52.0
+ golang.org/x/sync v0.20.0
google.golang.org/grpc v1.59.0
google.golang.org/protobuf v1.33.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
@@ -140,12 +140,12 @@ require (
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/mock v0.5.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
- golang.org/x/crypto v0.26.0 // indirect
- golang.org/x/mod v0.18.0 // indirect
- golang.org/x/sys v0.23.0 // indirect
- golang.org/x/text v0.17.0 // indirect
- golang.org/x/time v0.1.0 // indirect
- golang.org/x/tools v0.22.0 // indirect
+ golang.org/x/crypto v0.49.0 // indirect
+ golang.org/x/mod v0.34.0 // indirect
+ golang.org/x/sys v0.42.0 // indirect
+ golang.org/x/text v0.35.0 // indirect
+ golang.org/x/time v0.15.0 // indirect
+ golang.org/x/tools v0.43.0 // indirect
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d //
indirect
google.golang.org/genproto/googleapis/api
v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/genproto/googleapis/rpc
v0.0.0-20230822172742-b8732ec3820d // indirect
diff --git a/go.sum b/go.sum
index 733ebade4..7e5807cb5 100644
--- a/go.sum
+++ b/go.sum
@@ -731,8 +731,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod
h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
github.com/sirupsen/logrus v1.4.2/go.mod
h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod
h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod
h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/sirupsen/logrus v1.8.1
h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
-github.com/sirupsen/logrus v1.8.1/go.mod
h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
+github.com/sirupsen/logrus v1.9.4
h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w=
+github.com/sirupsen/logrus v1.9.4/go.mod
h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod
h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod
h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
@@ -781,8 +781,8 @@ github.com/stretchr/testify v1.7.0/go.mod
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.1/go.mod
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod
h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2/go.mod
h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.9.0
h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/stretchr/testify v1.10.0
h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.2.0
h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod
h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tebeka/strftime v0.1.3/go.mod
h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ=
@@ -923,8 +923,8 @@ golang.org/x/crypto
v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
-golang.org/x/crypto v0.26.0/go.mod
h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
+golang.org/x/crypto v0.49.0/go.mod
h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -967,8 +967,8 @@ golang.org/x/mod v0.4.0/go.mod
h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
-golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI=
+golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1021,8 +1021,8 @@ golang.org/x/net
v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod
h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
-golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
+golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
+golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1049,8 +1049,8 @@ golang.org/x/sync
v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
-golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
+golang.org/x/sync v0.20.0/go.mod
h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1137,8 +1137,8 @@ golang.org/x/sys
v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
-golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
+golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1152,8 +1152,8 @@ golang.org/x/text v0.3.5/go.mod
h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
-golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
-golang.org/x/text v0.17.0/go.mod
h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
+golang.org/x/text v0.35.0/go.mod
h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1161,8 +1161,8 @@ golang.org/x/time
v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA=
-golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U=
+golang.org/x/time v0.15.0/go.mod
h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1227,8 +1227,8 @@ golang.org/x/tools v0.1.1/go.mod
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.2/go.mod
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
-golang.org/x/tools v0.22.0/go.mod
h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
+golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s=
+golang.org/x/tools v0.43.0/go.mod
h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=