upgrade to latest dependencies (#762)

bumping google.golang.org/api 2311ef1...63d06ab:%0A  > 63d06ab chore(main): release 0.124.0 (# 1990)%0A  > 73f57fe feat(all): auto-regenerate discovery clients (# 1991)%0A  > 8c0e6d9 chore: add yoshi-approver ownership (# 1994)%0A  > 7843046 chore(all): update all (# 1992)%0A  > 94c12ed chore(all): update module github.com/google/s2a-go to v0.1.4 (# 1989)%0A  > 0b4f4af feat(all): auto-regenerate discovery clients (# 1988)%0A  > 2721e1f chore: enable GoApiaryCodegen auto-approve (# 1987)%0A  > a241c25 chore: delete broken AutoApprove (# 1986)%0A  > 3e2d6a6 chore: trigger AutoApprove on reopen as well (# 1985)%0A  > a24a28a chore: give AutoApprove job full write (# 1984)%0A  > 8210800 chore(main): release 0.123.0 (# 1975)%0A  > f31b763 feat(all): auto-regenerate discovery clients (# 1982)%0A  > d27f40f feat(all): auto-regenerate discovery clients (# 1978)%0A  > 94d3d73 chore(ci): fix AutoApprove for discogen (# 1981)%0A  > 98b3073 feat(all): auto-regenerate discovery clients (# 1974)%0A  > d5e0fb2 chore(main): release 0.122.0 (# 1972)%0A  > ab64815 feat(all): auto-regenerate discovery clients (# 1973)%0A  > 8b0974e fix: add better support of array of floats (# 1971)%0A  > cf0df64 chore(main): release 0.121.0 (# 1962)%0A  > c2c2b59 feat(all): auto-regenerate discovery clients (# 1963)%0A  > e44a771 chore(all): update module github.com/google/s2a-go to v0.1.3 (# 1965)%0A  > 2068ba5 feat(all): auto-regenerate discovery clients (# 1961)%0A  > c2018e2 chore(main): release 0.120.0 (# 1956)%0A  > 4e35cac feat(all): auto-regenerate discovery clients (# 1960)%0A  > fcd007a feat(all): auto-regenerate discovery clients (# 1958)%0A  > 289b859 feat(all): auto-regenerate discovery clients (# 1957)%0A  > 409bc9d feat(all): auto-regenerate discovery clients (# 1955)%0A  > 0909f16 chore(main): release 0.119.0 (# 1944)%0A  > 2f54150 chore(deps): update s2a-go to v0.1.2 (# 1954)%0A  > 685ec81 feat: add an option to enable DirectPath xDS (# 1942)%0A  > d85769c feat(all): auto-regenerate discovery clients (# 1953)%0A  > 4cb8eb9 feat(all): auto-regenerate discovery clients (# 1952)%0A  > bf9f3ac chore(all): update google.golang.org/genproto digest to daa745c (# 1949)%0A  > e1eda57 feat(all): auto-regenerate discovery clients (# 1948)%0A  > a0dacd5 feat(all): auto-regenerate discovery clients (# 1947)%0A  > e8b93cb chore(deps): update s2a-go to v0.1.1 (# 1945)%0A  > 690068f feat(all): auto-regenerate discovery clients (# 1943)%0A  > 2d6890a chore(main): release 0.118.0 (# 1940)%0A  > 29dc45a feat(all): auto-regenerate discovery clients (# 1941)%0A  > ac94a0f feat(all): auto-regenerate discovery clients (# 1939)%0A  > 8019ef6 chore(main): release 0.117.0 (# 1931)%0A  > 750c7c8 feat(all): auto-regenerate discovery clients (# 1936)%0A  > 3a98290 chore(all): update all (# 1937)%0A  > 3f62830 chore(deps): bump golang.org/x/crypto (# 1930)%0A  > 2219681 feat(all): auto-regenerate discovery clients (# 1935)%0A  > 2efcb2e feat(all): auto-regenerate discovery clients (# 1932)%0A  > 3c61729 feat: add experimental s2a-go integration (# 1874)%0A  > 587b9e5 chore(main): release 0.116.0 (# 1929)%0A  > 28c8cd5 feat(all): auto-regenerate discovery clients (# 1928)%0A  > feafcdc chore(main): release 0.115.0 (# 1922)%0A  > 34781cf feat(all): auto-regenerate discovery clients (# 1927)%0A  > 33a2dfe feat(all): auto-regenerate discovery clients (# 1924)%0A  > 02cfb82 chore(all): update google.golang.org/genproto digest to dcfb400 (# 1925)%0A  > 8930f0e feat(all): auto-regenerate discovery clients (# 1923)%0A  > 1c955e8 feat(all): auto-regenerate discovery clients (# 1913)%0A  > 7f87838 chore(all): update all (# 1918)%0A  > be028cf chore(gensupport): add idempotency header (# 1916)%0A  > 649bfb9 chore(all): update all (# 1914)%0A  > 5ac4fd7 test: update test due to generator change (# 1912)%0A  > f79df48 chore(main): release 0.114.0 (# 1910)%0A  > 2754ab4 feat(all): auto-regenerate discovery clients (# 1907)%0A  > dc4b77d fix: always reference the internal package. (# 1909)%0A  > b8a2a5e chore(main): release 0.113.0 (# 1901)%0A  > fc221ce feat(all): auto-regenerate discovery clients (# 1900)%0A  > e63383f chore(all): update module google.golang.org/protobuf to v1.29.1 [SECURITY] (# 1906)%0A  > 64b6ee4 feat(idtoken): add support for external_account (# 1897)%0A  > 65cafd4 chore(all): update all (# 1902)%0A  > 63c48a6 feat(transport): add support for setting quota project with envvar (# 1892)%0A  > 225fa6b internal: Refactor cert logic to support OAuth2 token exchange over mTLS (# 1886)%0A  > 8d4d70d chore(main): release 0.112.0 (# 1883)%0A  > 89c274a feat(all): auto-regenerate discovery clients (# 1898)%0A  > 9f18671 feat(all): auto-regenerate discovery clients (# 1896)%0A  > e88ee8a feat(all): auto-regenerate discovery clients (# 1893)%0A  > 5da4d6a feat(all): auto-regenerate discovery clients (# 1887)%0A  > 6bd0840 chore(deps): bump golang.org/x/crypto in /internal/kokoro/discogen (# 1890)%0A  > 2f72016 chore(all): update all (# 1888)%0A  > c886360 feat(all): auto-regenerate discovery clients (# 1885)%0A  > 1aee5cd feat(all): auto-regenerate discovery clients (# 1884)%0A  > 15808d7 feat(all): auto-regenerate discovery clients (# 1882)%0A  > e99d0d5 chore(main): release 0.111.0 (# 1860)%0A  > 70d3954 feat(all): auto-regenerate discovery clients (# 1875)%0A  > f32872c chore(all): update google.golang.org/genproto digest to 637eb22 (# 1877)%0A  > c02cff6 feat(all): auto-regenerate discovery clients (# 1873)%0A  > 7d34d41 feat(all): auto-regenerate discovery clients (# 1872)%0A  > d456fd6 chore(deps): bump golang.org/x/net in /internal/kokoro/discogen (# 1870)%0A  > b7ab21d chore(all): update all (# 1868)%0A  > 7f5f40a feat(all): auto-regenerate discovery clients (# 1866)%0A  > 4056319 chore(all): update module golang.org/x/net to v0.7.0 [SECURITY] (# 1867)%0A  > 8b8b195 feat(all): auto-regenerate discovery clients (# 1863)%0A  > c0f2510 chore(all): update vet.sh to go runtime 1.20 (# 1865)%0A  > 895105a feat(all): auto-regenerate discovery clients (# 1861)%0A  > ba3414e feat(all): auto-regenerate discovery clients (# 1859)%0A  > 892811c chore(main): release 0.110.0 (# 1840)%0A  > 1edc79b chore: update x libs (# 1858)%0A  > 929a393 chore(all): update all (# 1853)%0A  > 1147cb8 fix: Update ECP dependency to v0.2.3 (# 1857)%0A  > 689f934 feat(all): auto-regenerate discovery clients (# 1851)%0A  > 8efd00d fix(internal/gensupport): don't prematurely close timers (# 1856)%0A  > 3fb5b61 fix: Improve error handling for enterprise certificate module (# 1848)%0A  > 8980266 feat(all): auto-regenerate discovery clients (# 1850)%0A  > 3fb8cdc feat(all): auto-regenerate discovery clients (# 1841)%0A  > 1651c38 chore(transport): remove support for go runtimes earlier than 1.16 (# 1844)%0A  > 4b4c9d4 feat(all): auto-regenerate discovery clients (# 1838)%0A  > b3b5f17 chore(main): release 0.109.0 (# 1818)%0A  > c13cc35 feat(all): auto-regenerate discovery clients (# 1836)%0A  > 602b6a4 chore(all): update all (major) (# 1806)%0A  > a5d0daa feat(all): auto-regenerate discovery clients (# 1828)%0A  > 50fc7c4 feat(all): auto-regenerate discovery clients (# 1826)%0A  > 6aad438 feat(all): auto-regenerate discovery clients (# 1825)%0A  > 85d0224 feat(all): auto-regenerate discovery clients (# 1822)%0A  > 884a246 feat(all): auto-regenerate discovery clients (# 1821)%0A  > 5935892 feat(all): auto-regenerate discovery clients (# 1819)%0A  > ba3ba78 feat(all): auto-regenerate discovery clients (# 1817)%0A  > 47f66d6 chore(main): release 0.108.0 (# 1811)%0A  > da48b9a feat(all): auto-regenerate discovery clients (# 1816)%0A  > a12685c feat(all): auto-regenerate discovery clients (# 1813)%0A  > 4df52d2 feat(all): auto-regenerate discovery clients (# 1810)%0A  > f74fbb6 chore(main): release 0.107.0 (# 1803)%0A  > d8084e4 feat(all): auto-regenerate discovery clients (# 1809)%0A  > 4dca4e0 feat: re-enable integrations:v1 (# 1801)%0A  > 86e4009 fix: user Timers over time.After (# 1802)%0A  > bcc345c feat(all): auto-regenerate discovery clients (# 1808)%0A  > de06921 feat(all): auto-regenerate discovery clients (# 1807)%0A  > 935ef64 feat(all): auto-regenerate discovery clients (# 1804)%0A  > 93de455 feat(all): auto-regenerate discovery clients (# 1800)%0A  > ac7eb8f chore(main): release 0.106.0 (# 1786)%0A  > 3944e86 feat(all): auto-regenerate discovery clients (# 1794)%0A  > f6dec99 feat(idtoken): add support for impersonated_service_account creds type (# 1792)%0A  > ddb5c65 test: add buffer to both sides of token expiry validation (# 1797)%0A  > b35900a fix(idtoken): configure validator constructor to use no authentication (# 1789)%0A  > ca86833 chore(all): update all (# 1796)%0A  > a6b0739 chore: skip generating integrations:v1 as it fails generation (# 1793)%0A  > 7bd17b3 feat(all): auto-regenerate discovery clients (# 1790)%0A  > 9fb35f5 feat(all): auto-regenerate discovery clients (# 1788)%0A  > 1569e5b feat(option/internaloption): add new EmbeddableAdapter option (# 1787)%0A  > a7f08e2 feat(all): auto-regenerate discovery clients (# 1784)%0A  > 67aaf4e chore(main): release 0.105.0 (# 1774)%0A  > 5b02761 feat(all): auto-regenerate discovery clients (# 1777)%0A  > c58bf4c feat: support set null map entries for non-simple map values (# 1782)%0A  > e4271df feat(googleapi): add response headers to Error reported by CheckMediaResponse (# 1781)%0A  > 6193507 chore: remove uses of obsolete golang.org/x/xerrors (# 1776)%0A  > 37a2e41 feat(all): auto-regenerate discovery clients (# 1773)%0A  > 9255b0b chore(main): release 0.104.0 (# 1748)%0A  > 4238314 chore: ignore some golang.org/x/* dependencies in renovate (# 1772)%0A  > 029b659 chore(all): update all (# 1768)%0A  > f819644 feat(all): auto-regenerate discovery clients (# 1771)%0A  > 2b596d9 feat(all): auto-regenerate discovery clients (# 1767)%0A  > 3195ce1 feat(all): auto-regenerate discovery clients (# 1766)%0A  > 97a9846 feat(all): auto-regenerate discovery clients (# 1760)%0A  > 8d8f0a7 feat(transport): de-experiment google-c2p resolver (# 1757)%0A  > c213153 fix(transport/grpc): separate resolution of creds and certs (# 1759)%0A  > 629e217 fix(idtoken): increase MaxIdleConnsPerHost to 100 in NewClient (# 1754)%0A  > caf7af0 feat(all): auto-regenerate discovery clients (# 1755)%0A  > e18b504 feat(all): auto-regenerate discovery clients (# 1753)%0A  > dd565a4 feat(all): auto-regenerate discovery clients (# 1752)%0A  > a657f19 feat(all): auto-regenerate discovery clients (# 1751)%0A  > 292129c feat(all): auto-regenerate discovery clients (# 1746)%0A  > 02077fd chore(all): update all (# 1749)%0A  > 567070f docs: document limitation of WithUserAgent (# 1747)%0A  > 561b601 chore(main): release 0.103.0 (# 1738)%0A  > 4248dc3 feat(all): auto-regenerate discovery clients (# 1743)%0A  > ee25e29 feat(googleapi): inject gax apierror.APIError into googleapi.Error (# 1730)%0A  > f8efb95 chore(all): update all (# 1740)%0A  > 9695aa1 feat: rm hard dep on x/sys (# 1742)%0A  > bec0f29 chore(.github): force renovate to use 1.19 (# 1741)%0A  > bbd4259 feat(all): auto-regenerate discovery clients (# 1739)%0A  > de99200 feat(all): auto-regenerate discovery clients (# 1737)%0A  > 0d7f97a chore(main): release 0.102.0 (# 1726)%0A  > 0528475 feat: rely on new compute metadata module directly (# 1736)%0A  > ce57a67 feat(all): auto-regenerate discovery clients (# 1734)%0A  > 1e1eab9 feat(all): auto-regenerate discovery clients (# 1727)%0A  > 0ce5403 test(transport/grpc): fix arg for test failure logs (# 1733)%0A  > 06360d8 feat(all): auto-regenerate discovery clients (# 1725)%0A  > 644a13c chore(main): release 0.101.0 (# 1719)%0A  > f4788b3 feat(all): auto-regenerate discovery clients (# 1723)%0A  > 9ea2ceb chore(all): update all (# 1721)%0A  > 9140608 feat(all): auto-regenerate discovery clients (# 1720)%0A  > 453b81a feat(all): auto-regenerate discovery clients (# 1718)%0A  > d530a93 chore(main): release 0.100.0 (# 1714)%0A  > 37f90e9 feat(internal/gensupport): remove DetermineContentType, use gax-go copy (# 1716)%0A  > b235b1f fix(idtoken): Allow missing age in http response header (# 1715)%0A  > f990a2a feat(all): auto-regenerate discovery clients (# 1717)%0A  > f9e15f2 feat(all): auto-regenerate discovery clients (# 1712)%0A  > e74b770 chore(all): update all (# 1713)%0A  > 977e871 chore(main): release 0.99.0 (# 1710)%0A  > 6b81c83 feat(all): auto-regenerate discovery clients (# 1701)%0A  > 1aa1deb chore(all): update all (# 1707)%0A  > 69fb474 chore: Update ECP dependency to 0.2.0 (# 1704)%0A  > a4ae94d chore(main): release 0.98.0 (# 1700)%0A  > 25b7450 feat(all): auto-regenerate discovery clients (# 1699)%0A  > aa775b4 feat(all): auto-regenerate discovery clients (# 1696)%0A  > faa845a chore(main): release 0.97.0 (# 1694)%0A  > 2c3e863 fix(gensupport): allow initial request for resumable uploads to retry w/ non-nil getBody (# 1690)%0A  > f427ee3 feat(internal/gensupport): wrap retry failures with context and prev error (# 1684)%0A  > 6b0515b fix: build script bash error (# 1697)%0A  > b8f2556 feat(all): auto-regenerate discovery clients (# 1695)%0A  > a87400b feat(all): auto-regenerate discovery clients (# 1693)%0A  > a039966 chore(main): release 0.96.0 (# 1687)%0A  > 0f7c1ed fix: upgrade version of golang.org/x/net (# 1692)%0A  > e801e10 feat(all): auto-regenerate discovery clients (# 1689)%0A  > bc29a6b feat(all): auto-regenerate discovery clients (# 1688)%0A  > ce5ed41 feat(all): auto-regenerate discovery clients (# 1686)%0A  > d63b286 chore(main): release 0.95.0 (# 1678)%0A  > 8c72fb3 feat(all): auto-regenerate discovery clients (# 1680)%0A  > 9a84077 feat(option): officially deprecate ImpersonateCredentials (# 1683)%0A  > 219f166 test: set envvar for integration test (# 1681)%0A  > 991f409 test: integration Tests for Configurable Token Lifespan (# 1657)%0A  > 8757dbf feat(all): auto-regenerate discovery clients (# 1677)%0A  > 608f877 chore(main): release 0.94.0 (# 1668)%0A  > 1b6dbd8 feat(all): auto-regenerate discovery clients (# 1676)%0A  > c0825d4 chore: bump version of oauth lib to latest (# 1675)%0A  > 99c5811 feat(all): auto-regenerate discovery clients (# 1673)%0A  > 9ce1130 feat(all): auto-regenerate discovery clients (# 1672)%0A  > 7158b89 feat(all): auto-regenerate discovery clients (# 1671)%0A  > 07ceb9d docs(option): clarify behavior of WithScopes (# 1670)%0A  > 9ea025d fix(storage): *int64 instead of int64 for Age cond (# 1598)%0A  > c85b305 feat(all): auto-regenerate discovery clients (# 1667)%0A  > 55f563d chore(main): release 0.93.0 (# 1660)%0A  > 62364a2 feat(all): auto-regenerate discovery clients (# 1664)%0A  > d6ee425 feat(google-api-go-generator): Change field PaymentState to pointer (# 1663)%0A  > 3e82e6f feat(all): auto-regenerate discovery clients (# 1662)%0A  > 68e7d49 feat(all): auto-regenerate discovery clients (# 1661)%0A  > f73ea23 feat(all): auto-regenerate discovery clients (# 1652)%0A  > 4fd3439 chore: fix flaky bot (# 1653)%0A  > a90d802 chore(main): release 0.92.0 (# 1651)%0A  > 0e6b5b6 feat(all): auto-regenerate discovery clients (# 1649)%0A  > 825be43 chore: run gofmt -s -l -w . for Go 1.19 (# 1650)%0A  > ceac0bc chore: update vet to run for 1.19 (# 1648)%0A  > 45996f0 feat(all): auto-regenerate discovery clients (# 1646)%0A  > 8942a36 feat(all): auto-regenerate discovery clients (# 1645)%0A  > 6a8be6a feat(all): auto-regenerate discovery clients (# 1643)%0A  > 2dd2fc5 feat(all): auto-regenerate discovery clients (# 1641)%0A  > f706c86 chore: add flakybot (# 1640)%0A  > cea8849 chore(main): release 0.91.0 (# 1638)%0A  > bc14db7 feat(all): auto-regenerate discovery clients (# 1639)%0A  > 3919127 feat(all): auto-regenerate discovery clients (# 1637)%0A  > fc02f1d chore(main): release 0.90.0 (# 1633)%0A  > ba61f52 test: integration Tests for Pluggable Auth (# 1607)%0A  > babdbd1 feat: manual regen (# 1636)%0A  > fdea35f feat(all): auto-regenerate discovery clients (# 1635)%0A  > c824ae8 feat(all): auto-regenerate discovery clients (# 1634)%0A  > a20cd59 feat(all): auto-regenerate discovery clients (# 1632)%0A  > 3a45f5c chore(main): release 0.89.0 (# 1626)%0A  > 09e8e91 feat(all): auto-regenerate discovery clients (# 1631)%0A  > f12fc20 feat(all): auto-regenerate discovery clients (# 1630)%0A  > 934dd5e feat(all): auto-regenerate discovery clients (# 1629)%0A  > 1beaeac feat(all): auto-regenerate discovery clients (# 1627)%0A  > a1878a1 feat(all): auto-regenerate discovery clients (# 1625)%0A  > ed487e6 chore(main): release 0.88.0 (# 1617)%0A  > 9e8aeec feat(all): auto-regenerate discovery clients (# 1624)%0A  > 136bec3 feat(all): auto-regenerate discovery clients (# 1622)%0A  > 948b3c3 feat(all): auto-regenerate discovery clients (# 1620)%0A  > 6fde9e8 feat(all): auto-regenerate discovery clients (# 1619)%0A  > d39390c feat(all): auto-regenerate discovery clients (# 1616)%0A  > efe48de chore(main): release 0.87.0 (# 1605)%0A  > 7532bd6 feat(all): auto-regenerate discovery clients (# 1614)%0A  > 4b4693b feat(all): auto-regenerate discovery clients (# 1613)%0A  > 370775a feat(all): auto-regenerate discovery clients (# 1612)%0A  > 8e67ca4 feat(all): auto-regenerate discovery clients (# 1611)%0A  > 51d527b feat(all): auto-regenerate discovery clients (# 1608)%0A  > a1f0544 feat(all): auto-regenerate discovery clients (# 1606)%0A  > 5e7eede feat(all): auto-regenerate discovery clients (# 1604)%0A  > 8937b91 chore(main): release 0.86.0 (# 1597)%0A  > 2c32faf feat(all): auto-regenerate discovery clients (# 1603)%0A  > 4cc8fa9 chore(all): update all (# 1602)%0A  > ee1c8ab feat(all): auto-regenerate discovery clients (# 1601)%0A  > b5f14dc feat(all): auto-regenerate discovery clients (# 1600)%0A  > 7c6a86c feat(all): auto-regenerate discovery clients (# 1599)%0A  > 493203c feat(all): auto-regenerate discovery clients (# 1596)%0A  > 11792be chore(main): release 0.85.0 (# 1587)%0A  > 25e2e24 chore(gensupport): add retry invocation headers (# 1577)%0A  > c02e08c feat(all): auto-regenerate discovery clients (# 1593)%0A  > 56e960f chore(all): update all (# 1595)%0A  > 8f39c3e feat(all): auto-regenerate discovery clients (# 1592)%0A  > 59d5b95 feat(all): auto-regenerate discovery clients (# 1589)%0A  > 1263cc6 feat(all): auto-regenerate discovery clients (# 1586)%0A  > 18468ac chore(main): release 0.84.0 (# 1575)%0A  > ebbb60c feat(all): auto-regenerate discovery clients (# 1584)%0A  > 1d5389b feat(transport): Integrate with enterprise certificate proxy (# 1570)%0A  > 6b66391 chore(all): update all to d0670ef (# 1582)%0A  > a1e650c feat(all): auto-regenerate discovery clients (# 1581)%0A  > 590733c feat(all): auto-regenerate discovery clients (# 1580)%0A  > 7bba05e feat(all): auto-regenerate discovery clients (# 1576)%0A  > 0d1c9e8 feat(all): auto-regenerate discovery clients (# 1574)%0A  > fc50588 chore(main): release 0.83.0 (# 1567)%0A  > 3524901 chore(all): update all (# 1572)%0A  > c2c6a68 feat(all): auto-regenerate discovery clients (# 1571)%0A  > f12f0bb feat(all): auto-regenerate discovery clients (# 1569)%0A  > 2bdb4a9 feat(all): auto-regenerate discovery clients (# 1566)%0A  > 2ac155a chore(main): release 0.82.0 (# 1559)%0A  > bacf4f4 feat(all): auto-regenerate discovery clients (# 1565)%0A  > 1463524 feat(all): auto-regenerate discovery clients (# 1562)%0A  > 8bbd389 chore(all): update all to 5463443 (# 1564)%0A  > e3ac188 feat(all): auto-regenerate discovery clients (# 1561)%0A  > 3093678 feat(all): auto-regenerate discovery clients (# 1560)%0A  > b041876 docs(idtoken): fix a typo on NewClient method (# 1558)%0A  > 74b48ae feat(all): auto-regenerate discovery clients (# 1557)%0A  > 3ec9784 chore(main): release 0.81.0 (# 1549)%0A  > c40fe28 feat(all): auto-regenerate discovery clients (# 1556)%0A  > 97794a9 feat(all): auto-regenerate discovery clients (# 1553)%0A  > 0e22eae chore(all): update all (# 1555)%0A  > 905c5cc feat(all): auto-regenerate discovery clients (# 1551)%0A  > ecdf959 feat(all): auto-regenerate discovery clients (# 1550)%0A  > ea2c741 feat(all): auto-regenerate discovery clients (# 1548)%0A  > e8e8d59 chore(main): release 0.80.0 (# 1540)%0A  > 06f741f feat(all): auto-regenerate discovery clients (# 1547)%0A  > a96b037 feat(all): auto-regenerate discovery clients (# 1545)%0A  > ab27e7b feat(all): auto-regenerate discovery clients (# 1543)%0A  > d4bf66e feat(all): auto-regenerate discovery clients (# 1541)%0A  > acc2992 feat(all): auto-regenerate discovery clients (# 1539)%0A  > 14304b7 chore(main): release 0.79.0 (# 1532)%0A  > b6a8bd3 feat(all): auto-regenerate discovery clients (# 1538)%0A  > edb8ac6 feat(all): auto-regenerate discovery clients (# 1535)%0A  > 7f9e9e2 chore(all): update all to 988cb79 (# 1536)%0A  > 72b16d7 feat(all): auto-regenerate discovery clients (# 1534)%0A  > ffe3471 feat(all): auto-regenerate discovery clients (# 1533)%0A  > 43a3732 feat(all): auto-regenerate discovery clients (# 1531)%0A  > 5ba22f1 chore(main): release 0.78.0 (# 1529)%0A  > 3d4ea5e feat(all): auto-regenerate discovery clients (# 1530)%0A  > 6131a7d chore(all): update all (# 1528)%0A  > 5cdbe26 feat(all): auto-regenerate discovery clients (# 1527)%0A  > aff4922 chore(main): release 0.77.0 (# 1526)%0A  > 138823b feat: regen cloudcommerceprocurement v1 (# 1525)%0A  > fe1f16c chore(all): update actions/github-script action to v6 (# 1441)%0A  > 5cffc8c chore(main): release 0.76.0 (# 1520)%0A  > 9b3cabe feat(all): auto-regenerate discovery clients (# 1523)%0A  > fa8b991 feat(all): auto-regenerate discovery clients (# 1522)%0A  > dea6b02 feat(all): auto-regenerate discovery clients (# 1521)%0A  > d72fb11 feat(all): auto-regenerate discovery clients (# 1518)%0A  > 7027839 chore(main): release 0.75.0 (# 1497)%0A  > 12c0cb2 chore: update CI script to run on 1.18 (# 1508)%0A  > 4145f3d feat(all): auto-regenerate discovery clients (# 1516)%0A  > c75dc07 chore(all): update all (# 1515)%0A  > 11035bd feat(all): auto-regenerate discovery clients (# 1514)%0A  > 95e21aa feat(all): auto-regenerate discovery clients (# 1513)%0A  > 89f1c62 feat(all): auto-regenerate discovery clients (# 1511)%0A  > 6944086 feat(all): auto-regenerate discovery clients (# 1510)%0A  > d0006d4 feat(all): auto-regenerate discovery clients (# 1509)%0A  > f39fdcc chore(all): update all to aac1ed4 (# 1507)%0A  > d621bc9 feat(all): auto-regenerate discovery clients (# 1504)%0A  > d349e85 feat(transport): remove grpc version guard (# 1506)%0A  > eeb33c7 feat(all): auto-regenerate discovery clients (# 1503)%0A  > 2425be6 feat(all): auto-regenerate discovery clients (# 1500)%0A  > 5bd40ca chore(all): update all to 749bd19 (# 1501)%0A  > a897ca4 feat(all): auto-regenerate discovery clients (# 1498)%0A  > 788bfff feat(all): auto-regenerate discovery clients (# 1496)%0A  > 9d43e7d chore(main): release 0.74.0 (# 1481)%0A  > c53496e feat(all): auto-regenerate discovery clients (# 1495)%0A  > 12af56f chore: add debug info (# 1494)%0A  > 60f8145 feat(all): auto-regenerate discovery clients (# 1492)%0A  > 2e5fe2d chore(all): update all to de3da57 (# 1491)%0A  > 07708c5 feat(all): auto-regenerate discovery clients (# 1490)%0A  > c6e75d1 feat(all): auto-regenerate discovery clients (# 1489)%0A  > 0be1ec1 feat(all): auto-regenerate discovery clients (# 1488)%0A  > 123571c chore(all): update all (# 1487)%0A  > 5a60966 feat(all): auto-regenerate discovery clients (# 1486)%0A  > db51ba4 feat(all): auto-regenerate discovery clients (# 1483)%0A  > d1de029 feat: re-enable playintegrity api generation (# 1482)%0A  > ab15d06 feat(all): auto-regenerate discovery clients (# 1480)%0A  > fe42dff chore(main): release 0.73.0 (# 1478)%0A  > 0922a63 feat(all): prefer using WithDefaultScope option internally (# 1476)%0A  > 948cb4a feat(all): auto-regenerate discovery clients (# 1477)%0A  > 6100952 chore(main): release 0.72.0 (# 1471)%0A  > 85b8ff9 chore(all): update all (# 1475)%0A  > e550ff4 feat(all): auto-regenerate discovery clients (# 1474)%0A  > 83dfa07 docs: removed stale comment (# 1473)%0A  > ab9ff8c chore: remove build tags for go versions < 1.15 (# 1461)%0A  > 314c94b feat(all): auto-regenerate discovery clients (# 1472)%0A  > 6826fe2 feat(all): auto-regenerate discovery clients (# 1470)%0A  > 3d588dd chore(main): release 0.71.0 (# 1454)%0A  > 937d36f feat(all): auto-regenerate discovery clients (# 1469)%0A  > 33ba990 feat(internal/gensupport): add net.ErrClosed to default retry (# 1462)%0A  > bf3225e feat(all): auto-regenerate discovery clients (# 1467)%0A  > 94d6c1d chore(all): update google.golang.org/genproto commit hash to 325a892 (# 1468)%0A  > 76a2c21 feat(all): auto-regenerate discovery clients (# 1466)%0A  > 398f9e8 feat(all): auto-regenerate discovery clients (# 1465)%0A  > e8805bc feat(all): auto-regenerate discovery clients (# 1464)%0A  > 4df1039 feat(all): auto-regenerate discovery clients (# 1463)%0A  > 7331451 feat(all): auto-regenerate discovery clients (# 1457)%0A  > 6aeb511 chore(all): update all (# 1458)%0A  > 8a3061f feat(all): auto-regenerate discovery clients (# 1455)%0A  > 0954e33 feat(all): auto-regenerate discovery clients (# 1453)%0A  > aa4b661 chore(main): release 0.70.0 (# 1446)%0A  > 459ebe0 feat(all): auto-regenerate discovery clients (# 1450)%0A  > 78984df chore(all): update all (# 1451)%0A  > 7bce545 feat(transport): add an env variable to disable DirectPath (# 1447)%0A  > 64db4b6 feat(all): auto-regenerate discovery clients (# 1449)%0A  > 0fe9f5f feat(all): auto-regenerate discovery clients (# 1448)%0A  > 7dec2b0 feat(all): auto-regenerate discovery clients (# 1444)%0A  > d8d1dd6 chore(main): release 0.69.0 (# 1429)%0A  > ed89fcb feat(all): auto-regenerate discovery clients (# 1443)%0A  > f47d942 chore(all): update all (# 1440)%0A  > 34437da feat(all): auto-regenerate discovery clients (# 1439)%0A  > ae341d5 feat(all): auto-regenerate discovery clients (# 1438)%0A  > c01dedc feat(all): auto-regenerate discovery clients (# 1437)%0A  > 50051fb chore: add PATH and HOME to cmds (# 1436)%0A  > 81492cc chore(internal/kokoro): add more debug info (# 1435)%0A  > 4499c41 fix(internal/kokoro): path to module root to run discogen (# 1433)%0A  > 14d6bf5 chore: add a script that invoke regen (# 1432)%0A  > ef89845 fix(gensupport): cover ChunkRetryDeadline edge case (# 1430)%0A  > 331bc9e feat: bump grpc and x/net (# 1428)%0A  > 79cd91d chore: remove synth.py (# 1427)%0A  > 31eaf11 chore(main): release 0.68.0 (# 1420)%0A  > f025530 fix: start reporting a meaningful version in headers (# 1426)%0A  > 5a35af5 feat(all): auto-regenerate discovery clients (# 1422)%0A  > 16cbba8 chore(all): update all (# 1423)%0A  > ca3165c chore(all): update all (major) (# 1412)%0A  > b28419f feat(all): auto-regenerate discovery clients (# 1419)%0A  > 9eaba81 fix(googleapi): fill response headers in Error (# 1418)%0A  > 6db1fa9 chore(main): release 0.67.0 (# 1413)%0A  > 6461d8f chore: run go mod tidy (# 1417)%0A  > f78a0f8 feat(all): auto-regenerate discovery clients (# 1416)%0A  > c987a5b feat(gensupport): per-chunk deadline configs (# 1414)%0A  > e40d61b feat(all): auto-regenerate discovery clients (# 1415)%0A  > a584462 feat(all): auto-regenerate discovery clients (# 1410)%0A  > 974d87e chore(all): update all (# 1411)%0A  > 51d1f3f chore: add new regen code (# 1403)%0A  > 5322ee8 chore(main): release 0.66.0 (# 1396)%0A  > 01c8604 feat(all): auto-regenerate discovery clients (# 1408)%0A  > 71e47d1 feat(all): auto-regenerate discovery clients (# 1407)%0A  > d972e9a feat(all): auto-regenerate discovery clients (# 1406)%0A  > 46a046b feat(all): auto-regenerate discovery clients (# 1405)%0A  > e4d33f2 feat(all): auto-regenerate discovery clients (# 1404)%0A  > 576ebbf feat(internal/gensupport): add 408 to default retry (# 1397)%0A  > 2f7c9e0 Adding import references in examples/customsearch (# 1399)%0A  > b6f8296 chore(all): update all (# 1400)%0A  > f3223f8 Switch drive.go to v3 API (# 1334)%0A  > 33250c0 feat(all): auto-regenerate discovery clients (# 1394)%0A  > c890ff5 chore(main): release 0.65.0 (# 1392)%0A  > 0f18957 feat(all): auto-regenerate discovery clients (# 1391)%0A  > a72c2ca chore(all): update all (# 1389)%0A  > 0848de1 feat(all): auto-regenerate discovery clients (# 1390)%0A  > e933e2a feat(all): auto-regenerate discovery clients (# 1388)%0A  > 057ba53 feat(all): auto-regenerate discovery clients (# 1387)%0A  > 9b7e98a feat(all): auto-regenerate discovery clients (# 1385)%0A  > 4cbaa9a chore: release 0.64.0 (# 1350)%0A  > 6f9d2fb feat(all): auto-regenerate discovery clients (# 1384)%0A  > e10082d fix(internal/gensupport): check ctx in chunk retry (# 1364)%0A  > 5063cf3 feat(all): auto-regenerate discovery clients (# 1382)%0A  > 3c780a6 feat(all): auto-regenerate discovery clients (# 1381)%0A  > 480c39e feat(all): auto-regenerate discovery clients (# 1379)%0A  > c483509 feat(all): auto-regenerate discovery clients (# 1378)%0A  > f02fca3 feat(all): auto-regenerate discovery clients (# 1377)%0A  > 6b71f8e feat(all): auto-regenerate discovery clients (# 1376)%0A  > 67b623e feat(all): auto-regenerate discovery clients (# 1375)%0A  > 5b1d74b chore(all): update google.golang.org/genproto commit hash to 3ac035c (# 1371)%0A  > f96659b feat(all): auto-regenerate discovery clients (# 1374)%0A  > b98052e feat(all): auto-regenerate discovery clients (# 1372)%0A  > 879fd18 feat(all): auto-regenerate discovery clients (# 1370)%0A  > 5b0277f feat(all): auto-regenerate discovery clients (# 1368)%0A  > e8b02d9 feat(all): auto-regenerate discovery clients (# 1366)%0A  > 436de07 feat(all): auto-regenerate discovery clients (# 1365)%0A  > 3837608 chore(all): update all (# 1355)%0A  > ecb0cdf feat(all): auto-regenerate discovery clients (# 1362)%0A  > e84950f feat(transport): remove google-c2p dependence to DirectPath (# 1361)%0A  > 520b227 fix(internal/gensupport): Make SendRequestWithRetry check for canceled contexts twice (# 1359)%0A  > 07d8e2c transport: update xds  directpath xds scheme (# 1357)%0A  > 0f5a4b2 feat(all): auto-regenerate discovery clients (# 1360)%0A  > 8fed2c8 feat(all): auto-regenerate discovery clients (# 1356)%0A  > fef920c feat(all): auto-regenerate discovery clients (# 1354)%0A  > 64fd298 feat(all): auto-regenerate discovery clients (# 1353)%0A  > 8d31dc9 feat(all): auto-regenerate discovery clients (# 1352)%0A  > 6e751dc feat(all): auto-regenerate discovery clients (# 1351)%0A  > 6152e8a feat(all): auto-regenerate discovery clients (# 1349)%0A  > 27de32e chore: release 0.63.0 (# 1342)%0A  > 8d2eca8 feat(internal/gensupport): add configurable retry (# 1324)%0A  > 9d66b44 chore(all): update all (# 1347)%0A  > 9652438 feat(all): auto-regenerate discovery clients (# 1348)%0A  > 3e3f769 feat(all): auto-regenerate discovery clients (# 1345)%0A  > 79d487f feat(all): auto-regenerate discovery clients (# 1344)%0A  > e4cc432 feat(all): auto-regenerate discovery clients (# 1343)%0A  > 7673ffe feat(all): auto-regenerate discovery clients (# 1341)%0A  > 5d28b6d chore: release 0.62.0 (# 1330)%0A  > c06faf5 feat(transport): pass call credentials to grpc-go for DirectPath (# 1297)%0A  > 3799960 feat(all): auto-regenerate discovery clients (# 1339)%0A  > 3787e3a feat(all): auto-regenerate discovery clients (# 1338)%0A  > d6130c8 chore: update gRPC version (# 1337)%0A  > 951029f chore(all): update all (# 1335)%0A  > adacce9 feat(all): auto-regenerate discovery clients (# 1336)%0A  > c20deea feat(all): auto-regenerate discovery clients (# 1333)%0A  > 1d7526a feat(all): auto-regenerate discovery clients (# 1332)%0A  > 3789a71 feat(all): auto-regenerate discovery clients (# 1329)%0Abumping go.opencensus.io 49838f2...b1a01ee:%0A  > b1a01ee Add started RPC metric for client and server side (# 1283)%0A  > 0bf7faa Fix CI, and update testify (# 1284)%0A  > 0521206 Passing capacity to make() in place of length.  (# 1276)%0A  > c2a62a2 fix: Add function to stop the defaultWorker (# 1272)%0A  > bf52d9d  Remove `convTslice` calls in Record()  (# 1268)%0A  > ad0b46e Precompute encodeWithKeys buffer size to avoid resizes (# 1269)%0A  > a55fb71 Optimize `Record()` to avoid extra allocations  (# 1267)%0A  > dcf8515 Fix formatting to pass with go1.17 (# 1270)%0A  > fb455b0 Remove @rakyll from codeowners (# 1256)%0A  > f5c4b39 Bump version to next expected release (# 1257)%0Abumping golang.org/x/time 90d013b...2c09566:%0A  > 2c09566 rate: the state of the limiter should not be changed when the requests failed%0A  > 80b9fac x/time/rate: add rate.Sometimes, which runs a function occasionally.%0A  > f3bd1da rate: add TokenAt and Tokens methods to Limiter.%0A  > 2ce7c29 rate: use constant to avoid repeated definitions%0A  > e5dcc9c A+C: delete AUTHORS and CONTRIBUTORS%0A  > 579cf78 rate: use fake time for testing%0A  > 583f2d6 all: gofmt%0A  > 1424b61 rate: extend maximum-delay slop to all platforms%0A  > 0e9765c rate: extend timing tolerances on Android and Plan9%0Abumping golang.org/x/sync 8fcdb60...1ea3257:%0A  > 1ea3257 singleflight: make the check for exec support in TestPanicDoChan platform-agnostic%0Abumping knative.dev/pkg 6eb4b40...5ef4812:%0A  > 5ef4812 Update community files (# 2762)%0A  > 49e2e56 update google cloud deps (# 2758)%0A  > a5e0b92 upgrade to latest dependencies (# 2757)%0Abumping golang.org/x/tools d0863f0...031fc75:%0A  > 031fc75 gopls/internal/regtest/bench: don't run the iwl test with -short%0A  > f477bf4 gopls/internal/lsp/source/completion: avoid Snapshot.CachedPackages%0A  > b72edd1 gopls/internal/lsp/filecache: GOPLS_CACHE -> GOPLSCACHE%0A  > d566927 gopls/internal/lsp/regtest: add @suggestedfix marker%0A  > fdb0da6 gopls/internal/regtest/bench: add a benchmark for diagnosing a change%0A  > 6eb432f gopls/internal/regtest/bench: add benchmarks in a wider variety of repos%0A  > c91d0b8 gopls/internal/lsp/source: guard against concurrent writes in xrefs%0A  > c0742f5 go.mod: update golang.org/x dependencies%0A  > 21d2256 gopls/internal/lsp/cache: make type-checking incremental%0A  > ae05609 internal/lsp/cache: add an LRU parse cache%0A  > de54582 gopls/internal/lsp/filecache: process batches of stats before sleeping%0A  > bc2e2c2 gopls/internal/regtest/bench: support benchmarking multiple repos%0A  > 7c35ddf gopls/internal/lsp: stop using ast.Ident.Obj%0A  > 4942052 gopls/protocol/generate: remove more special cases%0A  > ef396af gopls: sync staticcheck@v0.4.2%0A  > fbb25cb gopls: use go generate consistently%0A  > 096bae8 internal/gcimporter: document non-idempotence of export∘import%0A  > 120642f gopls/internal/bug: fix a bug in the bug package%0A  > 0d741d5 cmd/present: update styles for markdown-generated slides%0A  > 902ee93 gopls/internal/lsp/source: remove 2nd last call to CachedImportPaths%0A  > b0fcf2a gopls/internal/lsp/source: simplify 'stub methods'%0A  > f98fce2 go/types/objectpath: add encoder type, to amortize allocation%0A  > 2e10748 gopls/internal/lsp/protocol: improve generated godoc for LSP types%0A  > 4906a71 gopls/internal/lsp/source: add documentation links to hover%0A  > 3ec30bd gopls/internal/lsp/cache: request EmbedFiles from go/packages%0A  > 25d2519 gopls/internal/lsp: support more cases of definition on linkname directive.%0A  > e85b533 gopls/protocol: remove stub special cases%0A  > 193023c go/ssa: substitute type parameters in local types%0A  > 3102dad gopls/internal/regtest/bench: move benchmarks into separate files%0A  > d9c6b88 gopls/internal/regtest/bench: add a proper benchmark for initial load%0A  > e5b9948 gopls/internal/lsp/source: use metadata files for workspace symbols%0A  > ad4fc28 gopls/internal/lsp/cache: pre-compute load diagnostics%0A  > e5c9e63 gopls/internal/lsp/regtest: add @rename marker tests%0A  > a30296b gopls/internal/lsp/filecache: purge empty directories%0A  > 268cb0b go/ssa/interp: skip typeparam/issue58513.go%0A  > d87a100 go/ssa: skip typeparam/issue58513.go%0A  > 5e7c67d gopls/internal/lsp/regtest: factor marker error reporting%0A  > d4c13e6 gopls/internal/lsp/source: eliminate Snapshot.FileSet%0A  > 0bd0228 gopls/internal/lsp/source: don't rely on global FileSet when stubbing%0A  > c3550e9 cmd/present: use embed, drop native client%0A  > 6baf6e8 gopls/internal/lsp/source: 'references' cleanups%0A  > 64f9d62 gopls/internal/lsp/source/rename: use incremental algorithm%0A  > c8e8b3b gopls/internal/lsp: eliminate source.RelatedInformation%0A  > fdfdda5 gopls: fix Kokoro failures with Go 1.18%0A  > 0e300d3 gopls/protocol: remove some special cases in stubs%0A  > 80afb09 gopls/internal/lsp/source: multiline errors from rename%0A  > 352e41a internal/gcimporter: updates how imports are handled in unified IR%0A  > 72d72f9 go/ssa: temporarily skip the 'net' package in TestStdlib%0A  > a9792b2 go/loader: temporarily skip TestCgoOption on darwin%0A  > eec389d gopls/doc: fix typos in Neovim documentation%0A  > 668845e gopls: update usage instructions for latest neovim version%0A  > b15a5bc gopls/internal/lsp/source: rewrite hover%0A  > 650ae30 gopls/internal/regtest/marker: more tests for embedding and linking%0A  > b18ca0d gopls/internal/lsp/regtest: always compare updated marker test content%0Abumping knative.dev/hack fc42790...cc92cdb:%0A  > cc92cdb Replace test-infra with toolbox (# 297)%0Abumping golang.org/x/mod b710602...69aa7ac:%0A  > 69aa7ac sumdb/tlog: fuzz tests for parsers%0Abumping golang.org/x/oauth2 3607514...839de22:%0A  > 839de22 google: don't check for IsNotExist for well-known file%0A  > 0690208 go.mod: update golang.org/x dependencies%0A  > 451d5d6 internal: remove repeated definite articles%0A  > cfe200d oauth2: parse RFC 6749 error response

Signed-off-by: Knative Automation <automation@knative.team>
This commit is contained in:
Knative Automation 2023-07-10 21:18:12 +01:00 committed by GitHub
parent 19673150e4
commit 046f174fe8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 376 additions and 283 deletions

18
go.mod
View File

@ -11,8 +11,8 @@ require (
k8s.io/client-go v0.26.5 k8s.io/client-go v0.26.5
k8s.io/code-generator v0.26.5 k8s.io/code-generator v0.26.5
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280
knative.dev/hack v0.0.0-20230628110129-fc42790854e8 knative.dev/hack v0.0.0-20230707105034-cc92cdb68f01
knative.dev/pkg v0.0.0-20230628105954-6eb4b40a9a30 knative.dev/pkg v0.0.0-20230710013638-5ef4812a4fe9
) )
require ( require (
@ -55,20 +55,20 @@ require (
github.com/prometheus/procfs v0.8.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect
github.com/prometheus/statsd_exporter v0.21.0 // indirect github.com/prometheus/statsd_exporter v0.21.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/pflag v1.0.5 // indirect
go.opencensus.io v0.23.0 // indirect go.opencensus.io v0.24.0 // indirect
go.uber.org/atomic v1.9.0 // indirect go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.6.0 // indirect go.uber.org/multierr v1.6.0 // indirect
golang.org/x/mod v0.8.0 // indirect golang.org/x/mod v0.9.0 // indirect
golang.org/x/net v0.12.0 // indirect golang.org/x/net v0.12.0 // indirect
golang.org/x/oauth2 v0.7.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect golang.org/x/sync v0.2.0 // indirect
golang.org/x/sys v0.10.0 // indirect golang.org/x/sys v0.10.0 // indirect
golang.org/x/term v0.10.0 // indirect golang.org/x/term v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect golang.org/x/text v0.11.0 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.6.0 // indirect golang.org/x/tools v0.7.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/api v0.61.0 // indirect google.golang.org/api v0.124.0 // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 // indirect google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a // indirect

187
go.sum
View File

@ -13,18 +13,6 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
@ -49,7 +37,6 @@ contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@ -67,7 +54,6 @@ github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
@ -77,9 +63,6 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@ -90,10 +73,6 @@ github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ=
github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84=
@ -144,8 +123,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@ -161,11 +138,9 @@ 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.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/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.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= 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 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54=
@ -177,11 +152,9 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/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.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.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@ -190,8 +163,6 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= 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.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= 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-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@ -199,23 +170,13 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
@ -223,7 +184,6 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
@ -315,19 +275,23 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= 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.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= 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.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -338,10 +302,9 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
@ -382,8 +345,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
@ -392,11 +353,9 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
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.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= 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-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -427,14 +386,8 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
@ -445,20 +398,10 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8=
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -470,8 +413,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/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= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -503,30 +446,14 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
@ -540,8 +467,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= 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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
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.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.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
@ -549,8 +474,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/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= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
@ -593,20 +518,10 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
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.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 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-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -630,21 +545,8 @@ google.golang.org/api v0.25.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.124.0 h1:dP6Ef1VgOGqQ8eiv4GiY8RhmeyqzovcXBYPDUYG8Syo=
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4=
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
google.golang.org/api v0.61.0 h1:TXXKS1slM3b2bZNJwD5DV/Tp6/M2cLzLOLh9PjDhrw8=
google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@ -684,34 +586,7 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= 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-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 h1:x1vNwUhVOcsYoKyEGCZBH694SBmmBjA2EfauFVEI2+M= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0 h1:x1vNwUhVOcsYoKyEGCZBH694SBmmBjA2EfauFVEI2+M=
google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY=
google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a h1:HiYVD+FGJkTo+9zj1gqz0anapsa1JxjiSrN+BJKyUmE= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a h1:HiYVD+FGJkTo+9zj1gqz0anapsa1JxjiSrN+BJKyUmE=
@ -730,22 +605,9 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@ -758,7 +620,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= 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.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
@ -808,10 +669,10 @@ k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+O
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8= k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
knative.dev/hack v0.0.0-20230628110129-fc42790854e8 h1:l7CnU4IiRB0TTQAWqOSXg9MnB2bxWjx4o/Vw6Yb27eM= knative.dev/hack v0.0.0-20230707105034-cc92cdb68f01 h1:ShbmvGzvZ8yTDL+9ANDj2RJmxP9e9VG5ssP719GjgLg=
knative.dev/hack v0.0.0-20230628110129-fc42790854e8/go.mod h1:yk2OjGDsbEnQjfxdm0/HJKS2WqTLEFg/N6nUs6Rqx3Q= knative.dev/hack v0.0.0-20230707105034-cc92cdb68f01/go.mod h1:yk2OjGDsbEnQjfxdm0/HJKS2WqTLEFg/N6nUs6Rqx3Q=
knative.dev/pkg v0.0.0-20230628105954-6eb4b40a9a30 h1:UUjxZMKgK907IfFY3b7xj9sY53c+feiYvzUwPtajN8I= knative.dev/pkg v0.0.0-20230710013638-5ef4812a4fe9 h1:2T60dQFvSz7MS0M2pgLNMbxtv4Rn2zskjQH8kB/wTkg=
knative.dev/pkg v0.0.0-20230628105954-6eb4b40a9a30/go.mod h1:dqC6IrvyBE7E+oZocs5PkVhq1G59pDTA7r8U17EAKMk= knative.dev/pkg v0.0.0-20230710013638-5ef4812a4fe9/go.mod h1:eXobTqst4aI7CNa6W7sG73VhEsHGWPSrkefeMTb++a0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

8
vendor/go.opencensus.io/Makefile generated vendored
View File

@ -91,7 +91,7 @@ embedmd:
.PHONY: install-tools .PHONY: install-tools
install-tools: install-tools:
go get -u golang.org/x/lint/golint go install golang.org/x/lint/golint@latest
go get -u golang.org/x/tools/cmd/cover go install golang.org/x/tools/cmd/cover@latest
go get -u golang.org/x/tools/cmd/goimports go install golang.org/x/tools/cmd/goimports@latest
go get -u github.com/rakyll/embedmd go install github.com/rakyll/embedmd@latest

View File

@ -17,5 +17,5 @@ package opencensus // import "go.opencensus.io"
// Version is the current release version of OpenCensus in use. // Version is the current release version of OpenCensus in use.
func Version() string { func Version() string {
return "0.23.0" return "0.24.0"
} }

View File

@ -28,6 +28,7 @@ var (
ClientReceivedMessagesPerRPC = stats.Int64("grpc.io/client/received_messages_per_rpc", "Number of response messages received per RPC (always 1 for non-streaming RPCs).", stats.UnitDimensionless) ClientReceivedMessagesPerRPC = stats.Int64("grpc.io/client/received_messages_per_rpc", "Number of response messages received per RPC (always 1 for non-streaming RPCs).", stats.UnitDimensionless)
ClientReceivedBytesPerRPC = stats.Int64("grpc.io/client/received_bytes_per_rpc", "Total bytes received across all response messages per RPC.", stats.UnitBytes) ClientReceivedBytesPerRPC = stats.Int64("grpc.io/client/received_bytes_per_rpc", "Total bytes received across all response messages per RPC.", stats.UnitBytes)
ClientRoundtripLatency = stats.Float64("grpc.io/client/roundtrip_latency", "Time between first byte of request sent to last byte of response received, or terminal error.", stats.UnitMilliseconds) ClientRoundtripLatency = stats.Float64("grpc.io/client/roundtrip_latency", "Time between first byte of request sent to last byte of response received, or terminal error.", stats.UnitMilliseconds)
ClientStartedRPCs = stats.Int64("grpc.io/client/started_rpcs", "Number of started client RPCs.", stats.UnitDimensionless)
ClientServerLatency = stats.Float64("grpc.io/client/server_latency", `Propagated from the server and should have the same value as "grpc.io/server/latency".`, stats.UnitMilliseconds) ClientServerLatency = stats.Float64("grpc.io/client/server_latency", `Propagated from the server and should have the same value as "grpc.io/server/latency".`, stats.UnitMilliseconds)
) )
@ -70,6 +71,14 @@ var (
Aggregation: view.Count(), Aggregation: view.Count(),
} }
ClientStartedRPCsView = &view.View{
Measure: ClientStartedRPCs,
Name: "grpc.io/client/started_rpcs",
Description: "Number of started client RPCs.",
TagKeys: []tag.Key{KeyClientMethod},
Aggregation: view.Count(),
}
ClientSentMessagesPerRPCView = &view.View{ ClientSentMessagesPerRPCView = &view.View{
Measure: ClientSentMessagesPerRPC, Measure: ClientSentMessagesPerRPC,
Name: "grpc.io/client/sent_messages_per_rpc", Name: "grpc.io/client/sent_messages_per_rpc",

View File

@ -27,6 +27,7 @@ var (
ServerReceivedBytesPerRPC = stats.Int64("grpc.io/server/received_bytes_per_rpc", "Total bytes received across all messages per RPC.", stats.UnitBytes) ServerReceivedBytesPerRPC = stats.Int64("grpc.io/server/received_bytes_per_rpc", "Total bytes received across all messages per RPC.", stats.UnitBytes)
ServerSentMessagesPerRPC = stats.Int64("grpc.io/server/sent_messages_per_rpc", "Number of messages sent in each RPC. Has value 1 for non-streaming RPCs.", stats.UnitDimensionless) ServerSentMessagesPerRPC = stats.Int64("grpc.io/server/sent_messages_per_rpc", "Number of messages sent in each RPC. Has value 1 for non-streaming RPCs.", stats.UnitDimensionless)
ServerSentBytesPerRPC = stats.Int64("grpc.io/server/sent_bytes_per_rpc", "Total bytes sent in across all response messages per RPC.", stats.UnitBytes) ServerSentBytesPerRPC = stats.Int64("grpc.io/server/sent_bytes_per_rpc", "Total bytes sent in across all response messages per RPC.", stats.UnitBytes)
ServerStartedRPCs = stats.Int64("grpc.io/server/started_rpcs", "Number of started server RPCs.", stats.UnitDimensionless)
ServerLatency = stats.Float64("grpc.io/server/server_latency", "Time between first byte of request received to last byte of response sent, or terminal error.", stats.UnitMilliseconds) ServerLatency = stats.Float64("grpc.io/server/server_latency", "Time between first byte of request received to last byte of response sent, or terminal error.", stats.UnitMilliseconds)
) )
@ -73,6 +74,14 @@ var (
Aggregation: view.Count(), Aggregation: view.Count(),
} }
ServerStartedRPCsView = &view.View{
Measure: ServerStartedRPCs,
Name: "grpc.io/server/started_rpcs",
Description: "Number of started server RPCs.",
TagKeys: []tag.Key{KeyServerMethod},
Aggregation: view.Count(),
}
ServerReceivedMessagesPerRPCView = &view.View{ ServerReceivedMessagesPerRPCView = &view.View{
Name: "grpc.io/server/received_messages_per_rpc", Name: "grpc.io/server/received_messages_per_rpc",
Description: "Distribution of messages received count per RPC, by method.", Description: "Distribution of messages received count per RPC, by method.",

View File

@ -82,8 +82,10 @@ func methodName(fullname string) string {
// statsHandleRPC processes the RPC events. // statsHandleRPC processes the RPC events.
func statsHandleRPC(ctx context.Context, s stats.RPCStats) { func statsHandleRPC(ctx context.Context, s stats.RPCStats) {
switch st := s.(type) { switch st := s.(type) {
case *stats.Begin, *stats.OutHeader, *stats.InHeader, *stats.InTrailer, *stats.OutTrailer: case *stats.OutHeader, *stats.InHeader, *stats.InTrailer, *stats.OutTrailer:
// do nothing for client // do nothing for client
case *stats.Begin:
handleRPCBegin(ctx, st)
case *stats.OutPayload: case *stats.OutPayload:
handleRPCOutPayload(ctx, st) handleRPCOutPayload(ctx, st)
case *stats.InPayload: case *stats.InPayload:
@ -95,6 +97,25 @@ func statsHandleRPC(ctx context.Context, s stats.RPCStats) {
} }
} }
func handleRPCBegin(ctx context.Context, s *stats.Begin) {
d, ok := ctx.Value(rpcDataKey).(*rpcData)
if !ok {
if grpclog.V(2) {
grpclog.Infoln("Failed to retrieve *rpcData from context.")
}
}
if s.IsClient() {
ocstats.RecordWithOptions(ctx,
ocstats.WithTags(tag.Upsert(KeyClientMethod, methodName(d.method))),
ocstats.WithMeasurements(ClientStartedRPCs.M(1)))
} else {
ocstats.RecordWithOptions(ctx,
ocstats.WithTags(tag.Upsert(KeyClientMethod, methodName(d.method))),
ocstats.WithMeasurements(ServerStartedRPCs.M(1)))
}
}
func handleRPCOutPayload(ctx context.Context, s *stats.OutPayload) { func handleRPCOutPayload(ctx context.Context, s *stats.OutPayload) {
d, ok := ctx.Value(rpcDataKey).(*rpcData) d, ok := ctx.Value(rpcDataKey).(*rpcData)
if !ok { if !ok {

View File

@ -19,7 +19,7 @@ Package stats contains support for OpenCensus stats recording.
OpenCensus allows users to create typed measures, record measurements, OpenCensus allows users to create typed measures, record measurements,
aggregate the collected data, and export the aggregated data. aggregate the collected data, and export the aggregated data.
Measures # Measures
A measure represents a type of data point to be tracked and recorded. A measure represents a type of data point to be tracked and recorded.
For example, latency, request Mb/s, and response Mb/s are measures For example, latency, request Mb/s, and response Mb/s are measures
@ -33,7 +33,7 @@ Libraries can define and export measures. Application authors can then
create views and collect and break down measures by the tags they are create views and collect and break down measures by the tags they are
interested in. interested in.
Recording measurements # Recording measurements
Measurement is a data point to be collected for a measure. For example, Measurement is a data point to be collected for a measure. For example,
for a latency (ms) measure, 100 is a measurement that represents a 100ms for a latency (ms) measure, 100 is a measurement that represents a 100ms
@ -49,7 +49,7 @@ Libraries can always record measurements, and applications can later decide
on which measurements they want to collect by registering views. This allows on which measurements they want to collect by registering views. This allows
libraries to turn on the instrumentation by default. libraries to turn on the instrumentation by default.
Exemplars # Exemplars
For a given recorded measurement, the associated exemplar is a diagnostic map For a given recorded measurement, the associated exemplar is a diagnostic map
that gives more information about the measurement. that gives more information about the measurement.
@ -64,6 +64,5 @@ then the trace span will be added to the exemplar associated with the measuremen
When exported to a supporting back end, you should be able to easily navigate When exported to a supporting back end, you should be able to easily navigate
to example traces that fell into each bucket in the Distribution. to example traces that fell into each bucket in the Distribution.
*/ */
package stats // import "go.opencensus.io/stats" package stats // import "go.opencensus.io/stats"

View File

@ -21,5 +21,11 @@ import (
// DefaultRecorder will be called for each Record call. // DefaultRecorder will be called for each Record call.
var DefaultRecorder func(tags *tag.Map, measurement interface{}, attachments map[string]interface{}) var DefaultRecorder func(tags *tag.Map, measurement interface{}, attachments map[string]interface{})
// MeasurementRecorder will be called for each Record call. This is the same as DefaultRecorder but
// avoids interface{} conversion.
// This will be a func(tags *tag.Map, measurement []Measurement, attachments map[string]interface{}) type,
// but is interface{} here to avoid import loops
var MeasurementRecorder interface{}
// SubscriptionReporter reports when a view subscribed with a measure. // SubscriptionReporter reports when a view subscribed with a measure.
var SubscriptionReporter func(measure string) var SubscriptionReporter func(measure string)

View File

@ -86,10 +86,29 @@ func createRecordOption(ros ...Options) *recordOptions {
return o return o
} }
type measurementRecorder = func(tags *tag.Map, measurement []Measurement, attachments map[string]interface{})
// Record records one or multiple measurements with the same context at once. // Record records one or multiple measurements with the same context at once.
// If there are any tags in the context, measurements will be tagged with them. // If there are any tags in the context, measurements will be tagged with them.
func Record(ctx context.Context, ms ...Measurement) { func Record(ctx context.Context, ms ...Measurement) {
RecordWithOptions(ctx, WithMeasurements(ms...)) // Record behaves the same as RecordWithOptions, but because we do not have to handle generic functionality
// (RecordOptions) we can reduce some allocations to speed up this hot path
if len(ms) == 0 {
return
}
recorder := internal.MeasurementRecorder.(measurementRecorder)
record := false
for _, m := range ms {
if m.desc.subscribed() {
record = true
break
}
}
if !record {
return
}
recorder(tag.FromContext(ctx), ms, nil)
return
} }
// RecordWithTags records one or multiple measurements at once. // RecordWithTags records one or multiple measurements at once.

View File

@ -90,9 +90,9 @@ func Sum() *Aggregation {
// //
// If len(bounds) >= 2 then the boundaries for bucket index i are: // If len(bounds) >= 2 then the boundaries for bucket index i are:
// //
// [-infinity, bounds[i]) for i = 0 // [-infinity, bounds[i]) for i = 0
// [bounds[i-1], bounds[i]) for 0 < i < length // [bounds[i-1], bounds[i]) for 0 < i < length
// [bounds[i-1], +infinity) for i = length // [bounds[i-1], +infinity) for i = length
// //
// If len(bounds) is 0 then there is no histogram associated with the // If len(bounds) is 0 then there is no histogram associated with the
// distribution. There will be a single bucket with boundaries // distribution. There will be a single bucket with boundaries

View File

@ -59,8 +59,15 @@ func (c *collector) clearRows() {
// encodeWithKeys encodes the map by using values // encodeWithKeys encodes the map by using values
// only associated with the keys provided. // only associated with the keys provided.
func encodeWithKeys(m *tag.Map, keys []tag.Key) []byte { func encodeWithKeys(m *tag.Map, keys []tag.Key) []byte {
// Compute the buffer length we will need ahead of time to avoid resizing later
reqLen := 0
for _, k := range keys {
s, _ := m.Value(k)
// We will store each key + its length
reqLen += len(s) + 1
}
vb := &tagencoding.Values{ vb := &tagencoding.Values{
Buffer: make([]byte, len(keys)), Buffer: make([]byte, reqLen),
} }
for _, k := range keys { for _, k := range keys {
v, _ := m.Value(k) v, _ := m.Value(k)

View File

@ -34,7 +34,7 @@
// Libraries can define views but it is recommended that in most cases registering // Libraries can define views but it is recommended that in most cases registering
// views be left up to applications. // views be left up to applications.
// //
// Exporting // # Exporting
// //
// Collected and aggregated data can be exported to a metric collection // Collected and aggregated data can be exported to a metric collection
// backend by registering its exporter. // backend by registering its exporter.

View File

@ -33,6 +33,7 @@ func init() {
defaultWorker = NewMeter().(*worker) defaultWorker = NewMeter().(*worker)
go defaultWorker.start() go defaultWorker.start()
internal.DefaultRecorder = record internal.DefaultRecorder = record
internal.MeasurementRecorder = recordMeasurement
} }
type measureRef struct { type measureRef struct {
@ -199,11 +200,21 @@ func record(tags *tag.Map, ms interface{}, attachments map[string]interface{}) {
defaultWorker.Record(tags, ms, attachments) defaultWorker.Record(tags, ms, attachments)
} }
func recordMeasurement(tags *tag.Map, ms []stats.Measurement, attachments map[string]interface{}) {
defaultWorker.recordMeasurement(tags, ms, attachments)
}
// Record records a set of measurements ms associated with the given tags and attachments. // Record records a set of measurements ms associated with the given tags and attachments.
func (w *worker) Record(tags *tag.Map, ms interface{}, attachments map[string]interface{}) { func (w *worker) Record(tags *tag.Map, ms interface{}, attachments map[string]interface{}) {
w.recordMeasurement(tags, ms.([]stats.Measurement), attachments)
}
// recordMeasurement records a set of measurements ms associated with the given tags and attachments.
// This is the same as Record but without an interface{} type to avoid allocations
func (w *worker) recordMeasurement(tags *tag.Map, ms []stats.Measurement, attachments map[string]interface{}) {
req := &recordReq{ req := &recordReq{
tm: tags, tm: tags,
ms: ms.([]stats.Measurement), ms: ms,
attachments: attachments, attachments: attachments,
t: time.Now(), t: time.Now(),
} }
@ -221,6 +232,11 @@ func SetReportingPeriod(d time.Duration) {
defaultWorker.SetReportingPeriod(d) defaultWorker.SetReportingPeriod(d)
} }
// Stop stops the default worker.
func Stop() {
defaultWorker.Stop()
}
// SetReportingPeriod sets the interval between reporting aggregated views in // SetReportingPeriod sets the interval between reporting aggregated views in
// the program. If duration is less than or equal to zero, it enables the // the program. If duration is less than or equal to zero, it enables the
// default behavior. // default behavior.
@ -281,7 +297,7 @@ func (w *worker) start() {
case <-w.quit: case <-w.quit:
w.timer.Stop() w.timer.Stop()
close(w.c) close(w.c)
w.done <- true close(w.done)
return return
} }
} }
@ -290,8 +306,11 @@ func (w *worker) start() {
func (w *worker) Stop() { func (w *worker) Stop() {
prodMgr := metricproducer.GlobalManager() prodMgr := metricproducer.GlobalManager()
prodMgr.DeleteProducer(w) prodMgr.DeleteProducer(w)
select {
w.quit <- true case <-w.quit:
default:
close(w.quit)
}
<-w.done <-w.done
} }

View File

@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
//go:build go1.9
// +build go1.9 // +build go1.9
package tag package tag

View File

@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
//go:build !go1.9
// +build !go1.9 // +build !go1.9
package tag package tag

13
vendor/go.opencensus.io/trace/doc.go generated vendored
View File

@ -18,24 +18,23 @@ Package trace contains support for OpenCensus distributed tracing.
The following assumes a basic familiarity with OpenCensus concepts. The following assumes a basic familiarity with OpenCensus concepts.
See http://opencensus.io See http://opencensus.io
# Exporting Traces
Exporting Traces
To export collected tracing data, register at least one exporter. You can use To export collected tracing data, register at least one exporter. You can use
one of the provided exporters or write your own. one of the provided exporters or write your own.
trace.RegisterExporter(exporter) trace.RegisterExporter(exporter)
By default, traces will be sampled relatively rarely. To change the sampling By default, traces will be sampled relatively rarely. To change the sampling
frequency for your entire program, call ApplyConfig. Use a ProbabilitySampler frequency for your entire program, call ApplyConfig. Use a ProbabilitySampler
to sample a subset of traces, or use AlwaysSample to collect a trace on every run: to sample a subset of traces, or use AlwaysSample to collect a trace on every run:
trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()}) trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()})
Be careful about using trace.AlwaysSample in a production application with Be careful about using trace.AlwaysSample in a production application with
significant traffic: a new trace will be started and exported for every request. significant traffic: a new trace will be started and exported for every request.
Adding Spans to a Trace # Adding Spans to a Trace
A trace consists of a tree of spans. In Go, the current span is carried in a A trace consists of a tree of spans. In Go, the current span is carried in a
context.Context. context.Context.
@ -44,8 +43,8 @@ It is common to want to capture all the activity of a function call in a span. F
this to work, the function must take a context.Context as a parameter. Add these two this to work, the function must take a context.Context as a parameter. Add these two
lines to the top of the function: lines to the top of the function:
ctx, span := trace.StartSpan(ctx, "example.com/Run") ctx, span := trace.StartSpan(ctx, "example.com/Run")
defer span.End() defer span.End()
StartSpan will create a new top-level span if the context StartSpan will create a new top-level span if the context
doesn't contain another span, otherwise it will create a child span. doesn't contain another span, otherwise it will create a child span.

View File

@ -44,7 +44,7 @@ func (lm lruMap) len() int {
} }
func (lm lruMap) keys() []interface{} { func (lm lruMap) keys() []interface{} {
keys := make([]interface{}, len(lm.cacheKeys)) keys := make([]interface{}, 0, len(lm.cacheKeys))
for k := range lm.cacheKeys { for k := range lm.cacheKeys {
keys = append(keys, k) keys = append(keys, k)
} }

View File

@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
//go:build go1.11
// +build go1.11 // +build go1.11
package trace package trace

View File

@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
//go:build !go1.11
// +build !go1.11 // +build !go1.11
package trace package trace

View File

@ -14,7 +14,7 @@ import (
// ParseKey converts the binary contents of a private key file // ParseKey converts the binary contents of a private key file
// to an *rsa.PrivateKey. It detects whether the private key is in a // to an *rsa.PrivateKey. It detects whether the private key is in a
// PEM container or not. If so, it extracts the the private key // PEM container or not. If so, it extracts the private key
// from PEM container before conversion. It only supports PEM // from PEM container before conversion. It only supports PEM
// containers with no passphrase. // containers with no passphrase.
func ParseKey(key []byte) (*rsa.PrivateKey, error) { func ParseKey(key []byte) (*rsa.PrivateKey, error) {

View File

@ -55,12 +55,18 @@ type Token struct {
} }
// tokenJSON is the struct representing the HTTP response from OAuth2 // tokenJSON is the struct representing the HTTP response from OAuth2
// providers returning a token in JSON form. // providers returning a token or error in JSON form.
// https://datatracker.ietf.org/doc/html/rfc6749#section-5.1
type tokenJSON struct { type tokenJSON struct {
AccessToken string `json:"access_token"` AccessToken string `json:"access_token"`
TokenType string `json:"token_type"` TokenType string `json:"token_type"`
RefreshToken string `json:"refresh_token"` RefreshToken string `json:"refresh_token"`
ExpiresIn expirationTime `json:"expires_in"` // at least PayPal returns string, while most return number ExpiresIn expirationTime `json:"expires_in"` // at least PayPal returns string, while most return number
// error fields
// https://datatracker.ietf.org/doc/html/rfc6749#section-5.2
ErrorCode string `json:"error"`
ErrorDescription string `json:"error_description"`
ErrorURI string `json:"error_uri"`
} }
func (e *tokenJSON) expiry() (t time.Time) { func (e *tokenJSON) expiry() (t time.Time) {
@ -236,21 +242,29 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
if err != nil { if err != nil {
return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err) return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err)
} }
if code := r.StatusCode; code < 200 || code > 299 {
return nil, &RetrieveError{ failureStatus := r.StatusCode < 200 || r.StatusCode > 299
Response: r, retrieveError := &RetrieveError{
Body: body, Response: r,
} Body: body,
// attempt to populate error detail below
} }
var token *Token var token *Token
content, _, _ := mime.ParseMediaType(r.Header.Get("Content-Type")) content, _, _ := mime.ParseMediaType(r.Header.Get("Content-Type"))
switch content { switch content {
case "application/x-www-form-urlencoded", "text/plain": case "application/x-www-form-urlencoded", "text/plain":
// some endpoints return a query string
vals, err := url.ParseQuery(string(body)) vals, err := url.ParseQuery(string(body))
if err != nil { if err != nil {
return nil, err if failureStatus {
return nil, retrieveError
}
return nil, fmt.Errorf("oauth2: cannot parse response: %v", err)
} }
retrieveError.ErrorCode = vals.Get("error")
retrieveError.ErrorDescription = vals.Get("error_description")
retrieveError.ErrorURI = vals.Get("error_uri")
token = &Token{ token = &Token{
AccessToken: vals.Get("access_token"), AccessToken: vals.Get("access_token"),
TokenType: vals.Get("token_type"), TokenType: vals.Get("token_type"),
@ -265,8 +279,14 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
default: default:
var tj tokenJSON var tj tokenJSON
if err = json.Unmarshal(body, &tj); err != nil { if err = json.Unmarshal(body, &tj); err != nil {
return nil, err if failureStatus {
return nil, retrieveError
}
return nil, fmt.Errorf("oauth2: cannot parse json: %v", err)
} }
retrieveError.ErrorCode = tj.ErrorCode
retrieveError.ErrorDescription = tj.ErrorDescription
retrieveError.ErrorURI = tj.ErrorURI
token = &Token{ token = &Token{
AccessToken: tj.AccessToken, AccessToken: tj.AccessToken,
TokenType: tj.TokenType, TokenType: tj.TokenType,
@ -276,17 +296,37 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
} }
json.Unmarshal(body, &token.Raw) // no error checks for optional fields json.Unmarshal(body, &token.Raw) // no error checks for optional fields
} }
// according to spec, servers should respond status 400 in error case
// https://www.rfc-editor.org/rfc/rfc6749#section-5.2
// but some unorthodox servers respond 200 in error case
if failureStatus || retrieveError.ErrorCode != "" {
return nil, retrieveError
}
if token.AccessToken == "" { if token.AccessToken == "" {
return nil, errors.New("oauth2: server response missing access_token") return nil, errors.New("oauth2: server response missing access_token")
} }
return token, nil return token, nil
} }
// mirrors oauth2.RetrieveError
type RetrieveError struct { type RetrieveError struct {
Response *http.Response Response *http.Response
Body []byte Body []byte
ErrorCode string
ErrorDescription string
ErrorURI string
} }
func (r *RetrieveError) Error() string { func (r *RetrieveError) Error() string {
if r.ErrorCode != "" {
s := fmt.Sprintf("oauth2: %q", r.ErrorCode)
if r.ErrorDescription != "" {
s += fmt.Sprintf(" %q", r.ErrorDescription)
}
if r.ErrorURI != "" {
s += fmt.Sprintf(" %q", r.ErrorURI)
}
return s
}
return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body) return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body)
} }

19
vendor/golang.org/x/oauth2/token.go generated vendored
View File

@ -175,14 +175,31 @@ func retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error)
} }
// RetrieveError is the error returned when the token endpoint returns a // RetrieveError is the error returned when the token endpoint returns a
// non-2XX HTTP status code. // non-2XX HTTP status code or populates RFC 6749's 'error' parameter.
// https://datatracker.ietf.org/doc/html/rfc6749#section-5.2
type RetrieveError struct { type RetrieveError struct {
Response *http.Response Response *http.Response
// Body is the body that was consumed by reading Response.Body. // Body is the body that was consumed by reading Response.Body.
// It may be truncated. // It may be truncated.
Body []byte Body []byte
// ErrorCode is RFC 6749's 'error' parameter.
ErrorCode string
// ErrorDescription is RFC 6749's 'error_description' parameter.
ErrorDescription string
// ErrorURI is RFC 6749's 'error_uri' parameter.
ErrorURI string
} }
func (r *RetrieveError) Error() string { func (r *RetrieveError) Error() string {
if r.ErrorCode != "" {
s := fmt.Sprintf("oauth2: %q", r.ErrorCode)
if r.ErrorDescription != "" {
s += fmt.Sprintf(" %q", r.ErrorDescription)
}
if r.ErrorURI != "" {
s += fmt.Sprintf(" %q", r.ErrorURI)
}
return s
}
return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body) return fmt.Sprintf("oauth2: cannot fetch token: %v\nResponse: %s", r.Response.Status, r.Body)
} }

3
vendor/golang.org/x/time/AUTHORS generated vendored
View File

@ -1,3 +0,0 @@
# This source code refers to The Go Authors for copyright purposes.
# The master list of authors is in the main Go distribution,
# visible at http://tip.golang.org/AUTHORS.

View File

@ -1,3 +0,0 @@
# This source code was written by the Go contributors.
# The master list of contributors is in the main Go distribution,
# visible at http://tip.golang.org/CONTRIBUTORS.

123
vendor/golang.org/x/time/rate/rate.go generated vendored
View File

@ -80,6 +80,19 @@ func (lim *Limiter) Burst() int {
return lim.burst return lim.burst
} }
// TokensAt returns the number of tokens available at time t.
func (lim *Limiter) TokensAt(t time.Time) float64 {
lim.mu.Lock()
_, tokens := lim.advance(t) // does not mutate lim
lim.mu.Unlock()
return tokens
}
// Tokens returns the number of tokens available now.
func (lim *Limiter) Tokens() float64 {
return lim.TokensAt(time.Now())
}
// NewLimiter returns a new Limiter that allows events up to rate r and permits // NewLimiter returns a new Limiter that allows events up to rate r and permits
// bursts of at most b tokens. // bursts of at most b tokens.
func NewLimiter(r Limit, b int) *Limiter { func NewLimiter(r Limit, b int) *Limiter {
@ -89,16 +102,16 @@ func NewLimiter(r Limit, b int) *Limiter {
} }
} }
// Allow is shorthand for AllowN(time.Now(), 1). // Allow reports whether an event may happen now.
func (lim *Limiter) Allow() bool { func (lim *Limiter) Allow() bool {
return lim.AllowN(time.Now(), 1) return lim.AllowN(time.Now(), 1)
} }
// AllowN reports whether n events may happen at time now. // AllowN reports whether n events may happen at time t.
// Use this method if you intend to drop / skip events that exceed the rate limit. // Use this method if you intend to drop / skip events that exceed the rate limit.
// Otherwise use Reserve or Wait. // Otherwise use Reserve or Wait.
func (lim *Limiter) AllowN(now time.Time, n int) bool { func (lim *Limiter) AllowN(t time.Time, n int) bool {
return lim.reserveN(now, n, 0).ok return lim.reserveN(t, n, 0).ok
} }
// A Reservation holds information about events that are permitted by a Limiter to happen after a delay. // A Reservation holds information about events that are permitted by a Limiter to happen after a delay.
@ -125,17 +138,17 @@ func (r *Reservation) Delay() time.Duration {
} }
// InfDuration is the duration returned by Delay when a Reservation is not OK. // InfDuration is the duration returned by Delay when a Reservation is not OK.
const InfDuration = time.Duration(1<<63 - 1) const InfDuration = time.Duration(math.MaxInt64)
// DelayFrom returns the duration for which the reservation holder must wait // DelayFrom returns the duration for which the reservation holder must wait
// before taking the reserved action. Zero duration means act immediately. // before taking the reserved action. Zero duration means act immediately.
// InfDuration means the limiter cannot grant the tokens requested in this // InfDuration means the limiter cannot grant the tokens requested in this
// Reservation within the maximum wait time. // Reservation within the maximum wait time.
func (r *Reservation) DelayFrom(now time.Time) time.Duration { func (r *Reservation) DelayFrom(t time.Time) time.Duration {
if !r.ok { if !r.ok {
return InfDuration return InfDuration
} }
delay := r.timeToAct.Sub(now) delay := r.timeToAct.Sub(t)
if delay < 0 { if delay < 0 {
return 0 return 0
} }
@ -150,7 +163,7 @@ func (r *Reservation) Cancel() {
// CancelAt indicates that the reservation holder will not perform the reserved action // CancelAt indicates that the reservation holder will not perform the reserved action
// and reverses the effects of this Reservation on the rate limit as much as possible, // and reverses the effects of this Reservation on the rate limit as much as possible,
// considering that other reservations may have already been made. // considering that other reservations may have already been made.
func (r *Reservation) CancelAt(now time.Time) { func (r *Reservation) CancelAt(t time.Time) {
if !r.ok { if !r.ok {
return return
} }
@ -158,7 +171,7 @@ func (r *Reservation) CancelAt(now time.Time) {
r.lim.mu.Lock() r.lim.mu.Lock()
defer r.lim.mu.Unlock() defer r.lim.mu.Unlock()
if r.lim.limit == Inf || r.tokens == 0 || r.timeToAct.Before(now) { if r.lim.limit == Inf || r.tokens == 0 || r.timeToAct.Before(t) {
return return
} }
@ -170,18 +183,18 @@ func (r *Reservation) CancelAt(now time.Time) {
return return
} }
// advance time to now // advance time to now
now, _, tokens := r.lim.advance(now) t, tokens := r.lim.advance(t)
// calculate new number of tokens // calculate new number of tokens
tokens += restoreTokens tokens += restoreTokens
if burst := float64(r.lim.burst); tokens > burst { if burst := float64(r.lim.burst); tokens > burst {
tokens = burst tokens = burst
} }
// update state // update state
r.lim.last = now r.lim.last = t
r.lim.tokens = tokens r.lim.tokens = tokens
if r.timeToAct == r.lim.lastEvent { if r.timeToAct == r.lim.lastEvent {
prevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens))) prevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens)))
if !prevEvent.Before(now) { if !prevEvent.Before(t) {
r.lim.lastEvent = prevEvent r.lim.lastEvent = prevEvent
} }
} }
@ -196,18 +209,20 @@ func (lim *Limiter) Reserve() *Reservation {
// The Limiter takes this Reservation into account when allowing future events. // The Limiter takes this Reservation into account when allowing future events.
// The returned Reservations OK() method returns false if n exceeds the Limiter's burst size. // The returned Reservations OK() method returns false if n exceeds the Limiter's burst size.
// Usage example: // Usage example:
// r := lim.ReserveN(time.Now(), 1) //
// if !r.OK() { // r := lim.ReserveN(time.Now(), 1)
// // Not allowed to act! Did you remember to set lim.burst to be > 0 ? // if !r.OK() {
// return // // Not allowed to act! Did you remember to set lim.burst to be > 0 ?
// } // return
// time.Sleep(r.Delay()) // }
// Act() // time.Sleep(r.Delay())
// Act()
//
// Use this method if you wish to wait and slow down in accordance with the rate limit without dropping events. // Use this method if you wish to wait and slow down in accordance with the rate limit without dropping events.
// If you need to respect a deadline or cancel the delay, use Wait instead. // If you need to respect a deadline or cancel the delay, use Wait instead.
// To drop or skip events exceeding rate limit, use Allow instead. // To drop or skip events exceeding rate limit, use Allow instead.
func (lim *Limiter) ReserveN(now time.Time, n int) *Reservation { func (lim *Limiter) ReserveN(t time.Time, n int) *Reservation {
r := lim.reserveN(now, n, InfDuration) r := lim.reserveN(t, n, InfDuration)
return &r return &r
} }
@ -221,6 +236,18 @@ func (lim *Limiter) Wait(ctx context.Context) (err error) {
// canceled, or the expected wait time exceeds the Context's Deadline. // canceled, or the expected wait time exceeds the Context's Deadline.
// The burst limit is ignored if the rate limit is Inf. // The burst limit is ignored if the rate limit is Inf.
func (lim *Limiter) WaitN(ctx context.Context, n int) (err error) { func (lim *Limiter) WaitN(ctx context.Context, n int) (err error) {
// The test code calls lim.wait with a fake timer generator.
// This is the real timer generator.
newTimer := func(d time.Duration) (<-chan time.Time, func() bool, func()) {
timer := time.NewTimer(d)
return timer.C, timer.Stop, func() {}
}
return lim.wait(ctx, n, time.Now(), newTimer)
}
// wait is the internal implementation of WaitN.
func (lim *Limiter) wait(ctx context.Context, n int, t time.Time, newTimer func(d time.Duration) (<-chan time.Time, func() bool, func())) error {
lim.mu.Lock() lim.mu.Lock()
burst := lim.burst burst := lim.burst
limit := lim.limit limit := lim.limit
@ -236,25 +263,25 @@ func (lim *Limiter) WaitN(ctx context.Context, n int) (err error) {
default: default:
} }
// Determine wait limit // Determine wait limit
now := time.Now()
waitLimit := InfDuration waitLimit := InfDuration
if deadline, ok := ctx.Deadline(); ok { if deadline, ok := ctx.Deadline(); ok {
waitLimit = deadline.Sub(now) waitLimit = deadline.Sub(t)
} }
// Reserve // Reserve
r := lim.reserveN(now, n, waitLimit) r := lim.reserveN(t, n, waitLimit)
if !r.ok { if !r.ok {
return fmt.Errorf("rate: Wait(n=%d) would exceed context deadline", n) return fmt.Errorf("rate: Wait(n=%d) would exceed context deadline", n)
} }
// Wait if necessary // Wait if necessary
delay := r.DelayFrom(now) delay := r.DelayFrom(t)
if delay == 0 { if delay == 0 {
return nil return nil
} }
t := time.NewTimer(delay) ch, stop, advance := newTimer(delay)
defer t.Stop() defer stop()
advance() // only has an effect when testing
select { select {
case <-t.C: case <-ch:
// We can proceed. // We can proceed.
return nil return nil
case <-ctx.Done(): case <-ctx.Done():
@ -273,13 +300,13 @@ func (lim *Limiter) SetLimit(newLimit Limit) {
// SetLimitAt sets a new Limit for the limiter. The new Limit, and Burst, may be violated // SetLimitAt sets a new Limit for the limiter. The new Limit, and Burst, may be violated
// or underutilized by those which reserved (using Reserve or Wait) but did not yet act // or underutilized by those which reserved (using Reserve or Wait) but did not yet act
// before SetLimitAt was called. // before SetLimitAt was called.
func (lim *Limiter) SetLimitAt(now time.Time, newLimit Limit) { func (lim *Limiter) SetLimitAt(t time.Time, newLimit Limit) {
lim.mu.Lock() lim.mu.Lock()
defer lim.mu.Unlock() defer lim.mu.Unlock()
now, _, tokens := lim.advance(now) t, tokens := lim.advance(t)
lim.last = now lim.last = t
lim.tokens = tokens lim.tokens = tokens
lim.limit = newLimit lim.limit = newLimit
} }
@ -290,13 +317,13 @@ func (lim *Limiter) SetBurst(newBurst int) {
} }
// SetBurstAt sets a new burst size for the limiter. // SetBurstAt sets a new burst size for the limiter.
func (lim *Limiter) SetBurstAt(now time.Time, newBurst int) { func (lim *Limiter) SetBurstAt(t time.Time, newBurst int) {
lim.mu.Lock() lim.mu.Lock()
defer lim.mu.Unlock() defer lim.mu.Unlock()
now, _, tokens := lim.advance(now) t, tokens := lim.advance(t)
lim.last = now lim.last = t
lim.tokens = tokens lim.tokens = tokens
lim.burst = newBurst lim.burst = newBurst
} }
@ -304,7 +331,7 @@ func (lim *Limiter) SetBurstAt(now time.Time, newBurst int) {
// reserveN is a helper method for AllowN, ReserveN, and WaitN. // reserveN is a helper method for AllowN, ReserveN, and WaitN.
// maxFutureReserve specifies the maximum reservation wait duration allowed. // maxFutureReserve specifies the maximum reservation wait duration allowed.
// reserveN returns Reservation, not *Reservation, to avoid allocation in AllowN and WaitN. // reserveN returns Reservation, not *Reservation, to avoid allocation in AllowN and WaitN.
func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duration) Reservation { func (lim *Limiter) reserveN(t time.Time, n int, maxFutureReserve time.Duration) Reservation {
lim.mu.Lock() lim.mu.Lock()
defer lim.mu.Unlock() defer lim.mu.Unlock()
@ -313,7 +340,7 @@ func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duratio
ok: true, ok: true,
lim: lim, lim: lim,
tokens: n, tokens: n,
timeToAct: now, timeToAct: t,
} }
} else if lim.limit == 0 { } else if lim.limit == 0 {
var ok bool var ok bool
@ -325,11 +352,11 @@ func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duratio
ok: ok, ok: ok,
lim: lim, lim: lim,
tokens: lim.burst, tokens: lim.burst,
timeToAct: now, timeToAct: t,
} }
} }
now, last, tokens := lim.advance(now) t, tokens := lim.advance(t)
// Calculate the remaining number of tokens resulting from the request. // Calculate the remaining number of tokens resulting from the request.
tokens -= float64(n) tokens -= float64(n)
@ -351,16 +378,12 @@ func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duratio
} }
if ok { if ok {
r.tokens = n r.tokens = n
r.timeToAct = now.Add(waitDuration) r.timeToAct = t.Add(waitDuration)
}
// Update state // Update state
if ok { lim.last = t
lim.last = now
lim.tokens = tokens lim.tokens = tokens
lim.lastEvent = r.timeToAct lim.lastEvent = r.timeToAct
} else {
lim.last = last
} }
return r return r
@ -369,20 +392,20 @@ func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duratio
// advance calculates and returns an updated state for lim resulting from the passage of time. // advance calculates and returns an updated state for lim resulting from the passage of time.
// lim is not changed. // lim is not changed.
// advance requires that lim.mu is held. // advance requires that lim.mu is held.
func (lim *Limiter) advance(now time.Time) (newNow time.Time, newLast time.Time, newTokens float64) { func (lim *Limiter) advance(t time.Time) (newT time.Time, newTokens float64) {
last := lim.last last := lim.last
if now.Before(last) { if t.Before(last) {
last = now last = t
} }
// Calculate the new number of tokens, due to time that passed. // Calculate the new number of tokens, due to time that passed.
elapsed := now.Sub(last) elapsed := t.Sub(last)
delta := lim.limit.tokensFromDuration(elapsed) delta := lim.limit.tokensFromDuration(elapsed)
tokens := lim.tokens + delta tokens := lim.tokens + delta
if burst := float64(lim.burst); tokens > burst { if burst := float64(lim.burst); tokens > burst {
tokens = burst tokens = burst
} }
return now, last, tokens return t, tokens
} }
// durationFromTokens is a unit conversion function from the number of tokens to the duration // durationFromTokens is a unit conversion function from the number of tokens to the duration

67
vendor/golang.org/x/time/rate/sometimes.go generated vendored Normal file
View File

@ -0,0 +1,67 @@
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package rate
import (
"sync"
"time"
)
// Sometimes will perform an action occasionally. The First, Every, and
// Interval fields govern the behavior of Do, which performs the action.
// A zero Sometimes value will perform an action exactly once.
//
// # Example: logging with rate limiting
//
// var sometimes = rate.Sometimes{First: 3, Interval: 10*time.Second}
// func Spammy() {
// sometimes.Do(func() { log.Info("here I am!") })
// }
type Sometimes struct {
First int // if non-zero, the first N calls to Do will run f.
Every int // if non-zero, every Nth call to Do will run f.
Interval time.Duration // if non-zero and Interval has elapsed since f's last run, Do will run f.
mu sync.Mutex
count int // number of Do calls
last time.Time // last time f was run
}
// Do runs the function f as allowed by First, Every, and Interval.
//
// The model is a union (not intersection) of filters. The first call to Do
// always runs f. Subsequent calls to Do run f if allowed by First or Every or
// Interval.
//
// A non-zero First:N causes the first N Do(f) calls to run f.
//
// A non-zero Every:M causes every Mth Do(f) call, starting with the first, to
// run f.
//
// A non-zero Interval causes Do(f) to run f if Interval has elapsed since
// Do last ran f.
//
// Specifying multiple filters produces the union of these execution streams.
// For example, specifying both First:N and Every:M causes the first N Do(f)
// calls and every Mth Do(f) call, starting with the first, to run f. See
// Examples for more.
//
// If Do is called multiple times simultaneously, the calls will block and run
// serially. Therefore, Do is intended for lightweight operations.
//
// Because a call to Do may block until f returns, if f causes Do to be called,
// it will deadlock.
func (s *Sometimes) Do(f func()) {
s.mu.Lock()
defer s.mu.Unlock()
if s.count == 0 ||
(s.First > 0 && s.count < s.First) ||
(s.Every > 0 && s.count%s.Every == 0) ||
(s.Interval > 0 && time.Since(s.last) >= s.Interval) {
f()
s.last = time.Now()
}
s.count++
}

View File

@ -87,7 +87,6 @@ func IsTypeParam(t types.Type) bool {
func OriginMethod(fn *types.Func) *types.Func { func OriginMethod(fn *types.Func) *types.Func {
recv := fn.Type().(*types.Signature).Recv() recv := fn.Type().(*types.Signature).Recv()
if recv == nil { if recv == nil {
return fn return fn
} }
base := recv.Type() base := recv.Type()

View File

@ -657,7 +657,7 @@ function foreach_go_module() {
echo "Command '${cmd}' failed in module $gomod_dir: $failed" >&2 echo "Command '${cmd}' failed in module $gomod_dir: $failed" >&2
return $failed return $failed
fi fi
done < <(go_run knative.dev/test-infra/tools/modscope@latest ls -p) done < <(go_run knative.dev/toolbox/modscope@latest ls -p)
} }
# Update go deps. # Update go deps.
@ -709,7 +709,7 @@ function __go_update_deps_for_module() {
else else
group "Upgrading to release ${RELEASE}" group "Upgrading to release ${RELEASE}"
fi fi
FLOATING_DEPS+=( $(go_run knative.dev/test-infra/buoy@latest float ./go.mod "${buoyArgs[@]}") ) FLOATING_DEPS+=( $(go_run knative.dev/toolbox/buoy@latest float ./go.mod "${buoyArgs[@]}") )
if [[ ${#FLOATING_DEPS[@]} > 0 ]]; then if [[ ${#FLOATING_DEPS[@]} > 0 ]]; then
echo "Floating deps to ${FLOATING_DEPS[@]}" echo "Floating deps to ${FLOATING_DEPS[@]}"
go get -d ${FLOATING_DEPS[@]} go get -d ${FLOATING_DEPS[@]}
@ -754,7 +754,7 @@ function __go_update_deps_for_module() {
# Intended to be used like: # Intended to be used like:
# export MODULE_NAME=$(go_mod_module_name) # export MODULE_NAME=$(go_mod_module_name)
function go_mod_module_name() { function go_mod_module_name() {
go_run knative.dev/test-infra/tools/modscope@latest current go_run knative.dev/toolbox/modscope@latest current
} }
# Return a GOPATH to a temp directory. Works around the out-of-GOPATH issues # Return a GOPATH to a temp directory. Works around the out-of-GOPATH issues

View File

@ -139,7 +139,7 @@ function __build_test_runner_for_module() {
# Don't merge these two lines, or return code will always be 0. # Don't merge these two lines, or return code will always be 0.
# Get all build tags in go code (ignore /vendor, /hack and /third_party) # Get all build tags in go code (ignore /vendor, /hack and /third_party)
local tags local tags
tags="$(go run knative.dev/test-infra/tools/go-ls-tags@latest --joiner=,)" tags="$(go run knative.dev/toolbox/go-ls-tags@latest --joiner=,)"
local go_pkg_dirs local go_pkg_dirs
go_pkg_dirs="$(go list -tags "${tags}" ./...)" || return $? go_pkg_dirs="$(go list -tags "${tags}" ./...)" || return $?
if [[ -z "${go_pkg_dirs}" ]]; then if [[ -z "${go_pkg_dirs}" ]]; then

20
vendor/modules.txt vendored
View File

@ -156,7 +156,7 @@ github.com/prometheus/statsd_exporter/pkg/mapper/fsm
# github.com/spf13/pflag v1.0.5 # github.com/spf13/pflag v1.0.5
## explicit; go 1.12 ## explicit; go 1.12
github.com/spf13/pflag github.com/spf13/pflag
# go.opencensus.io v0.23.0 # go.opencensus.io v0.24.0
## explicit; go 1.13 ## explicit; go 1.13
go.opencensus.io go.opencensus.io
go.opencensus.io/internal go.opencensus.io/internal
@ -188,7 +188,7 @@ go.uber.org/zap/internal/bufferpool
go.uber.org/zap/internal/color go.uber.org/zap/internal/color
go.uber.org/zap/internal/exit go.uber.org/zap/internal/exit
go.uber.org/zap/zapcore go.uber.org/zap/zapcore
# golang.org/x/mod v0.8.0 # golang.org/x/mod v0.9.0
## explicit; go 1.17 ## explicit; go 1.17
golang.org/x/mod/internal/lazyregexp golang.org/x/mod/internal/lazyregexp
golang.org/x/mod/module golang.org/x/mod/module
@ -203,11 +203,11 @@ golang.org/x/net/http2/hpack
golang.org/x/net/idna golang.org/x/net/idna
golang.org/x/net/internal/timeseries golang.org/x/net/internal/timeseries
golang.org/x/net/trace golang.org/x/net/trace
# golang.org/x/oauth2 v0.7.0 # golang.org/x/oauth2 v0.8.0
## explicit; go 1.17 ## explicit; go 1.17
golang.org/x/oauth2 golang.org/x/oauth2
golang.org/x/oauth2/internal golang.org/x/oauth2/internal
# golang.org/x/sync v0.1.0 # golang.org/x/sync v0.2.0
## explicit ## explicit
golang.org/x/sync/errgroup golang.org/x/sync/errgroup
golang.org/x/sync/semaphore golang.org/x/sync/semaphore
@ -227,10 +227,10 @@ golang.org/x/text/secure/bidirule
golang.org/x/text/transform golang.org/x/text/transform
golang.org/x/text/unicode/bidi golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm golang.org/x/text/unicode/norm
# golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 # golang.org/x/time v0.3.0
## explicit ## explicit
golang.org/x/time/rate golang.org/x/time/rate
# golang.org/x/tools v0.6.0 # golang.org/x/tools v0.7.0
## explicit; go 1.18 ## explicit; go 1.18
golang.org/x/tools/go/ast/astutil golang.org/x/tools/go/ast/astutil
golang.org/x/tools/imports golang.org/x/tools/imports
@ -246,8 +246,8 @@ golang.org/x/tools/internal/typeparams
# gomodules.xyz/jsonpatch/v2 v2.2.0 # gomodules.xyz/jsonpatch/v2 v2.2.0
## explicit; go 1.12 ## explicit; go 1.12
gomodules.xyz/jsonpatch/v2 gomodules.xyz/jsonpatch/v2
# google.golang.org/api v0.61.0 # google.golang.org/api v0.124.0
## explicit; go 1.11 ## explicit; go 1.19
google.golang.org/api/support/bundler google.golang.org/api/support/bundler
# google.golang.org/appengine v1.6.7 # google.golang.org/appengine v1.6.7
## explicit; go 1.11 ## explicit; go 1.11
@ -684,10 +684,10 @@ k8s.io/utils/internal/third_party/forked/golang/net
k8s.io/utils/net k8s.io/utils/net
k8s.io/utils/strings/slices k8s.io/utils/strings/slices
k8s.io/utils/trace k8s.io/utils/trace
# knative.dev/hack v0.0.0-20230628110129-fc42790854e8 # knative.dev/hack v0.0.0-20230707105034-cc92cdb68f01
## explicit; go 1.18 ## explicit; go 1.18
knative.dev/hack knative.dev/hack
# knative.dev/pkg v0.0.0-20230628105954-6eb4b40a9a30 # knative.dev/pkg v0.0.0-20230710013638-5ef4812a4fe9
## explicit; go 1.18 ## explicit; go 1.18
knative.dev/pkg/apis knative.dev/pkg/apis
knative.dev/pkg/apis/duck knative.dev/pkg/apis/duck